Beschrijven hoe verifieerbare referenties werken

Voltooid

Gedecentraliseerde id's zijn een belangrijk onderdeel in het proces dat wordt gebruikt voor het uitgeven, presenteren en verifiëren van een verifieerbare referentie en zijn de reden dat gebruikers kunnen bepalen hoe en wanneer deze worden gepresenteerd en gedeeld. Met andere woorden, DID's maken verifieerbare referenties mogelijk.

Entiteiten die betrokken zijn bij een verifieerbaar referentie-ecosysteem

Het is belangrijk om eerst enkele van de partijen te beschrijven die betrokken zijn bij het verifieerbare referentie-ecosysteem, zoals gedefinieerd door de W3C-aanbeveling over verifieerbare referentiegegevensmodel v1.1.

  • Verlener: de verlener maakt de verifieerbare referentie. Voorbeelden van verleners zijn bedrijven, overheidsentiteiten, handelsorganisaties en meer. De verlener bevestigt claims over u, als onderwerp van de referentie.
  • Onderwerp: het onderwerp is de entiteit waarover de claims in de referentie worden gemaakt. Het onderwerp van een verifieerbare referentie is meestal een persoon, maar kan een ding of dier zijn. Een voorbeeld waarbij het onderwerp een ding kan zijn, is een verifieerbare referentie die bevestigt dat uw voertuig is geregistreerd in uw staat. Op dezelfde manier kan een dier een onderwerp zijn, zoals het geval zou zijn met een referentie die bevestigt dat uw huisdier een vergunning heeft en gevaccineerd is tegen hondsdolheid. Voor ons scenario gaan we ervan uit dat het onderwerp een persoon is en we kunnen verwijzen naar het onderwerp als de gebruiker in ons scenario.
  • Houder – Een houder is een entiteit die een of meer verifieerbare referenties bezit. Voorbeelden van houders zijn studenten, werknemers, klanten, enz. Een houder mag anders zijn dan het onderwerp, zoals het geval is bij een eigenaar van een huisdier die de referentie heeft die bevestigt dat hun huisdier (het onderwerp) in licentie is gegeven en gevaccineerd is. In ons voorbeeld en voor het gemak zullen de houder en het onderwerp hetzelfde zijn en in ons scenario worden aangeduid als de gebruiker of de houder.
  • Verifier: de verificator is een entiteit die de verifieerbare referentie voor verwerking ontvangt. Voorbeelden van entiteiten die als verificator kunnen dienen, zijn werkgevers, beveiligingspersoneel, websites, universiteiten, enzovoort.
  • Verifieerbaar gegevensregister: verifieerbare gegevensregisters zijn de systemen die betrokken zijn bij het maken en vastleggen van DID's, openbare sleutels en andere gegevens die worden gebruikt met verifieerbare referenties. Deze systemen zijn meestal gedistribueerde netwerken, zoals gedistribueerde grootboeken, blockchains, gedistribueerde bestandssystemen of andere vertrouwde gegevensopslag. Het gebruikte type register is afhankelijk van de DID-methode. Binnen het verifieerbare referentie-ecosysteem kunnen er veel registers zijn. U kunt de verzameling van deze registers beschouwen als een onderliggend netwerk dat een vertrouwenssysteem vertegenwoordigt.

Alle partijen die betrokken zijn bij de transactie van de verifieerbare referentie (uitgever, gebruiker, verificator) hebben hun eigen unieke DID die kan worden omgezet in het bijbehorende DID-document.

Diagram met de belangrijkste actoren in een verifieerbaar referentiescenario. Dit zijn de verlener, de gebruiker, de verificator, het verifieerbare gegevensregister dat het vertrouwenssysteem vertegenwoordigt.

Digitale portemonnee

Een ander belangrijk onderdeel in het verifieerbare referentie-ecosysteem is de digitale portemonnee. Simpel gezegd is een digitale portemonnee een representatie van onze fysieke portemonnee, als softwaretoepassing. Net als bij onze fysieke portemonnees gebruiken we het om referenties op te geven, zoals een instapkaart, bibliotheekkaart, geld, pasjes en vele andere soorten referenties en persoonlijke gegevens.

