1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
|
Internet Engineering Task Force (IETF) G. Huston
Request for Comments: 7935 G. Michaelson, Ed.
Obsoletes: 6485 APNIC
Category: Standards Track August 2016
ISSN: 2070-1721
The Profile for Algorithms and Key Sizes
for Use in the Resource Public Key Infrastructure
Abstract
This document specifies the algorithms, algorithms' parameters,
asymmetric key formats, asymmetric key size, and signature format for
the Resource Public Key Infrastructure (RPKI) subscribers that
generate digital signatures on certificates, Certificate Revocation
Lists (CRLs), Cryptographic Message Syntax (CMS) signed objects and
certification requests as well as for the relying parties (RPs) that
verify these digital signatures.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by
the Internet Engineering Steering Group (IESG). Further
information on Internet Standards is available in Section 2 of
RFC 7841.
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7935.
Huston & Michaelson Standards Track [Page 1]
^L
RFC 7935 RPKI Algorithm Profile August 2016
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Asymmetric Key Pair Formats . . . . . . . . . . . . . . . . . 4
3.1. Public Key Format . . . . . . . . . . . . . . . . . . . . 5
3.2. Private Key Format . . . . . . . . . . . . . . . . . . . 5
4. Signature Format . . . . . . . . . . . . . . . . . . . . . . 5
5. Additional Requirements . . . . . . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . 5
7. Changes Applied to RFC 6485 . . . . . . . . . . . . . . . . . 6
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
8.1. Normative References . . . . . . . . . . . . . . . . . . 7
8.2. Informative References . . . . . . . . . . . . . . . . . 8
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
Huston & Michaelson Standards Track [Page 2]
^L
RFC 7935 RPKI Algorithm Profile August 2016
1. Introduction
This document specifies:
* the digital signature algorithm and parameters;
* the hash algorithm and parameters;
* the public and private key formats; and,
* the signature format
used by Resource Public Key Infrastructure (RPKI) [RFC6480]
subscribers when they apply digital signatures to certificates and
Certificate Revocation Lists (CRLs) [RFC5280], Cryptographic Message
Syntax (CMS) signed objects [RFC5652] (e.g., Route Origin
Authorizations (ROAs) [RFC6482] and manifests [RFC6486]), and
certification requests [RFC2986] [RFC4211]. Relying parties (RPs)
also use the algorithms defined in this document to verify RPKI
subscribers' digital signatures [RFC6480].
The RPKI profiles and specification documents that reference RFC 6485
now refer to this document; these documents include the RPKI
Certificate Policy (CP) [RFC6484], the RPKI Certificate Profile
[RFC6487], the RPKI Architecture [RFC6480], and the Signed Object
Template for the RPKI [RFC6488]. Familiarity with these documents is
assumed.
1.1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
2. Algorithms
Two cryptographic algorithms are used in the RPKI:
* The signature algorithm used in certificates, CRLs, CMS signed
objects, and certification requests is RSA Public-Key
Cryptography Standards (PKCS) #1 Version 1.5 (sometimes
referred to as "RSASSA-PKCS1-v1_5") from Section 8.2 of
[RFC3447].
Huston & Michaelson Standards Track [Page 3]
^L
RFC 7935 RPKI Algorithm Profile August 2016
* The hashing algorithm used in certificates, CRLs, CMS signed
objects and certification requests is SHA-256 [SHS] (see note
below).
NOTE: The exception is the use of SHA-1 [SHS] when CAs generate
authority and subject key identifiers [RFC6487].
In certificates, CRLs, and certification requests the hashing and
digital signature algorithms are identified together, i.e., "RSA
PKCS #1 v1.5 with SHA-256" or more simply "RSA with SHA-256". The
Object Identifier (OID) sha256WithRSAEncryption from [RFC4055] MUST
be used in these products.
The OID is in the following locations:
In the certificate, the OID appears in the signature and
signatureAlgorithm fields [RFC4055].
In the CRL, the OID appears in the signatureAlgorithm field
[RFC4055].
In a certification request, the OID appears in the PKCS #10
signatureAlgorithm field [RFC2986], or in the Certificate Request
Message Format (CRMF) POPOSigningKey algorithmIdentifier field
[RFC4211].
In CMS SignedData, the hashing (message digest) and digital signature
algorithms are identified separately. The object identifier and
parameters for SHA-256 (as defined in [RFC5754]) MUST be used for the
SignedData digestAlgorithms field and the SignerInfo digestAlgorithm
field. The object identifier and parameters for rsaEncryption
[RFC3370] MUST be used for the SignerInfo signatureAlgorithm field
when generating CMS SignedData objects. RPKI implementations MUST
accept either rsaEncryption or sha256WithRSAEncryption for the
SignerInfo signatureAlgorithm field when verifying CMS SignedData
objects (for compatibility with objects produced by implementations
conforming to [RFC6485]).
3. Asymmetric Key Pair Formats
The RSA key pairs used to compute the signatures MUST have a 2048-bit
modulus and a public exponent (e) of 65,537.
Huston & Michaelson Standards Track [Page 4]
^L
RFC 7935 RPKI Algorithm Profile August 2016
3.1. Public Key Format
The subject's public key is included in subjectPublicKeyInfo
[RFC5280]. It has two sub-fields: algorithm and subjectPublicKey.
The values for the structures and their sub-structures follow:
algorithm (which is an AlgorithmIdentifier type):
The object identifier for RSA PKCS #1 v1.5 with SHA-256 MUST be
used in the algorithm field, as specified in Section 5 of
[RFC4055]. The value for the associated parameters from that
clause MUST also be used for the parameters field.
subjectPublicKey:
RSAPublicKey MUST be used to encode the certificate's
subjectPublicKey field, as specified in [RFC4055].
3.2. Private Key Format
Local policy determines the private key format.
4. Signature Format
The structure for the certificate's signature field is as specified
in Section 1.2 of [RFC4055]. The structure for the signature field
in the CMS SignedData's SignerInfos is as specified in [RFC5652].
5. Additional Requirements
It is anticipated that the RPKI will require the adoption of updated
key sizes and a different set of signature and hash algorithms over
time, in order to maintain an acceptable level of cryptographic
security to protect the integrity of signed products in the RPKI.
This profile should be replaced to specify such future requirements,
as and when appropriate.
The procedures to implement such a transition of key sizes and
algorithms are specified in [RFC6916].
6. Security Considerations
The Security Considerations of [RFC4055], [RFC5280], and [RFC6487]
apply to certificates and CRLs. The Security Considerations of
[RFC2986], [RFC4211], and [RFC6487] apply to certification requests.
The Security Considerations of [RFC5754] apply to CMS signed objects.
No new security threats are introduced as a result of this
specification.
Huston & Michaelson Standards Track [Page 5]
^L
RFC 7935 RPKI Algorithm Profile August 2016
7. Changes Applied to RFC 6485
This update includes a slight technical change to [RFC6485] that is
considered to be outside the limited scope of an erratum. The
document update process has included other errata and also corrected
a number of nits.
Section 2 of [RFC6485] specified sha256WithRSAEncryption as the OID
to use for the SignerInfo signatureAlgorithm field in CMS
SignedObjects. However, existing implementations use the
rsaEncryption OID for this field. (Support for rsaEncryption in
third-party cryptographic libraries is better than
sha256WithRSAEncryption, perhaps because [RFC3370] says that support
for rsaEncryption is required, while support for OIDs that specify
both RSA and a digest algorithm is optional.)
Rather than force existing implementations to switch to
sha256WithRSAEncryption, this document was changed to follow existing
practice. This does not represent a cryptographic algorithm change,
just an identifier change. (Unlike certificates, CRLs, and
certification requests, CMS signed objects have a separate algorithm
identifier field for the hash (digest) algorithm, and that field is
already required to contain the id-sha256 OID per Section 2.)
To avoid compatibility problems, RPs are still required to accept
sha256WithRSAEncryption if encountered.
Other changes include:
* Minor wording and typo fixes.
* Corrections to references ([RFC5652] instead of [RFC3370],
[RFC3447] instead of [RFC4055]).
* Additional citations included in the Introduction.
* Correction to the CRMF POPOSigningKey field that is mentioned
in Section 2 (algorithmIdentifier instead of signature).
* Inclusion of certification requests in mentions of
certificates, CRLs, and CMS signed objects.
* Replacement of text in Section 5 with a pointer to the
procedures specified in [RFC6916] (algorithm agility).
* Replacement of "signed object" with "CMS signed object"
everywhere.
Huston & Michaelson Standards Track [Page 6]
^L
RFC 7935 RPKI Algorithm Profile August 2016
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification
Request Syntax Specification Version 1.7", RFC 2986,
DOI 10.17487/RFC2986, November 2000,
<http://www.rfc-editor.org/info/rfc2986>.
[RFC3370] Housley, R., "Cryptographic Message Syntax (CMS)
Algorithms", RFC 3370, DOI 10.17487/RFC3370, August 2002,
<http://www.rfc-editor.org/info/rfc3370>.
[RFC3447] Jonsson, J. and B. Kaliski, "Public-Key Cryptography
Standards (PKCS) #1: RSA Cryptography Specifications
Version 2.1", RFC 3447, DOI 10.17487/RFC3447, February
2003, <http://www.rfc-editor.org/info/rfc3447>.
[RFC4055] Schaad, J., Kaliski, B., and R. Housley, "Additional
Algorithms and Identifiers for RSA Cryptography for use in
the Internet X.509 Public Key Infrastructure Certificate
and Certificate Revocation List (CRL) Profile", RFC 4055,
DOI 10.17487/RFC4055, June 2005,
<http://www.rfc-editor.org/info/rfc4055>.
[RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure
Certificate Request Message Format (CRMF)", RFC 4211,
DOI 10.17487/RFC4211, September 2005,
<http://www.rfc-editor.org/info/rfc4211>.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<http://www.rfc-editor.org/info/rfc5280>.
[RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70,
RFC 5652, DOI 10.17487/RFC5652, September 2009,
<http://www.rfc-editor.org/info/rfc5652>.
[RFC5754] Turner, S., "Using SHA2 Algorithms with Cryptographic
Message Syntax", RFC 5754, DOI 10.17487/RFC5754, January
2010, <http://www.rfc-editor.org/info/rfc5754>.
Huston & Michaelson Standards Track [Page 7]
^L
RFC 7935 RPKI Algorithm Profile August 2016
[RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support
Secure Internet Routing", RFC 6480, DOI 10.17487/RFC6480,
February 2012, <http://www.rfc-editor.org/info/rfc6480>.
[RFC6484] Kent, S., Kong, D., Seo, K., and R. Watro, "Certificate
Policy (CP) for the Resource Public Key Infrastructure
(RPKI)", BCP 173, RFC 6484, DOI 10.17487/RFC6484, February
2012, <http://www.rfc-editor.org/info/rfc6484>.
[RFC6487] Huston, G., Michaelson, G., and R. Loomans, "A Profile for
X.509 PKIX Resource Certificates", RFC 6487,
DOI 10.17487/RFC6487, February 2012,
<http://www.rfc-editor.org/info/rfc6487>.
[RFC6488] Lepinski, M., Chi, A., and S. Kent, "Signed Object
Template for the Resource Public Key Infrastructure
(RPKI)", RFC 6488, DOI 10.17487/RFC6488, February 2012,
<http://www.rfc-editor.org/info/rfc6488>.
[SHS] National Institute of Standards and Technology (NIST),
"FIPS Publication 180-3: Secure Hash Standard", FIPS
Publication 180-3, October 2008.
8.2. Informative References
[RFC6482] Lepinski, M., Kent, S., and D. Kong, "A Profile for Route
Origin Authorizations (ROAs)", RFC 6482,
DOI 10.17487/RFC6482, February 2012,
<http://www.rfc-editor.org/info/rfc6482>.
[RFC6485] Huston, G., "The Profile for Algorithms and Key Sizes for
Use in the Resource Public Key Infrastructure (RPKI)",
RFC 6485, DOI 10.17487/RFC6485, February 2012,
<http://www.rfc-editor.org/info/rfc6485>.
[RFC6486] Austein, R., Huston, G., Kent, S., and M. Lepinski,
"Manifests for the Resource Public Key Infrastructure
(RPKI)", RFC 6486, DOI 10.17487/RFC6486, February 2012,
<http://www.rfc-editor.org/info/rfc6486>.
[RFC6916] Gagliano, R., Kent, S., and S. Turner, "Algorithm Agility
Procedure for the Resource Public Key Infrastructure
(RPKI)", BCP 182, RFC 6916, DOI 10.17487/RFC6916, April
2013, <http://www.rfc-editor.org/info/rfc6916>.
Huston & Michaelson Standards Track [Page 8]
^L
RFC 7935 RPKI Algorithm Profile August 2016
Acknowledgments
The authors acknowledge the reuse in this document of material
originally contained in working drafts of the RPKI Certificate Policy
[RFC6484] and resource certificate profile [RFC6487] documents. The
coauthors of these two documents -- namely, Stephen Kent, Derrick
Kong, Karen Seo, Ronald Watro, George Michaelson, and Robert Loomans
-- are acknowledged, with thanks. The constraint on key size noted
in this profile is the outcome of comments from Stephen Kent and
review comments from David Cooper. Sean Turner has provided
additional review input to this document.
Andrew Chi and David Mandelberg discovered the issue addressed in
this replacement of [RFC6485], and the changes in this updated
specification reflect the outcome of a discussion between Rob Austein
and Matt Lepinski on the SIDR Working group mailing list. Richard
Hansen contributed a significant number of suggestions that have been
incorporated into this document.
Authors' Addresses
Geoff Huston
APNIC
Email: gih@apnic.net
George Michaelson (editor)
APNIC
Email: ggm@apnic.net
Huston & Michaelson Standards Track [Page 9]
^L
|