Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds a "Securing Mechanisms" section to the directory #30

Merged
merged 4 commits into from
Dec 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
864 changes: 864 additions & 0 deletions NOTE/2023-12-21/index.html

Large diffs are not rendered by default.

26 changes: 17 additions & 9 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ <h1>Specification Entry Format</h1>
<td>
The Verifiable Credential extension category of the specification, which can
be one of the following values: `credentialStatus`, `credentialSchema`,
`evidence`, `media-type`, `proof`, `refreshService`, `termsOfUse`, or `vc`.
`evidence`, `media-type`, `securing`, `refreshService`, `termsOfUse`, or `vc`.
For example: `credentialStatus`.
<p class="note">
The extensions might define a `@type`. See [[JSON-LD11]].
Expand Down Expand Up @@ -341,14 +341,7 @@ <h1>Evidence</h1>
<section>
<h1>Proof</h1>

<table class="simple">
<thead>
<th>Specification</th><th>Description</th>
</thead>
<tbody id="proof-table">

</tbody>
</table>
See Section <a href="#securing-mechanisms"></a>.

</section>
<section>
Expand Down Expand Up @@ -391,6 +384,21 @@ <h1>Type-based Extensions</h1>
</table>

</section>

<section>
<h1>Securing Mechanisms</h1>

<table class="simple">
<thead>
<th>Specification</th><th>Description</th>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like it would be useful for this table to list the media types, proof.types and proof.cryptosuites that each securing mechanism handles. Otherwise, if you get a VC you don't understand, you have to read all of the specifications to figure out where it's defined.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The vc-jose-cose securing mechanism doesn't use proof at all, so at least, I wouldn't phrase it this way.

When using JOSE, the algorithms registered at https://www.iana.org/assignments/jose/jose.xhtml#web-signature-encryption-algorithms apply. When using COSE, the algorithms registered at https://www.iana.org/assignments/cose/cose.xhtml#algorithms apply.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Related to the question of "what version" and "what securing mechanism"... this issue on media types: w3c/vc-data-model#1363 (comment)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For JOSE/COSE, the type and cryptosuite columns would be "N/A". I'd probably use two separate tables (media type and then JSON-LD proof types) if I were dictator, to avoid needing those "N/A" values, but if the WG wants to use a single table, you can make it work.

Re the "profile" field of the media type, https://mimesniff.spec.whatwg.org/#mime-type-miscellaneous has the notion of the "essence" of the mime type--just the group/type pair without parameters--which seems appropriate to use here. I don't remember the IETF version of that notion.

Copy link
Contributor

@OR13 OR13 Nov 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is https://datatracker.ietf.org/doc/html/rfc7252#section-12.3

media type parameters can come from the top level or the subtype....text with charset for example.

Since W3C is living under application/ as a top level, and between +json as a structured suffix, the media type parameter considerations we have for our requested registration are impacted by every possible factor that you can have in a media type... top level, sub type 1, sub type n, and structured suffixes.

</thead>
<tbody id="securing-table">

</tbody>
</table>

</section>

<section>
<h1>Media Type Extensions</h1>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Status List (v2021)",
"name": "Bitstring Status List",
"summary": "A credential status list with herd privacy characteristics.",
"specification": "https://w3c.github.io/vc-status-list-2021/",
"specification": "https://www.w3.org/TR/vc-bitstring-status-list/",
"category": "credentialStatus",
"maintainerEmail": "[email protected]",
"maintainerName": "W3C Verifiable Credentials Working Group",
Expand Down
2 changes: 1 addition & 1 deletion specifications/di-bbs.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "BBS Cryptosuite (v2023)",
"summary": "Securing Verifiable Credentials with Selective Disclosure using BBS Signatures.",
"specification": "https://www.w3.org/TR/vc-di-bbs/",
"category": "proof",
"category": "securing",
"maintainerEmail": "[email protected]",
"maintainerName": "W3C Verifiable Credentials Working Group",
"maintainerWebsite": "https://www.w3.org/groups/wg/vc",
Expand Down
2 changes: 1 addition & 1 deletion specifications/di-ecdsa.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "The Data Integrity ECDSA Cryptosuites v1.0",
"summary": "Achieving Data Integrity using ECDSA with NIST-compliant curves.",
"specification": "https://www.w3.org/TR/vc-di-ecdsa/",
"category": "proof",
"category": "securing",
"maintainerEmail": "[email protected]",
"maintainerName": "W3C Verifiable Credentials Working Group",
"maintainerWebsite": "https://www.w3.org/groups/wg/vc",
Expand Down
2 changes: 1 addition & 1 deletion specifications/di-eddsa.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "The Data Integrity EdDSA Cryptosuites v1.0",
"summary": "Achieving Data Integrity using EdDSA with twisted Edwards elliptic curves.",
"specification": "https://www.w3.org/TR/vc-di-eddsa/",
"category": "proof",
"category": "securing",
"maintainerEmail": "[email protected]",
"maintainerName": "W3C Verifiable Credentials Working Group",
"maintainerWebsite": "https://www.w3.org/groups/wg/vc",
Expand Down
2 changes: 1 addition & 1 deletion specifications/jws-2020.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "JSON Web Signatures for Data Integrity Proofs",
"summary": "This document has been withdrawn due to resolutions from the working group.",
"specification": "https://www.w3.org/TR/vc-jws-2020",
"category": "proof",
"category": "securing",
"maintainerEmail": "[email protected]",
"maintainerName": "W3C Verifiable Credentials Working Group",
"maintainerWebsite": "https://www.w3.org/groups/wg/vc",
Expand Down
9 changes: 9 additions & 0 deletions specifications/vc-jose-cose.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "Securing Verifiable Credentials using JOSE and COSE",
"summary": "This specification defines how to secure credentials and presentations conforming to the Verifiable Credentials Data Model, with JSON Object Signing and Encryption (JOSE), and CBOR Object Signing and Encryption (COSE).",
"specification": "https://www.w3.org/TR/vc-jose-cose/",
"category": "securing",
"maintainerEmail": "[email protected]",
"maintainerName": "W3C Verifiable Credentials Working Group",
"maintainerWebsite": "https://www.w3.org/groups/wg/vc"
}
9 changes: 0 additions & 9 deletions specifications/vc-jwt.json

This file was deleted.

2 changes: 1 addition & 1 deletion tooling/specification-entry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ properties:
- credentialSchema
- evidence
- media-type
- proof
- securing
- refreshService
- termsOfUse
- vc
Expand Down
Loading