@@ -789,13 +789,11 @@ <h3>Presentations</h3>
789
789
</ p >
790
790
791
791
< p >
792
- A < a > verifiable presentation</ a > expresses data from one or more
793
- < a > verifiable credentials</ a > , and is packaged in such a way that the
794
- authorship of the data is < a > verifiable</ a > . If < a > verifiable credentials</ a >
795
- are presented directly, they become < a > verifiable presentations</ a > . Data
796
- formats derived from < a > verifiable credentials</ a > that are cryptographically
797
- < a > verifiable</ a > , but do not of themselves contain
798
- < a > verifiable credentials</ a > , might also be < a > verifiable presentations</ a > .
792
+ A < a > verifiable presentation</ a > can express data from multiple
793
+ < a > verifiable credentials</ a > and contain arbitrary additional data encoded as
794
+ JSON-LD. They are used by a < a > holder</ a > to present < a > claims</ a > to a
795
+ < a > verifier</ a > . It is also possible to present < a > verifiable credentials</ a >
796
+ directly.
799
797
</ p >
800
798
801
799
< p >
@@ -1881,65 +1879,68 @@ <h3>Status</h3>
1881
1879
< h3 > Presentations</ h3 >
1882
1880
1883
1881
< p >
1884
- < a > Presentations</ a > MAY be used to combine and present < a > credentials</ a > .
1885
- They can be packaged in such a way that the authorship of the data is
1886
- < a > verifiable</ a > . The data in a < a > presentation</ a > is often all about the same
1887
- < a > subject</ a > , but there is no limit to the number of < a > subjects</ a > or
1888
- < a > issuers</ a > in the data. The aggregation of information from multiple
1889
- < a > verifiable credentials</ a > is a typical use of
1890
- < a > verifiable presentations</ a > .
1882
+ < a > Verifiable presentations</ a > MAY be used to aggregate information from
1883
+ multiple < a > verifiable credentials</ a > .
1891
1884
</ p >
1892
1885
< p >
1893
- < a > Verifiable presentations</ a > SHOULD be extremely short-lived, and
1894
- bound to a challenge provided by a < a > verifier</ a > . Details for accomplishing
1895
- this depend on the securing mechanism, the transport protocol, and
1896
- < a > verifier </ a > policies. Unless additional requirements are defined by the
1897
- particular securing mechanism or embedding protocol, a < a > verifier</ a > cannot
1898
- generally assume that the < a > verifiable presentation</ a > has any correlation
1899
- with the presented < a > verifiable credentials</ a > .
1886
+ < a > Verifiable presentations</ a > SHOULD be extremely short-lived, and bound to a
1887
+ challenge provided by a < a > verifier</ a > . Details for accomplishing this depend
1888
+ on the securing mechanism, the transport protocol, and < a > verifier </ a > policies.
1889
+ Unless additional requirements are defined by the particular securing mechanism
1890
+ or embedding protocol, a < a > verifier</ a > cannot generally assume that the
1891
+ < a > verifiable presentation</ a > has any correlation with the presented
1892
+ < a > verifiable credentials</ a > .
1900
1893
</ p >
1901
1894
< p >
1902
- A < a > verifiable presentation</ a > is typically composed of the following
1903
- properties:
1895
+ The following properties are defined for a < a > verifiable presentation</ a > :
1904
1896
</ p >
1905
1897
1906
1898
< dl >
1907
1899
< dt > < var > id</ var > </ dt >
1908
1900
< dd >
1909
- The < code > id</ code > < a > property</ a > is optional and MAY be used to provide a
1910
- unique identifier for the < a > presentation</ a > . For details related to the use of
1911
- this property, see Section < a href ="#identifiers "> </ a > .
1901
+ The < code > id</ code > < a > property</ a > is optional. It MAY be used to provide a
1902
+ unique identifier for the < a > verifiable presentation</ a > . If present, the
1903
+ normative guidance in Section < a href ="#identifiers "> </ a > MUST be followed .
1912
1904
</ dd >
1913
1905
< dt > < var > type</ var > </ dt >
1914
1906
< dd >
1915
- The < code > type</ code > < a > property</ a > is required and expresses the
1916
- type of < a > presentation</ a > , such as < code > VerifiablePresentation</ code > . For
1917
- details related to the use of this property, see Section < a href ="#types "> </ a > .
1907
+ The < code > type</ code > < a > property</ a > MUST be present. It is used to express the
1908
+ type of < a > verifiable presentation</ a > . One value of this property MUST be
1909
+ < code > VerifiablePresentation</ code > , but additional types MAY be included. The
1910
+ related normative guidance in Section < a href ="#types "> </ a > MUST be followed.
1918
1911
</ dd >
1919
1912
< dt > < var > verifiableCredential</ var > </ dt >
1920
1913
< dd >
1921
- If present, the value of the < code > verifiableCredential</ code > < a > property</ a >
1922
- MUST be constructed from one or more < a > verifiable credentials</ a > , or of data
1914
+ The < code > verifiableCredential</ code > < a > property</ a > MAY be present. The value
1915
+ MUST be an array of one or more < a > verifiable credentials</ a > , or of data
1923
1916
derived from < a > verifiable credentials</ a > in a cryptographically
1924
1917
< a > verifiable</ a > format.
1925
1918
</ dd >
1926
1919
< dt > < var > holder</ var > </ dt >
1927
1920
< dd >
1928
- If present, the value of the < code > holder</ code > < a > property</ a >
1929
- is expected to be a < a > URL</ a > for the entity that is generating the
1930
- < a > presentation</ a > .
1921
+ The < a > verifiable presentation</ a > MAY include a < code > holder</ code >
1922
+ < a > property</ a > . If present, the value MUST be either a < a > URL</ a > or an object
1923
+ containing an < code > id</ code > < a > property</ a > . It is RECOMMENDED that the
1924
+ < a > URL</ a > in the < code > holder</ code > or its < code > id</ code > be one which, if
1925
+ dereferenced, results in a document containing machine-readable information
1926
+ about the < a > holder</ a > that can be used to < a > verify</ a > the information
1927
+ expressed in the < a > verifiable presentation</ a > .
1928
+ If the < code > holder</ code > < a > property> is absent, information about the
1929
+ < a > holder</ a > is expected to either be obtained via the securing mechanism, or
1930
+ to not pertain to the < a > validation</ a > of the < a > verifiable presentation</ a > .
1931
1931
</ dd >
1932
1932
< dt > < var > proof</ var > </ dt >
1933
1933
< dd >
1934
- If present, the value of the < code > proof</ code > < a > property</ a > ensures that
1935
- the < a > presentation</ a > is < a > verifiable</ a > . For details related to the use of
1936
- this property, see Section < a href ="#proofs-signatures "> </ a > .
1934
+ The < a > verifiable presentation</ a > MAY include a < code > proof</ code >
1935
+ < a > property</ a > . If present, the value SHOULD be used to express a securing
1936
+ mechanism such as [[?VC-DATA-INTEGRITY]]. A < a > verifiable presentation</ a > MAY
1937
+ be secured using an external proof such as [[?VC-JWT]]. For details related to
1938
+ the use of this property, see Section < a href ="#securing-verifiable-credentials "> </ a > .
1937
1939
</ dd >
1938
1940
</ dl >
1939
1941
1940
1942
< p >
1941
- The example below shows a < a > verifiable presentation</ a > that embeds
1942
- < a > verifiable credentials</ a > .
1943
+ The example below shows a < a > verifiable presentation</ a > :
1943
1944
</ p >
1944
1945
1945
1946
< pre class ="example nohighlight " title ="Basic structure of a presentation ">
@@ -1971,18 +1972,14 @@ <h4>Presentations Using Derived Credentials</h4>
1971
1972
< p >
1972
1973
Some zero-knowledge cryptography schemes might enable < a > holders</ a > to
1973
1974
indirectly prove they hold < a > claims</ a > from a < a > verifiable credential</ a >
1974
- without revealing the < a > verifiable credential</ a > itself . In these schemes, a
1975
- < a > claim </ a > from a < a > verifiable credential</ a > might be used to derive a
1976
- presented value, which is cryptographically asserted such that a < a > verifier</ a >
1977
- can trust the value if they trust the < a > issuer</ a > .
1975
+ without revealing all claims in that < a > verifiable credential</ a > . In these schemes,
1976
+ a < a > verifiable credential</ a > might be used to derive presentable data, which is
1977
+ cryptographically asserted such that a < a > verifier</ a > can trust the value if
1978
+ they trust the < a > issuer</ a > .
1978
1979
</ p >
1979
-
1980
1980
< p >
1981
- For example, a < a > verifiable credential</ a > containing the < a > claim</ a >
1982
- < code > date of birth</ code > might be used to derive the presented value
1983
- < code > over the age of 15</ code > in a manner that is cryptographically
1984
- < a > verifiable</ a > . That is, a < a > verifier</ a > can still trust the derived value
1985
- if they trust the < a > issuer</ a > .
1981
+ Some selective disclosure schemes can share a subset of < a > claims</ a >
1982
+ derived from a < a > verifiable credential</ a > .
1986
1983
</ p >
1987
1984
1988
1985
< p class ="note ">
@@ -1991,17 +1988,6 @@ <h4>Presentations Using Derived Credentials</h4>
1991
1988
Section < a href ="#zero-knowledge-proofs "> </ a > .
1992
1989
</ p >
1993
1990
1994
- < p >
1995
- Selective disclosure schemes using zero-knowledge proofs can use < a > claims</ a >
1996
- expressed in this model to prove additional statements about those < a > claims</ a > .
1997
- For example, a < a > claim</ a > specifying a < a > subject's</ a > date of birth can be
1998
- used as a predicate to prove the < a > subject's</ a > age is within a given range,
1999
- and therefore prove the < a > subject</ a > qualifies for age-related discounts,
2000
- without actually revealing the < a > subject's</ a > birthdate. The < a > holder</ a >
2001
- has the flexibility to use the < a > claim</ a > in any way that is applicable to
2002
- the desired < a > verifiable presentation</ a > .
2003
- </ p >
2004
-
2005
1991
< figure >
2006
1992
< img style ="margin: auto; display: block; width: 50%; "
2007
1993
src ="diagrams/claim-example-2.svg " alt ="Pat has a property
0 commit comments