Wallet – Die Brieftasche von Alice

Eigentlich bedeutet Wallet „Brieftasche“. Im Falle von Digitalen Identitäten passt vielleicht besser die Umschreibung: „Sicherer Speicher für etwas von Wert“. Im Anwendungsfall, der bislang beschrieben wurde, ist am Ende die Gutschrift der CO2-Menge, was einen Wert hat, doch auch auf dem Weg, bis diese Menge in den Besitz und Eigentum an Alice übergeht, entstehen für den Augenblick „werthaltige“ Daten. So ist am Ende des Ladevorgangs der Anfangszählerstand von Wert, da ohne diesen die geladene Strommenge, die nun im PKW von Alice ist, nicht ermittelt werden kann.

In unserer Node-RED Umgebung hatten wir dies wie folgt versuchsweise implementiert:

Beispiel Flow – Node-RED – Wallet für Zählerstände

Beginn und Ende sind in diesem „Flow“ die verfügbaren Injects, also Ereignisse, die einen Prozess anstoßen. Der Kasten „Stromzähler BEV“ ist ein Zeiger (DID) auf den jeweils aktuellen Zählerstand, da es hierbei um einen Vertrag (Messdienstleistung, kontinuierlich, allle 5 Sekunden ein Ablesewert,…) handelt, wird sich die Zeit unter der Box ständig aktualisieren. Klickt Alice nun auf „Beginn“, so muss der letzte gültige Zählerstand „festgehalten“ werden. Dies geschieht in der Funktion „Store DID Content in ContextData“ . Die „Mini-Wallet“, des ContextData enthält nun den ersten Datensatz, welcher einen Wert hat. Klickt Alice auf „Ende“, so gibt es zwei Zählerstände in der „Wallet“.

Die beiden werthaltigen Informationen wurden immer mit dem selben Zeiger (DID) abgerufen, d.h. eine Speicherung des Zeigers allein würde nicht viel bringen. Stattdessen wird ein Paket gespeichert, welches man Präsentation (Presentation) nennt und die neben der Signatur des Stromzählers, dem Zählerstand auch einen Zeitstempel und eine eindeutige „Revision“ enthält.

{
  "iat": 1646531951, 
   "kWhActiveEnergy_1_8_0": 23003.649,
   "_address": "0xD8955Ff3a0Cca094Af0B8b73690297F6bCB5888D",
   "_revision": "0xCD65Fa93a0E714cAF12C3C4d57E518C9c3a3b854"
}

Der eigentliche Zählerstand wurde im Feld "kwhActiveEnergy_1_8_0" abgelegt. IAT ist der Zeitstempel und die Revisionskennung beginnt mit „0xCD…“. Diese Daten wurden signiert und liegen auch in Form eines JSON-Web-Token (JWT) vor, einem standarisierter String, der einfacher als ein Datenobjekt übertragen und weitergereicht werden kann:

eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NkstUiJ9.eyJpYXQiOjE2NDY1MzE5NTEsImtXaEFjdGl2ZUVuZXJneV8xXzhfMCI6MjMwMDMuNjQ5LCJfYWRkcmVzcyI6IjB4RDg5NTVGZjNhMENjYTA5NEFmMEI4YjczNjkwMjk3RjZiQ0I1ODg4RCIsIl9yZXZpc2lvbiI6IjB4Q0Q2NUZhOTNhMEU3MTRjQUYxMkMzQzRkNTdFNTE4QzljM2EzYjg1NCIsImlzcyI6ImRpZDpldGhyOjYyMjY6MHhEODk1NUZmM2EwQ2NhMDk0QWYwQjhiNzM2OTAyOTdGNmJDQjU4ODhEIiwidmFsdWUiOiJSZXF1ZXN0RXJyb3I6IHNvY2tldCBoYW5nIHVwIDogaHR0cDovLzE5Mi4xNjguMTkyLjQxL2NnaS9lbmVyZ3kuanMifQ.a_RcpgbXW7p2EJcHDkssIcoxyL-gSTceESf0FBxAk1l3qCgY3n2xmxbYcNhNr0RCu0cXCUTwB292hU7hRBxQewE

Da Alice smart ist, wird sie genau diesen JWT String in ihre Wallet ablegen, denn unabhängig von einer bestimmten Implementierung oder einen ónline Verbindung oder sonst etwas, ist dieser String nun für sie werthaltig und ein Dritter kann unabhängig die Echtheit überprüfen (da vom Zähler unterzeichnet).

