├── .github
└── ISSUE_TEMPLATE
│ ├── extant-use-case.md
│ ├── focal-use-case.md
│ └── short-use-case.md
├── .pr-preview.json
├── CODEOWNERS
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── VerifiableCredentialsProblemDomains.png
├── VerifiableCredentialsUserRoles.png
├── VerifiableCredentialsUserTasks.png
├── example.pml
├── example.svg
├── focal
├── 1_citizenship_by_parentage.html
├── 2_expert_dive_instructor.html
├── 3_international_travel_with_minor_and_upgrade.html
├── 3_international_travel_with_minor_and_upgrade_examples.html
├── 4_gs1_identification.html
└── 4_gs1_identification_examples.html
├── index.html
├── payments.html
├── publication-snapshots
├── CGFR-2017-05-01
│ ├── example.svg
│ ├── index.html
│ ├── uc-issuing-claims.svg
│ ├── user-needs.svg
│ ├── user-roles.svg
│ └── user-tasks.svg
├── NOTE-2017-06-08
│ ├── Overview.html
│ ├── example.svg
│ ├── uc-issuing-claims.svg
│ ├── user-needs.svg
│ ├── user-roles.svg
│ └── user-tasks.svg
└── NOTE-2019-09-24
│ ├── Overview.html
│ ├── VerifiableCredentialsProblemDomains.png
│ ├── VerifiableCredentialsUserRoles.png
│ ├── VerifiableCredentialsUserTasks.png
│ ├── diff.html
│ ├── example.svg
│ ├── uc-issuing-claims.svg
│ ├── user-needs.svg
│ ├── user-roles.svg
│ └── user-tasks.svg
├── refs.js
├── short
├── c1_find_a_doctor.html
├── c2_busy_doctor.html
├── c3_bad_university.html
├── c4_new_employer.html
├── c5_social_authority.html
├── c6_job_applicant.html
├── d1_devices_during_manufacturing.html
├── d2_devices_during_delivery.html
├── d3_devices_setup_for_operating_autonomously.html
├── e1_digital_transcript.html
├── e2_taking_a_test.html
├── e3_transferring_schools.html
├── e4_online_classes.html
├── f1_reuse_know_your_customer.html
├── f2_money_transfer.html
├── f3_closing_account.html
├── f4_trying_out_a_new_service.html
├── f5_new_bank_account_from_home.html
├── h1_prescribing.html
├── h2_online_pharmacy.html
├── h3_insurance_claim.html
├── h4_traveling_illness.html
├── h5_proving_legal_disability_status.html
├── l1_digital_driving_license.html
├── l2_seamless_immigration.html
├── l3_speedy_air_travel.html
├── l4_refugee_crisis.html
├── r1_address-verification.html
├── r2_adult_beverages.html
├── r3_fraud_detection.html
└── r4_bona_fide_shopper.html
├── terms.html
├── uc-issuing-claims.pml
├── uc-issuing-claims.svg
├── user-needs.svg
├── user-roles.svg
├── user-tasks.svg
└── w3c.json
/.github/ISSUE_TEMPLATE/extant-use-case.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Extant Use Case
3 | about: Use this template to submit an extant use case.
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | Put very short (single sentence) description here.
11 |
12 | [Put text describing link here](https://www.example.org/put_link_here)
13 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/focal-use-case.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Focal Use Case
3 | about: Use this template to submit a focal use case.
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | # Background
11 |
12 | Provide some background for those unfamiliar with the use case domain.
13 |
14 | # Distinction
15 |
16 | How does this differ from other focal use cases?
17 |
18 | # Actors
19 |
20 | Explain who the actors are and how they relate to the use case.
21 |
22 | ## Issuer
23 |
24 | Who issues the credential?
25 |
26 | ## Subject
27 |
28 | Who is the subject of the credential?
29 |
30 | ## Holder
31 |
32 | Who holds the credential?
33 |
34 | ## Verifier
35 |
36 | Who verifies the credential?
37 |
38 | # Validation Requirements
39 |
40 | How does the verifier know that the credential is valid? Are there any relationships with or dependencies on other Verifiable Credentials?
41 |
42 | # Example Artefacts
43 |
44 | Repeat each sub-heading (Verifiable Credential, Verifiable Presentation) as necessary.
45 |
46 | ## Verifiable Credential - Put simple description here
47 |
48 | Put detailed description here.
49 |
50 | ```json
51 | {
52 |
53 | }
54 | ```
55 |
56 | ## Verifiable Presentations - Put simple description here
57 |
58 | Put detailed description here.
59 |
60 | ```json
61 | {
62 |
63 | }
64 | ```
65 |
66 | # Trust Hierarchy
67 |
68 | Describe the trust hierarchy (liabilities) here.
69 |
70 | # Threat Model
71 |
72 | Repeat sub-heading (Risk) as necessary.
73 |
74 | ## Risk - Put simple description here
75 |
76 | Put detailed description here, including and especially the response(s) to the risk.
77 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/short-use-case.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Short Use Case
3 | about: Use this template to submit a short use case.
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | Put short (one paragraph) description here.
11 |
--------------------------------------------------------------------------------
/.pr-preview.json:
--------------------------------------------------------------------------------
1 | {
2 | "src_file": "index.html",
3 | "type": "respec"
4 | }
5 |
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # These owners will be the default owners for everything in the repo.
2 | # Unless a later match takes precedence, these people will be requested for
3 | # review when someone opens a pull request.
4 | * @jandrieu
5 | * @KDean-GS1
6 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Verifiable Claims Task Force
2 |
3 | Contributions to this repository are intended to become part of Recommendation-track documents
4 | governed by the [W3C Patent Policy](https://www.w3.org/Consortium/Patent-Policy-20040205/) and
5 | [Document License](https://www.w3.org/Consortium/Legal/copyright-documents). To contribute, you must
6 | either participate in the relevant W3C Working Group or make a non-member patent licensing
7 | commitment.
8 |
9 | If you are not the sole contributor to a contribution (pull request), please identify all
10 | contributors in the pull request's body or in subsequent comments.
11 |
12 | To add a contributor (other than yourself, that's automatic), mark them one per line as follows:
13 |
14 | ```
15 | +@github_username
16 | ```
17 |
18 | If you added a contributor by mistake, you can remove them in a comment with:
19 |
20 | ```
21 | -@github_username
22 | ```
23 |
24 | If you are making a pull request on behalf of someone else but you had no part in designing the
25 | feature, you can remove yourself with the above syntax.
26 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | All documents in this Repository are licensed by contributors under the [W3C Document
2 | License](https://www.w3.org/Consortium/Legal/copyright-documents).
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Verifiable Credentials Use Cases
2 |
3 | This describes the use cases supported by the Verifiable Credentials Data Model.
4 |
5 | We encourage contributions meeting the [Contribution
6 | Guidelines](CONTRIBUTING.md). While we prefer the creation of issues
7 | and Pull Requests in the GitHub repository, discussions often occur
8 | on the
9 | [public-vc-wg](http://lists.w3.org/Archives/Public/public-vc-wg/)
10 | mailing list as well.
11 |
12 | ## Use Cases (this document) editor's draft:
13 | * [Use Cases](https://w3c.github.io/vc-use-cases/)
14 |
15 | ## Verifiable Credentials Working Group
16 | * Group page: [https://www.w3.org/2017/vc/WG/](https://www.w3.org/2017/vc/WG/)
17 | * Charter: [https://www.w3.org/2022/06/verifiable-credentials-wg-charter.html](https://www.w3.org/2017/vc/WG/charter.html)
18 |
19 | ## Other useful links
20 | * [Public group email archive](https://lists.w3.org/Archives/Public/public-vc-wg/)
21 |
--------------------------------------------------------------------------------
/VerifiableCredentialsProblemDomains.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/w3c/vc-use-cases/eb53b1e1cc588c87e9c7ef1c5611772e57749913/VerifiableCredentialsProblemDomains.png
--------------------------------------------------------------------------------
/VerifiableCredentialsUserRoles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/w3c/vc-use-cases/eb53b1e1cc588c87e9c7ef1c5611772e57749913/VerifiableCredentialsUserRoles.png
--------------------------------------------------------------------------------
/VerifiableCredentialsUserTasks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/w3c/vc-use-cases/eb53b1e1cc588c87e9c7ef1c5611772e57749913/VerifiableCredentialsUserTasks.png
--------------------------------------------------------------------------------
/example.pml:
--------------------------------------------------------------------------------
1 | @startuml
2 | ' bringing this in from the master branch
3 | !includeurl https://raw.githubusercontent.com/w3c/webpayments-ig/master/VCTF/common/skin.pml
4 | !ifndef SKIN_INCLUDED
5 | skinparam {
6 | backgroundColor transparent
7 | defaultFontName Lucida Sans
8 | shadowing false
9 | }
10 | skinparam sequence {
11 | DividerBackgroundColor transparent
12 | LifeLineBackgroundColor transparent
13 | }
14 | !endif
15 |
16 | Autonumber
17 |
18 | Actor Jane
19 | Participant "Credential Repository" as CV
20 | Participant "User Agent" as UA
21 | Participant "Credential Consumer" as merchant
22 |
23 | Jane->merchant: Navigate to web site
24 |
25 | Note right
26 | Merchant requires that
27 | web site users be at
28 | least 21 years of age
29 | End note
30 |
31 | merchant->UA: Request proof of age
32 | UA->CV: Need proof of age
33 | CV->Jane: Displays relevant credentials
34 | Jane->CV: Selects a credential
35 | CV->merchant: Use this credential as proof of age
36 | merchant->merchant: Verify
37 | merchant->UA: Redirect to web site
38 |
39 | title Example age verification flow
40 |
41 | @enduml
42 |
--------------------------------------------------------------------------------
/example.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/focal/1_citizenship_by_parentage.html:
--------------------------------------------------------------------------------
1 |
2 |
Citizenship by Parentage
3 |
Background
4 |
5 | Sam wants to claim US citizenship because his mother is American. Sam has a
6 | digital birth certificate from Kenya, where he was born while his Mother was
7 | in the Peace corps. He also has a digital version of his mother's US passport.
8 | Because his mother’s name changed between his birth and the issuance of the
9 | passport, Sam also has a marriage license with her maiden and married names.
10 | Sam is applying for a new passport from the US Secretary of State.
11 |
12 |
Distinction
13 |
14 | This use case is challenging because the mother’s name changed, by marriage,
15 | between the issuance of the birth certificate and passport.
16 |
17 |
Scenario
18 |
19 | Sam’s mother emailed him the certificate, license, and passport as independent
20 | Verifiable Credentials. He then creates a verifiable presentation
21 | which includes those credentials, a statement of their relationship to each
22 | other and his relationship to his mother. He then visits the US Secretary of
23 | State website, creates an account, starts the application for a passport, and
24 | uploads his new verifiable presentation as supporting evidence. After
25 | processing the application, Sam is issued both a traditional passport and a
26 | new digital passport.
27 |
28 |
Verifiable Credentials
29 |
30 |
31 | Birth Certificate
32 |
33 |
34 | Establishes relationship to mother with maiden name
35 |
36 |
37 |
38 | Marriage License
39 |
40 |
41 | Establishes mother's name change
42 |
43 |
44 |
45 | Mother’s Passport
46 |
47 |
48 | Establishes mother's US citizenship
49 |
50 |
51 |
52 | Sam’s Passport
53 |
54 |
55 | Establishes Sam is the child in the birth certificate
56 |
57 |
58 |
59 |
Verifiable Presentation
60 |
61 | A verifiable presentation which includes those three credentials,
62 | adds his name, photo, and demographic data along with the assertions that —
63 |
64 |
65 |
66 | He is the child in the birth certificate.
67 |
68 |
69 | The mother in the birth certificate, the person in the passport, the spouse in
70 | the marriage license are all the same person.
71 |
72 |
73 |
Trust Hierarchy
74 |
75 | Sam is legally liable for his claim to the rights of citizenship. The state
76 | department is on the hook for verifying the underlying credentials and Sam’s
77 | claims, including correlating against any additional data they might
78 | already have.
79 |
80 |
Threat model
81 |
82 |
83 | Threat: Terrorist / Identity fraud. A bad actor could be
84 | impersonating Sam to attain a passport. Of course, if a bad actor were to be
85 | able to collect the required verifiable credentials—mother’s
86 | passport, birth certificate, and marriage license, that actor has already
87 | significantly compromised the system.
88 |
89 |
90 | Response: Identity assurance based on the presentation
91 | and other data, above and beyond what is in the presentation and the
92 | claims.
93 |
94 |
95 | Response: Identity assurance based on the contents of the
96 | claims, potentially with enhanced data embedded in the claims,
97 | i.e., data not currently in passports, birth certificates, or marriage license.
98 | For example, a biometric template could be embedded in the birth certificate
99 | claim and that template could be used for interactive identity assurance
100 | at the time of submitting the presentation.
101 |
102 |
103 |
104 |
105 | Threat: Exposure of private information. By storing
106 | potentially compromising information in credentials and sending them
107 | over the network, we are increasing the attack surface for the subjects
108 | of those credentials.
109 |
110 |
111 | Response: Encrypt the claims (once by issuer, every
112 | verifier gets the same encrypted blob)
113 |
114 |
115 | Response: Encrypt the claims uniquely for each
116 | verifier. This may leak usage data to the issuer, assuming the
117 | holder must ask for a new, encrypted credential for each
118 | verifier.
119 |
120 |
121 | Response: Blind the claims uniquely for each
122 | verifier.
123 |
5 | Pat earned multiple diving credentials while living and working in Fiji and
6 | Australia. Later, Pat is hired by NOAA as a Dive Instructor, which requires
7 | that they maintain certification as an instructor with additional specialist
8 | diver certifications in dry suit, night diving, and search and recovery. The
9 | dive instructor certification is public record, but the additional specialist
10 | certifications are private because they are for personal diving, not acting
11 | as an instructor.
12 |
13 |
14 | Part of Pat's job is logging the certifications of fellow divers during NOAA
15 | sanctioned dives.
16 |
17 |
Distinction
18 |
This use case is difficult because:
19 |
20 |
21 | Certification in Fiji and Australia. NOAA relies on an international
22 | certification agency, PADI, with relevance in multiple jurisdictions.
23 |
24 |
25 | Each of these credentials is issued by different schools in the name
26 | of PADI.
27 |
28 |
29 | Each credential has an independent expiration cycle.
30 |
31 |
32 | Pat grants NOAA permission (the capability) to validate future
33 | credential status changes.
34 |
35 |
36 | On each trip, Pat creates a certified log of all divers, effectively issuing
37 | a verified credential about other credentials.
38 |
39 |
40 |
41 |
Scenario
42 |
43 | When Pat applied for his job at NOAA, he provided verifiable credentials
44 | issued by different dive schools licensed by PADI to do so. NOAA verifies
45 | cryptographically that the certifications were issued by PADI-approved dive
46 | schools and that the credentials were still in good standing by checking both
47 | the certifications' *and* the dive schools' revocation services.
48 |
49 |
50 | Upon accepting the job, Pat issues NOAA a revocable token that allows NOAA to
51 | check the current status of all of his certifications — not just the
52 | status of a single verifiable credential. After any specific
53 | certification expires — and Pat renews it — NOAA's next check of
54 | Pat's certifications returns the status of the renewed certification, not just
55 | the status of the (now expired) verifiable credential.
56 |
57 |
58 | When Pat takes a group of divers on NOAA sanctioned dives, he records the
59 | verifiable credentials for each diver (which demonstrate their diving
60 | certifications), creates a verifiable credential including those
61 | credentials; he signs and archives it on his laptop.
62 |
63 |
64 | When Pat retires from NOAA, he revokes that token and NOAA staff is no longer
65 | able to monitor his non-public certification status.
66 |
67 |
Verifiable Credentials
68 |
69 |
70 | Advanced Open Water Instructor
71 |
72 |
73 | Drysuit Dive Certification
74 |
75 |
76 | Night Diving Certification
77 |
78 |
79 | Search & Recovery Dive Certification
80 |
81 |
82 | Fiji PADI School Affiliation Certification
83 |
84 |
85 | Australia PADI School Affiliation Certification
86 |
100 | PADI is liable for correctly certifying dive schools.
101 |
102 |
103 | Dive schools are liable for correctly certifying Pat's knowledge and skills.
104 |
105 |
106 | Pat is liable for representing the facts in their application and maintaining
107 | the revocable capability.
108 |
109 |
110 | NOAA is liable for verifying the credentials and Pat's assertions
111 | claiming them, and for assuring Pat's continued good standing for the required
112 | credentials.
113 |
114 |
115 | Pat is liable for making sure all divers, on each trip, have valid
116 | credentials and are properly logged.
117 |
118 |
119 | Diver's are liable for presenting valid credentials, specifically
120 | credentials for which they are the subject, including any formal
121 | identity credentials, e.g., passport or driver's license.
122 |
123 |
124 |
Threat model
125 |
126 |
127 | Threat: Issuer is compromised. One of the dive schools
128 | had their private keys stolen, but the school itself only ever issues valid
129 | certificates.
130 |
131 |
132 | Response: Use multi-sig to prevent theft of a single key from
133 | relevance
134 |
135 |
136 | Response: Hardware wallet to minimize threat of network-based
137 | attack
138 |
143 | Response: Frequent rotation to minimize exposure from stolen
144 | keys
145 |
146 |
147 | Response: Enhanced background checks for all individuals with
148 | access to keys
149 |
150 |
151 | Response: Instead of institutional keys, sign certificates
152 | with individuals' keys plus credential from the school.
153 |
154 |
155 |
156 |
157 | Threat: A dive school could issue unearned certificates.
158 |
159 |
160 | Response: Audit certificate issuance. Record all issuance,
161 | systemically spot check for validity.
162 |
163 |
164 | Response: Background checks on schools prior to authorization
165 |
166 |
167 | Response: Limit the number of certificates that can be issued
168 | to limit impact of violation
169 |
170 |
171 | Response: Limit time horizon that the school may issue on
172 | behalf of PADI to require re-validation of qualifications
173 |
174 |
175 | Response: Use revocation mechanisms for school's authorization
176 | credentials
177 |
178 |
179 |
180 |
181 | Threat: Dive school could issue certificates with a revoked
182 | authorization.
183 |
184 |
185 | Response:Holders should verify the authorization,
186 | before they buy the course
187 |
188 |
189 | Response:Holders should verify the authorization at
190 | the point of receiving the credential
191 |
192 |
193 | Response:Verifiers should also verify the
194 | authorization of the issuer
195 |
196 |
197 |
198 |
199 | Threat: Pat could send a proxy to earn their certificate.
200 |
201 |
202 | Response: School should use multi-factor identity assurance
203 | during registration and onsite when testing.
204 |
205 |
206 | Response: Dive school retains video surveillance of event
207 | for future audits
208 |
209 |
210 | Response: Dive boat or test center takes photos of
211 | participants and logs them for later audit
212 |
213 |
214 |
215 |
216 | Threat: Pat or another dive master could lie about a diver being on
217 | the boat.
218 |
219 |
220 | Response: NOAA requires divers listed to submit endorsement
221 | that they were there (they endorse the dive log); divers mutually sign each
222 | other's log entries
223 |
224 |
225 | Response: Boat owner signs dive log
226 |
227 |
228 | Response: Pre-register excursion and expected diver list
229 |
230 |
231 | Response: Ongoing signed provenance data about Pat's job
232 | assignments (location, dates, correspondence, etc) by/with NOAA Manifest
233 | "souls on board" before/after including crew
234 |
235 |
236 | Response: Independent ID proofing of offline credentials
237 | (signed picture and/or photo ID)
238 |
239 |
240 |
241 |
242 | Threat: Malware could take control of issuer or verifier
243 | agent.
244 |
245 |
246 | Response: Run virus and malware scans regularly
247 |
248 |
249 | Response: Isolate issuer agent system to an air-gapped
250 | environment
251 |
252 |
253 |
254 |
255 | Threat: Pat is phished, and Pat gives capability to the wrong
256 | person/entity.
257 |
258 |
259 | Response: Use better identity assurance for the verifier,
260 | i.e., don't give capability to strangers.
261 |
262 |
263 | Response: Use Object Capabilities based on strong
264 | authentication and well-known public keys.
265 |
266 |
267 |
268 |
269 | Threat: Issuer spoofs Pat, and Pat receives VC from
270 | non-PADI-certified instructor.
271 |
272 |
273 | Response: Pat runs PADI's wallet software to make sure any
274 | certificates they receive are authentic.
275 |
276 |
277 | Response: Pat checks the VC with a PADI-provided tool before
278 | accepting it
279 |
280 |
281 | Response: Pat checks the VC with a standard tool, to see
282 | that (1) There really is a PADI authentication and (2) PADI authentication is
283 | actually from PADI
284 |
285 |
286 |
287 |
288 | Threat: Pat presents a fake credential as a PADI certification.
289 |
290 |
291 | Response: NOAA verifies the signature on the certification
292 | credential AND on the PADI authentication credential.
293 |
294 |
295 |
296 |
297 | Threat: Pat's laptop on the boat could be compromised.
298 |
299 |
300 | Response: Use air-gapping techniques, such as QR codes, to
301 | limit impact of compromise
302 |
5 | Malathi is traveling internationally with her 8-month-old son, Anand. His
6 | father, Rajesh, is staying home. Malathi has enough frequent flyer miles to
7 | upgrade the ticket to first class.
8 |
9 |
Distinction
10 |
11 | This use case is difficult because:
12 |
13 |
14 |
15 | Current US passports do not establish explicit relationship between parent
16 | and child.
17 |
18 |
19 | When one parent travels with a minor, the other parent is required to grant
20 | permission for the trip, thus implying guardianship or responsibility.
21 |
22 |
23 | The DID or other Digital Identity system replaces the role of the notary in
24 | the paper/physical world
25 |
26 |
27 | Credentials must be coordinated between two verifiers (agent and airline) for
28 | two individuals, and a digital coupon is used.
29 |
30 |
31 | The relationship of the minor to the non-traveling parent must be established,
32 | in order for the permission to be considered.
33 |
34 |
35 | In the minor's passport case, the subject is not the holder of
36 | the verifiable credential. The holder of the passport is a
37 | parent, not the minor.
38 |
39 |
40 |
41 |
Scenario
42 |
43 | Malathi obtains permission from Rajesh stating she is allowed to take the baby
44 | out of the country.
45 |
46 |
47 | Prior to booking the trips, Malathi visits HappyAir.com to request an upgrade
48 | to first class. HappyAir issues a verifiable credential redeemable for
49 | a first class upgrade on an international flight.
50 |
51 |
52 | She books the plane tickets through her travel agent who adds the lap child
53 | to the ticket.
54 |
55 |
56 | HappyAir verifies that Malathi has a signed statement from Anand’s other
57 | parent stating that she may exit the country with him.
58 |
59 |
60 |
Verifiable Credentials
61 |
62 |
63 | Malathi's passport
64 |
65 |
66 | Establishes identity of the traveling parent
67 |
68 |
69 |
70 | Anand's passport
71 |
72 |
73 | Establishes identity of the minor
74 |
75 |
76 |
77 | Anand's Birth Certificate
78 |
79 |
80 | Establishes relationship to parents and provides link from Rajesh to Anand that
81 | qualifies the permission to travel
82 |
83 |
84 |
85 | Permission to travel from Rajesh
86 |
87 |
88 |
89 |
90 | Grants permission from non-traveling parent for minor to travel.
91 |
92 |
93 | Identity matches identity of the parent in the birth certificate, establishing
94 | relevance.
95 |
114 | Submitted to HappyAir, includes Malathi and Anand's passport, assertion of
115 | permission, birth certificate and Frequent Flyer coupon.
116 |
117 |
118 |
Trust Hierarchy
119 |
120 |
121 | Malathi is liable for her claim of parentage as well as securing right to
122 | admission for herself and her son at their destination (visa may be required).
123 |
124 |
125 | Malathi and Rajesh are both liable for attestation of permission to fly with
126 | Anand without the other parent.
127 |
128 |
129 | Malathi is liable for the cost of her ticket and her son’s ticket.
130 |
131 |
132 | The agency is liable for issuing valid tickets and for verifying the
133 | credentials provided by the travelers.
134 |
135 |
136 | The airline is liable for issuing tickets and, ultimately, fulfilling the
137 | terms of travel
138 |
139 |
140 | The airline is liable for accepting the upgrade coupons at ticketing.
141 |
142 |
143 | The airline is liable for verifying the credentials in the birth certificate
144 | match the credentials in the permission letter.
145 |
146 |
147 | The check-in agent, TSA agent, and passport control at the destination are
148 | liable for identity assurance at various points of travel, using information
149 | contained in the verifiable credentials.
150 |
151 |
152 |
153 |
Threat model
154 |
155 |
156 | Threat: Stolen Key. Malathi steals Rajesh’s key in order to
157 | fake travel permission. (Kidnapping her own kids and fleeing Rajesh.)
158 |
159 |
160 | Response: Rajesh could store his key with a trusted third
161 | party, such as an attorney.
162 |
163 |
164 | Response: Rajesh could use a hardware wallet with pin or
165 | biometric.
166 |
167 |
168 | Response: Rajesh could use a passphrase on his key
169 |
170 |
171 |
172 |
173 | Threat: Stolen Key 2 Ticket purchaser has Malathi’s
174 | credentials, impersonating her to purchase a ticket. This could enable
175 | a third-party kidnapping.
176 |
177 |
178 | Response: Travel permission can be restricted to specific
179 | date and or trip minimizing abuse potential.
180 |
181 |
182 | Response: Embed identifying characteristics or biometric into
183 | the credentials so that verifiers can independently verify the subject
184 | in front of them is the subject in the credential.
185 |
186 |
187 | Response: Malathi could use a hardware wallet with pin or
188 | biometric.
189 |
190 |
191 | Response: Malathi could use a passphrase on her key
192 |
193 |
194 |
195 |
196 | Threat: Exposure of private information. By storing
197 | potentially compromising information in credentials and sending them over the
198 | network, we are increasing the attack surface for the subjects of those
199 | credentials.
200 |
201 |
202 | Response: Encrypt the claims (once by issuer;
203 | every verifier gets the same encrypted blob)
204 |
205 |
206 | Response: Encrypt the claims uniquely for each
207 | verifier. This may leak usage data to the issuer, assuming the
208 | holder must ask for a new, encrypted credential for each
209 | verifier.
210 |
211 |
212 | Response: Blind the claims uniquely for each
213 | verifier.
214 |
215 |
216 | Response: Encrypt the presentation uniquely for each
217 | verifier. No issuer involved
218 |
8 | The key artefact is the last one; it declares the existence of a GTIN, around which other Verifiable Credentials may be issued to declare data about the trade item (brand, size and unit of measure, ingredients, dimensions and weights, etc.). Validation of the artefact requires validating all the credentials that come before it, identified in each case by "extendsCredential".
9 |
5 | Jason is looking for a new primary care physician. His health
6 | provider
7 | includes information on their web site about the physicians they
8 | have on
9 | staff, including verifiable credentials about
10 | their
11 | education, board certification, and continuing education. Jason can
12 | verify
13 | these credentials and be confident that his new physician satisfies
14 | his
15 | requirements.
16 |
5 | Barney was a board-certified physician, but he ran out of time to
6 | complete
7 | his continuing education requirements and his certification lapsed.
8 | Since the
9 | board can revoke his certification, credential verifiers will
10 | automatically be aware that he can no longer issue prescriptions or
11 | perform
12 | medical procedures.
13 |
5 | Jane was issued a certificate by BigTraining Co., indicating that
6 | she was a
7 | trained Project Manager. It was later discovered that BigTraining
8 | Co. was not
9 | actually training anyone, and their organization's certificate was
10 | revoked via
11 | the US Department of Education's Accreditation Database. Jane's
12 | credential is
13 | therefore invalid, and prospective employers will be aware of this
14 | when they
15 | check her certifications.
16 |
5 | Jessica is a medical doctor practicing in the United States. She has
6 | a variety
7 | of digital claims that explain her qualifications, schooling,
8 | continuing
9 | education achievements, and board certifications. These are all
10 | stored in the
11 | credential repository provided by her employer. When she is
12 | offered a
13 | position with another health provider network, she can automatically
14 | transfer
15 | all of these claims to her new employer.
16 |
5 | Josie is a healthcare worker that has created a profile on a
6 | professional
7 | social network to make herself readily available for new
8 | opportunities in the
9 | workforce. She lists her employment history and credentials
10 | including degrees,
11 | certificates, and digital badges. The website requests verification
12 | of her
13 | credential claims in order for her credentials to be visible
14 | when she
15 | posts messages. Josie authorizes the sharing of the relevant
16 | claims with
17 | the website, and the site verifies them before allowing Josie to
18 | expose them.
19 |
20 |
21 | "Freedom?" is an online forum that encourages free discussion about
22 | issues
23 | controversial in Freedonia. The forum allows users to register
24 | anonymous
25 | accounts, but it also allows users to obtain badges based upon
26 | real-world
27 | certifications. Paula has been certified as an aid worker, and
28 | wishes that
29 | information to be marked on her posts. She shares her certificate
30 | with the
31 | forum, but limits it to only verifying that she is the holder
32 | of the
33 | certificate, that she is the subject of it, and that she is
34 | an aid
35 | worker. In this way she maintains her anonymity in this
36 | controversial forum
37 | while still being able to assist her fellow countrymen.
38 |
5 | Software Co. has posted an open position online and they are
6 | receiving
7 | thousands of applications. Cindy has applied for the job. Unlike
8 | many
9 | applicants, she has attached her education credentials—college
10 | degree,
11 | additional specific software training, etc. Software Co. evaluates
12 | these
13 | credentials automatically as they receive her application. Because
14 | her
15 | materials are verifiable and verified, her application is
16 | immediately
17 | forwarded as a viable candidate.
18 |
6 | Bob, the director of production at HVAC Manufacturing, issues a
7 | device-identifying verifiable credential (e.g. IDevID, IAK)
8 | at the
9 | factory for an energy-saving fan controller IoT device.
10 |
11 |
12 | Carol, senior quality engineer at Certifications Testing Lab,
13 | issues a
14 | certification of specification-compliance verifiable
15 | credential to the
16 | fan-controller device at the certification lab during the
17 | manufacturing
18 | process.
19 |
20 |
21 | When the fan controller is installed at the customer's office at
22 | Modern Office
23 | Spaces, the controller's identifying credential can be
24 | verified by Sam,
25 | IT technician, to establish the identity of the controller as part
26 | of the
27 | on-boarding of the new controller. The controller's
28 | specification-compliance
29 | credential is verified to demonstrate the controller's
30 | Energy-Star
31 | compliance.
32 |
6 | As the fan controller leaves the factory, additional
7 | verifiable credentials are issued by Vince, a systems
8 | engineer at VAR
9 | Resellers, as he verifies the manufacturer's configuration matches
10 | the
11 | verifiable credentials accompanying the device. He then
12 | installs a
13 | software package specific to Modern Office Spaces needs and issues
14 | verifiable credentials that establish evidence of
15 | possession by VAR
16 | Resellers and the software additions Vince made to the device.
17 |
18 |
19 | Finally, upon delivery to Sam, the end customer, the
20 | verifiable credentials show that the fan controller has
21 | been securely
22 | handled and contains the correct features and certifications.
23 |
2 | D.3 Devices setup for operating autonomously
3 |
4 |
5 |
6 | Sam, the new device owner, needs to trust the device originated
7 | from HVAC
8 | Manufacturing and was handled correctly at Certifications Testing
9 | Lab and
10 | installed with the correct software package at VAR Resellers.
11 | After Sam
12 | verifies each of the verifiable credentials, he issues
13 | another
14 | verifiable credential for fan controller #37 which includes
15 | assertions
16 | relating to trust: device manufacturer model/version, software
17 | manufacturer
18 | model/version, security versions of components TCB, and associated
19 | devices the
20 | fan controller is authorized to interact with including
21 | thermostat-board-room.
22 |
23 |
24 | The thermostat-board-room monitors room temperature. When the
25 | temperature is
26 | too hot it switches the fan controller #37 on and later when the
27 | temperature
28 | reaches a comfortable level, off. The device makes sure the
29 | control signals
30 | from thermostat-board-room are authorized (namely, that Sam
31 | intended for
32 | thermostat-board-room to control the fan controller).
33 |
34 |
35 | Sam is concerned about the security of the smart board room. He
36 | configures
37 | the autonomously interacting devices to re-verify device
38 | trustworthiness
39 | attributes periodically by re-checking that the device originated
40 | from HVAC
41 | Manufacturing and was handled correctly by Certifications Testing
42 | Lab and
43 | installed with the correct software package by VAR Resellers.
44 |
45 |
46 | Sam may update the device’s software occasionally during its
47 | lifetime. Even
48 | though Sam is applying the update, VAR Resellers supplies the
49 | correct update.
50 | The device ensures that only VAR Resellers is able to supply the
51 | updated
52 | software image and that only Sam is able to apply the update.
53 |
5 | Joleene is the registrar of Mega University and, by virtue of her
6 | office, is
7 | responsible for the integrity, accuracy, and security of academic
8 | records.
9 | Joleen has been a pioneering registrar in advocating an "extended
10 | transcript"
11 | that includes not only the standard set of course grades but also
12 | adds
13 | supplementary information on learner competencies. These might
14 | include work
15 | experiences and non-educational but marketable skills. Upon the
16 | request of her
17 | students, Joleen issues a digital credential that includes an
18 | extended
19 | transcript.
20 |
5 | Eunice is about to take her ACT (a test used to evaluate her
6 | readiness for
7 | college). When she arrives at the testing center, she is required to
8 | present
9 | identification. Her government-issued identity certificate is
10 | acceptable, as
11 | the verifiable credentials contained in it reflect all of the
12 | required
13 | attributes and it is difficult to counterfeit.
14 |
5 | Rocky is an undergraduate student at Wossamotta U. His school
6 | provides a
7 | credential repository service to all students and alumni, so
8 | he chooses
9 | to use it. In his third year, Rocky decides to transfer to
10 | Moosylvania Tech.
11 | They do not offer a service, but he does not want to continue to use
12 | the
13 | service of his old (and now rival school) so he moves his
14 | claims to the
15 | service offered by his bank without needing to have them reissued.
16 |
5 | In MOOC and other online learning systems, being able to reliably
6 | identify
7 | participants is vital to ensure the individual evaluation and
8 | certification.
9 | Nick is participating in a course online and takes a test. He is
10 | required to
11 | provide his credentials to prove his identity before the test, and
12 | then to
13 | allow the system to issue a verifiable credential regarding
14 | the
15 | results of his test.
16 |
5 | Jane is opening an account at MidBank in Finland. As part of that
6 | process,
7 | the bank asks her to provide two from a variety of possible sources
8 | to confirm
9 | her identity — a so-called "Know Your Customer"
10 | check. She
11 | selects government-supplied verifiable credentials that
12 | confirm she
13 | receives postal mail at a certain address and that she has a
14 | national ID card.
15 | Confirming these allows the bank to open her account and be
16 | confident in her
17 | identity when she conducts transactions.
18 |
19 |
20 | Now that the account is open, Jane is issued a digitally-signed
21 | credential for her checking account at MidBank. This
22 | credential
23 | verifies that Jane has an account at MidBank and has access to her
24 | associated checking account. It is issued to a controlled
25 | identifier over which Jane has demonstrated proof-of-control.
26 | When presented, Jane again demonstrates proof-of-control over that
27 | identifier to give the verifier confidence that the current holder
28 | presenting the credential, is in fact, the original recipient of
29 | the credential. Since MidBank (and all banks in Finland) are
30 | required to perform "Know Your Customer" checks on
31 | accounts, this credential can also be treated as sufficient
32 | verification by other financial institutions. This helps Jane
33 | assure destination banks that she is verified, thereby
34 | allaying concerns about misdirected transactions and money
35 | laundering.
36 |
5 | Susan wants to send funds to her family in another country via a
6 | popular money
7 | transfer service. She has verifiable credentials in her
8 | credential repository that can be used to share her
9 | identity profile. She has also been sent a credential from
10 | her
11 | family verifying their banking information. By sharing these with
12 | the money
13 | transfer service, they can automatically verify the source and
14 | destination of
15 | funds, thus being confident in the delivery of those funds and
16 | satisfying
17 | various regulations regarding prevention of money laundering.
18 |
5 | John opens a checking account at Big Bank Co and is issued a
6 | verifiable credential indicating that the account exists,
7 | that the bank
8 | verified John's identity, and that John has access to the account.
9 | Some time
10 | later, John is moving to a new city and decides to close that
11 | account. Big
12 | Bank Co needs to revoke that claim as part of their normal account
13 | closing
14 | process.
15 |
5 | Nikita has several accounts with BigBank, as well as a brokerage
6 | account with
7 | WallStreetCo. She had placed all of her claims in a
8 | credential repository at BigBank that came free when she
9 | opened her
10 | accounts. WallStreetCo is now offering a new repository that
11 | has an
12 | interface she thinks she will prefer. Nikita copies her
13 | claims from
14 | BigBank into the repository at WallStreetCo to experiment with their
15 | service,
16 | but continues to use the service from BigBank while she is testing.
17 |
5 | Alice wants to open a new bank account. BigOnlineBank offers the
6 | ability to
7 | do this from home if she can provide electronic credentials. She
8 | offers
9 | government-issued certificates that verify her identity (address,
10 | national
11 | identity number, etc.), and opens her new account from her couch.
12 |
5 | Barney is a physician, and has recently become board certified in
6 | his state.
7 | The state's board issues Barney a digital certificate confirming
8 | that he is
9 | certified to practice medicine in that state. Barney can now use
10 | this
11 | certificate when writing prescriptions and referrals, thereby
12 | improving
13 | accountability and verifiability.
14 |
5 | iPharmacy receives a prescription for Bob electronically from a
6 | local clinic.
7 | It includes a certificate about the physician that issued the
8 | prescription as
9 | well as one about Bob. iPharmacy's system automatically verifies the
10 | ability
11 | of the physician to write prescriptions, as well as Bob's insurance
12 | coverage.
13 | When Bob arrives to pick up his medication, iPharmacy further
14 | correlates his
15 | identity with the certificate, thereby improving the end-to-end
16 | accountability
17 | of their system.
18 |
5 | Tracy has a sore throat soon after moving to a new town. She finds a
6 | physician
7 | through her health care network and goes in for treatment. She is a
8 | new
9 | patient, so the clinic needs to know who she is and how she will be
10 | paying.
11 | When checking in, she presents her verifiable credential that
12 | demonstrates her identity and her proof of insurance. When the
13 | clinic submits
14 | this to the insurance company, they can automatically ascertain that
15 | she
16 | submitted her proof of identity and insurance to the provider and
17 | granted the
18 | physician the ability to submit the claim for payment.
19 |
5 | John is on the vacation of a lifetime, travelling the world. Falling
6 | ill, he
7 | visits a health clinic in a country in which he does not live. At
8 | the clinic,
9 | he is asked for proof of identity. He provides a credential that
10 | verifies his
11 | name and address, but elects not to disclose his marital status nor
12 | his social
13 | security number, as those are neither requested nor required at this
14 | clinic.
15 | He further marks the disclosure as expiring in 30 days—he does
16 | not want
17 | his information verifiable after that time.
18 |
5 | Trina, who is legally blind, is currently unemployed, and needs to
6 | use the
7 | local free disability ride service to get to the employment office.
8 | To use
9 | this service, she is required to verify that she maintains legal
10 | disability
11 | status. Trina provides her government-issued disability credential
12 | to sign up
13 | for the ride service, and is not required to disclose her specific
14 | disability
15 | to the ride service, as this could put her at personal risk.
16 |
5 | Asako just passed the final test to receive a drivers license. As
6 | she is still
7 | a new driver, and may be pulled over for a traffic violation, she
8 | would like
9 | to receive a credential that asserts a claim that she
10 | has right
11 | to drive a car. She requests a credential from the certifying
12 | authority
13 | (issuer) that she can use to prove to the officer
14 | (credential verifier) that her claim is valid.
15 |
5 | Tom is a frequent international traveler. In order to speed
6 | processing
7 | through immigration check points, he applies for a digital passport
8 | from his
9 | governmental authority. After satisfying background check
10 | requirements, the
11 | authority issues Tom an electronic version of his passport. This
12 | version is
13 | verifiable and retains a history of all the places he visits so that
14 | immigration officials can quickly and easily evaluate his
15 | suitability as a
16 | visitor to their country. Once they are satisfied, they will
17 | automatically
18 | add the details of this new visit to Tom's passport.
19 |
5 | Security for air travel is more and more rigorous, requiring more
6 | and more
7 | time to validate each passenger. Ivan has a collection of
8 | verifiable credentials that are assembled into his air travel
9 | Identity Profile. When Ivan needs to pass through a
10 | security
11 | checkpoint at his airport, he presents this profile before entering
12 | the
13 | line. Because his identification can be immediately and
14 | automatically
15 | verified, he is permitted to skip the long line and go straight to
16 | the
17 | metal detector.
18 |
5 | Thousands of people each year are displaced because of man-made and
6 | natural
7 | disasters. Anoushka is one such, having been forced to flee her
8 | village along
9 | with her mother and younger brother. They reach an IFRC center just
10 | across
11 | the border in a relatively safe area, but with no documentation.
12 | Since the
13 | government of her homeland is in turmoil, there is no way for the
14 | IFRC staff
15 | to easily establish their identities. Fortunately, Anoushka had been
16 | issued
17 | a self-sovereign proof of birth, attached to which is the proof of
18 | birth and
19 | marriage for her parents. She is able to retrieve this because it is
20 | available
21 | from many places often the Internet. Since it is verifiable, the
22 | IFRC is
23 | comfortable vouching for them and resettling them in a safer area
24 | for the
25 | duration of the conflict.
26 |
5 | Francis has found the perfect pair of shoes. When processing orders,
6 | Giant Shoe
7 | Company wants to be certain that his shipping address is accurate
8 | (inaccurate
9 | addresses are very expensive in terms of customer service). They
10 | offer a
11 | discount for customers who make verifiable addresses available as
12 | part of the
13 | checkout process. Francis offers his certificate and gets the
14 | perfect shoes for
15 | even less than he expected.
16 |
5 | June goes to her local beer and wine store to buy a bottle of wine.
6 | She submits
7 | her identity credential that lets the liquor store owner know that
8 | she is over
9 | 21 without having to reveal her actual date of birth, her address,
10 | or her state
11 | ID number.
12 |
5 | On a bright Sunday, Oskar remembers that he still needs to buy his
6 | wife a
7 | precious gift for their wedding anniversary. However, he is acutely
8 | aware that
9 | it is precisely in weekends that gangs set up fraudulent web shops
10 | that claim
11 | to sell such gifts, while in fact they only take the cash, and
12 | disappear on
13 | Mondays. So before actually purchasing a gift from the web shop of
14 | his choice,
15 | he requests the shop to provide a credential issued by the chamber
16 | of commerce,
17 | that contains proof of legitimacy. After having verified that the
18 | shop is
19 | legit, he can purchase his gift.
20 |
5 | David owns a restaurant and has registered with a low cost wholesaler to purchase provisions in bulk. The wholesaler has
6 | issued a credential to David, to prove that he is entitled to enter the warehouse in order to purchase goods that are
7 | not available to the general public. The credential is marked "non-transferable" to stop David passing the credential to
8 | his friends to allow them to purchase low cost provisions.
9 |
12 | A set of one or more claims made by an issuer. A
13 | verifiable credential is a
14 | tamper-evident credential that has authorship that can be cryptographically
15 | verified. Verifiable credentials can be used to build
16 | verifiable presentations, which can also be cryptographically verified.
17 | The claims in a credential can be about different subjects.
18 |
19 |
data minimization
20 |
21 | The act of limiting the amount of shared data strictly to the minimum
22 | necessary to successfully accomplish a task or goal.
23 |
24 |
decentralized identifier
25 |
26 | A portable URL-based identifier, also known as a DID,
27 | associated with an entity. These identifiers are most often used in a
28 | verifiable credential and are associated with subjects such that a
29 | verifiable credential itself can be easily ported from one
30 | repository to another without the need to reissue the credential.
31 | An example of a DID is did:example:123456abcdef.
32 |
33 |
decentralized identifier document
34 |
35 | Also referred to as a DID document, this is a document
36 | that is accessible using a verifiable data registry and contains
37 | information related to a specific decentralized identifier, such as the
38 | associated repository and public key information.
39 |
40 |
derived predicate
41 |
42 | A verifiable, boolean assertion about the value of another attribute in a
43 | verifiable credential. These are useful in zero-knowledge-proof-style
44 | verifiable presentations because they can limit information disclosure.
45 | For example, if a verifiable credential contains an attribute
46 | for expressing a specific height in centimeters, a derived predicate
47 | might reference the height attribute in the verifiable credential
48 | demonstrating that the issuer attests to a height value meeting the
49 | minimum height requirement, without actually disclosing the specific height
50 | value. For example, the subject is taller than 150 centimeters.
51 |
52 |
digital signature
53 |
54 | A mathematical scheme for demonstrating the authenticity of a digital message.
55 |
56 |
entity
57 |
58 | A thing with distinct and independent existence, such as a person,
59 | organization, or device that performs one or more roles in the ecosystem.
60 |
61 |
graph
62 |
63 | A network of information composed of subjects and their relationship
64 | to other subjects or data.
65 |
76 | The means for keeping track of entities across contexts. Digital
77 | identities enable tracking and customization of entity interactions
78 | across digital contexts, typically using identifiers and attributes. Unintended
79 | distribution or use of identity information can compromise privacy. Collection
80 | and use of such information should follow the principle of
81 | data minimization.
82 |
83 |
identity provider
84 |
85 | An identity provider, sometimes abbreviated as IdP, is a system
86 | for creating, maintaining, and managing identity information for
87 | holders, while providing authentication services to
88 | relying party applications within a federation or distributed network.
89 | In this case the holder is always the subject. Even if the
90 | verifiable credentials are bearer credentials, it is assumed the
91 | verifiable credentials remain with the subject, and if they are
92 | not, they were stolen by an attacker. This specification does not use this term
93 | unless comparing or mapping the concepts in this document to other
94 | specifications. This specification decouples the identity provider
95 | concept into two distinct concepts: the issuer and the holder.
96 |
106 | Data derived from one or more verifiable credentials, issued by one or
107 | more issuers, that is shared with a specific verifier. A
108 | verifiable presentation
109 | is a tamper-evident presentation encoded in such a way that authorship of the
110 | data can be trusted after a process of cryptographic verification. Certain
111 | types of verifiable presentations might contain data that is synthesized from,
112 | but do not contain, the original verifiable credentials (for example,
113 | zero-knowledge proofs).
114 |
146 | A role a system might perform by mediating the creation and verification
147 | of identifiers, keys, and other relevant data, such as
148 | verifiable credential schemas, revocation registries, issuer public keys,
149 | and so on, which might be required to use verifiable credentials. Some
150 | configurations might require correlatable identifiers for subjects. Some
151 | registries, such as ones for UUIDs and public keys, might just act as namespaces
152 | for identifiers.
153 |
154 |
verification
155 |
156 | The evaluation of whether a verifiable credential or verifiable presentation
157 | is an authentic and timely statement of the issuer or presenter, respectively.
158 | This includes checking that: the credential (or presentation) conforms to the specification; the proof method is
159 | satisfied; and, if present, the status is successfully checked.
160 |
161 |
162 |
verifier
163 |
164 | The entity verifying a claim about a given subject.
165 |
166 |
URI
167 |
168 | A Uniform Resource Identifier, as defined by [[RFC3986]].
169 |