@@ -275,95 +275,49 @@ levels for data center environments.
275
275
276
276
### Supported Algorithms
277
277
278
- Implementations of this profile **SHALL** support **one** of the
279
- following COSE algorithms for the COSE_Sign1 signature:
280
-
281
- 1. **ECDSA with P-384 and SHA-384** (COSE Algorithm ID: -35)
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
- 2. **ML-DSA-87** (COSE Algorithm ID: -50)
293
- * **Algorithm**: ML-DSA-87 (FIPS 204) as defined in
294
- [@{ietf-cose-dilithium}]
295
- * **Security Level**: Category 5 (256-bit classical, 128-bit quantum) as defined in [@{nist-fips-204}]
296
- * **Signature Size**: ~4,627 bytes
297
- * **Public Key Size**: 2,592 bytes
298
- * **Private Key Size**: 4,896 bytes
299
- * **Hash**: SHAKE256
300
- * **Profile OID**: **TODO: OCP to assign OID for ML-DSA-87 profile**
301
- * **Note: Algorithm ID: -50 is a temporary allocation. However, it is expected to become permanent
302
-
303
- ### Profile OID Usage
304
-
305
- The **EAT Profile** claim (claim key: 265) **MUST** contain the OID
306
- corresponding to the algorithm used for signing the CWT:
307
-
308
- * When signed with ECDSA-P384, use the ECDSA-P384 profile OID
309
- * When signed with ML-DSA-87, use the ML-DSA-87 profile OID
310
-
311
- This allows verifiers to immediately identify both the profile version and
312
- the expected signature algorithm without parsing the COSE headers.
313
-
314
- ### Algorithm Selection Guidelines
315
-
316
- The choice of algorithm **SHALL** be determined by:
317
-
318
- 1. Attester capabilities
319
- 2. Deployment security requirements (classical vs. post-quantum)
320
- 3. Size constraints and bandwidth considerations
321
- 4. Certificate chain algorithm consistency
322
-
323
- **Certificate Chain Consistency**: The algorithm used for CWT signing
324
- **SHOULD** be consistent with the algorithm used in the Attestation Key
325
- certificate chain, though this is not strictly required.
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: -35)
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**
326
291
327
292
### Size Implications
328
293
329
294
Implementations **MUST** account for the following signature size
330
295
implications when calculating total CWT size against the 64kB limit:
331
296
332
297
* **ECDSA-P384**: ~96 bytes signature size
333
- * **ML-DSA-87**: ~4,627 bytes signature size
334
-
335
- **Note**: When using ML-DSA-87, implementors should carefully consider the
336
- available space for claims and certificate chains within the 64kB total
337
- size limit. The large signature size may necessitate more compact
338
- certificate chains or reduced optional claims.
339
298
340
299
### COSE Header Requirements
341
300
342
301
The COSE_Sign1 protected header **MUST** include:
343
302
344
- * **alg** (label 1): The COSE algorithm identifier (-35 for ES384 or -50
345
- for ML-DSA-87)
346
- * Additional algorithm-specific parameters as required by the chosen
347
- algorithm
303
+ * **alg** (label 1): The COSE algorithm identifier (-35 for ES384)
304
+ * Additional algorithm-specific parameters as required by the algorithm
348
305
349
306
The COSE_Sign1 unprotected header **MUST** include:
350
307
351
308
* **x5chain** (label 33): Certificate chain as specified in the main
352
309
specification
353
310
354
- ### Implementation Notes
355
-
356
- **Migration Path**: The dual algorithm support provides a clear migration
357
- path from classical to post-quantum cryptography while maintaining current
358
- security levels during the transition period.
359
-
360
311
### Future Algorithm Support
361
312
362
- This profile may be updated to include additional COSE algorithms as they
363
- become standardized and relevant for data center attestation use cases.
364
- When new algorithms are added, a new profile OID will be assigned to
365
- support each additional algorithm, maintaining clear identification and
366
- backward compatibility with existing implementations.
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.
367
321
368
322
## Concise Evidence
369
323
0 commit comments