Skip to content

Commit 2e896d4

Browse files
committed
Apply changes suggested by @iherman on T3/T5 threats.
1 parent 89f9e27 commit 2e896d4

2 files changed

Lines changed: 47 additions & 13 deletions

File tree

threat-model/threats/t3-identifier-based-correlation.yaml

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,37 @@ tags: [privacy]
55
taxonomyName: STRIDE
66
taxonomyClass: Information Disclosure
77
description: >-
8-
A [=verifiable credential=] can contain long-lived identifiers that can
9-
be used to correlate a [=subject=] across contexts. These include
8+
A [=verifiable credential=] can contain long-lived identifiers that can
9+
be used to correlate a [=subject=] across contexts. These include
1010
[=subject=] identifiers in <code>credentialSubject.id</code>, credential
1111
identifiers, email addresses, government-issued identifiers, and
1212
organization-issued identifiers. When a [=E2|holder=]
1313
[=P8|generates a presentation=] and [=F3|exchanges=] it, any such
14-
identifier that is disclosed to a [=E3|verifier=] can be linked to identifiers
14+
identifier that is disclosed to a [=E3|verifier=] can be linked to identifiers
1515
disclosed elsewhere. Two [=E3|verifiers=], or an [=E1|issuer=] and a
1616
[=E3|verifier=], can then collude to track the [=E2|holder=] across
1717
domains and build a profile. Whether this threat is present depends on
18-
deployment choices: which identifiers an [=E1|issuer=] places in a
19-
credential; whether they can be selectively disclosed; and whether a
20-
[=E2|holder=]'s software warns before sharing them; among other choices.
18+
deployment choices: which identifiers an [=E1|issuer=] places in a
19+
credential; whether they can be selectively disclosed; and whether a
20+
[=E2|holder=]'s software warns before sharing them; among other choices.
2121
response:
2222
- id: R1
23-
name: Selectively Disclosable and/or Single-Use Identifiers
23+
name: Selectively Disclosable and/or Single-Use Identifiers
2424
type: Reduce
2525
description: >-
26-
Deployments requiring anti-correlation properties can use identifiers that
26+
Deployments requiring anti-correlation properties can use identifiers that
2727
are selectively disclosable, bound to a single origin, single-use, or
28-
replaced by short-lived single-use bearer tokens. [=Holders=] prefer
29-
[=verifiable credentials=] from [=issuers=] that support selective
30-
disclosure of correlating identifiers, and securing-mechanism authors
28+
replaced by short-lived single-use bearer tokens. Selective disclosure is
29+
available across both families of securing mechanism: [[[VC-DATA-INTEGRITY]]]
30+
defines selective disclosure cryptosuites, and [[[VC-JOSE-COSE]]] can carry
31+
selective disclosure formats such as SD-JWT. A [=E2|holder=] therefore does
32+
not have to choose a particular securing mechanism to obtain selective
33+
disclosure of correlating identifiers. [=Holders=] prefer
34+
[=verifiable credentials=] from [=issuers=] that support selective
35+
disclosure of correlating identifiers, and securing-mechanism authors
3136
avoid designs that require correlating identifiers that cannot be
32-
selectively disclosed or the use of verifiable credentials that do
33-
not support selective disclosure.
37+
selectively disclosed or the use of verifiable credentials that do
38+
not support selective disclosure.
3439
- id: R2
3540
name: Warn Holders Before Sharing Correlatable Identifiers
3641
type: Reduce

threat-model/threats/t5-cryptographic-suite-obsolescence.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,32 @@ response:
4444
experience. Deployments reduce the chance of a latent weakness by
4545
having experienced reviewers audit the suites and libraries they use,
4646
and by using red teaming to remove bias from those security reviews.
47+
- id: R4
48+
name: Issuer-Deployed Forgery Defense
49+
type: Reduce
50+
description: >-
51+
[=E1|Issuers=] can deploy the mechanisms described in
52+
[[[VC-FORGERY-DEFENSE]]], which layer additional, independent defenses
53+
onto issued [=verifiable credentials=] so that a credential's authenticity
54+
does not rest on a single securing mechanism alone. When an [=E1|issuer=]
55+
applies these defenses at [=P3|issuance=], a [=E3|verifier=] can rely on
56+
them at [=P10|verification=] to detect forged or modified
57+
[=credentials=] even if one cryptography suite is later weakened or
58+
broken. This raises the cost of a successful forgery and narrows the
59+
window in which an obsolete suite can be exploited.
60+
- id: R5
61+
name: Use Reputable Cryptographic Libraries and Specialized Building Blocks
62+
type: Reduce
63+
description: >-
64+
Secure cryptography is difficult and demands specialized skills;
65+
implementers should not re-implement complex cryptographic algorithms
66+
themselves. Wherever possible, deployments use well-established,
67+
reputable cryptographic libraries that are actively maintained and
68+
widely reviewed, and accept that a correct and secure implementation
69+
requires expertise most application developers do not have. This
70+
concern is not limited to cryptography: the other constituents of a
71+
[=verifiable credential=] implementation, such as canonicalization,
72+
securing-mechanism processing, and status checking, likewise call for
73+
specialized care. Efforts such as [[[VCALM]]] aim to make it easier to
74+
assemble implementations from vetted, specialized building blocks
75+
rather than re-implementing sensitive components from scratch.

0 commit comments

Comments
 (0)