From 83153e6368c61786842d2e918bd1b0d240dd3a2e Mon Sep 17 00:00:00 2001 From: Manu Sporny Date: Sun, 19 Nov 2023 16:09:38 -0500 Subject: [PATCH 1/2] Add mechanism to embed enveloped VCs in VPs. --- index.html | 48 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/index.html b/index.html index 35414a9d1..f1022a827 100644 --- a/index.html +++ b/index.html @@ -2022,11 +2022,11 @@

Securing Verifiable Credentials

This specification recognizes two classes of securing mechanisms: those that use -external proofs and those that use embedded proofs. An -external proof is one that wraps an expression of +enveloping proofs and those that use watermarking proofs. An +enveloping proof is one that wraps an expression of this data model, such as via a JSON Web Token, which is elaborated on in the Securing Verifiable Credentials using JOSE and COSE [[VC-JOSE-COSE]] specification. -An embedded proof is a mechanism where the proof is +An watermarking proof is a mechanism where the proof is included in the data model, such as a Data Integrity Proof, which is elaborated on in Verifiable Credential Data Integrity [[VC-DATA-INTEGRITY]].

@@ -2045,7 +2045,7 @@

Securing Verifiable Credentials

Methods of securing verifiable credentials or verifiable -presentations that use an external proof MAY use the proof +presentations that use an enveloping proof MAY use the proof property.

@@ -2056,7 +2056,7 @@

Securing Verifiable Credentials

the authorship of a verifiable credential or a verifiable presentation. Each proof is a separate named graph (referred to as a proof graph) containing a single -proof. The specific method used for an embedded proof MUST be identified +proof. The specific method used for a watermarking proof MUST be identified using the type property.

@@ -2244,6 +2244,13 @@

Presentations

verifiable credential graphs in a cryptographically verifiable format. See Section for further details on this topic. + +
envelopedVerifiableCredential
+
+The envelopedVerifiableCredential property MAY be present. +The value MUST be an array of one or more URLs using the `data:` URL +scheme where each value contains a verifiable credential that +is secured using an enveloping proof.
holder
@@ -2278,7 +2285,8 @@

Presentations

-The example below shows a verifiable presentation: +The example below shows a verifiable presentation that uses +watermarking proofs:

@@ -2304,6 +2312,26 @@ 

Presentations

[[?VC-JOSE-COSE]] specification.

+

+The example below shows a verifiable presentation that contains +verifiable credentials that are protected using enveloping proofs: +

+ +
+{
+  "@context": [
+    "https://www.w3.org/ns/credentials/v2",
+    "https://www.w3.org/ns/credentials/examples/v2"
+  ],
+  "id": "urn:uuid:5ec137ea-871e-11ee-a783-ef96a4397a9a",
+  "type": ["VerifiablePresentation", "ExamplePresentation"],
+  "envelopedVerifiableCredential": [
+    "data:application/jwt;base64,QzVjV...RMjUK==",
+    "data:application/cwt;base64,ZmlOW...pYzMK="
+ ]
+}
+        
+

Presentations Using Derived Credentials

@@ -2381,7 +2409,7 @@

Presentations Including Holder Claims

mechanism as the verifiable presentation.

-
+          
 {
   "@context": [
     "https://www.w3.org/ns/credentials/v2",
@@ -2408,7 +2436,7 @@ 

Presentations Including Holder Claims

verifiable presentation.

-
+          
 {
   "@context": [
     "https://www.w3.org/ns/credentials/v2",
@@ -6528,7 +6556,7 @@ 

application/vc+ld+json

-This media type can be used with credentials secured using an external +This media type can be used with credentials secured using an enveloping proof.

@@ -6590,7 +6618,7 @@

application/vp+ld+json

This media type can be used with presentations secured using an -external proof. +enveloping proof.

A [[JSON-LD]] context is expected to be present in the body of the document, and From 3ef9512dfd4e5c8836f2c988be1ce6d5df4e0448 Mon Sep 17 00:00:00 2001 From: Manu Sporny Date: Mon, 20 Nov 2023 09:26:04 -0500 Subject: [PATCH 2/2] Fix grammar on watermarking proof definition. Co-authored-by: Dave Longley --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index f1022a827..eab724f80 100644 --- a/index.html +++ b/index.html @@ -2026,7 +2026,7 @@

Securing Verifiable Credentials

enveloping proof is one that wraps an expression of this data model, such as via a JSON Web Token, which is elaborated on in the Securing Verifiable Credentials using JOSE and COSE [[VC-JOSE-COSE]] specification. -An watermarking proof is a mechanism where the proof is +A watermarking proof is a mechanism where the proof is included in the data model, such as a Data Integrity Proof, which is elaborated on in Verifiable Credential Data Integrity [[VC-DATA-INTEGRITY]].