Skip to content

Commit c131f16

Browse files
committed
[spec] Add threat model documentation
This commit introduces the threat model for OpenPRoT. The threat model defines the assets to be protected, the attacker profile, and the scope of attacks that are considered relevant. Signed-off-by: Miguel Osorio <[email protected]>
1 parent 5de13db commit c131f16

File tree

3 files changed

+59
-3
lines changed

3 files changed

+59
-3
lines changed

docs/src/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
# Specification
1111

1212
* [Introduction](./specification/README.md)
13+
* [Threat Model](./specification/threat_model.md)
1314
* [Firmware Resiliency](./specification/firmware_resiliency.md)
1415
* [Middleware](./specification/middleware/README.md)
1516
* [MCTP](./specification/middleware/mctp.md)

docs/src/specification/README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,6 @@ management protocols.
8686
- **NIST SP 800-90A**: Recommendation for Random Number Generation
8787
- **NIST SP 800-108**: Recommendation for Key Derivation Functions
8888

89-
## Threat Model
90-
91-
9289
## High Level Architecture
9390

9491
The OpenPRoT architecture is designed to be a flexible and extensible platform
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Threat Model
2+
3+
## Assets
4+
5+
- Integrity and authenticity of OpenPRoT firmware
6+
- Integrity and authorization of cryptographic operations
7+
- Integrity of anti-rollback counters
8+
- Integrity and confidentiality of symmetric keys managed by OpenPRoT
9+
- Integrity and confidentiality of private asymmetric keys
10+
- Integrity of boot measurements
11+
- Integrity and authenticity of firmware update payloads
12+
- Integrity and authenticity of OpenPRoT policies
13+
14+
## Attacker Profile
15+
16+
The attack profile definition is based on the JIL Application of Attack
17+
Potential to Smartcards and Similar Devices Specification version 3.2.1.
18+
19+
- **Type of access**: physical, remote
20+
- **Attacker Proficiency Levels**: expert, proficient, laymen
21+
- **Knowledge of the TOE**: public (open source), critical for signing keys
22+
- **Equipment**: none, standard, specialized, bespoke
23+
24+
### Attacks within Scope
25+
26+
See the JIL specification for examples of attacks.
27+
28+
- Physical attacks
29+
- Perturbation attacks
30+
- Side-channel attacks
31+
- Exploitation of test features
32+
- Attacks on RNG
33+
- Software attacks
34+
- Application isolation
35+
36+
## Threat Modeling
37+
38+
To provide a transparent view of the security posture for a given OpenPRoT +
39+
hardware implementation, integrators are required to perform a threat modeling
40+
analysis. This analysis must evaluate the specific implementation against the
41+
assets and attacker profile defined in this document.
42+
43+
The results of this analysis must be documented in table format, with the
44+
following columns:
45+
46+
- **Threat ID**: Unique identifier which can be referenced in documentation and
47+
security audits
48+
- **Threat Description**: Definition of the attack profile and potential attack.
49+
- **Target Assets**: List of impacted assets
50+
- **Mitigation(s)**: List of countermeasures implemented in hardware and/or
51+
software to mitigate the potential attack
52+
- **Verification**: Results of verification plan used to gain confidence in the
53+
mitigation strategy.
54+
55+
Integrators should use the JIL specification as a guideline to identify relevant
56+
attacks and must detail the specific mitigation strategies implemented in their
57+
design. The table must be populated for the target hardware implementation to
58+
allow for a comprehensive security review.

0 commit comments

Comments
 (0)