Skip to content

Commit 64f4045

Browse files
authored
Add COSE/JOSE Algorithms Support - Address issue #64 (#71)
* Add COSE/JOSE Algorithms Support - Address issue #64 Signed-off-by: Fabrizio Damato <fabrizio.damato@amd.com> * EAT Profile: Keeping only ECDSA for the initial profile Signed-off-by: Fabrizio Damato <fabrizio.damato@amd.com> --------- Signed-off-by: Fabrizio Damato <fabrizio.damato@amd.com>
1 parent d4adfb1 commit 64f4045

File tree

2 files changed

+66
-2
lines changed

2 files changed

+66
-2
lines changed

specifications/ietf-eat-profile/bibliography.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,17 @@ references:
5555
year: 2020
5656
month: 12
5757
url: "https://datatracker.ietf.org/doc/html/rfc8949"
58+
- id: "ietf-cose-dilithium"
59+
title: "ML-DSA for JOSE and COSE"
60+
publisher: "IETF"
61+
issued:
62+
year: 2025
63+
month: 9
64+
url: "https://datatracker.ietf.org/doc/draft-ietf-cose-dilithium/"
65+
- id: "nist-fips-204"
66+
title: "Module-Lattice-Based Digital Signature Standard"
67+
publisher: "NIST"
68+
issued:
69+
year: 2024
70+
month: 8
71+
url: "https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf"

specifications/ietf-eat-profile/spec.ocp

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ and provide the minimum necessary information for verifier appraisal policies:
185185
* This claim is used by the attester to identify the profile. It **MUST** be present and **SHALL** contain the OID assigned to the OCP Profile. **TODO: OCP to assign OID Value**
186186

187187
6. **Measurements** (claim key: 273, encoded as 0x190111)
188-
* This claim is used by the attester to present the target environment claims that verifier will consume for the appraisal policy. It **MUST** be present and **SHALL** encapsulate a "concise-evidence" as a serialized CBOR byte string using the appropriate IANA media type. The serialized concise-evidence **SHALL NOT** exceed 128kB in size.
188+
* This claim is used by the attester to present the target environment claims that verifier will consume for the appraisal policy. It **MUST** be present and **SHALL** encapsulate a "concise-evidence" as a serialized CBOR byte string using the appropriate IANA media type.
189189

190190
**Optional Claims (7-14)**: These claims are **OPTIONAL** and provide additional
191191
platform information that may be useful for audit purposes but are not strictly
@@ -267,7 +267,57 @@ Additionally, an Attester has the option to include a complete certificate path
267267
within the x5-chain, extending from a recognized Trusted Anchor (such as a
268268
Vendor Root CA) or up to the Initial Device Identity (IDEVID).
269269

270-
The signed-cwt CDDL is defined in the following manner:
270+
## COSE Algorithm Requirements
271+
272+
This profile defines specific cryptographic algorithms that **MUST** be
273+
supported for CWT signing to ensure interoperability and appropriate security
274+
levels for data center environments.
275+
276+
### Supported Algorithms
277+
278+
Implementations of this profile **SHALL** support the following COSE
279+
algorithm for the COSE_Sign1 signature:
280+
281+
**ECDSA with P-384 and SHA-384** (COSE Algorithm ID: -51)
282+
* **Algorithm**: ES384 as defined in [@{ietf-rfc9052}]
283+
* **Curve**: NIST P-384
284+
* **Hash**: SHA-384
285+
* **Key Size**: 384 bits
286+
* **Security Level**: 192-bit classical security
287+
* **Signature Size**: 96 bytes
288+
* **Public Key Size**: 97 bytes (uncompressed point)
289+
* **Private Key Size**: 48 bytes
290+
* **Profile OID**: **TODO: OCP to assign OID for ECDSA-P384 profile**
291+
292+
### Size Implications
293+
294+
Implementations **MUST** account for the following signature size
295+
implications when calculating total CWT size against the 64kB limit:
296+
297+
* **ECDSA-P384**: 96 bytes signature size
298+
299+
### COSE Header Requirements
300+
301+
The COSE_Sign1 protected header **MUST** include:
302+
303+
* **alg** (label 1): The COSE algorithm identifier (-35 for ES384)
304+
* Additional algorithm-specific parameters as required by the algorithm
305+
306+
The COSE_Sign1 unprotected header **MUST** include:
307+
308+
* **x5chain** (label 33): Certificate chain as specified in the main
309+
specification
310+
311+
### Future Algorithm Support
312+
313+
This profile serves as the base for ECDSA-based attestation. Additional
314+
profiles will be derived from this specification when post-quantum
315+
cryptography algorithms become standardized. For example, when
316+
[@{ietf-cose-dilithium}] becomes an RFC, a new profile with a distinct
317+
OID will be assigned to support ML-DSA algorithms. Each new algorithm
318+
profile will maintain the same claim structure and overall architecture
319+
while specifying the appropriate cryptographic parameters for that
320+
algorithm.
271321

272322
## Concise Evidence
273323

0 commit comments

Comments
 (0)