- Was sind Dezentrale Bezeichner (DID)?
- Besonderheiten von Decentralized Identifiern (DID)
- Wie wird ein Decentralized Identifier (DID) gebildet?
- Einführung in die Architektur von Decentralised Identifiers (DID)
In diesem dritten Leitfaden werden wir erklären, wie eine der Säulen der Self-Sovereign Identity, die Dezentralen Identifikatoren (d. h. DID), funktioniert. Wir werden lediglich wiederholen, was wir in den vorherigen Leitfäden eingeführt haben.
Wir haben gesehen, dass es drei bestehende Identitätsmanagement-Modelle gibt.
Das erste ist das sogenannte “Silos-Modell”, das komplett zentralisiert ist und unsere digitale Identität zwischen den verschiedenen Organisationen aufteilt, mit denen wir interagieren. Dieses Modell verwendet Sicherheitsstandards wie https, SSL und TSL. Das zweite Modell heißt “Federated or Third Party IDP”, das auf Identity Providern wie Facebook oder Twitter basiert, die die Identität des Benutzers garantieren. Dieses Modell wiederum nutzt Sicherheitsstandards wie SAML, OAuth und OpenID Connect.
Wir haben gesehen, dass die genannten Modelle potenzielle Risiken und Schwächen in Bezug auf Sicherheit, Datenschutz und Kontrolle haben können.
Das dritte Modell wird als “Self-Sovereign Identity” (SSI) definiert, das auf Distributed Ledger (d. h. Blockchain) und anderen traditionelleren Techniken basiert, um ein System zu schaffen, in dem ein Benutzer die vollständige “Kontrolle” über seine Daten hat. Im Vergleich zu den beiden oben genannten Ansätzen basiert SSI auf der Idee von Peer-to-Peer- und nicht-account-basierten Verbindungen. Das Werkzeug, das solche Verbindungen ermöglicht, ist die kryptographische Wallet. Auch dieses Modell hat Standards, um zu funktionieren und sicher zu sein: Der erste davon sind dezentrale Identifikatoren (DID), eine neue Art von “Bezeichner”.
Um das Gesamtbild zu vervollständigen, sind die anderen verwendeten Standards Verifiable Credentials, DKMS und DID Auth. Die anderen drei Standards werden in den nächsten Leitfäden behandelt.
Was sind Decentralised Identifiers?
Ein DID ist ein konstituierendes Element einer neuen Ebene der dezentralen Identität, die vier Eigenschaften hat:
- Persistenz
- Auflösbarkeit
- Verschlüsselung
- Dezentralisierung
Aber gehen wir der Reihe nach.
Laut W3C-Definition ist eine DID eine neue Art von Bezeichner: d.h. nicht mehr als eine alphanumerische Zeichenfolge, die eine Ressource identifiziert. Mit Ressource meinen wir jedes Objekt, das identifiziert werden kann, von einer Webseite über eine Person bis hin zu einem Planeten. Diese Zeichenkette sieht so ähnlich aus wie jede andere Webadresse, außer dass sie mit “did:” und nicht mit “https:” oder “http” beginnt.
Wenn wir etwas technischer werden wollen, ist eine DID eine Art URI (Uniform Resource Identifier) .
Ein URI ist eine Zeichenkette, die eine abstrakte oder konkrete Ressource in einem bestimmten und eindeutigen Format identifiziert. Jede Ressource hat einen und nur einen URI, jeder URI hat eine und nur eine Ressource. Innerhalb der Menge der URIs gibt es URLs (Uniform Resource Locators) und URNs (Uniform Resource Names).
Eine URL ist eine Unterklasse von URI, die verwendet wird, um eine Ressource anhand ihres Standorts im Web zu lokalisieren. Zum Beispiel ist die Seite, die Sie gerade lesen, eine Ressource, die eine bestimmte Seite auf der Website selfsovereignidentity.it ist. Jede Webseite, jede Datei, jedes Bild, jedes Video hat eine eigene URL. Sie ist nicht “im Web”, wenn sie keine URL hat und wird oft als “Darstellung” bezeichnet. Die Adressen, die in der Adressleiste des Browsers angezeigt werden, sind in der Regel URLs. Wichtig ist, dass sich diese Bezeichner ändern können.
Die zweite Unterklasse von Bezeichnern wird inzwischen als URNs bezeichnet und dient zur Identifizierung einer Ressource anhand ihres “Namens”. Ein Beispiel für eine URN ist die ISBN: Sie identifiziert ein Buch eindeutig, gibt aber keine Auskunft darüber, wo sich das Buch befindet oder wo es im Netz zu finden ist. Der wichtigste Faktor ist, dass sich dieser Identifikator im Laufe der Zeit nicht ändern kann.
Nachdem wir URI, URL und URN beschrieben haben, können wir die Definition von DID präziser fassen.
Wenn wir etwas technischer werden wollen, ist ein DID eine Art von URI (Uniform Resource Identifier).
Ein DID ist eine URN, die “durchsucht” (technisch definiert als aufgelöst) werden kann, um einen standardisierten Satz von Informationen über die Ressource zu erhalten, die durch den DID identifiziert wird. Unter Ressource kann man sich eine Person, einen Verein/Kollektivkörper oder ein Objekt vorstellen. Die Informationen, die sich auf die DID beziehen, sind also Informationen, die sich auf Personen, Vereinigungen/Kollektivkörper oder Objekte beziehen. Klar, nicht wahr?
Die Besonderheit von Decentralised Identifiers
Diese Definition erfasst jedoch nur zwei der vier Eigenschaften eines DIDs, nämlich Persistenz und Auflösbarkeit. Für die dritte Eigenschaft – Kryptographie – ist eine DID mit einem Paar kryptographischer Schlüssel (öffentlicher Schlüssel und privater Schlüssel) verbunden und der Inhaber des privaten Schlüssels kann sich als Kontrolleur der DID erweisen. Wenn Sie bereits einige Erfahrungen mit Bitcoins oder Kryptowährungs-Wallets gemacht haben, werden Sie wissen, dass der private Schlüssel das Geheimnis ist, das Ihnen erlaubt, Ihre Bitcoins auszugeben, während der öffentliche Schlüssel der alphanumerische Code ist, den Sie Dritten zeigen, um neue Bitcoins zu erhalten.
Schließlich verwenden diese privaten und öffentlichen Schlüssel die Blockchain als ein Ledger oder eine gemeinsame Quelle der Wahrheit, um Dritten Ihre Kontrolle zu demonstrieren, ohne sich auf zentralisierte Ledger zu verlassen. Dies ist der gleiche Prozess, mit dem die Wallets für Bitcoin oder andere Kryptowährungen erstellt werden, und es ist, wie es alles ohne ein zentralisiertes Gegenstück funktioniert.
Wie wird ein Decentralised Identifiers gebildet?
Zu diesem Zeitpunkt haben wir verstanden, dass ein DID nichts anderes als ein alphanumerischer Code ist, der eine generische Ressource repräsentiert. Ich werde eine DID haben und Sie werden eine DID haben, die sich von meiner unterscheidet. Dieser Code hat ein sehr spezifisches Schema und setzt sich aus drei Teilen zusammen, nämlich “Methode”, “DID-Methode” und “Methodenspezifischer Bezeichner”.
- Der erste Teil heißt “Scheme” und ist nichts anderes als das Präfix “did:”
- Der zweite Teil wird als DID-Methode definiert. Dieser zweite Teil ist sehr wichtig, weil er angibt, auf welchem dezentralen Ledger oder Blockchain diese DID aufgelöst wurde. Wenn er zum Beispiel auf der Bitcoin-Blockchain aufgelöst wurde, wird er als “did:btcr” ausgedrückt.
- Der dritte Teil ist als “Method Specific-Identifier” definiert und ist die Erweiterung, die die DID für die spezifische Ressource charakterisiert (meine DID, Ihre DID). Zum Beispiel könnte meine spezifische DID für bitcoin die folgende sein: did:btcr:13n29cn30cn3ncr84dc.
Eine völlig generische DID wird gemeldet als:
did:example:123456789abcdefghi
Jede DID wird autonom registriert, direkt vom Besitzer innerhalb von permissionless und/oder permissioned Blockchains. Es gibt keine Mittelsmänner, weshalb es Self-Sovereign Identity genannt wird. Jeder Nutzer ist vollständig souverän über sich und seine eigene Identität.
Die Decentralised Identifier Architecture
Wir haben also verstanden, dass eine DID eine ganz bestimmte Form hat und dass der Erstellungsprozess völlig autonom ist und kein zentralisiertes Gegenstück benötigt. Aber wie ermöglicht er eigentlich das Konzept der Self-Sovereign Identity?
Stellen wir uns die DID wie den Identifikationscode unseres Führerscheins vor. Der große Unterschied ist, dass dieser Code nicht von der Zulassungsstelle zur Verfügung gestellt wird, sondern dass wir es sind, die der Zulassungsstelle mitteilen, dass die DID “beispielsweise” einer bestimmten Person (mir selbst) gehören soll. Das hat mit dem Konzept der Verbindung zu tun und damit, dass wir entscheiden können, wie die Verbindung hergestellt wird. Die SSI basiert auf der Idee, dass ein Individuum mehrere Kanäle der privaten Kommunikation mit Dritten wie Personen, kollektiven Entitäten und Objekten öffnen kann. Dies ist der grundlegende Mechanismus, den es zu verstehen und uns nahezubringen gilt.
Schließlich müssen wir präzisieren, dass es verschiedene Arten von DIDs gibt, eben weil diese, wie wir oben gesehen haben, ein generischer Identifikator sind.
Zum Beispiel gibt es eine DID, die als “DID-Subjekt” definiert ist, und eine DID, die als “DID-Controller” definiert ist. Ein Beispiel, um den Unterschied zu erklären, könnte folgendes sein: Wenn ein Elternteil eine DID prüft, die seine eigenen Kinder identifiziert, ist das “DID Subject” das Kind, aber der “DID Controller” (zumindest bis das Kind volljährig ist) ist der Elternteil. Wenn das Kind jedoch volljährig wird, wird es sowohl “DID-Subjekt” als auch “DID-Kontrolleur”. Darüber hinaus werden diese Informationen (d. h. wer kontrolliert oder wer das Subjekt ist) in einem bestimmten Dokument festgehalten, das als “DID-Dokument” bezeichnet wird. Jedes DID hat sein eigenes “DID-Dokument”, in dem es eine standardisierte Datenstruktur gibt, die Spezifikationen und Metadaten im Zusammenhang mit dem DID bereitstellt. Es gibt auch den “DID Resolver”, eine Software- und/oder Hardwarekomponente, die ein DID (und die zugehörigen Optionen) als Eingabe nimmt und ein konformes “DID-Dokument” (und die zugehörigen Metadaten) als Ausgabe erzeugt. Dieser Prozess wird “DID Resolution” genannt. Schließlich gibt es auch “DID-URLs”, die die Syntax von DIDs nehmen und eine URL im “Method Specific Identifier” assoziieren, aus der Informationen aus dem Web bezüglich des DIDs selbst extrahiert werden können.
Es sollte auch beachtet werden, dass ein generischer Benutzer potenziell mehrere DIDs haben kann, abhängig von der Anzahl und der Vertraulichkeit der Verbindungen, die er herstellen möchte.
Wir schließen diesen Leitfaden, indem wir den Leser daran erinnern, dass eine DID eine eindeutige und dauerhafte Kennung ist, die im Gegensatz zu einer URI Kryptografie und Dezentralisierung (via Blockchain) nutzt, um sich selbst zu generieren und den Prozess völlig autonom und “souverän” zu gestalten. Abschließend wollen wir daran erinnern, dass eine DID auch Objekte, Unternehmen oder kollektive Entitäten identifizieren kann. Im nächsten Leitfaden werden wir die zweite fundamentale Säule der Self-Sovereign Identity erläutern, nämlich verifizierbare Credentials.