diff --git a/diagrams/claim-extended.svg b/diagrams/claim-extended.svg index 89623e7cb..e1d2ced50 100644 --- a/diagrams/claim-extended.svg +++ b/diagrams/claim-extended.svg @@ -1,4 +1,4 @@ - + diff --git a/index.html b/index.html index e32685509..467bfcd11 100644 --- a/index.html +++ b/index.html @@ -132,7 +132,7 @@
Granting a benefit requires proof and verification. Some benefits demand a formal process that includes three parties. In this process, -the holder asks for the benefit and the inspector-verifier +the holder asks for the benefit and the verifier grants or denies the benefit based on verification of the holder’s qualification from a trusted issuer.
@@ -212,10 +212,10 @@issued
date must be in the expected range.
- For example, an inspector-verifier may wish to ensure that the recorded
+ For example, a verifier may wish to ensure that the recorded
issued date of valid claims is not in the future.ageOver
.{ - "@context": "https://w3id.org/identity/v1", +{ + "@context": "https://w3id.org/credentials/v1", "id": "did:example:ebfeb1f712ebc6f1c276e12ec21", "ageOver": 21 }@@ -1072,11 +1072,8 @@Verifiable Credential
asignature
that can be used to verify its entire contents, including the claim. -{ - "@context": [ - "https://w3id.org/identity/v1", - "https://w3id.org/security/v1" - ], +{ + "@context": "https://w3id.org/credentials/v1", "id": "http://example.gov/credentials/3732", "type": ["Credential", "ProofOfAgeCredential"], "issuer": "https://dmv.example.gov", @@ -1100,10 +1097,10 @@Verifiable Credential
of verifiable claims about a particular subject. -{ +{ "@context": [ - "https://w3id.org/identity/v1", - "https://w3id.org/security/v1" + "http://schema.org", + "https://w3id.org/credentials/v1" ], "id": "http://example.gov/credentials/3732", "type": ["Credential", "PassportCredential"], @@ -1162,10 +1159,10 @@Verifiable Profile
The following example demonstrates how to express a simple verifiable profile.
-{ +{ "@context": [ - "https://w3id.org/identity/v1", - "https://w3id.org/security/v1" + "http://schema.org", + "https://w3id.org/credentials/v1" ], "id": "did:example:ebfeb1f712ebc6f1c276e12ec21", "credential": [{ @@ -1270,7 +1267,7 @@Personally Identifiable Information
The data associated with verifiable claims stored in the
credential.claim
field are largely susceptible to privacy -violations when shared with Inspector-verifiers. Personally identifying data +violations when shared with Verifiers. Personally identifying data such as a government-issued identifier, shipping address, and full name can be easily used to determine, track, and correlate an entity. Even information that does not seem personally identifiable like the @@ -1283,7 +1280,7 @@Personally Identifiable Information
warn Holders when they share data with these sorts of characteristics. Issuers are strongly advised to provide privacy-protecting credentials when possible. For example, issuing ageOver credentials instead of -birthdate credentials when the Inspector-verifier desires to determine if an +birthdate credentials when the Verifier desires to determine if an entity is over the age of 18. @@ -1310,16 +1307,22 @@Signature-based Correlation
The contents of verifiable claims are secured via the -
credential.signature
field. The -credential.signature.signatureValue
field creates a danger -of correlation when it is used across more than one web domain and the -value does not change. +credential.signature
field. The properties in this field +create a danger of correlation when the same values are used across more than +one session or domain and the value does not change. Examples include the +creator
,created
, +domain
(for very specific domains), +nonce
, andsignatureValue
fields.If strong anti-correlation properties are desired, -it is strongly advised that signature values and metadata are regenerated -each time using technologies like group signatures. +it is advised that signature values and metadata are regenerated +each time using technologies like third party pairwise signatures, +zero knowledge proofs, or group signatures. It is also important to note +that even when using anti-correlation signatures that information may still +be contained in the credential that defeats the anti-correlation properties +of the cryptography.
@@ -1352,7 +1355,7 @@Favor Abstract Claims
In order to enable recipients of verifiable claims to use them in a variety of circumstances without revealing more personally identifiable information than necessary for the transaction, issuers should consider limiting the information published in a claim to a minimal set needed for the expected purposes. -One way to avoid placing personally identifiable information in a claim is to use an "abstract" property that meets the needs of inspector-verifiers without providing specific information about the subject. +One way to avoid placing personally identifiable information in a claim is to use an "abstract" property that meets the needs of verifiers without providing specific information about the subject.
An example in this document is the use of the
ageOver
property as opposed to a specific birthdate that would constitute much stronger personally identifiable information. @@ -1373,8 +1376,8 @@The Principle of Minimum Disclosure
With verifiable claims, minimal disclosure for issuers means limiting the -content of a claim to the minimum required by potential inspector-verifiers for -expected use. For inspector-verifiers, it means limiting the scope of claims +content of a claim to the minimum required by potential verifiers for +expected use. For verifiers, it means limiting the scope of claims request or required for accessing services.
@@ -1398,9 +1401,9 @@
The Principle of Minimum Disclosure
issue such claims.-Similarly, inspector-verifiers are urged to only request information that is absolutely +Similarly, verifiers are urged to only request information that is absolutely necessary for a particular transaction to occur. This is important for at -least two reasons: 1) it reduces the liability on the inspector-verifier for +least two reasons: 1) it reduces the liability on the verifier for handling highly sensitive information that it does not need, and 2) it enhances the privacy of the individual by only asking for information that is required for the particular transaction. @@ -1420,7 +1423,7 @@
Bearer Claims
Validity Checks
-Inspector-verifier (corporation) is required to check revocation via Issuer +Verifier (corporation) is required to check revocation via Issuer (government).
@@ -1484,30 +1487,30 @@Usage Patterns
- -When the same claim is presented to the same inspector-verifier more than once – -that inspector-verifier could infer that the holder is the same individual. +When the same claim is presented to the same verifier more than once – +that verifier could infer that the holder is the same individual.
- -When the same claim is presented to different inspector-verifiers, and either those -inspector-verifiers collude or a third party has access to transaction records from -both inspector-verifiers – the observant party could infer that the individual +When the same claim is presented to different verifiers, and either those +verifiers collude or a third party has access to transaction records from +both verifiers – the observant party could infer that the individual presenting the claims is the same person at both services, i.e., the accounts are controlled by the same person.
- When the same subject identifier of a claim refers to the same subject across -presentations or inspector-verifiers. Even when different claims are presented, -if the subject identifier is the same, inspector-verifiers (and those with access to -inspector-verifier logs) could infer that the holder of the claims is the same +presentations or verifiers. Even when different claims are presented, +if the subject identifier is the same, verifiers (and those with access to +verifier logs) could infer that the holder of the claims is the same person.
- When the underlying information in a claim can be used to identify an individual across services – using information from other sources -(including information provided directly by the user), inspector-verifiers can use +(including information provided directly by the user), verifiers can use the information inside the claim to correlate the individual with an existing profile. For example, if a holder presents claims that include -zip code, age, and sex, the inspector-verifier can potentially correlate the +zip code, age, and sex, the verifier can potentially correlate the subject of that claim with an established profile [see Sweeney 2000 Simple Demographics Often Identify People Uniquely].
@@ -1581,9 +1584,28 @@Sharing Information with the Wrong Party
Frequency of Claim Issuance
--The rate at which an issuer issues claims may be a privacy violation. +
+As Section details, usage patterns can be +correlated into certain types of behavior. Part of this correlation is +mitigated when a holder uses a verifiable credential without the +knowledge of the issuer. Issuers may defeat this protection by making +their claims short lived and renewal automatic. +
+ ++For example, an "over the age of 21" credential may be useful when gaining +access to a bar. If an issuer makes the credential have a very short expiration +date and an automatic renewal mechanism, then they could possibly correlate +the holder's behavior in a way that negatively impacts the holder.
+ ++Organizations providing software to holders should warn holders if they +repeatedly use credentials with short lifespans that could result in +behavior correlation. Issuers should avoid issuing claims in a way that +enables them to correlate usage patterns. +
+@@ -1602,7 +1624,18 @@ Prefer Single Use Claims
Security Considerations
+There are a number of security considerations that issuers, +holders, and verifiers should be aware of when processing +data described by this specification. Ignoring or not understanding the +implications of this section can result in security vulnerabilities. +
++While this section attempts to highlight a broad set of security +considerations, it should not be interpreted as a complete list of all +security considerations. Implementers are urged to seek the advice of security +and cryptography professionals when implementing mission critical systems +using the technology outlined in this specification.
@@ -1631,7 +1664,7 @@ Bundling Dependent Claims
each containing one of the following properties: "Staff Member", "Post Graduate Student", "Department of Computing" and "Department of Economics". The holder could then transfer -the "Staff Member" and "Department of Economics" to an inspector-verifier, +the "Staff Member" and "Department of Economics" to a verifier, which together would comprise a false claim. @@ -1645,9 +1678,18 @@Bundling Dependent Claims
Highly Dynamic Information
--Time periods should be shorter for highly dynamic information. +
+When verifiable credentials are issued for highly dynamic information, +implementers should ensure that the expiration times for the credential are +set appropriately. Expiration periods that are longer than the timeframe +where the credential is valid may create exploitable security vulnerabilities. +Expiration periods that are shorter than the timeframe where the information +expressed by the credential is valid create a burden on holders and +verifiers. It is therefore important to set validity periods for +credentials that are appropriate to the use case and the expected lifetime +for the information contained in the credential.
+