From 3de855a3f5df3d86b3111b4130016be7fb61572f Mon Sep 17 00:00:00 2001 From: Michael Jones Date: Tue, 19 Dec 2023 13:50:59 -0800 Subject: [PATCH 01/14] Correct layering violations related to the proof property --- index.html | 181 ++++++++++++++--------------------------------------- terms.html | 2 +- 2 files changed, 47 insertions(+), 136 deletions(-) diff --git a/index.html b/index.html index cf8c44543..caa1e7cad 100644 --- a/index.html +++ b/index.html @@ -632,7 +632,7 @@

Use Cases and Requirements

Web Signature of a JSON Web Token for proofing a key holder), are an essential part of processing verifiable credentials and verifiable presentations. At the time of publication, Working Group -members had implemented such protection using at least three proof mechanisms: +members had implemented such protection using at least two proof mechanisms:

@@ -6568,15 +6487,7 @@

Proofs (Signatures)

before which the credential should not be considered verified, distinct from the validity period of the credential. This property describes the validity of the proof, not of the credential. -

-The verificationMethod property specifies, for example, the -public key that can be used to verify the digital signature. Dereferencing a -public key URL reveals information about the controller of the key, which can -be checked against the issuer of the credential. The -proofPurpose property clearly expresses the purpose for -the proof and ensures this information is protected by the signature. A proof is -typically attached to a verifiable presentation for authentication -purposes and to a verifiable credential as a method of assertion. +The JWT iat claim likewise provides the time that the signature was made.

diff --git a/terms.html b/terms.html index 052a962ab..d3775289d 100644 --- a/terms.html +++ b/terms.html @@ -116,7 +116,7 @@
named graph
A graph associated with specific properties, such as -`verifiableCredential` or `proof`. These properties +`verifiableCredential`. These properties result in separate graphs that contain all claims defined in the corresponding JSON objects.
From 5604b061b66d6eed376b75439c4b156220d4b946 Mon Sep 17 00:00:00 2001 From: "Michael B. Jones" Date: Fri, 12 Jan 2024 12:56:50 -0800 Subject: [PATCH 02/14] Applied Ted's suggestion Co-authored-by: Ted Thibodeau Jr --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index edf574060..938c337b2 100644 --- a/index.html +++ b/index.html @@ -3586,7 +3586,7 @@

Evidence

-The `evidence` [=property=] provides different and complementary +The `evidence` [=property=] provides information that is different from and information to the securing mechanism utlized. The `evidence` [=property=] is used to express supporting information, such as documentary evidence, related to the integrity of the [=verifiable credential=]. In From 1be081b10a53c787cdd1cc0297879f1f2133475f Mon Sep 17 00:00:00 2001 From: "Michael B. Jones" Date: Fri, 12 Jan 2024 12:57:10 -0800 Subject: [PATCH 03/14] Applied Ted's suggestion Co-authored-by: Manu Sporny --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 938c337b2..8fa78224c 100644 --- a/index.html +++ b/index.html @@ -3587,7 +3587,7 @@

Evidence

The `evidence` [=property=] provides information that is different from and -information to the securing mechanism utlized. The `evidence` +information to the securing mechanism utilized. The `evidence` [=property=] is used to express supporting information, such as documentary evidence, related to the integrity of the [=verifiable credential=]. In contrast, the `proof` [=property=] is used to express From 57f8238f04b2f663f4b6aa4b4b7e4b7dbc6a2ced Mon Sep 17 00:00:00 2001 From: "Michael B. Jones" Date: Fri, 12 Jan 2024 12:57:51 -0800 Subject: [PATCH 04/14] Applied Ted's suggestion Co-authored-by: Ted Thibodeau Jr --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 8fa78224c..6178d074e 100644 --- a/index.html +++ b/index.html @@ -3590,7 +3590,7 @@

Evidence

information to the securing mechanism utilized. The `evidence` [=property=] is used to express supporting information, such as documentary evidence, related to the integrity of the [=verifiable credential=]. In -contrast, the `proof` [=property=] is used to express +contrast, the securing mechanism is used to express machine-verifiable mathematical proofs related to the authenticity of the [=issuer=] and integrity of the [=verifiable credential=]. For more information about securing mechanisms, see Section From 349c53f8ab9c3a3d97df7ddb70474650239bd1b7 Mon Sep 17 00:00:00 2001 From: "Michael B. Jones" Date: Fri, 12 Jan 2024 12:58:11 -0800 Subject: [PATCH 05/14] Applied Ted's suggestion Co-authored-by: Ted Thibodeau Jr --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 6178d074e..4d195656a 100644 --- a/index.html +++ b/index.html @@ -4278,7 +4278,7 @@

Syntactic Sugar

The `verifiableCredential` [=property=] is defined as a JSON-LD 1.1 graph -container. This means the creation of [=named graphs=] used to isolate +container. This requires the creation of [=named graphs=], used to isolate sets of data asserted by different entities. This ensures, for example, proper cryptographic separation between the data graph provided by each [=issuer=] and the one provided by the [=holder=] presenting the verifiable From b5f633d51551a64981248f8f58b6a2e5319a7812 Mon Sep 17 00:00:00 2001 From: "Michael B. Jones" Date: Fri, 12 Jan 2024 12:58:43 -0800 Subject: [PATCH 06/14] Applied Ted's suggestion Co-authored-by: Manu Sporny --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 4d195656a..2c65e3fab 100644 --- a/index.html +++ b/index.html @@ -4983,7 +4983,7 @@

Identifier-Based Correlation

Signature-Based Correlation

