O identitate sau un identificator descentralizat (DID) nu este altceva decât o schemă cu mai multe atribute care definește în mod unic o persoană, un obiect sau o organizație. Sistemele convenționale de gestionare a identității se bazează pe autorități centralizate, cum ar fi serviciile de directoare corporative sau autoritățile de certificare. DID-urile sunt pe deplin sub controlul subiectului DID, independent de orice registru centralizat, furnizor de identitate sau autoritate de certificare. 

Apariția tehnologiei blockchain oferă posibilitatea de a implementa un management de identitate complet descentralizat (DIDM). În DIDM, toți proprietarii de identitate împărtășesc o rădăcină comună de încredere sub forma unui registru distribuit la nivel global.

Fiecare înregistrare DID este securizată criptografic prin chei private aflate sub controlul proprietarului identității. Se crede că este legătura lipsă pentru redefinirea valorilor de securitate ale internetului, deoarece acesta poate deveni stratul de identitate al internetului. Specificațiile pentru DID-uri sunt create de World Wide Web Consortium (W3C).

Avantajele DID-urilor

Markus Sabadello, co-autor al specificației DID și CEO al Danube Tech, a explicat avantajele generale ale utilizării DID-urilor:

„DID-urile sunt o inovație importantă, deoarece ne oferă capacitatea de a stabili identificatori digitali care sunt persistenți, siguri și rezolvabili la nivel global, însă crearea lor nu necesită o autoritate centrală sau un intermediar.”

DID-urile sunt controlate exclusiv de entitatea la care se referă și, prin urmare, reprezintă un element fundamental pentru ceea ce este cunoscut în general ca "identitate suverană" sau "identitate descentralizată".

Imaginați-vă că aveți un număr de telefon care nu v-a fost atribuit de operatorul dvs. de telefonie mobilă, dar îl alegeți singur. Oricine din lume vă poate suna în continuare și nimeni nu ar putea să vă ia vreodată numărul de telefon – DID-urile sunt similare cu această situație.

Din punct de vedere tehnic, DID-urile sunt identificatori de resurse uniforme (URI) valide, prin urmare sunt compatibili cu multe tehnologii web de uz general. Acestea nu se limitează la un singur caz de utilizare sau protocol.

Un alt avantaj este că DID-urile sunt concepute pentru a funcționa cu diferite blockchain-uri și alte sisteme țintă, oferind astfel interoperabilitate.

Care sunt utilizările DID-urilor?

DID-urile pot fi utilizate pentru a identifica orice resursă digitală sau reală, cum ar fi un document, o persoană, o companie sau un obiect fizic. În general, un DID în sine nu dovedește unicitatea sau orice altceva despre proprietarul său. Un DID este doar un identificator. Puteți avea, și, în multe cazuri, să aveți mai multe DID-uri în scopuri diferite, relații și tranzacții.

Cu toate acestea, chiar dacă un DID în sine nu oferă prea multe informații despre proprietar, puteți utiliza protocoale deasupra DID-urilor pentru a verifica o serie de lucruri. Pentru a demonstra pur și simplu că controlați un anumit DID și pentru a-l utiliza (de exemplu, pentru a vă conecta la un site web), puteți utiliza un protocol de provocare / răspuns numit DID Auth. Aceasta îndeplinește o funcție similară pentru "identitate descentralizată" așa cum fac OpenID Connect și alții "identitate federată".

Pentru a dovedi fapte mai complexe despre proprietarul unui DID, cum ar fi vârsta cuiva, posesia unui permis de conducere valabil sau apartenența la o organizație, puteți utiliza Acreditări verificabile, care sunt standardizate de W3C.

Acreditările verificabile sunt revendicări atestate de un emitent cu privire la un DID. Acestea pot fi apoi folosite ca dovadă de către proprietarul DID în timpul unei tranzacții. Nu există nicio limită pentru sfera și semantica revendicărilor care pot fi asociate cu un DID; pot fi la fel de bogate ca toate identitățile noastre umane și organizaționale din viața reală care alcătuiesc societățile noastre.

Exemplu de structură DID

