From 7fdb272517b65126106eb3bd1df147bdd9c170a7 Mon Sep 17 00:00:00 2001
From: Brent Zundel
-Presentations MAY be used to combine and present credentials.
-They can be packaged in such a way that the authorship of the data is
-verifiable. The data in a presentation is often all about the same
-subject, but there is no limit to the number of subjects or
-issuers in the data. The aggregation of information from multiple
-verifiable credentials is a typical use of
-verifiable presentations.
+Verifiable presentations MAY be used to aggregate information from
+multiple verifiable credentials.
-Verifiable presentations SHOULD be extremely short-lived, and
-bound to a challenge provided by a verifier. Details for accomplishing
-this depend on the securing mechanism, the transport protocol, and
-verifier policies. Unless additional requirements are defined by the
-particular securing mechanism or embedding protocol, a verifier cannot
-generally assume that the verifiable presentation has any correlation
-with the presented verifiable credentials.
+Verifiable presentations SHOULD be extremely short-lived, and bound to a
+challenge provided by a verifier. Details for accomplishing this depend
+on the securing mechanism, the transport protocol, and verifier policies.
+Unless additional requirements are defined by the particular securing mechanism
+or embedding protocol, a verifier cannot generally assume that the
+verifiable presentation has any correlation with the presented
+verifiable credentials.
-A verifiable presentation is typically composed of the following
-properties:
+The following properties are defined for a verifiable presentation:
-The example below shows a verifiable presentation that embeds
-verifiable credentials.
+The example below shows a verifiable presentation:
Some zero-knowledge cryptography schemes might enable holders to
indirectly prove they hold claims from a verifiable credential
-without revealing the verifiable credential itself. In these schemes, a
-claim from a verifiable credential might be used to derive a
-presented value, which is cryptographically asserted such that a verifier
-can trust the value if they trust the issuer.
+without revealing the entire verifiable credential. In these schemes, a
+verifiable credential might be used to derive presentable data, which is
+cryptographically asserted such that a verifier can trust the value if
+they trust the issuer.
-For example, a verifiable credential containing the claim
-
@@ -2009,17 +2001,6 @@ Status
Presentations
id
property is optional and MAY be used to provide a
-unique identifier for the presentation. For details related to the use of
-this property, see Section .
+The id
property is optional. It MAY be used to provide a
+unique identifier for the verifiable presentation. For details related to
+the use of this property, see Section .
type
property is required and expresses the
-type of presentation, such as VerifiablePresentation
. For
+The type
property MUST be present. It is used to express the
+type of verifiable presentation. The value of this property MUST be
+VerifiablePresentation
, but additional types MAY be included. For
details related to the use of this property, see Section .
verifiableCredential
property
-MUST be constructed from one or more verifiable credentials, or of data
+The verifiableCredential
property MUST be present. The value
+MUST be an array of one or more verifiable credentials, or of data
derived from verifiable credentials in a cryptographically
verifiable format.
holder
property
-is expected to be a URL for the entity that is generating the
-presentation.
+The holder
property is optional. If present, the value
+MUST be a URL for the entity that is generating the
+verifiable presentation.
proof
property ensures that
-the presentation is verifiable. For details related to the use of
-this property, see Section .
+The proof
property is optional. If present, the value MAY be
+be used to express a securing mechanism such as [[?VC-DATA-INTEGRITY]]. A
+verifiable presentation MAY be secured using an external proof such as
+[[?VC-JWT]]. For details related to the use of this property, see Section
+.
@@ -1989,18 +1985,14 @@
Presentations Using Derived Credentials
date of birth
might be used to derive the presented value
-over the age of 15
in a manner that is cryptographically
-verifiable. That is, a verifier can still trust the derived value
-if they trust the issuer.
+Some selective disclosure schemes can share only a subset of claims
+derived from a verifiable credential.
Presentations Using Derived Credentials
Section .
-Selective disclosure schemes using zero-knowledge proofs can use claims -expressed in this model to prove additional statements about those claims. -For example, a claim specifying a subject's date of birth can be -used as a predicate to prove the subject's age is within a given range, -and therefore prove the subject qualifies for age-related discounts, -without actually revealing the subject's birthdate. The holder -has the flexibility to use the claim in any way that is applicable to -the desired verifiable presentation. -
-proof
-property. If present, the value SHOULD be used to express a securing mechanism such as [[?VC-DATA-INTEGRITY]]. A
-verifiable presentation MAY be secured using an external proof such as
-[[?VC-JWT]]. For details related to the use of this property, see Section
-.
+property. If present, the value SHOULD be used to express a securing
+mechanism such as [[?VC-DATA-INTEGRITY]]. A verifiable presentation MAY
+be secured using an external proof such as [[?VC-JWT]]. For details related to
+the use of this property, see Section .
Some zero-knowledge cryptography schemes might enable holders to
indirectly prove they hold claims from a verifiable credential
-without revealing the entire verifiable credential. In these schemes, a
+without revealing all claims in a verifiable credential. In these schemes, a
verifiable credential might be used to derive presentable data, which is
cryptographically asserted such that a verifier can trust the value if
they trust the issuer.
From 29f5cc974498b19b1f4062f4ddc05bdeb5e954f5 Mon Sep 17 00:00:00 2001
From: Brent Zundel Presentations
-A verifiable presentation expresses data from one or more -verifiable credentials. +A verifiable presentation can express data from multiple +verifiable credentials and contain arbitrary additional data encoded as +JSON-LD. They are used by a holder to present claims to a +verifier. It is also possible to present verifiable credentials +directly.
From 75bfa7d36b781ea639dbb7759c06a86b122bd9b8 Mon Sep 17 00:00:00 2001
From: Brent Zundel
Some zero-knowledge cryptography schemes might enable holders to
indirectly prove they hold claims from a verifiable credential
-without revealing all claims in a verifiable credential. In these schemes, a
-verifiable credential might be used to derive presentable data, which is
+without revealing all claims in that verifiable credential. In these schemes,
+a verifiable credential might be used to derive presentable data, which is
cryptographically asserted such that a verifier can trust the value if
they trust the issuer.
Presentations
id
property is optional. It MAY be used to provide a
-unique identifier for the verifiable presentation. For details related to
-the use of this property, see Section .
+unique identifier for the verifiable presentation. If present, the
+normative guidance in Section MUST be followed.
type
property MUST be present. It is used to express the
type of verifiable presentation. The value of this property MUST be
-VerifiablePresentation
, but additional types MAY be included. For
-details related to the use of this property, see Section .
+VerifiablePresentation
, but additional types MAY be included. The
+related normative guidance in Section MUST be followed.
Presentations
holder
property. If present, the value
-MUST be a URL for the entity that is generating the verifiable presentation.
+The verifiable presentation MAY include a holder
+property. If present, the value MUST be either a URL or an object
+containing an id
property. It is RECOMMENDED that the
+URL in the holder
or its id
be one which, if
+dereferenced, results in a document containing machine-readable information
+about the holder that can be used to verify the information
+expressed in the verifiable presentation.
Presentations
type
property MUST be present. It is used to express the
-type of verifiable presentation. The value of this property MUST be
+type of verifiable presentation. One value of this property MUST be
VerifiablePresentation
, but additional types MAY be included. The
related normative guidance in Section MUST be followed.
Presentations Using Derived Credentials
Presentations
dereferenced, results in a document containing machine-readable information
about the holder that can be used to verify the information
expressed in the verifiable presentation.
+If the holder
property> is absent, information about the
+holder is expected to either be obtained via the securing mechanism, or
+to not pertain to the validation of the verifiable presentation.