-The contents of a [=credential=] are secured using a securing method. +The contents of a [=credential=] are secured using a securing mechanism. Values used to represent the securing method create a greater risk of correlation when the same values are used across more than one session or domain and the value does not change. From f4148b3d0679dfb5cf699a859fec91ee51d8047d Mon Sep 17 00:00:00 2001 From: "Michael B. Jones" Date: Fri, 12 Jan 2024 12:59:04 -0800 Subject: [PATCH 07/14] Applied Ted's suggestion Co-authored-by: Brent Zundel --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 2c65e3fab..3a7b2e21e 100644 --- a/index.html +++ b/index.html @@ -6487,7 +6487,7 @@

Proofs (Signatures)

The cryptographic signature is expected to verify.
  • -Any additional requirements defined by the securing method are satisfied. +Any additional requirements defined by the securing mechanism are satisfied.
  • From 122c1b2c26eb7b6e6f221bb9960ceaae4cbac5d7 Mon Sep 17 00:00:00 2001 From: "Michael B. Jones" Date: Fri, 12 Jan 2024 13:05:41 -0800 Subject: [PATCH 08/14] Applied Ted's suggestion Co-authored-by: Ted Thibodeau Jr --- index.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/index.html b/index.html index 3a7b2e21e..099b348b2 100644 --- a/index.html +++ b/index.html @@ -6499,6 +6499,15 @@

    Proofs (Signatures)

    distinct from the validity period of the credential. This property describes the validity of the proof, not of the credential. The JWT iat claim likewise provides the time that the signature was made. +

    +The `verificationMethod` [=property=] specifies, for example, the +public key that can be used to verify the digital signature. Dereferencing a +public key URL reveals information about the controller of the key, which can +be checked against the issuer of the [=credential=]. The +`proofPurpose` [=property=] clearly expresses the purpose for +the proof and ensures this information is protected by the signature. A proof is +typically attached to a [=verifiable presentation=] for authentication +purposes and to a [=verifiable credential=] as a method of assertion.

    From 1bf153b96662d38157470d754ac6a9cbb28d63eb Mon Sep 17 00:00:00 2001 From: "Michael B. Jones" Date: Fri, 12 Jan 2024 13:07:37 -0800 Subject: [PATCH 09/14] Applied suggestions by Manu and Brent --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 099b348b2..984e8d6c1 100644 --- a/index.html +++ b/index.html @@ -2071,7 +2071,7 @@

    Securing Mechanisms

    An embedded proof is a mechanism where the proof is -included in the serialization of the data model. One such embedded +included in the serialization of the data model. One such RECOMMENDED embedded proof mechanism is defined in [[[VC-DATA-INTEGRITY]]] [[VC-DATA-INTEGRITY]].

    From 78d02e216e07acc91f5aadd158f731b94c81bdc0 Mon Sep 17 00:00:00 2001 From: "Michael B. Jones" Date: Fri, 12 Jan 2024 13:08:02 -0800 Subject: [PATCH 10/14] Applied Manu's suggestion Co-authored-by: Manu Sporny --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 984e8d6c1..e89bf8b17 100644 --- a/index.html +++ b/index.html @@ -3594,7 +3594,7 @@

    Evidence

    machine-verifiable mathematical proofs related to the authenticity of the [=issuer=] and integrity of the [=verifiable credential=]. For more information about securing mechanisms, see Section -
    . +.

    From a2e1bfd81aba56defee5a3bbe224ec50881a4760 Mon Sep 17 00:00:00 2001 From: "Michael B. Jones" Date: Fri, 12 Jan 2024 13:09:19 -0800 Subject: [PATCH 11/14] Applied Ivan's suggestion --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index e89bf8b17..6e1ae1221 100644 --- a/index.html +++ b/index.html @@ -2321,7 +2321,7 @@

    Presentations

    The example below shows a [=verifiable presentation=]:

    -
    +        
     {
       "@context": [
         "https://www.w3.org/ns/credentials/v2",
    
    From 1dc53197cf96dc30551378ffacc0d474ad8ea5ab Mon Sep 17 00:00:00 2001
    From: "Michael B. Jones" 
    Date: Fri, 12 Jan 2024 13:11:22 -0800
    Subject: [PATCH 12/14] Applied Manu's suggestion
    
    Co-authored-by: Manu Sporny 
    ---
     index.html | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/index.html b/index.html
    index 6e1ae1221..82e5352b7 100644
    --- a/index.html
    +++ b/index.html
    @@ -4984,7 +4984,7 @@ 

    Signature-Based Correlation

    The contents of a [=credential=] are secured using a securing mechanism. -Values used to represent the securing method +Values used to represent the securing mechanism create a greater risk of correlation when the same values are used across more than one session or domain and the value does not change.

    From c52fd5304c70241f9ddc4f26b8b44630b85753e9 Mon Sep 17 00:00:00 2001 From: "Michael B. Jones" Date: Fri, 12 Jan 2024 13:14:41 -0800 Subject: [PATCH 13/14] Applied Manu's suggestion to delete controller DT --- index.html | 1 - 1 file changed, 1 deletion(-) diff --git a/index.html b/index.html index 82e5352b7..64645750a 100644 --- a/index.html +++ b/index.html @@ -4044,7 +4044,6 @@

    Securing Mechanism Specifications

    A media type as defined in [[RFC6838]].
    -
    [=string=] |controller|

    Date: Fri, 12 Jan 2024 13:15:55 -0800 Subject: [PATCH 14/14] Applied Manu's suggestion Co-authored-by: Manu Sporny --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 64645750a..aef86b14f 100644 --- a/index.html +++ b/index.html @@ -2834,7 +2834,7 @@

    Trust Model

    it received. To establish this trust, a [=credential=] is expected to either:
    • -Secure the [=credential=] with a proof establishing that the +Secure the [=credential=] with a securing mechanism establishing that the [=issuer=] generated the [=credential=] (that is, it is a [=verifiable credential=]), or