Multe variante sunt posibile pentru un DID. Fișierul de specificații complet poate fi găsit la W3C. Mai jos este o modalitate posibilă de a defini un DID. Ceea ce vedem aici este o definiție simplă a unui DID cu data creării, data la care documentul a fost actualizat pentru ultima dată, câmpul de semnătură (opțional) și „autorizareCapabilitate”. Acest ultim câmp conține obiecte care se referă la alte DID-uri care obțin o permisiune specifică asupra acestui DID. De exemplu, DID cu ID 215cb1dc-1f44-4695-a07f-97649cad9938 primește permisiunea de a actualiza acest DID.

exemplu DID

Sursă: W3C – https://w3c-ccg.github.io/did-spec/#requirements-of-did-method-specifications

Câmpul „semnătură” este adesea neînțeles. "semnătură" câmpul demonstrează doar că documentul DID nu a fost modificat și că semnatarul a controlat o anumită cheie privată la momentul semnării. Cu toate acestea, semnătura nu dovedește că semnatarul este proprietarul DID real. Deci, deși poate fi o caracteristică de securitate suplimentară, nu se poate baza pe sine când lucrează cu DID-uri. Este similar cu procesul de plasare publică a unei chei PGP pe forumul Bitcointalk.com pentru a dovedi că dețineți acea cheie legată de contul dvs. Bitcointalk.

Markus Sabadello a declarat că câmpul „permisiune” este elementul instabil din specificația DID și probabil va fi eliminat. Intenția sa este să exprime permisiuni cu privire la cine poate actualiza documentul DID. Cu toate acestea, există câteva probleme cu acest lucru:

  1. Diferite tipuri de DID-uri (metode DID) au idei și posibilități foarte diferite cu privire la modul de gestionare a actualizărilor. Orice informație de autorizare despre actualizările DID ar trebui să fie specificată prin acele metode DID specifice, mai degrabă decât să se impună acest lucru într-un mod universal pentru toate DID-urile..
  2. În loc de listele tradiționale de control al accesului pentru exprimarea permisiunilor, am analizat un model alternativ numit capabilități de obiect. Acesta este un exemplu al acestei specificații, care este foarte similar cu DID-urile.

capabilități de obiect legate de DID

Sursă: W3C – https://w3c-ccg.github.io/ld-ocap/

Utilizați cazuri

Cel mai simplu exemplu este conectarea la site-uri web. Ai avea un portofel digital care stochează DID-urile și cheile asociate și ai putea folosi un plugin sau o aplicație pentru browser care apare și care îți cere confirmarea când te autentifici. Ideea este puțin comparabilă cu pluginul MetaMask, dar mai puțin avansată.

Un alt exemplu este "Adu-ți propria identitate" la cumpărături online. Ați putea cumpăra o carte de la un magazin online și, la check-out, trebuie doar să furnizați DID-ul dvs. (din nou folosind un plugin sau o aplicație). În acest fel, veți putea să vă împărtășiți adresa de expediere și informațiile de plată fără a fi nevoie chiar să creați un cont pe site-ul magazinului. Putem chiar să trasăm linia către lumea fizică în care conectăm un card de fidelitate al clienților, pe care îl obținem în fiecare magazin pentru a obține o mică reducere, la câmpul de identificare al identificatorului nostru descentralizat.

În sfârșit, un exemplu mai avansat este o agendă distribuită. Puteți rămâne conectat la prietenii dvs., precum și la companiile de care vă interesează și să le împărtășiți adresa personală și alte informații de profil, cu control deplin, transparență și portabilitate a datelor. De fiecare dată când informațiile profilului dvs. se modifică, conexiunile dvs. pot fi notificate automat. DID-urile permit conexiuni pe tot parcursul vieții între proprietarii DID pe care nimeni nu ți le poate lua.

DID-urile sporesc securitatea

Pentru a înțelege cum îmbunătățesc securitatea DID-urile, trebuie mai întâi să ne familiarizăm cu ceea ce este o infrastructură cu cheie publică (PKI). Un PKI este utilizat în principal pentru criptarea și / sau semnarea datelor. Criptarea datelor se referă la amestecarea acestora într-un mod care le face ilizibile, cu excepția persoanelor autorizate. PKI se bazează pe un mecanism numit certificat digital, denumit și certificat X.509. Gândiți-vă la un certificat ca la o carte de identitate virtuală. Un PKI este denumit și autoritate de certificare (CA). De exemplu, VeriSign este un CA bine-cunoscut pentru crearea unei rețele web de încredere oferind certificate SSL / TLS semnate de acestea.

