Weryfikowalne poświadczenia
Weryfikowalne dane uwierzytelniające (VC) to otwarty standard w przypadku poświadczeń cyfrowych. Mogą reprezentować informacje znalezione w fizycznych dokumentach uwierzytelniających, takich jak paszport lub prawo jazdy, a także nowe rzeczy, które nie mają fizycznego odpowiednika, takie jak własność konta bankowego. Mają wiele zalet w porównaniu z fizycznymi danymi uwierzytelniającymi, w szczególności to, że są podpisane cyfrowo, co czyni je odpornymi na manipulacje i natychmiastową weryfikacją. Zakwestionowano bezpieczeństwo weryfikowalnych poświadczeń. Weryfikowalne poświadczenia były również przedmiotem obaw związanych z użytecznością. Weryfikowalne dane uwierzytelniające mogą być wydawane przez każdego i mogą dotyczyć wszystkiego, a także mogą być przedstawiane i weryfikowane przez każdego. Jednostka, która generuje poświadczenie, nazywa się emitent . Poświadczenie jest następnie przekazywane Posiadaczowi , który przechowuje je do późniejszego wykorzystania. Posiadacz może następnie coś o sobie udowodnić, przedstawiając swoje dane uwierzytelniające weryfikatorowi .
Model zaufania
Posiadacz weryfikowalnego poświadczenia znajduje się w centrum trójkąta zaufania, pośrednicząc między wystawcą a weryfikatorem.
- Emitent ufa posiadaczowi
- Posiadacz ufa weryfikatorowi
- Weryfikator ufa emitentowi
Dowolną rolę w trójkącie może pełnić osoba, instytucja lub urządzenie IoT.
Należy pamiętać, że ponieważ weryfikowalne poświadczenia mogą być tworzone przez każdego, osoba lub podmiot weryfikujący poświadczenia decyduje, czy ufa podmiotowi, który je wydał. To tak, jakby sprzedawca w sklepie decydował, czy przy zakupie alkoholu powinien zaakceptować koncesję wydaną poza stanem jako dowód wieku.
Decentralizacja
Model VC umieszcza posiadacza poświadczenia w centrum ekosystemu tożsamości, dając jednostkom kontrolę nad ich atrybutami tożsamości. Model W3C VC odpowiada fizycznym poświadczeniom: użytkownik posiada karty i może je przedstawić komukolwiek w dowolnym momencie bez informowania lub wymagania zgody wydawcy karty. Taki model jest zdecentralizowany i daje uczestnikom znacznie większą autonomię i prywatność. Kontrastuje to z zarządzania tożsamością federacyjną (FIM), przyjętym przez SAML i OpenID Connect , w których dostawca tożsamości (IdP) w centralnej roli jako dostawca atrybutów tożsamości i określający, którym Dostawcom usług (SP) zostaną one nadane. W modelu federacyjnym dostawca tożsamości zna każdego dostawcę usług odwiedzanego przez użytkownika.
Weryfikowalne dane uwierzytelniające Model danych 1.0
Modelem danych dla weryfikowalnych poświadczeń jest zalecenie konsorcjum World Wide Web Consortium (W3C) , „Verible Credentials Data Model 1.0 - Expressing verible information on the Web”, opublikowane 19 listopada 2019 r.
Kompozycja
Weryfikowalne dane uwierzytelniające mogą być wyrażone przy użyciu formatu JSON i zwykle składają się z:
- Kontekst
- Emitent
- Sygnatura czasowa wydania
- Znacznik czasu wygaśnięcia
- Typ
- Temat
- Atrybuty tożsamości podmiotu
- Dowód kryptograficzny zapewniający integralność i autentyczność wirtualnej waluty
{ "verifyingCredential" : { "@context" : [ "https://www.w3.org/2018/credentials/v1" , "https://www.w3.org/2018/credentials/examples/v1" ] , "id" : "0892f680-6aeb-11eb-9bcf-f10d8993fde7" , "type" : [ "Weryfikowalne poświadczenia" , "UniversityDegreeCredential" ], "emitent" : { "id" :
"did:example:76e12ec712ebc6f1c221ebfeb1f" , "name" : "Uniwersytet Acme" }, "dissuanceDate" : "2021-05-11T23:09:06.803Z" , "credentialSubject" : { "id" : "did:example:ebfeb1f712ebc6f1c276e 12ec21 " , "stopień" : { "type" : "BachelorDgree" , "name" : "Bachelor of Science"
} }, "proof" : { "type" : "Ed25519Signature2018" , "created" : "2021-05-17T15:25:26Z" , "jws" : "eyJhbGciOiJFZERTQYjY0Il19..nlcAA" , "proofPurpose" : "assertionMethod" , "Metoda weryfikacji" : "https://ścieżkaDoIssuerPublicKey" } } }
Skróty
Kontekst VC, zdefiniowany za pomocą właściwości @context
JSON , jest konstrukcją JSON-LD , która umożliwia używanie terminów przyjaznych dla użytkownika dla właściwości JSON . Zgodnie z modelem danych VC wartością wielu właściwości musi być URI . Chociaż są one globalnie jednoznaczne (ważne dla globalnego modelu danych), nie są przyjazne dla użytkownika. W rezultacie @context
umożliwia zdefiniowanie krótkich, przyjaznych dla użytkownika aliasów dla każdego identyfikatora URI . Dzięki temu określanie wirtualnych walut jest znacznie łatwiejsze i bardziej przyjazne dla użytkownika. Poniżej podano przykład.
{ "@context" : [ "https://www.w3.org/2018/credentials/v1" , "https://www.w3.org/2018/credentials/examples/v1" ], "id" : "http://example.edu/credentials/3732" , "type" : [ "VerifiedCredential" , "UniversityDgreeCredential" ], "emitent" : "https://example.edu/issuers/14" , "issuanceDate" :
"2010-01-01T19:23:24Z" , "expirationDate" : "2020-01-01T19:23:24Z" , "credentialSubject" : { "id" : "did:example:ebfeb1f712ebc6f1c276e12ec21" , "stopień" : { "type" : "BachelorDgree" , "name" : "Bachelor of Science and Arts" } }, "proof" : { } }
W3C VC są rozszerzalne. Każda nowa nieruchomość może zostać dodana do VC, zgodnie z ustaleniami emitenta. Standardowe właściwości zostały zdefiniowane specjalnie jako punkty rozszerzenia. Należą do nich:
- warunki użytkowania – ograniczenia nałożone na korzystanie z Wirtualnej waluty przez emitenta
- schemat - definiuje zawartość VC
- dowód - informacje zebrane przez emitenta o przedmiocie i/lub atrybutach przed wystawieniem VC
- status - wskaźniki, gdzie weryfikator może odkryć status VC (np. czy został odwołany).
Temat
Posiadacz VC nie zawsze musi być podmiotem uwierzytelnienia. Oczekuje się, że większość użytkowników będzie posiadać własne VC, tj. posiadacz i podmiot będą tym samym podmiotem. Nie zawsze tak musi być. Na przykład, gdy podmiotem VC jest niemowlę, a VC jest aktem urodzenia, posiadaczem może być jedno lub oboje rodziców.
Dowody
Żaden mechanizm dowodowy nie jest znormalizowany, ale model danych jest wystarczająco elastyczny, aby obsługiwać różne istniejące mechanizmy kryptograficzne, takie jak podpisy cyfrowe . Stosowane mechanizmy dowodowe obejmują: JSON Web Tokens with JSON Web Signatures , dowody JSON-LD i dowody zerowej wiedzy przy użyciu schematów, takich jak anonimowe dane uwierzytelniające IBM .
Transport
Określono różne protokoły przenoszenia VC od wystawcy/dostawcy tożsamości do posiadacza i posiadacza do weryfikatora. Przykłady obejmują:
- Aries RFC 0036: Issue Credential Protocol 1.0. i Aries RFC 0037: Present Proof Protocol 1.0
- David W Chadwick, Romain Laborde, Arnaud Oglaza, Remi Venant, Samer Wazan, Manreet Nijjar „Ulepszone zarządzanie tożsamością z weryfikowalnymi poświadczeniami i FIDO”, IEEE Communications Standards Magazine, tom 3, wydanie 4, grudzień 2019 r., strony 14–20
Żaden z tych protokołów nie został ustandaryzowany. Wiele osób eksperymentujących z wirtualnymi walutami używa protokołu HTTPS do przenoszenia wirtualnych walut między różnymi stronami.