idnits 2.17.1 draft-brockhaus-lamps-cmp-updates-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year (Using the creation date from RFC4210, updated by this document, for RFC5378 checks: 2000-03-07) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (December 31, 2019) is 1576 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'IEEE802.1AR' is mentioned on line 250, but not defined -- Looks like a reference, but probably isn't: '0' on line 662 == Missing Reference: 'CRMF' is mentioned on line 657, but not defined -- Looks like a reference, but probably isn't: '1' on line 663 ** Downref: Normative reference to an Informational RFC: RFC 2985 ** Downref: Normative reference to an Informational RFC: RFC 2986 == Outdated reference: A later version (-03) exists of draft-brockhaus-lamps-lightweight-cmp-profile-01 Summary: 2 errors (**), 0 flaws (~~), 4 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force H. Brockhaus 3 Internet-Draft Siemens 4 Updates: 4210 (if approved) December 31, 2019 5 Intended status: Standards Track 6 Expires: July 3, 2020 8 CMP Updates 9 draft-brockhaus-lamps-cmp-updates-02 11 Abstract 13 This document contains a set of updates to the base syntax of 14 Certificate Management Protocol (CMP) version 2. This document 15 updates RFC 4210. 17 Specifically, the CMP services updated in this document comprise the 18 enabling of using EnvelopedData instead of EncryptedValue and the 19 definition of extended key usages to identify certificates of CMP 20 endpoints on certification and registration authorities. 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at https://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on July 3, 2020. 39 Copyright Notice 41 Copyright (c) 2019 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (https://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. History of changes . . . . . . . . . . . . . . . . . . . . . 2 57 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2.1. Convention and Terminology . . . . . . . . . . . . . . . 3 59 3. Updates to RFC 4210 - Certificate Management Protocol (CMP) . 4 60 3.1. New Section 1.1. - Changes since RFC 4210 . . . . . . . . 4 61 3.2. New Section 4.5 - Extended Key Usage . . . . . . . . . . 4 62 3.3. Replace Section 5.1.3.4 - Multiple Protection . . . . . . 6 63 3.4. Replace Section 5.2.2. - Encrypted Values . . . . . . . . 7 64 3.5. Update Section 5.3.4. - Certification Response . . . . . 9 65 3.6. Replace Section 5.3.19.9. - Revocation Passphrase . . . . 9 66 3.7. Update Section 5.3.22 - Polling Request and Response . . 10 67 3.8. Update Appendix B - The Use of Revocation Passphrase . . 11 68 3.9. Update Appendix C - Request Message Behavioral 69 Clarifications . . . . . . . . . . . . . . . . . . . . . 11 70 3.10. Update Appendix D.4. - Initial Registration/Certification 71 (Basic Authenticated Scheme) . . . . . . . . . . . . . . 12 72 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 73 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 74 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 75 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 76 7.1. Normative References . . . . . . . . . . . . . . . . . . 13 77 7.2. Informative References . . . . . . . . . . . . . . . . . 14 78 Appendix A. ASN.1 Modules . . . . . . . . . . . . . . . . . . . 14 79 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 15 81 1. History of changes 83 From version 01 -> 02: 85 o Add clarification to section on multiple protection 87 o Add clarification on new EKUs after some exchange with Tomas 88 Gustavsson 90 o Reuse of OIDs from RFC 6402 as suggested by Sean Turner at IETF 91 106 93 o Add clarification on the field containing the key identifier for a 94 revocation passphrase 96 o Minor changes in wording 97 From version 00 -> 01: 99 o Add a section describing the new extended key usages 101 o Complete the section on changes to the specification of encrypted 102 values 104 o Add a section on clarification to Appendix D.4 106 o Minor generalization in RFC 4210 [RFC4210] Sections 5.1.3.4 and 107 5.3.22 109 o Minor changes in wording 111 2. Introduction 113 While using CMP [RFC4210] in industrial and IoT environments and 114 developing the Lightweight CMP Profile 115 [I-D.brockhaus-lamps-lightweight-cmp-profile] some limitations were 116 identified in the original CMP specification. This document updates 117 RFC 4210 [RFC4210] to overcome these limitations. 119 In general, this document aims to improve the crypto agility of CMP 120 to be flexible to react on future advances in cryptography. 122 This document also introduces new extended key usages to identify CMP 123 endpoints on registration and certification authorities. 125 2.1. Convention and Terminology 127 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 128 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 129 document are to be interpreted as described in RFC 2119 [RFC2119]. 131 In this document, these words will appear with that interpretation 132 only when in ALL CAPS. Lower case uses of these words are not to be 133 interpreted as carrying significance described in RFC 2119. 135 Technical terminology is used in conformance with RFC 4210 [RFC4210], 136 RFC 4211 [RFC4211], and RFC 5280 [RFC5280]. The following key words 137 are used: 139 CA: Certification authority, which issues certificates. 141 RA: Registration authority, an optional system component to which a 142 CA delegates certificate management functions such as 143 authorization checks. 145 KGA: Key generation authority, which generates key pairs on behalf of 146 an EE. The KGA could be co-located with an RA or a CA. 148 EE: End entity, a user, device, or service that holds a PKI 149 certificate. An identifier for the EE is given as its subject 150 of the certificate. 152 3. Updates to RFC 4210 - Certificate Management Protocol (CMP) 154 3.1. New Section 1.1. - Changes since RFC 4210 156 The following subsections describe feature updates to RFC 4210 157 [RFC4210]. They are always related to the base specification. Hence 158 references to the original sections in RFC 4210 [RFC4210] are used 159 whenever possible. 161 Insert this section at the end of the current Section 1. 163 The following updates were made since RFC 4210: 165 o Add new extended key usages for different CMP server types, e.g. 166 registration authority and certification authority. 168 o Extend the description of multiple protection, e.g., to cover 169 batch processing of messages. 171 o Offering EnvelopedData as another choice next to EncryptedValue to 172 extend crypto agility in CMP. Note that according to RFC 4211 173 [RFC4211] section 2.1.9 the use of the EncryptedValue structure 174 has been deprecated in favor of the EnvelopedData structure. For 175 reasons of completeness and consistency the exchange of 176 EncryptedValue with EncryptedKey is performed not only where 177 required for the needed crypto agility for protection of centrally 178 generated private keys, but also for other purposes like 179 encryption of certificates and revocation passphrases. 181 o Extend the usage of polling also to p10cr messages. 183 3.2. New Section 4.5 - Extended Key Usage 185 Insert this section. 187 The Extended Key Usage (EKU) extension indicates the purposes for 188 which the certified public key may be used. It therefore restricts 189 the use of a certificate to specific applications. Certificates used 190 for CMP message protection or signed data for central key generation 191 SHOULD use one of the following EKUs to express its authorization for 192 acting as the PKI management entities described below. The ASN.1 to 193 define these EKUs is: 195 id-kp-cmpCA OBJECT IDENTIFIER ::= { id-kp 27 } 196 id-kp-cmpRA OBJECT IDENTIFIER ::= { id-kp 28 } 197 id-kp-cmpKGA OBJECT IDENTIFIER ::= { id-kp ... } 199 < TBD: id-kp-cmpKGA to be defined. > 201 Note: RFC 6402 section 2.10 [RFC6402] specifies OIDs for a CMC CA and 202 a CMC RA. As the functionality of a CA and RA is not specific to 203 whether use CMC or CMP as certificate management protocol, the same 204 OIDs SHALL be used for a cmpCA and a cmpRA. 206 < TBD: It needs to be clarified, if the Name and Description of the 207 OIDs can be adapted or extended to avoid confusion as they currently 208 only refer to CMC endpoints. > 210 The description of the PKI entity for each of the EKUs is as follows: 212 CMP Certification Authorities are CMP endpoints on CA equipment as 213 described in section 3.1.1.2. The key used in the context of CMP 214 management operations, especially CMP message protection, need not be 215 the same key that signs the certificates. It is necessary, however, 216 to ensure that the entity acting as cmpCA is authorized to do so. 217 Therefore, the cmpCA MUST do one of the following, 219 o use the CA private key on the CMP endpoint, or 221 o explicitly designate this authority to another entity. 223 CMP message protection delegation on the CA SHALL be designated by 224 the inclusion of id-kp-cmpCA in an extended key usage certificate 225 extension included in the CMP response signer's certificate. This 226 certificate MUST be issued directly by the CA that is identified in 227 the request. 229 Note: Using a separate key pair for protecting CMP management 230 operations at the CA decreases the number of operations of the 231 private key used to sign certificates. 233 CMP Registration Authorities are CMP endpoints on RA equipment as 234 described in section 3.1.1.3. A cmpRA is identified by the id-kp- 235 cmpRA extended key usage. This extended key usage is placed into RA 236 certificates. 238 CMP Key Generation Authorities are identified by the id-kp-cmpKGA 239 extended key usage. Though the cmpKGA knows the private key it 240 generated on behalf of the end entity, this is a very sensible 241 service and needs specific authorization. This authorization is 242 either with the CA certificate itself, or indicated by placing the 243 id-kp-cmpKGA extended key usage into the cmpRA or cmpCA certificate 244 used to authenticate the origin of the private key to express the 245 authorization to offer this service. 247 Note: In device PKIs, especially those issuing IDevID certificates, 248 CA may have very long validity (including the GeneralizedTime value 249 99991231235959Z to indicate an indefinite expiration date as 250 specified in IEEE 802.1AR section 8.5 [IEEE802.1AR] and RFC 5280 251 Section 4.1.2.5 [RFC5280]). Such validity periods SHOULD NOT be used 252 for protection of CMP messages. Certificates for delegated CMP 253 message protection (cmpCA, cmpRA, cmpKGA) MUST NOT use indefinite 254 expiration date. 256 < TBD: In bigger PKI installations the CA equipment may host, and an 257 RA equipment may serve several CAs. These CAs, especially those 258 issuing IDevID certificates may have very long validities and use 259 specific algorithms not suitable for protection of day-to-day PKI 260 management operations on a CMC, CMP or TLS level. Therefore, it may 261 be an advantage to utilize a specific 'Infrastructure' CA for issuing 262 CMC, CMP and TLS certificates to protect PKI management operations 263 for other CAs hosted on that PKI. A mechanism would be needed to 264 securely delegate authorization to act as a cmpCA, cmpRA, or cmpKGA 265 for a specific CA without directly issuing the cmpCA, cmpRA, and 266 cmpKGA certificates. I am happy for any suitable suggestions to 267 address this issue. > 269 3.3. Replace Section 5.1.3.4 - Multiple Protection 271 Section 5.1.3.4 of RFC 4210 [RFC4210] describes the nested message. 272 This document opens the usage of nested messages also for batch 273 transport of PKI messages between different PKI management entities. 275 Replace the text of the section with the following text. 277 In cases where an end entity sends a protected PKI message to an RA, 278 the RA MAY forward that message to a CA, adding its own protection 279 (which MAY be a MAC or a signature, depending on the information and 280 certificates shared between the RA and the CA). There are different 281 use cases for such multi protected messages. 283 o The RA confirms the validation and authorization of a message and 284 forwards the original message unchanged. 286 o The RA collects several messages and forwards them in a batch. 287 This can for instance be used to bridge an off-line connection 288 between two PKI management entities. In an up-stream connection 289 request messages and in a down-stream connection response or 290 announcement messages will be collected in the batch. 292 o The RA modifies the message(s) in some way (e.g., add or modify 293 particular field values or add new extensions) before forwarding 294 them, then it MAY create its own desired PKIBody. In case the 295 changes made by the RA to PKIMessage breaks the POP, the RA MUST 296 either set the POP RAVerified or include the original PKIMessage 297 from the EE in the generalInfo field of PKIHeader of the nested 298 message (to force the CA to check POP on the original message). 299 The infoType to be used in this situation is {id-it 15} (see 300 Section 5.3.19 for the value of id-it) and the infoValue is 301 PKIMessages (contents MUST be in the same order as the requests in 302 PKIBody). For simplicity reasons, if batching is used in 303 combination with inclusion of the original PKIMessage in the 304 generalInfo field, all messages in the batch MUST be of the same 305 type (e.g., ir). 307 These use cases are accomplished by nesting the messages sent by the 308 end entity within a new PKI message. The structure used is as 309 follows. 311 NestedMessageContent ::= PKIMessages 313 (The use of PKIMessages, a SEQUENCE OF PKIMessage, lets the RA batch 314 the requests of several EEs in a single new message.) 316 3.4. Replace Section 5.2.2. - Encrypted Values 318 Section 5.2.2 of RFC 4210 [RFC4210] describes the usage of 319 EncryptedValue to transport encrypted data. This document extends 320 the encryption of data to also use EnvelopedData. 322 Replace the text of the section with the following text. 324 Where encrypted data (restricted, in this specification, to be either 325 private keys, certificates or passwords) are sent in PKI messages, 326 the EncryptedKey data structure is used. 328 EncryptedKey ::= CHOICE { 329 encryptedValue EncryptedValue, -- deprecated 330 envelopedData [0] EnvelopedData } 332 See CRMF [RFC4211] for EncryptedKey and EncryptedValue syntax and for 333 EnvelopedData syntax see CMS [RFC5652]. Using the EncryptedKey data 334 structure, the choice to either use EncryptedValue (for backward 335 compatibility only) or EnvelopedData is offered. The use of the 336 EncryptedValue structure has been deprecated in favor of the 337 EnvelopedData structure. Therefore, it is recommended to use 338 EnvelopedData. 340 The EncryptedKey data structure is used in CMP to either transport a 341 private key, certificate or revocation passphrase in encrypted form. 343 EnvelopedData is used as follows: 345 o Contains only one recepientInfo structure because the content is 346 encrypted only for one recipient. 348 o Contains private key in a SignedData structure as specified in CMS 349 section 5 [RFC5652] signed by the Key Generation Authority. 351 o Contains certificate or revocation passphrase directly in the 352 encryptedContent field. 354 Note: When transferring a centrally generated private key in a 355 certificate response message to the EE, the algorithm identifier and 356 the associated public key will anyhow be transported in this response 357 message. Therefore, the private key will not be delivered in a key 358 package structure as specified in [RFC5958] and [RFC6032]. But the 359 wrapping of the private key in a SignedData structure that is wrapped 360 in the EnvelopedData structure as specified in [RFC6032] is applied. 362 The content of the EnvelopedData structure, as specified in CMS 363 section 3 [RFC5652], MUST be encrypted using a newly generated 364 symmetric content-encryption key. This content-encryption key MUST 365 be securely provided to the recipient using one of three key 366 management techniques. 368 The choice of the key management technique to be used by the sender 369 depends on the credential available for the recipient: 371 o Jointly shared secret: The content-encryption key will be 372 protected using the symmetric key-encryption key management 373 technique, as specified in CMS section 5.2.3 [RFC5652]. 375 o Recipient's certificate that contains a key usage extension 376 asserting keyAgreement: The content-encryption key will be 377 protected using the key agreement key management technique, as 378 specified in CMS section 5.2.2 [RFC5652]. 380 o Recipient's certificate that contains a key usage extension 381 asserting keyEncipherment: The content-encryption key will be 382 protected using the key transport key management technique, as 383 specified in CMS section 5.2.1 [RFC5652]. 385 3.5. Update Section 5.3.4. - Certification Response 387 Section 5.3.4 of RFC 4210 [RFC4210] describes the Certification 388 Response. This document updates the syntax by using EncryptedKey 389 instead of EncryptedValue as described in Section 3.1 above. 391 Replace the ASN.1 syntax of CertifiedKeyPair and CertOrEncCert with 392 the following text. 394 CertifiedKeyPair ::= SEQUENCE { 395 certOrEncCert CertOrEncCert, 396 privateKey [0] EncryptedKey OPTIONAL, 397 -- see [CRMF] for comment on encoding 398 publicationInfo [1] PKIPublicationInfo OPTIONAL 399 } 401 CertOrEncCert ::= CHOICE { 402 certificate [0] Certificate, 403 encryptedCert [1] EncryptedKey 404 } 406 Add the following paragraphs to the end of the section. 408 The use of EncryptedKey is described in section 5.2.2. 410 3.6. Replace Section 5.3.19.9. - Revocation Passphrase 412 Section 5.3.19.9 of RFC 4210 [RFC4210] describes the provisioning of 413 a revocation passphrase for authenticating a later revocation 414 request. This document updates the handling by using EncryptedKey 415 instead of EncryptedValue to transport this information as described 416 in Section 3.1 above. 418 Replace the text of the section with the following text. 420 This MAY be used by the EE to send a passphrase to a CA/RA for the 421 purpose of authenticating a later revocation request (in the case 422 that the appropriate signing private key is no longer available to 423 authenticate the request). See Appendix B for further details on the 424 use of this mechanism. 426 GenMsg: {id-it 12}, EncryptedKey 427 GenRep: {id-it 12}, < absent > 429 The use of EncryptedKey is described in section 5.2.2. 431 3.7. Update Section 5.3.22 - Polling Request and Response 433 Section 5.3.22 of RFC 4210 [RFC4210] describes when and how polling 434 messages are used. This document adds the polling mechanism also to 435 outstanding p10cr transactions. 437 Replace all paragraphs in front of the state machine diagram with the 438 following text. 440 This pair of messages is intended to handle scenarios in which the 441 client needs to poll the server in order to determine the status of 442 an outstanding ir, cr, p10cr, or kur transaction (i.e., when the 443 "waiting" PKIStatus has been received). 445 PollReqContent ::= SEQUENCE OF SEQUENCE { 446 certReqId INTEGER } 448 PollRepContent ::= SEQUENCE OF SEQUENCE { 449 certReqId INTEGER, 450 checkAfter INTEGER, -- time in seconds 451 reason PKIFreeText OPTIONAL } 453 The following clauses describe when polling messages are used, and 454 how they are used. It is assumed that multiple certConf messages can 455 be sent during transactions. There will be one sent in response to 456 each ip, cp, or kup that contains a CertStatus for an issued 457 certificate. 459 1 In response to an ip, cp, or kup message, an EE will send a 460 certConf for all issued certificates and, following the ack, a 461 pollReq for all pending certificates. 463 2 In response to a pollReq, a CA/RA will return an ip, cp, or kup if 464 one or more of the pending certificates is ready; otherwise, it 465 will return a pollRep. 467 3 If the EE receives a pollRep, it will wait for at least as long as 468 the checkAfter value before sending another pollReq. 470 4 If an ip, cp, or kup is received in response to a pollReq, then it 471 will be treated in the same way as the initial response. 473 Note: A p10cr message contains exactly one CertificationRequestInfo 474 data structure as specified in PKCS#10 [RFC2986] but not certificate 475 request number. Therefore, the certReqId MUST be set to 0 in all 476 following messages of this transaction. 478 3.8. Update Appendix B - The Use of Revocation Passphrase 480 Appendix B of RFC 4210 [RFC4210] describes the usage of the 481 revocation passphrase. As this document updates RFC 4210 [RFC4210] 482 to utilize EncryptedKey instead of EncryptedValue as described in 483 Section 3.1 above, the description is updated accordingly. 485 Replace the first bullet point of this section with the following 486 text. 488 o The OID and value specified in Section 5.3.19.9 of RFC 4210 489 [RFC4210] MAY be sent in a GenMsg message at any time, or MAY be 490 sent in the generalInfo field of the PKIHeader of any PKIMessage 491 at any time. (In particular, the EncryptedKey as described in 492 section 5.2.2 may be sent in the header of the certConf message 493 that confirms acceptance of certificates requested in an 494 initialization request or certificate request message.) This 495 conveys a revocation passphrase chosen by the entity (i.e., for 496 use of EnvelopedData this is in the decrypted bytes of 497 encryptedContent of the EnvelopedData structure and for use of 498 EncryptedValue this is in the decrypted bytes of the encValue 499 field) to the relevant CA/RA; furthermore, the transfer is 500 accomplished with appropriate confidentiality characteristics. 502 Replace the third bullet point of this section with the following 503 text. 505 o When using EnvelopedData the unprotectedAttrs and when using 506 EncryptedValue the valueHint field MAY contain a key identifier 507 (chosen by the entity, along with the passphrase itself) to assist 508 in later retrieval of the correct passphrase (e.g., when the 509 revocation request is constructed by the entity and received by 510 the CA/RA). 512 < TBD: The attribute structure containing the key identifier in the 513 unprotectedAttr field could either be pkcs-9-at-friendlyName or pkcs- 514 9-at-localKeyId as specified in RFC 2985 section 5.5 [RFC2985]. Are 515 there preferences for either one? > 517 3.9. Update Appendix C - Request Message Behavioral Clarifications 519 Appendix C of RFC 4210 [RFC4210] provides clarifications to the 520 request message behavior. As this document updates RFC 4210 521 [RFC4210] to utilize EncryptedKey instead of EncryptedValue as 522 described in Section 3.1 above, the description is updated 523 accordingly. 525 Replace the note coming after the ASN.1 syntax of POPOPrivKey of this 526 section with the following text. 528 -- ********** 529 -- * the type of "thisMessage" is given as BIT STRING in RFC 4211 530 -- * [RFC4211]; it should be "EncryptedKey" (in accordance with 531 -- * Section 5.2.2, "Encrypted Values", of this specification). 532 -- * Therefore, this document makes the behavioral clarification of 533 -- * specifying that the contents of "thisMessage" MUST be encoded 534 -- * either as EnvelopedData or EncryptedValue (only for backward 535 -- * compatibility) and then wrapped in a BIT STRING. This allows 536 -- * the necessary conveyance and protection of the private key 537 -- * while maintaining bits-on-the-wire compatibility with RFC 4211 538 -- * [RFC4211]. 539 -- ********** 541 3.10. Update Appendix D.4. - Initial Registration/Certification (Basic 542 Authenticated Scheme) 544 Appendix D.4 of RFC 4210 [RFC4210] provides the initial registration/ 545 certification scheme. This scheme shall continue to use 546 EncryptedValue for backward compatibility reasons. 548 Replace the comment after the privateKey field of 549 crc[1].certifiedKeyPair in the syntax of the Initialization Response 550 message with the following text. 552 -- see Appendix C, Request Message Behavioral Clarifications 553 -- for backward compatibility reasons, use EncryptedValue 555 4. IANA Considerations 557 < TBD: Add any IANA considerations > 559 5. Security Considerations 561 No changes are made to the existing security considerations of 562 RFC 4210 [RFC4210]. 564 6. Acknowledgements 566 Special thank goes to Jim Schaad for his guidance and the inspiration 567 on structuring and writing this document I got from [RFC6402] that 568 updates CMC. 570 I also like to thank all reviewers of this document for their 571 valuable feedback. 573 7. References 575 7.1. Normative References 577 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 578 Requirement Levels", BCP 14, RFC 2119, 579 DOI 10.17487/RFC2119, March 1997, 580 . 582 [RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object 583 Classes and Attribute Types Version 2.0", RFC 2985, 584 DOI 10.17487/RFC2985, November 2000, 585 . 587 [RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification 588 Request Syntax Specification Version 1.7", RFC 2986, 589 DOI 10.17487/RFC2986, November 2000, 590 . 592 [RFC4210] Adams, C., Farrell, S., Kause, T., and T. Mononen, 593 "Internet X.509 Public Key Infrastructure Certificate 594 Management Protocol (CMP)", RFC 4210, 595 DOI 10.17487/RFC4210, September 2005, 596 . 598 [RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure 599 Certificate Request Message Format (CRMF)", RFC 4211, 600 DOI 10.17487/RFC4211, September 2005, 601 . 603 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 604 Housley, R., and W. Polk, "Internet X.509 Public Key 605 Infrastructure Certificate and Certificate Revocation List 606 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, 607 . 609 [RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70, 610 RFC 5652, DOI 10.17487/RFC5652, September 2009, 611 . 613 [RFC6402] Schaad, J., "Certificate Management over CMS (CMC) 614 Updates", RFC 6402, DOI 10.17487/RFC6402, November 2011, 615 . 617 7.2. Informative References 619 [I-D.brockhaus-lamps-lightweight-cmp-profile] 620 Brockhaus, H., Fries, S., and D. Oheimb, "Lightweight CMP 621 Profile", draft-brockhaus-lamps-lightweight-cmp-profile-01 622 (work in progress), November 2019. 624 [RFC5958] Turner, S., "Asymmetric Key Packages", RFC 5958, 625 DOI 10.17487/RFC5958, August 2010, 626 . 628 [RFC6032] Turner, S. and R. Housley, "Cryptographic Message Syntax 629 (CMS) Encrypted Key Package Content Type", RFC 6032, 630 DOI 10.17487/RFC6032, December 2010, 631 . 633 Appendix A. ASN.1 Modules 635 Changes to the following parts are needed 637 o Import from PKCS-9 639 friendlyName, localKeyId 640 FROM PKCS-9 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 641 pkcs-9(9) modules(0) pkcs-9(1)} 643 < TBD: Either friendlyName or localKeyId need to be imported here. > 645 o Import from PKIKXCRMF-2005 647 CertTemplate, PKIPublicationInfo, EncryptedKey, CertId, 648 CertReqMessages 649 FROM PKIXCRMF-2005 {iso(1) identified-organization(3) 650 dod(6) internet(1) security(5) mechanisms(5) pkix(7) 651 id-mod(0) id-mod-crmf2005(36)} 653 o In CertifiedKeyPair, CertOrEncCert and id-it-revPassphrase 654 CertifiedKeyPair ::= SEQUENCE { 655 certOrEncCert CertOrEncCert, 656 privateKey [0] EncryptedKey OPTIONAL, 657 -- see [CRMF] for comment on encoding 658 publicationInfo [1] PKIPublicationInfo OPTIONAL 659 } 661 CertOrEncCert ::= CHOICE { 662 certificate [0] CMPCertificate, 663 encryptedCert [1] EncryptedKey 664 } 666 -- id-it-revPassphrase OBJECT IDENTIFIER ::= {id-it 12} 667 -- RevPassphraseValue ::= EncryptedKey 669 -- 670 -- Extended Key Usage extension for PKI entities used in 671 -- CMP operations 672 -- 674 id-kp-cmpCA OBJECT IDENTIFIER ::= { id-kp 27 } 675 id-kp-cmpRA OBJECT IDENTIFIER ::= { id-kp 28 } 676 id-kp-cmpKGA OBJECT IDENTIFIER ::= { id-kp ... } 678 < TBD: id-kp-cmpKGA to be defined. > 680 < TBD: If needed the complete ASN.1 Module from RFC 4210 section 681 needs to be copied here. > 683 Author's Address 685 Hendrik Brockhaus 686 Siemens AG 687 Otto-Hahn-Ring 6 688 Munich 81739 689 Germany 691 Email: hendrik.brockhaus@siemens.com 692 URI: http://www.siemens.com/