Deoarece un PKI folosește o bază de date centralizată pentru stocarea acestor informații, ne putem gândi apoi la DID-uri ca la o variantă descentralizată a PKI-urilor. DID-urile stau la baza unei infrastructuri cu cheie publică descentralizată (DPKI).

Aceasta înseamnă că toate partajarea datelor și mesajele dintre DID sunt autentificate și criptate utilizând chei criptografice asociate cu un DID, similar cu PKI tradiționale, dar fără dezavantajele autorităților de certificare tradiționale.

Există numeroase exemple în care, în trecut, arhitectura certificatelor TLS existente utilizate de serverele web s-a dovedit a fi vulnerabilă la cenzură și manipulare. Cu DID-urile, această amenințare a intermediarilor poate fi eliminată, deoarece fiecare DID reprezintă propriul său "rădăcină de încredere". Aceasta înseamnă că nu trebuie să fie controlate și emise de autoritățile centrale pentru a avea încredere.

O altă caracteristică importantă de securitate este că DID-urile sunt persistente. Aceasta înseamnă că cheile criptografice asociate cu un DID pot fi rotite și revocate în siguranță prin diferite mecanisme, fără a fi nevoie să creați un nou DID. Vom aprofunda mai mult acest aspect „revocator” în următoarea subpoziție.

Ștergeți sau revocați DID

Cea mai recentă versiune (v0.7) a specificației W3C privind identificatorii descentralizați discută diferitele operațiuni DID în cadrul cărora putem găsi „Șterge / Revocă”. Acest lucru este destul de ciudat, deoarece tehnologiile de registru descentralizate (DLT) sunt imuabile prin natura lor. Să explorăm acest aspect în continuare.

Odată ce a fost emisă o tranzacție inițială pentru a crea DID, se pot actualiza și alte tranzacții "revoca" sau "termina", DID. Chiar dacă istoricul unui DID poate fi doar anexat și poate exista la infinit, starea actuală a DID este definită de suma cumulativă a tuturor tranzacțiilor.

Dacă se adaugă o tranzacție specială la acel istoric, atunci acesta marchează DID ca "revocat". De asemenea, rețineți că, deși DLT-urile au proprietăți utile care le fac potrivite pentru crearea și stocarea DID, DLT-urile nu sunt singura tehnologie posibilă pentru DID-uri. DID-urile pot fi create de asemenea folosind tabele hash descentralizate (DHT), sisteme de fișiere distribuite (IPF), baze de date (BigchainDB) sau alte rețele descentralizate.

Starea specificației DID

Există încă câteva probleme deschise, dar grupul de lucru W3C pentru DID-uri se așteaptă să publice un proiect de implementare relativ stabil până în martie sau aprilie 2018. A ajunge la un standard W3C finalizat este un proces mult mai lung pe care încă nu îl pot prezice..

În plus, W3C dezvoltă, de asemenea, instrumente, precum Universal Resolver, care acționează ca un rezolvator de identificare și funcționează cu orice sistem de identificare descentralizat. Implementările sunt disponibile pentru limbajele de programare Java și Python3.

Gânduri viitoare și finale:

Markus Sabadello a declarat: „Cei dintre noi care lucrează la DID-uri se confruntă cu un interes incredibil pentru această tehnologie din întreaga lume. Ne gândim la DID-uri ca fiind nimic mai puțin decât în ​​sfârșit să avem ocazia să realizăm "lipsește stratul de identitate" a internetului." DID-urile au potențialul de a înlocui o mare parte a infrastructurii actuale de identitate a internetului, inclusiv lucruri precum nume de utilizator, nume de domenii, autorități de certificare și servicii de identitate centralizate, cum ar fi "Logheaza-te cu Facebook". Poate dura ceva timp pentru a vă adapta la acest lucru "identitate descentralizată" paradigmă, dar va deveni o bază mai bună pentru modul în care funcționează autentificarea, partajarea datelor și mesageria.