|
3 | 3 | "$id": "http://cyclonedx.org/schema/jsf-0.82.schema.json", |
4 | 4 | "type": "object", |
5 | 5 | "title": "JSON Signature Format (JSF) standard", |
6 | | - "$comment" : "JSON Signature Format schema is published under the terms of the Apache License 2.0. JSF was developed by Anders Rundgren ([email protected]) as a part of the OpenKeyStore project. This schema extends the JSF standard to include post-quantum algorithms (ML-DSA) following NIST FIPS 204, excluding 'extensions'.", |
| 6 | + "$comment" : "JSON Signature Format schema is published under the terms of the Apache License 2.0. JSF was developed by Anders Rundgren ([email protected]) as a part of the OpenKeyStore project. This schema extends the JSF standard to include post-quantum algorithms (ML-DSA and ML-KEM) following NIST FIPS 204 and FIPS 203 standards, excluding 'extensions'.", |
7 | 7 | "definitions": { |
8 | 8 | "signature": { |
9 | 9 | "type": "object", |
|
33 | 33 | }, |
34 | 34 | { |
35 | 35 | "title": "Signature", |
36 | | - "description": "Unique top level property for simple signatures. (signaturecore). Supports both classical and post-quantum algorithms including ML-DSA variants.", |
| 36 | + "description": "Unique top level property for simple signatures. (signaturecore). Supports both classical and post-quantum algorithms including ML-DSA and ML-KEM variants.", |
37 | 37 | "$ref": "#/definitions/signer" |
38 | 38 | } |
39 | 39 | ] |
|
52 | 52 | { |
53 | 53 | "type": "string", |
54 | 54 | "title": "Algorithm", |
55 | | - "description": "Signature algorithm. The currently recognized JWA [RFC7518] and RFC8037 [RFC8037] asymmetric key algorithms, plus post-quantum algorithms. Note: Unlike RFC8037 [RFC8037] JSF requires explicit Ed* algorithm names instead of \"EdDSA\". Three post-quantum ML-DSA algorithms have been added following NIST FIPS 204 standardization.", |
| 55 | + "description": "Signature or KEM algorithm. The currently recognized JWA [RFC7518] and RFC8037 [RFC8037] asymmetric key algorithms, plus post-quantum algorithms. Note: Unlike RFC8037 [RFC8037] JSF requires explicit Ed* algorithm names instead of \"EdDSA\". Post-quantum ML-DSA signature algorithms and ML-KEM key encapsulation mechanisms have been added following NIST FIPS 204 and FIPS 203 standardization.", |
56 | 56 | "enum": [ |
57 | 57 | "RS256", |
58 | 58 | "RS384", |
|
70 | 70 | "HS512", |
71 | 71 | "ML-DSA-44", |
72 | 72 | "ML-DSA-65", |
73 | | - "ML-DSA-87" |
| 73 | + "ML-DSA-87", |
| 74 | + "ML-KEM-512", |
| 75 | + "ML-KEM-768", |
| 76 | + "ML-KEM-1024" |
74 | 77 | ] |
75 | 78 | }, |
76 | 79 | { |
77 | 80 | "type": "string", |
78 | 81 | "title": "Algorithm", |
79 | | - "description": "Signature algorithm. Note: If proprietary signature algorithms are added, they must be expressed as URIs.", |
| 82 | + "description": "Signature or KEM algorithm. Note: If proprietary algorithms are added, they must be expressed as URIs.", |
80 | 83 | "format": "uri" |
81 | 84 | } |
82 | 85 | ] |
|
88 | 91 | }, |
89 | 92 | "publicKey": { |
90 | 93 | "title": "Public key", |
91 | | - "description": "Optional. Public key object. Supports classical key types (EC, RSA, OKP) and post-quantum key types (PQ) for ML-DSA algorithms.", |
| 94 | + "description": "Optional. Public key object. Supports classical key types (EC, RSA, OKP) and post-quantum key types (PQ) for ML-DSA and ML-KEM algorithms.", |
92 | 95 | "$ref": "#/definitions/publicKey" |
93 | 96 | }, |
94 | 97 | "certificatePath": { |
|
109 | 112 | }, |
110 | 113 | "value": { |
111 | 114 | "type": "string", |
112 | | - "title": "Signature", |
113 | | - "description": "The signature data encoded as base64url without padding. Encoding standards: (1) Classical algorithms (RS256, ES256, Ed25519, etc.): Follow JWA [RFC7518] specifications for signature serialization. (2) Post-quantum algorithms (ML-DSA-44, ML-DSA-65, ML-DSA-87): Follow NIST FIPS 204 standard for ML-DSA signature encoding." |
| 115 | + "title": "Signature or Encapsulated Key", |
| 116 | + "description": "The signature data or encapsulated key encoded as base64url without padding. Encoding standards: (1) Classical algorithms (RS256, ES256, Ed25519, etc.): Follow JWA [RFC7518] specifications for signature serialization. (2) Post-quantum signature algorithms (ML-DSA-44, ML-DSA-65, ML-DSA-87): Follow NIST FIPS 204 standard for ML-DSA signature encoding. (3) Post-quantum KEM algorithms (ML-KEM-512, ML-KEM-768, ML-KEM-1024): Follow NIST FIPS 203 standard for ML-KEM encapsulated key encoding." |
114 | 117 | } |
115 | 118 | } |
116 | 119 | }, |
117 | 120 | "keyType": { |
118 | 121 | "type": "string", |
119 | 122 | "title": "Key type", |
120 | | - "description": "Key type indicator. 'PQ' indicates post-quantum algorithms following NIST FIPS 204 standards, specifically ML-DSA algorithms.", |
| 123 | + "description": "Key type indicator. 'PQ' indicates post-quantum algorithms following NIST FIPS 204 and FIPS 203 standards, including ML-DSA signature algorithms and ML-KEM key encapsulation mechanisms.", |
121 | 124 | "enum": [ |
122 | 125 | "EC", |
123 | 126 | "OKP", |
|
127 | 130 | }, |
128 | 131 | "publicKey": { |
129 | 132 | "title": "Public key", |
130 | | - "description": "Optional. Public key object. Supports classical key types (EC, RSA, OKP) and post-quantum key types (PQ) for ML-DSA algorithms.", |
| 133 | + "description": "Optional. Public key object. Supports classical key types (EC, RSA, OKP) and post-quantum key types (PQ) for ML-DSA and ML-KEM algorithms.", |
131 | 134 | "type": "object", |
132 | 135 | "required": [ |
133 | 136 | "kty" |
|
259 | 262 | "description": "Post-quantum algorithm identifier.", |
260 | 263 | "enum": [ |
261 | 264 | "ML-DSA-44", |
262 | | - "ML-DSA-65", |
263 | | - "ML-DSA-87" |
| 265 | + "ML-DSA-65", |
| 266 | + "ML-DSA-87", |
| 267 | + "ML-KEM-512", |
| 268 | + "ML-KEM-768", |
| 269 | + "ML-KEM-1024" |
264 | 270 | ] |
265 | 271 | }, |
266 | 272 | "x": { |
267 | 273 | "type": "string", |
268 | 274 | "title": "Public Key", |
269 | | - "description": "ML-DSA public key data encoded as base64url without padding, following NIST FIPS 204 specification for the corresponding algorithm variant." |
| 275 | + "description": "Post-quantum public key data encoded as base64url without padding. For ML-DSA algorithms, follows NIST FIPS 204 specification. For ML-KEM algorithms, follows NIST FIPS 203 specification for the corresponding algorithm variant." |
270 | 276 | } |
271 | 277 | } |
272 | 278 | } |
|
0 commit comments