Credentials Data Model (v1.1, March 2022) Holder Verifier Issuer Verifiable Credential (VC) Verifiable Presentation (VP) ⚫氏名: John Smith ⚫生年月日: 1980-01-01 ⚫Issuerの署名 ◼ 実用例: IATA Travel Pass / Microsoft Entra Verified ID / SMART Health Cards (ワクチン接種証明書)
_:b0 credentialSubject xyz xyz type Person xyz name John Smith xyz isPatientOf _:b1 _:b1 type Vaccination _:b1 date 2022-04-04 _:b1 vaccine code#123 _:c14n0 date 2022-04-04 _:c14n0 type Vaccination _:c14n0 vaccine code#123 _:c14n1 type VerifiableCredential _:c14n1 credentialSubject xyz _:c14n1 issuer 政府 xyz type Person xyz isPatientOf _:c14n1 xyz name John Smith RDF Canonicalization 元の空白ノードのラベルや行の順序によらず 確定的に一意なラベルと順序が得られる
_:b0 credentialSubject xyz xyz type Person xyz name John Smith xyz isPatientOf _:b1 _:b1 type Vaccination _:b1 date 2022-04-04 _:b1 vaccine code#123 _:c14n0.c8xd... date 2022-04-04 _:c14n0.c8xd... type Vaccination _:c14n0.c8xd... vaccine code#123 _:c14n1.c8xd... type VerifiableCredential _:c14n1.c8xd... credentialSubject xyz _:c14n1.c8xd... issuer 政府 xyz type Person xyz isPatientOf _:c14n1.c8xd... xyz name John Smith RDF Canonicalization VC全体のハッシュ値を識別子に添えることで、 他のVCと結合された際にも区別できるようにする (悪いHolderによる不正への対策)
vaccine code#123 _:c14n1.c8xd... type VerifiableCredential _:c14n1.c8xd... credentialSubject xyz _:c14n1.c8xd... issuer 政府 xyz type Person xyz isPatientOf _:c14n1.c8xd... xyz name John Smith _:c14n0.c8xd... date 2022-04-04 Vaccination _:c14n0.c8xd... type John Smith xyz name ... ... ... 1 4 2 5 26 25 3 6 27
isPatientOf _:b1 _:b1 date 2022-04-04 _:b0 credentialSubject _:x0 _:x0 isPatientOf _:b1 _:b1 date 2022-04-04 _:c14n0.a date 2022-04-04 _:c14n1.a credentialSubject xyz xyz isPatientOf _:c14n0.a xyz name John Smith _:c14n0 date 2022-04-04 _:c14n1 isPatientOf _:c14n0 _:c14n2 credentialSubject _:c14n1 Issuerが署名したときのエンコード Verifierが開示されたVCをエンコード canonicalize canonicalize term分解 _:c14n0.a date 2022-04-04 _:c14n1.a credentia.. xyz xyz isPatientOf _:c14n0.a xyz name John Smith