Decentrale identifikatorer – Internets “manglende identitetslag”
En decentral identitet eller identifikator (DID) er intet andet end en ordning med flere attributter, der entydigt definerer en person, et objekt eller en organisation. Konventionelle identitetshåndteringssystemer er baseret på centraliserede myndigheder, såsom firmakatalogtjenester eller certifikatmyndigheder. DID’er er fuldt ud under kontrol af DID-emnet, uafhængig af enhver centralregistrering, identitetsudbyder eller certifikatmyndighed.
Fremkomsten af blockchain-teknologi giver mulighed for at implementere fuldt decentraliseret identitetsstyring (DIDM). I DIDM deler alle identitetsejere en fælles rod af tillid i form af en globalt distribueret hovedbog.
Hver DID-post er kryptografisk sikret af private nøgler under identitetsejerens kontrol. Det menes at være det manglende link til at omdefinere sikkerhedsværdierne på Internettet, da det kan blive Internets identitetslag. Specifikationen for DID’er oprettes af World Wide Web Consortium (W3C).
Fordele ved DID’er
Markus Sabadello, medforfatter af DID-specifikationen og administrerende direktør for Donau Tech, forklarede de generelle fordele ved at bruge DID’er:
“DID’er er en vigtig innovation, fordi de giver os muligheden for at etablere digitale identifikatorer, der er vedvarende, sikre og globalt opløselige, men alligevel kræver deres oprettelse ikke en central myndighed eller formidler.”
DID’er kontrolleres udelukkende af den enhed, de henviser til, og er derfor en grundlæggende byggesten for det, der almindeligvis kaldes "selvsuveræn identitet" eller "decentral identitet".
Forestil dig at have et telefonnummer, der ikke er tildelt dig af din mobiloperatør, men i stedet vælger du det selv. Enhver i verden kan stadig ringe til dig, og ingen kan nogensinde tage det telefonnummer fra dig – DID’er ligner denne situation.
Teknisk set er DID’er gyldige Uniform Resource Identifiers (URI’er), derfor er de kompatible med mange almindelige webteknologier. De er ikke begrænset til en enkelt brugssag eller protokol.
En anden fordel er, at DID’er er designet til at arbejde med forskellige blokkæder og andre målsystemer, hvilket giver interoperabilitet.
Hvad er anvendelsen af DID’er??
DID’er kan bruges til at identificere enhver digital eller realistisk ressource, såsom et dokument, et individ, en virksomhed eller et fysisk objekt. Generelt viser en DID i sig selv ikke unikhed eller noget andet om ejeren. En DID er kun en identifikator. Du kan og i mange tilfælde bør have flere DID’er til forskellige formål, relationer og transaktioner.
Selvom en DID i sig selv ikke giver meget information om ejeren, kan du dog bruge protokoller oven på DID’er til at verificere en række ting. For blot at bevise, at du styrer en bestemt DID og bruger den (f.eks. Til at logge ind på et websted), kan du bruge en udfordrings- / reaktionsprotokol kaldet DID Auth. Dette opfylder en lignende funktion for "decentral identitet" som OpenID Connect og andre gør for "fødereret identitet".
For at bevise mere komplekse fakta om en DIDs ejer, såsom ens alder, besiddelse af et gyldigt kørekort eller medlemskab af en organisation, kan du bruge Kontrollerbare legitimationsoplysninger, som bliver standardiseret af W3C.
Kontrollerbare legitimationsoplysninger er krav, som en udsteder bekræfter om en DID. De kan derefter bruges som bevis af DID’s ejer under en transaktion. Der er ingen grænse for omfanget og semantikken for påstande, der kan tilknyttes en DID; de kan være lige så rige som alle vores menneskelige og organisatoriske identiteter i det virkelige liv, der udgør vores samfund.
Eksempel på DID-struktur
Mange varianter er mulige for en DID. Den komplette specifikationsfil kan findes på W3C. Nedenfor er en mulig måde at definere et DID på. Det, vi ser her, er en simpel definition af en DID med oprettelsesdatoen, den dato, hvorpå dokumentet er blevet opdateret for sidste gang, underskriftsfelt (valgfrit) og “autorisationskapacitet”. Dette sidste felt indeholder objekter, der henviser til andre DID’er, der får en specifik tilladelse over dette DID. For eksempel modtager DID med ID 215cb1dc-1f44-4695-a07f-97649cad9938 tilladelsen til at opdatere dette DID.
Kilde: W3C – https://w3c-ccg.github.io/did-spec/#requirements-of-did-method-specifications
Feltet “signatur” misforstås ofte. Det "Underskrift" felt beviser kun, at der ikke er blevet manipuleret med DID-dokumentet, og at underskriveren kontrollerede en bestemt privat nøgle på det tidspunkt, hvor det blev underskrevet. Underskriften beviser imidlertid ikke, at underskriveren er den egentlige DID-ejer. Så selvom det kan være en ekstra sikkerhedsfunktion, kan den ikke stole på i sig selv, når man arbejder med DID’er. Det svarer til processen med at indsætte en PGP-nøgle offentligt på Bitcointalk.com-forummet for at bevise, at du ejede den nøgle, der er knyttet til din Bitcointalk-konto.
Markus Sabadello har udtalt, at “tilladelsesfeltet” er det ustabile element i DID-specifikationen og sandsynligvis vil blive fjernet. Dens hensigt er at udtrykke tilladelser til, hvem der kan opdatere DID-dokumentet. Der er dog et par problemer med dette:
- Forskellige slags DID’er (DID-metoder) har meget forskellige ideer og muligheder for, hvordan man styrer opdateringer. Alle autorisationsoplysninger om DID-opdateringer skal specificeres ved hjælp af disse specifikke DID-metoder i stedet for at kræve dette på en universel måde for alle DID’er..
- I stedet for traditionelle adgangskontrolister til at udtrykke tilladelser har vi set på en alternativ model kaldet objektfunktioner. Dette er et eksempel på denne specifikation, der minder meget om DID’er.
Kilde: W3C – https://w3c-ccg.github.io/ld-ocap/
Brug sager
Det enkleste eksempel er at logge ind på websteder. Du ville have en digital tegnebog, der gemmer dine DID’er og tilknyttede nøgler, og du kan bruge et browser-plugin eller en app, der dukker op og beder om bekræftelse, når du logger ind. Ideen er lidt sammenlignelig med MetaMask-pluginet, men mindre avanceret.
Et andet eksempel er "Medbring din egen identitet" når du handler online. Du kan købe en bog i en onlinebutik, og når du tjekker ud, leverer du bare dit DID (igen ved hjælp af et plugin eller en app). På denne måde vil du være i stand til at dele din leveringsadresse og betalingsoplysninger uden engang at skulle oprette en konto med butikens websted. Vi kan endda trække grænsen til den fysiske verden, hvor vi forbinder et kundeloyalitetskort, som vi får i hver butik for at få en lille rabat, til ID-feltet i vores decentrale identifikator.
Endelig er et mere avanceret eksempel en distribueret adressebog. Du kan forblive forbundet med dine venner såvel som virksomheder, du holder af, og dele din personlige adresse og andre profiloplysninger med dem med fuld kontrol, gennemsigtighed og dataportabilitet. Hver gang dine profiloplysninger ændres, kan dine forbindelser automatisk underrettes. DID’er muliggør livslange forbindelser mellem DID-ejere, som ingen kan tage fra dig.
DID forbedrer sikkerheden
For at forstå, hvordan DID’er forbedrer sikkerheden, skal vi først stifte bekendtskab med, hvad en Public Key Infrastructure (PKI) er. En PKI bruges primært til kryptering og / eller signering af data. Kryptering af data henviser til kryptering af dem på en måde, der gør det ulæseligt undtagen for autoriserede personer. PKI er baseret på en mekanisme kaldet et digitalt certifikat, også kaldet X.509-certifikater. Tænk på et certifikat som et virtuelt ID-kort. En PKI kaldes også en certifikatmyndighed (CA). For eksempel er VeriSign en velkendt CA til at skabe et web af tillid ved at tilbyde SSL / TLS-certifikater underskrevet af dem.
Da en PKI bruger en central database til lagring af denne info, kan vi derefter tænke på DID’er som en decentral variant af PKI’er. DID’er danner grundlaget for en decentral offentlig infrastruktur (DPKI).
Dette betyder, at al datadeling og messaging mellem DID’er er godkendt og krypteret ved hjælp af kryptografiske nøgler tilknyttet en DID, svarende til traditionelle PKI’er, men uden ulemperne ved traditionelle certifikatmyndigheder.
Der er mange eksempler, hvor den eksisterende TLS-certifikatarkitektur, der blev brugt af webservere, tidligere har vist sig at være sårbar over for censur og manipulation. Med DID’er kan denne trussel mod formidlere elimineres, da hver DID repræsenterer sit eget "rod til tillid". Dette betyder, at de ikke behøver at blive kontrolleret og udstedt af centrale myndigheder for at have tillid til dem.
En anden vigtig sikkerhedsfunktion er, at DID’er er vedvarende. Dette betyder, at de kryptografiske nøgler, der er knyttet til en DID, kan roteres sikkert og tilbagekaldes gennem forskellige mekanismer uden at skulle oprette et nyt DID. Vi vil gå nærmere ind på dette “tilbagekaldende” aspekt under den næste underoverskrift.
Slet eller tilbagekald DID
Den seneste version (v0.7) af W3C-spec på Decentraliserede identifikatorer diskuterer de forskellige DID-operationer, hvorunder vi kan finde “Slet / tilbagekald”. Dette er temmelig mærkeligt, da decentraliserede lederteknologier (DLT’er) er uforanderlige af natur. Lad os udforske dette aspekt yderligere.
Når en første transaktion er udstedt for at oprette DID, kan yderligere transaktioner opdateres, og også "tilbagekalde" eller "opsige", DID. Selvom historikken for et DID muligvis kun er append og eksisterer uendeligt, defineres DID’s nuværende tilstand af den kumulative sum af alle transaktioner.
Hvis der tilføjes en særlig transaktion til historikken, markerer det DID som "tilbagekaldt". Bemærk også, at mens DLT’er har nyttige egenskaber, der gør dem egnede til DID-oprettelse og -lagring, er DLT’er ikke den eneste mulige teknologi til DID’er. DID’er kan også oprettes ved hjælp af decentrale hashtabeller (DHT’er), distribuerede filsystemer (IPF’er), databaser (BigchainDB) eller andre decentrale netværk.
Status for DID-specifikation
Der er stadig nogle åbne problemer, men W3C-arbejdsgruppen for DID’er forventer at offentliggøre et relativt stabilt Implementer’s Draft inden marts eller april 2018. At nå frem til en færdig W3C-standard er en meget længere proces, som de endnu ikke kan forudsige.
Derudover udvikler W3C også værktøjer, som Universal Resolver, der fungerer som en identifikatoropløsning og fungerer med ethvert decentraliseret identifikatorsystem. Implementeringer er tilgængelige til programmeringssprog Java og Python3.
Fremtidige og sidste tanker:
Markus Sabadello udtalte ”De af os, der arbejder på DID’er, oplever utrolig stor interesse for denne teknologi fra hele verden. Vi tænker på DIDs som intet mindre end endelig at have mulighed for at indse "manglende identitetslag" af Internettet." DID’er har potentialet til at erstatte meget af den nuværende internetidentitetsinfrastruktur, herunder ting som brugernavne, domænenavne, certifikatmyndigheder og centraliserede identitetstjenester som "Login med Facebook". Det kan tage lidt tid at tilpasse sig dette "decentral identitet" paradigme, men det bliver et bedre grundlag for, hvordan godkendelse, datadeling og messaging fungerer.