Zur Vollständigkeit auch der zweite JWT-String, den Alice am Ende des Ladevorgangs erhält:

eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NkstUiJ9.eyJpYXQiOjE2NDY1MzI3OTAsImtXaEFjdGl2ZUVuZXJneV8xXzhfMCI6MjMwMDMuNzE3LCJfYWRkcmVzcyI6IjB4RDg5NTVGZjNhMENjYTA5NEFmMEI4YjczNjkwMjk3RjZiQ0I1ODg4RCIsIl9yZXZpc2lvbiI6IjB4N2ZiYzJmNWU2ZDJhN0QyNTM4YUExNkIxMWQ0ZkMyMTMyODY4QjBBYSIsImlzcyI6ImRpZDpldGhyOjYyMjY6MHhEODk1NUZmM2EwQ2NhMDk0QWYwQjhiNzM2OTAyOTdGNmJDQjU4ODhEIiwidmFsdWUiOiJSZXF1ZXN0RXJyb3I6IHNvY2tldCBoYW5nIHVwIDogaHR0cDovLzE5Mi4xNjguMTkyLjQxL2NnaS9lbmVyZ3kuanMifQ.YKktJrBC2d49tA4xibU2qHvHM5m-ul8PRmneLs8NjZBTBMXR6-Oox6w8XDc3eM3BYzSU5s-VJGY2eitNlx_wOgE

Gegenüber Bob, von dem Alice die CO2-Gutschrift erhalten wird, braucht sie nun lediglich die beiden JSON-Web-Token vorzuzeigen, ohne dass Bob eine Verbindung zum Stromzähler benötigt oder er hinterfragen muss, wie Alice in den Besitz dieser beiden JWTs gekommen ist. Was Bob allerdings sicherstellen muss, ist dass er die selbe Revisions-Kennung nicht von einer anderen Person auch noch einmal erhält.

Die Beschreibung mit der Brieftasche ist hier hilfreich, denn natürlich sind die JWTs nun „werthaltig“ und könnten geklaut werden. Ein Diebstahl von Daten fällt eher nicht auf, da dieser ein reines kopieren ist und somit erst einmal keine Spuren hinterlässt. Technisch kann man diese Problematik auch an den Edge-Geräten sehr gut lösen, hier wird darauf allerdings nicht weiter eingegangen.

Was ist eigentlich eine Identität?

Nimmt man die beiden JWTs zusammen, so interagiereen hier strenggenommen drei Identitäten miteinander. Zum einen der Stromzähler, dessen Dezentralen Identifikator (Zeiger) beschreibt dessen Existenz, an dieser werden Informationen zur Eichung, dem Standort und der Zählerstand abgelegt. Der Stromzähler ist eine „sourveräne“ Identität, da er selbständig digital unterschreiben kann. Die beiden anderen Identitäten sind die jeweiligen Zählerstände (Beginn und Ende). Diese werden durch die Verwendung von Alice erst zur Identität, sind dann aber nicht „souverän“, da abhängig vom Stromzähler.

Abhängige Identitäten existieren auch als Konzept in der Welt der dezentralen Identitäten. Man spricht von sogenannten Präsentationen, da ihre Existenz allein zum Zwecke des Zeigens von Daten (=präsentieren) ist. Die JWTs sind somit reine Präsentationen, was auch erklärt, dass Alice diese in ihrer Wallet ablegt, allerding nicht den Stromzähler dort ablegen würde.

Bob kann, wenn will (… und macht das hoffentlich nicht…) ein zentrales Verzeichnis führen von allen Stromzählern, von denen er Zählerstände akzeptiert. Erhält er nun von Alice signiert ein Paket mit den beiden JWTs, so wird er zunächst schauen, ob beide JWTs vom selben Zähler signiert wurden. Dann wird er schauen, ob dieser Zähler in seiner Berechtigungsliste steht, bevor er die übermittelten Nutzdaten (Zählerstände) ausliest. Dieses Vorgehen ist eine Konvention, die man festhalten kann und somit ein Protokoll, dem auch andere Bobs folgen können, woraus ein Standard(vorgehen) abgeleitet werden kann.

Denn Sinn und Zweck von Projekten, wie unserem ID-Ideal, ist es Standards zu entwickeln, weshalb es in solchen Projekten auch immer eine Begleitforschung gibt und im Konsortium das Thema „Normierung und Standarisierung“ regelmäßig auf der Tagesordnung steht.

Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Inhalt nicht verfügbar.
Bitte erlauben Sie Cookies, indem Sie auf Übernehmen Sie auf das Banner