In werkelijkheid is een digitale portemonnee meer dan dat. Een digitale portemonnee heeft er twee delen aan, de portemonnee zelf en een digitale agent. De portemonnee fungeert als een container voor alle dingen die u erin plaatst - alle referenties, passeert, privégegevens, enzovoort. De digitale agent is de software die de interacties met de portemonnee beheert. De agent is een beetje vergelijkbaar met de gebruiker die referenties in de fysieke portemonnee plaatst en deze uitneemt om te presenteren aan iemand die uw identiteit moet verifiëren. In de context van een verifieerbaar referentie-ecosysteem doet de agent meer. De agent genereert namens de eindgebruiker (de houder van de digitale portemonnee) de openbare/persoonlijke sleutelparen en DID's, doet aanvragen voor en presenteert referenties (meestal via de gebruiker van QR-codes), ondertekent de communicatie met verleners en verificatoren van referenties en meer. Sommige van deze dingen, zoals het maken van cryptografische sleutels, DID's, digitale handtekeningen, enzovoort, zijn transparant voor de gebruiker, maar zijn belangrijke onderdelen die worden gebruikt bij het uitgeven en valideren van verifieerbare referenties.

Vanuit het perspectief van de eindgebruiker is de functie van de digitale agent niet te onderscheiden van de portemonnee zelf, omdat de agent in het algemeen in de portemonnee is ingebouwd. Voor dit document behandelen we de portemonnee en digitale agent als één en verwijzen we ernaar als de digitale portemonnee.

Scenario- en verifieerbare referentiestroom

Alice (de gebruiker) is een werknemer van Woodgrove, Inc. (de uitgever) die een werknemerkorting zoekt van een partnerorganisatie, Proseware (de verifier).

