11<!DOCTYPE html>
22< html >
33 < head >
4- < title > Verifiable Credential Status List v2021 </ title >
4+ < title > Verifiable Credential Bit String Status List v1.0 </ title >
55 < meta http-equiv ='Content-Type ' content ='text/html;charset=utf-8 '/>
66 <!--
77 === NOTA BENE ===
1919 group : "vc" ,
2020
2121 // the specification's short name, as in http://www.w3.org/TR/short-name/
22- shortName : "vc-status-list" ,
22+ shortName : "vc-bit-string- status-list" ,
2323
2424 // subtitle for the spec
2525 subtitle : "Privacy-preserving status information for Verifiable Credentials" ,
155155 < p >
156156This specification describes a privacy-preserving, space-efficient, and
157157high-performance mechanism for publishing status information such as
158- suspension or revocation of Verifiable Credentials.
158+ suspension or revocation of Verifiable Credentials through use of bitstrings .
159159 </ p >
160160 </ section >
161161
162- < section id ='sotd '>
163- < p >
164- This document is experimental and is undergoing heavy development.
165- It is inadvisable to implement the specification in its current form.
166- An < a href ="https://github.com/digitalbazaar/vc-status-list "> experimental
167- implementation</ a > is available.
168- </ p >
169- <!--p>
170- Comments regarding all aspects of this document are welcome.
171- Please file issues
172- directly on <a href="https://github.com/w3c-ccg/vc-status-list-2021/issues/">GitHub</a>,
173- or send them to
174- <a href="mailto:public-credentials@w3.org">public-credentials@w3.org</a>
175- (<a href="mailto:public-credentials-request@w3.org?subject=subscribe">subscribe</a>,
176- <a href="https://lists.w3.org/Archives/Public/public-credentials/">archives</a>).
177- </p-->
178-
179- </ section >
162+ < section id ='sotd '> </ section >
180163
181164 < section class ="informative ">
182165 < h2 > Introduction</ h2 >
@@ -288,7 +271,7 @@ <h2>Data Model</h2>
288271 </ p >
289272
290273 < section >
291- < h3 > StatusList2021Entry </ h3 >
274+ < h3 > BitStringStatusListEntry </ h3 >
292275
293276 < p >
294277When an < a > issuer</ a > desires to enable status information for a
@@ -314,14 +297,14 @@ <h3>StatusList2021Entry</h3>
314297credential</ a > . It MUST NOT be the URL for the status list. The value is
315298not used during the verification or validation process, and does not need to be
316299related to the `statusListCredential` value. If necessary, the value can be
317- used to uniquely identify the `StatusList2021Entry ` object, such as when it is
300+ used to uniquely identify the `BitStringStatusListEntry ` object, such as when it is
318301stored in a database.
319302 </ td >
320303 </ tr >
321304 < tr >
322305 < td > type</ td >
323306 < td >
324- The < code > type</ code > property MUST be < code > StatusList2021Entry </ code > .
307+ The < code > type</ code > property MUST be < code > BitStringStatusListEntry </ code > .
325308 </ td >
326309 </ tr >
327310 < tr >
@@ -368,15 +351,15 @@ <h3>StatusList2021Entry</h3>
368351 < td > statusListCredential</ td >
369352 < td >
370353The < code > statusListCredential</ code > property MUST be a URL to a
371- < a > verifiable credential</ a > . When the URL is dereferenced, the result
372- MUST be a < a > verifiable credential</ a > that contains a < code > type</ code >
373- property that includes the < code > StatusList2021Credential </ code > value.
354+ < a > verifiable credential</ a > . When the URL is dereferenced, the resulting
355+ < a > verifiable credential</ a > MUST have < code > type</ code > property that
356+ includes the < code > BitStringStatusListCredential </ code > value.
374357 </ td >
375358 </ tr >
376359 </ tbody >
377360 </ table >
378361
379- < pre class ="example nohighlight " title ="Example StatusList2021Entry ">
362+ < pre class ="example nohighlight " title ="Example StatusListCredential ">
380363{
381364 "@context": [
382365 "https://www.w3.org/ns/credentials/v2",
@@ -386,8 +369,8 @@ <h3>StatusList2021Entry</h3>
386369 "issuer": "did:example:12345",
387370 "issued": "2021-04-05T14:27:42Z",
388371 < span class ="highlight "> "credentialStatus": {
389- "id": "https://example.com/credentials/status/3#94567",
390- "type": "StatusList2021Entry ",
372+ "id": "https://example.com/credentials/status/3#94567"
373+ "type": "BitStringStatusListEntry ",
391374 "statusPurpose": "revocation",
392375 "statusListIndex": "94567",
393376 "statusListCredential": "https://example.com/credentials/status/3"
@@ -402,7 +385,7 @@ <h3>StatusList2021Entry</h3>
402385 </ section >
403386
404387 < section >
405- < h3 > StatusList2021Credential </ h3 >
388+ < h3 > BitStringStatusListCredential </ h3 >
406389
407390 < p >
408391When a status list is published, the result is a < a > verifiable
@@ -425,15 +408,15 @@ <h3>StatusList2021Credential</h3>
425408The < a > verifiable credential</ a > that contains the status list MAY
426409express an < code > id</ code > property that matches the value specified in
427410< code > statusListCredential</ code > for the corresponding
428- < code > StatusList2021Entry </ code > (see < a href ="#statuslist2021entry "> </ a > ).
411+ < code > BitStringStatusListEntry </ code > (see < a href ="#bitstringstatuslistentry "> </ a > ).
429412 </ td >
430413 </ tr >
431414 < tr >
432415 < td > type</ td >
433416 < td >
434417The < a > verifiable credential</ a > that contains the status list MUST
435418express a < code > type</ code > property that includes the
436- < code > StatusList2021Credential </ code > value.
419+ < code > BitStringStatusListCredential </ code > value.
437420 </ td >
438421 </ tr >
439422 < tr >
@@ -458,7 +441,7 @@ <h3>StatusList2021Credential</h3>
458441 < td > credentialSubject.type</ td >
459442 < td >
460443The < code > type</ code > of the credential < a > subject</ a > , which is the
461- status list, MUST be < code > StatusList2021 </ code > .
444+ status list, MUST be < code > BitStringStatusList </ code > .
462445 </ td >
463446 </ tr >
464447 < tr >
@@ -524,7 +507,7 @@ <h3>StatusList2021Credential</h3>
524507 The < code > ttl</ code > indicates the "time to live" in milliseconds.
525508 This property MAY be present. If not present, implementers MUST
526509 use a value of < code > 300000</ code > for this property. A verifier
527- MUST NOT use a cached < code > StatusList2021Credential </ code > that was
510+ MUST NOT use a cached < code > BitstringStatusListCredential </ code > that was
528511 cached for more than the < code > ttl</ code > duration prior to the
529512 start of verification operation on a < a > verifiable credential</ a > .
530513 Implementations that publish the status list SHOULD align
@@ -594,18 +577,18 @@ <h3>StatusList2021Credential</h3>
594577 </ tbody >
595578 </ table >
596579
597- < pre class ="example nohighlight " title ="Example StatusList2021Credential ">
580+ < pre class ="example nohighlight " title ="Example BitStringStatusListCredential ">
598581{
599582 "@context": [
600583 "https://www.w3.org/ns/credentials/v2",
601584 ],
602585 "id": "< span class ="highlight "> https://example.com/credentials/status/3</ span > ",
603- "type": ["VerifiableCredential", "< span class ="highlight "> StatusList2021Credential </ span > "],
586+ "type": ["VerifiableCredential", "< span class ="highlight "> BitStringStatusListCredential </ span > "],
604587 "issuer": "did:example:12345",
605588 "issued": "2021-04-05T14:27:40Z",
606589 "credentialSubject": {
607590 "id": "https://example.com/status/3#list",
608- "type": "< span class ="highlight "> StatusList2021 </ span > ",
591+ "type": "< span class ="highlight "> BitStringStatusList </ span > ",
609592 "statusPurpose": "< span class ="highlight "> revocation</ span > ",
610593 "encodedList": "< span class ="highlight "> H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA</ span > "
611594 },
@@ -615,18 +598,18 @@ <h3>StatusList2021Credential</h3>
615598 < p class ="issue " data-number ="73 " title ="Design of multiple status messages is not finalized. ">
616599The Working Group is still discussing the unification of a design between status lists with a single state (such as "revoked" or "suspended") and status lists with multiple states (exposed via a series of status messages). We are seeking implementer feedback on what a unified design should look like from an ease of implementation, privacy, and security standpoint.
617600 </ p >
618- < pre class ="example nohighlight " title ="Example StatusList2021Credential ">
601+ < pre class ="example nohighlight " title ="Example BitStringStatusListCredential ">
619602 {
620603 "@context": [
621604 "https://www.w3.org/ns/credentials/v2",
622605 ],
623606 "id": "< span class ="highlight "> https://example.com/credentials/status/3</ span > ",
624- "type": ["VerifiableCredential", "< span class ="highlight "> StatusList2021Credential </ span > "],
607+ "type": ["VerifiableCredential", "< span class ="highlight "> BitStringStatusListCredential </ span > "],
625608 "issuer": "did:example:12345",
626609 "issued": "2021-04-05T14:27:40Z",
627610 "credentialSubject": {
628611 "id": "https://example.com/status/3#list",
629- "type": "< span class ="highlight "> StatusList2021 </ span > ",
612+ "type": "< span class ="highlight "> BitStringStatusList </ span > ",
630613 "ttl": 500,
631614 "statusPurpose": "< span class ="highlight "> status</ span > ",
632615 "reference": "https://example.org/status-dictionary/",
@@ -659,7 +642,7 @@ <h3>Generate Algorithm</h3>
659642 < p >
660643The following process, or one generating the exact output, MUST be followed
661644when producing a
662- < a href ="#statuslist2021credential " > StatusList2021Credential </ a > :
645+ < a href ="#bitstringstatuslistcredential " > BitStringStatusListCredential </ a > :
663646 </ p >
664647
665648 < ol class ="algorithm ">
@@ -669,7 +652,7 @@ <h3>Generate Algorithm</h3>
669652 </ li >
670653 < li >
671654Let < strong > RLC</ strong > be an unsigned
672- < a href ="#statuslist2021credential " > StatusList2021Credential </ a >
655+ < a href ="#bitstringstatuslistcredential " > BitStringStatusListCredential </ a >
673656without the < code > encodedList</ code > property set.
674657 </ li >
675658 < li >
@@ -693,14 +676,14 @@ <h3>Validate Algorithm</h3>
693676 < p >
694677The following process, or one generating the exact output, MUST be followed
695678when validating a < a > verifiable credential</ a > that is contained in a
696- < a href ="#statuslist2021credential " > StatusList2021Credential </ a > :
679+ < a href ="#bitstringstatuslistcredential " > BitStringStatusListCredential </ a > :
697680 </ p >
698681
699682 < ol class ="algorithm ">
700683 < li >
701684Let < strong > credentialToValidate</ strong > be a < a > verifiable credential</ a >
702685containing a < code > credentialStatus</ code > entry that is a
703- < a href ="#statuslist2021entry " > StatusList2021Entry </ a > .
686+ < a href ="#bitstringstatuslistentry " > BitStringStatusListEntry </ a > .
704687 </ li >
705688 < li >
706689Let < strong > status purpose</ strong > be the value of < code > statusPurpose</ code >
@@ -719,12 +702,12 @@ <h3>Validate Algorithm</h3>
719702 < li >
720703Let < strong > compressed bitstring</ strong > be the value of the
721704< code > encodedList</ code > property of the
722- < a href ="#statuslist2021credential " > StatusList2021Credential </ a > .
705+ < a href ="#bitstringstatuslistcredential " > BitStringStatusListCredential </ a > .
723706 </ li >
724707 < li >
725708Let < strong > credentialIndex</ strong > be the value of the
726709< code > statusListIndex</ code > property of the
727- < a href ="#statuslist2021entry " > StatusList2021Entry </ a > .
710+ < a href ="#bitstringstatuslistentry " > BitStringStatusListEntry </ a > .
728711 </ li >
729712 < li >
730713Generate a < strong > revocation bitstring</ strong > by passing
@@ -901,7 +884,7 @@ <h3>Bitstring Encoding</h3>
901884encode and decode bitstrings. Failure to do so can result in checking the
902885wrong bitstring index for a given credential, leading to a misinterpretation
903886of its present state (e.g., mistaking a revoked status for an unrevoked
904- status). As stated in Section < a href ="#statuslist2021credential "> </ a > ,
887+ status). As stated in Section < a href ="#bitstringstatuslistcredential "> </ a > ,
905888bitstrings are encoded such that the first (zeroth) index refers to the
906889left-most bit of the bitstring array. The diagram below demonstrates the
907890proper layout for an uncompressed bitstring.
@@ -996,7 +979,7 @@ <h2>Revocable Verifiable Credential</h2>
996979 "validFrom": "2021-04-05T14:27:42Z",
997980 < span class ="highlight "> "credentialStatus": {
998981 "id": "https://example.com/credentials/status/3#94567",
999- "type": "StatusList2021Entry ",
982+ "type": "BitStringStatusListEntry ",
1000983 "statusPurpose": "revocation",
1001984 "statusListIndex": "94567",
1002985 "statusListCredential": "https://example.com/credentials/status/3"
@@ -1019,12 +1002,12 @@ <h2>Status List Verifiable Credential</h2>
10191002 "https://www.w3.org/ns/credentials/examples/v2"
10201003 ],
10211004 "id": "< span class ="highlight "> https://example.com/credentials/status/3</ span > ",
1022- "type": ["VerifiableCredential", "< span class ="highlight "> StatusList2021Credential </ span > "],
1005+ "type": ["VerifiableCredential", "< span class ="highlight "> BitStringStatusListCredential </ span > "],
10231006 "issuer": "did:example:12345",
10241007 "validFrom": "2021-04-05T14:27:40Z",
10251008 "credentialSubject": {
10261009 "id": "https://example.com/status/3#list",
1027- "type": "< span class ="highlight "> StatusList2021 </ span > ",
1010+ "type": "< span class ="highlight "> BitStringStatusList </ span > ",
10281011 "statusPurpose": "< span class ="highlight "> revocation</ span > ",
10291012 "encodedList": "< span class ="highlight "> H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA</ span > "
10301013 }
0 commit comments