Beskriv vad som gör DID:erna annorlunda än andra identifierare
Som vi nämnde under W3C DID-arbetsgruppens möte i Fukuoka, Japan i september 2019, fanns det fyra orsaker till att finansiera utvecklingen av DID-specifikationen som för närvarande publiceras som W3C-rekommendationen för decentraliserade identifierare (DID) v1.0 Core-arkitektur, datamodell och representationer.
- "En permanent (beständig) identifierare" – En DID är utformad för att vara beständig. Beständighet innebär att "en DID inte kan tas bort eller göras oanvändbar av en tredje part utan tillstånd från DID:s kontrollant."
- "En matchningsbar identifierare" – En DID är en matchbar identifierare, vilket innebär att du kan leta upp den för att identifiera något som är associerat med did, till exempel för att identifiera dess metadata. Den information som DID löser är ett DID-dokument.
- "En kryptografiskt verifierbar identifierare" – En DID är en kryptografiskt verifierbar identifierare, vilket innebär att entiteten som styr DID, DID-kontrollanten, kan bevisa kontrollen över identifieraren med hjälp av kryptografi.
- "En decentraliserad identifierare" – En DID är en decentraliserad identifierare. Det innebär att det inte finns någon enskild registreringsutfärdare för att skapa och hantera DID:er. DID:er använder decentraliserade nätverk, även kallade verifierbara dataregister, för att registrera och registrera transaktioner. Dessa register kan vara distribuerade transaktionsregister, blockkedjor, distribuerade filsystem eller annan betrodd datalagring. Det finns många olika typer av verifierbara dataregister som DID:er kan använda. Metoden som används är beroende av DID-metoden.
Dessa fyra orsaker fungerar som kärnegenskaper för DID:er. Även om det finns befintliga identifierare som kan uppfylla vissa av dessa egenskaper, är en DID den första nya typen av identifierare som uppfyller alla fyra av dessa egenskaper.
Lösningsbara DID- och DID-dokument
Om du tänker på identifierare i allmänhet ger de värde när de används i kontexten för ett program där det kan ge viss information eller aktivera en interaktion eller kommunikation. En URL, som är en typ av identifierare, har till exempel bara ett värde när den anges i en webbläsare och returnerar en webbsida som kan användas. I det här sammanhanget matchas en URL till en webbsida. Samma begrepp gäller för DID:er, men i stället för att använda en webbläsare och matcha till en webbsida använder en DID en programvara eller maskinvara, som kallas en lösning och returnerar ett DID-dokument.
Ett DID-dokument är en offentligt tillgänglig datauppsättning som beskriver den entitet som identifierades av DID, kallad DID-ämnet. W3C-rekommendationen för decentraliserade identifierare (DID) v1.0 definierar kärnegenskaperna för ett DID-dokument. Följande ingår i kärnegenskaperna:
- Verifieringsmetoder – Detta inkluderar kryptografiska offentliga nycklar och associerade metadata. Till exempel kan en kryptografisk offentlig nyckel användas som verifieringsmetod för en digital signatur.
- Tjänster – Tjänster används för att kommunicera eller interagera med DID-ämnena. Detta kan omfatta information som ämnet vill annonsera. Exempel på dessa kan vara verifierbara lagringstjänster för autentiseringsuppgifter, fillagringstjänster, agenttjänster med mera. Dessa representeras som tjänstslutpunkter som representeras som en nätverksadress, till exempel en HTTP-URL.
Det här är bara några exempel på data, som ofta ingår i DID-dokumentet. DID-dokument är offentligt tillgängliga dokument som används av de program och tjänster som använder DID :er (inte avsedda för slutanvändarförbrukning). DID-dokument innehåller information som beskriver DID-ämnet, till exempel dess offentliga nyckel, tjänstslutpunkter och andra metadata, men bör inte innehålla personuppgifter om ämnet. Som ett offentligt tillgängligt dokument är bästa praxis att det ska innehålla den minsta mängd information som behövs för att stödja den önskade interaktionen eller kommunikationen.
DID:ar och kryptering med offentlig nyckel
För att förstå hur DID-kontrollanter kan bevisa kontroll över sin identifierare är det bra att förstå lite om kryptografi med offentliga nycklar.
DID:er använder asymmetrisk kryptografi, även kallad kryptografi med offentlig nyckel. Kryptering med offentlig nyckel använder ett offentligt och privat nyckelpar, används för att skydda information via kryptering och upprätta bevis på äkthet och medgivande via digitala signaturer. Mer detaljerad information finns i Beskriva kryptografibegrepp. Med kryptering med offentlig nyckel är en utmaning att verifiera att den offentliga nyckeln som delas i stort sett faktiskt kommer från den entitet som du förväntar dig att den kommer från, inte en bedragare. Med andra ord, hur binder du den offentliga nyckeln till identifieraren som representerar entiteten? I traditionell kryptering med offentlig nyckel upprättas det förtroendet via digitala certifikat från betrodda centraliserade certifikatutfärdare som utgör en centraliserad offentlig nyckelinfrastruktur (PKI). En egenskap för DID:er är dock att de är decentraliserade så att du inte vill ha ett beroende av en CA. DID:er hanterar detta eftersom deras metodspecifika identifierare härleds, antingen direkt eller indirekt, från information som är relaterad till den offentliga nyckeln. Detta gör att DID till sin natur är bunden till den offentliga nyckeln, utan någon centraliserad CA. Nettoresultatet är att entiteten som styr DID kan bevisa kontrollen över identifieraren med hjälp av kryptografi. På så sätt aktiverar DID:er en typ av distribuerad offentlig nyckelinfrastruktur.
En metod där en DID baseras på en offentlig nyckel tyder på att DID måste ändras om du måste rotera kryptografiska nycklar i säkerhetssyfte. Behovet av att ändra DID motsäger egenskapen att en DID är beständig. DID-dokumentet åtgärdar det här problemet. När nycklarna behöver ändras kan kontrollanten för DID publicera en uppdatering av DID-dokumentet som innehåller den nya offentliga nyckeln men som är signerad med den ursprungliga privata nyckeln. Uppdateringen av DID-dokumentet kan autentiseras eftersom den ursprungliga offentliga nyckeln kan spåras tillbaka till den ursprungliga versionen av DID-dokumentet. Den här metoden upprättar en förtroendekedja mellan uppdateringarna. Konceptuellt kan du tänka dig att detta är analogt med programvaruversionskontroll, där det bara finns en aktuell version av programvara, men du kan spåra tillbaka över tidigare versioner för att se vad som har uppdaterats.