Diagram met de stroom voor de uitgifte en verificatie van een verifieerbare referentie.

  1. Zoals eerder vermeld, hebben alle partijen hun openbare sleutels en DID die worden vastgelegd in een verifieerbaar gegevensregister, zoals een gedecentraliseerd grootboek. Om de onbelangrijke e-mail te minimaliseren, wordt in de afbeelding die wordt weergegeven de opname van deze informatie in het register weergegeven, alleen voor Woodgrove.
  2. Alice meldt zich aan bij de werknemersportal bij Woodgrove en vraagt een bewijs van arbeidsreferenties aan. Op dit moment kan Woodgrove een QR-code weergeven op de site van de werknemersportal. Alice scant met de QR-code met een digitale portemonneetoepassing op haar mobiele apparaat (dit kan de Microsoft Authenticator-app zijn) die het attestation-model van Woodgrove initieert om te valideren dat Alice een echte werknemer is. De attestation kan verschillende vormen aannemen. Woodgrove kan bijvoorbeeld vereisen dat Alice zich verifieert op basis van zijn eigen directory. Woodgrove kan bijvoorbeeld vereisen dat Alice een identiteitscontroletraject doorloopt waarbij een derde partij betrokken is die de identiteitsverificatie en -controle uitvoert, of dat Alice een pincode moet invoeren. Voor dit scenario wordt ervan uitgegaan dat Alice alleen een pin hoeft in te voeren met behulp van de digitale portemonnee op haar mobiele apparaat.
  3. Zodra Woodgrove heeft gevalideerd dat Alice een werknemer is, reageert Woodgrove met de referentie. Wanneer Woodgrove de referentie uitgeeft, bevat deze:
    • DID van Woodgrove (issuer's DID)
    • De DID van het onderwerp (Alice is het onderwerp).
    • De beweringen dat Woodgrove bevestigt. In dit geval bevestigt Woodgrove dat Alice de titel van programmamanager heeft sinds 2011.
    • Handtekening van Woodgrove (handtekening van uitgever). Woodgrove ondertekent de referentie met de persoonlijke sleutel.
  4. Alice accepteert die referentie, die vervolgens wordt toegevoegd aan haar digitale portemonnee. Nu Alice haar referenties heeft, gaat ze naar de website van Proseware om een computer aan te schaffen.
  5. Voordat ze de korting kan ontvangen, vereist Proseware dat Alice bewijs van haar werk presenteert.
  6. Alice kan nu in haar digitale portemonnee kijken en de portemonnee namens haar autoriseren om die referentie aan Proseware te presenteren. De presentatie bevat:
    • De referentie, zoals uitgegeven door Woodgrove
      • DID van Woodgrove (issuer's DID)
      • Alice's DID (onderwerp DEED).
      • De beweringen dat Woodgrove bevestigt. In dit geval bevestigt Woodgrove dat Alice de titel van programmamanager heeft sinds 2011.
      • Handtekening van Woodgrove (handtekening van uitgever). Woodgrove ondertekent de referentie met de persoonlijke sleutel.
    • De handtekening van Alice (handtekening van het onderwerp). Alice ondertekent de referentie met haar persoonlijke sleutel.
  7. Proseware heeft het bewijs van werk ontvangen en voert nu enkele zoekopdrachten uit om te controleren of de referentie is uitgegeven door Woodgrove en dat het onderwerp van de referentie Alice is.
    • Controleer het onderwerp:
      • Omdat de referentie Alice's DID bevat, kan Proseware de DID oplossen en het DID-document ophalen dat de openbare sleutel bevat.
      • Omdat de referentie is ondertekend door Alice, kan Proseware de openbare sleutel gebruiken om te controleren of de handtekening voor de referentie echt afkomstig is van Alice, als onderwerp.
    • Controleer de verlener:
      • Omdat de referentie de DID van Woodgrove bevat, kan Proseware de DID oplossen om het DID-document van Woodgrove te verkrijgen dat de openbare sleutel bevat.
      • Omdat de referentie ook de handtekening van Woodgrove bevat, kan Proseware de openbare sleutel gebruiken om te controleren of de handtekening voor de referentie echt afkomstig is van Woodgrove, als verlener.
      • Tijdens het verifiëren van de verlener moest Proseware nooit rechtstreeks verbinding maken met Woodgrove. Proseware hoeft alleen verbinding te maken met het gedistribueerde gegevensregister
      • Nu Proseware de referentie van Alice heeft ontvangen en gevalideerd, wordt de bedrijfslogica van Proseware geactiveerd, zodat Alice een computer tegen een gereduceerde prijs kan kopen.

In de transactie van het uitgeven, presenteren en verifiëren van de transactie zijn er enkele punten die de moeite waard zijn om de waarde van verifieerbare referenties te benadrukken:

  • Bij het uitgeven van een referentie zijn de weergegeven claims de minimale set claims die nodig zijn om aan het doel te voldoen. In dit geval hoeft de referentie alleen een claim op te nemen voor de titel van de werknemer en het jaar dat de dienst is gestart. Dit beperkt de hoeveelheid persoonlijke gegevens die worden gedeeld.
  • De gebruiker heeft de controle over de referentie en bepaalt met wie hij de referentie deelt. Daarnaast houdt de portemonnee van de gebruiker een logboek bij van de entiteiten met wie de referentie is gedeeld, samen met andere informatie.
  • Wanneer de verificator de referentie valideert, doen ze dit zonder dat ze verbinding hoeven te maken met de verlener. De verificator lost de DID van de verlener op om de openbare sleutels te verkrijgen en met de openbare sleutel de handtekening van de verlener te valideren die op de referentie wordt weergegeven.

Een veelvoorkomend scenario met een referentie is dat de referentie kan verlopen of dat de verlener die referentie mogelijk moet intrekken. De W3C-aanbeveling voor verifieerbare referenties voor gegevensmodel v1.1 bevat eigenschapsvelden in de referentie om rekening te houden met deze scenario's.

In de digitale portemonnee van Alice wordt de referentie weergegeven als een kaart zoals het type referentie dat we in onze fysieke portemonnee zouden hebben. In werkelijkheid is een verifieerbare referentie echter een machineleesbare JSON-gegevensstructuur die bestaat uit een reeks sleutel-/waardeparen en zou de DID van de verlener bevatten, claims die worden asserted in de referenties, digitale handtekeningen en meer.

Ga naar https://aka.ms/vcdemo een volledigere demonstratie van een verifieerbaar referentiescenario voor onboarding.