draft-ietf-lamps-cmp-updates-01.txt   draft-ietf-lamps-cmp-updates-02.txt 
LAMPS Working Group H. Brockhaus LAMPS Working Group H. Brockhaus
Internet-Draft Siemens Internet-Draft Siemens
Updates: 4210 (if approved) March 4, 2020 Updates: 4210 (if approved) July 6, 2020
Intended status: Standards Track Intended status: Standards Track
Expires: September 5, 2020 Expires: January 7, 2021
CMP Updates CMP Updates
draft-ietf-lamps-cmp-updates-01 draft-ietf-lamps-cmp-updates-02
Abstract Abstract
This document contains a set of updates to the base syntax of This document contains a set of updates to the base syntax of
Certificate Management Protocol (CMP) version 2. This document Certificate Management Protocol (CMP) version 2. This document
updates RFC 4210. updates RFC 4210.
Specifically, the CMP services updated in this document comprise the Specifically, the CMP services updated in this document comprise the
enabling of using EnvelopedData instead of EncryptedValue and the enabling of using EnvelopedData instead of EncryptedValue and the
definition of extended key usages to identify certificates of CMP definition of extended key usages to identify certificates of CMP
skipping to change at page 1, line 38 skipping to change at page 1, line 38
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 5, 2020. This Internet-Draft will expire on January 7, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. History of changes . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Convention and Terminology . . . . . . . . . . . . . . . 3
2.1. Convention and Terminology . . . . . . . . . . . . . . . 3 2. Updates to RFC 4210 - Certificate Management Protocol (CMP) . 3
3. Updates to RFC 4210 - Certificate Management Protocol (CMP) . 4 2.1. New Section 1.1. - Changes since RFC 4210 . . . . . . . . 3
3.1. New Section 1.1. - Changes since RFC 4210 . . . . . . . . 4 2.2. New Section 4.5 - Extended Key Usage . . . . . . . . . . 4
3.2. New Section 4.5 - Extended Key Usage . . . . . . . . . . 5 2.3. Replace Section 5.1.3.4 - Multiple Protection . . . . . . 6
3.3. Replace Section 5.1.3.4 - Multiple Protection . . . . . . 7 2.4. Replace Section 5.2.2. - Encrypted Values . . . . . . . . 7
3.4. Replace Section 5.2.2. - Encrypted Values . . . . . . . . 8 2.5. Update Section 5.3.4. - Certification Response . . . . . 8
3.5. Update Section 5.3.4. - Certification Response . . . . . 9 2.6. Replace Section 5.3.19.9. - Revocation Passphrase . . . . 9
3.6. Replace Section 5.3.19.9. - Revocation Passphrase . . . . 10 2.7. Update Section 5.3.22 - Polling Request and Response . . 9
3.7. Update Section 5.3.22 - Polling Request and Response . . 10 2.8. Update Appendix B - The Use of Revocation Passphrase . . 10
3.8. Update Appendix B - The Use of Revocation Passphrase . . 11 2.9. Update Appendix C - Request Message Behavioral
3.9. Update Appendix C - Request Message Behavioral Clarifications . . . . . . . . . . . . . . . . . . . . . 11
Clarifications . . . . . . . . . . . . . . . . . . . . . 12 2.10. Update Appendix D.4. - Initial Registration/Certification
3.10. Update Appendix D.4. - Initial Registration/Certification (Basic Authenticated Scheme) . . . . . . . . . . . . . . 12
(Basic Authenticated Scheme) . . . . . . . . . . . . . . 13 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 4. Security Considerations . . . . . . . . . . . . . . . . . . . 12
5. Security Considerations . . . . . . . . . . . . . . . . . . . 13 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.1. Normative References . . . . . . . . . . . . . . . . . . 12
7.1. Normative References . . . . . . . . . . . . . . . . . . 14 6.2. Informative References . . . . . . . . . . . . . . . . . 13
7.2. Informative References . . . . . . . . . . . . . . . . . 15 Appendix A. ASN.1 Modules . . . . . . . . . . . . . . . . . . . 14
Appendix A. ASN.1 Modules . . . . . . . . . . . . . . . . . . . 15 Appendix B. History of changes . . . . . . . . . . . . . . . . . 15
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 16 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 16
1. History of changes 1. Introduction
From version 00 -> 01:
o Minor changes in wording
From draft-brockhaus-lamps-cmp-updates-03 -> draft-ietf-lamps-cmp-
updates-00:
o Changes required to reflect WG adoption
From version 02 -> 03:
o Added some clarification in Section 3.1
From version 01 -> 02:
o Added clarification to section on multiple protection
o Added clarification on new EKUs after some exchange with Tomas
Gustavsson
o Reused OIDs from RFC 6402 [RFC6402] as suggested by Sean Turner at
IETF 106
o Added clarification on the field containing the key identifier for
a revocation passphrase
o Minor changes in wording
From version 00 -> 01:
o Added a section describing the new extended key usages
o Completed the section on changes to the specification of encrypted
values
o Added a section on clarification to Appendix D.4
o Minor generalization in RFC 4210 [RFC4210] Sections 5.1.3.4 and
5.3.22
o Minor changes in wording
2. Introduction
While using CMP [RFC4210] in industrial and IoT environments and While using CMP [RFC4210] in industrial and IoT environments and
developing the Lightweight CMP Profile developing the Lightweight CMP Profile
[I-D.ietf-lamps-lightweight-cmp-profile] some limitations were [I-D.ietf-lamps-lightweight-cmp-profile] some limitations were
identified in the original CMP specification. This document updates identified in the original CMP specification. This document updates
RFC 4210 [RFC4210] to overcome these limitations. RFC 4210 [RFC4210] to overcome these limitations.
In general, this document aims to improve the crypto agility of CMP In general, this document aims to improve the crypto agility of CMP
to be flexible to react on future advances in cryptography. to be flexible to react on future advances in cryptography.
This document also introduces new extended key usages to identify CMP This document also introduces new extended key usages to identify CMP
endpoints on registration and certification authorities. endpoints on registration and certification authorities.
2.1. Convention and Terminology 1.1. Convention and Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
In this document, these words will appear with that interpretation In this document, these words will appear with that interpretation
only when in ALL CAPS. Lower case uses of these words are not to be only when in ALL CAPS. Lower case uses of these words are not to be
interpreted as carrying significance described in RFC 2119. interpreted as carrying significance described in RFC 2119.
Technical terminology is used in conformance with RFC 4210 [RFC4210], Technical terminology is used in conformance with RFC 4210 [RFC4210],
skipping to change at page 4, line 26 skipping to change at page 3, line 32
CA delegates certificate management functions such as CA delegates certificate management functions such as
authorization checks. authorization checks.
KGA: Key generation authority, which generates key pairs on behalf of KGA: Key generation authority, which generates key pairs on behalf of
an EE. The KGA could be co-located with an RA or a CA. an EE. The KGA could be co-located with an RA or a CA.
EE: End entity, a user, device, or service that holds a PKI EE: End entity, a user, device, or service that holds a PKI
certificate. An identifier for the EE is given as its subject certificate. An identifier for the EE is given as its subject
of the certificate. of the certificate.
3. Updates to RFC 4210 - Certificate Management Protocol (CMP) 2. Updates to RFC 4210 - Certificate Management Protocol (CMP)
3.1. New Section 1.1. - Changes since RFC 4210 2.1. New Section 1.1. - Changes since RFC 4210
The following subsection describes feature updates to RFC 4210 The following subsection describes feature updates to RFC 4210
[RFC4210]. They are always related to the base specification. Hence [RFC4210]. They are always related to the base specification. Hence
references to the original sections in RFC 4210 [RFC4210] are used references to the original sections in RFC 4210 [RFC4210] are used
whenever possible. whenever possible.
Insert this section at the end of the current Section 1. Insert this section at the end of the current Section 1.
1.1 Changes since RFC 4210 1.1 Changes since RFC 4210
skipping to change at page 5, line 15 skipping to change at page 4, line 22
EnvelopedData structure. RFC 4211 [RFC4211] offers the EnvelopedData structure. RFC 4211 [RFC4211] offers the
EncryptedKey structure, a choice of EncryptedValue and EncryptedKey structure, a choice of EncryptedValue and
EnvelopedData for migration to EnvelopedData. For reasons of EnvelopedData for migration to EnvelopedData. For reasons of
completeness and consistency the exchange of EncryptedValue is completeness and consistency the exchange of EncryptedValue is
performed for all usages in RFC 4210 [RFC4210]. This includes the performed for all usages in RFC 4210 [RFC4210]. This includes the
protection of centrally generated private keys, encryption of protection of centrally generated private keys, encryption of
certificates, and revocation passphrases. certificates, and revocation passphrases.
o Extend the usage of polling also to p10cr messages. o Extend the usage of polling also to p10cr messages.
3.2. New Section 4.5 - Extended Key Usage 2.2. New Section 4.5 - Extended Key Usage
The following subsection describes new extended key usages for The following subsection describes new extended key usages for
different CMP server typesspecitied in RFC 4210 [RFC4210]. different CMP server typesspecitied in RFC 4210 [RFC4210].
Insert this section at the end of the current Section 4. Insert this section at the end of the current Section 4.
4.5 Extended Key Usage 4.5 Extended Key Usage
The Extended Key Usage (EKU) extension indicates the purposes for The Extended Key Usage (EKU) extension indicates the purposes for
which the certified public key may be used. It therefore restricts which the certified public key may be used. It therefore restricts
skipping to change at page 5, line 43 skipping to change at page 4, line 50
To offer automatic validation means for the delegation of a role by a To offer automatic validation means for the delegation of a role by a
CA, the certificates used by PKI management entities for CMP message CA, the certificates used by PKI management entities for CMP message
protection or signed data for central key generation MUST be issued protection or signed data for central key generation MUST be issued
by the delegating CA and MUST contain the respective EKUs. This by the delegating CA and MUST contain the respective EKUs. This
proves the authorization of this entity by the delegating CA to act proves the authorization of this entity by the delegating CA to act
as the PKI management entity as described below. as the PKI management entity as described below.
The ASN.1 to define these EKUs is: The ASN.1 to define these EKUs is:
id-kp-cmpCA OBJECT IDENTIFIER ::= { id-kp 27 } id-kp-cmcCA OBJECT IDENTIFIER ::= { id-kp 27 }
id-kp-cmpRA OBJECT IDENTIFIER ::= { id-kp 28 } id-kp-cmcRA OBJECT IDENTIFIER ::= { id-kp 28 }
id-kp-cmpKGA OBJECT IDENTIFIER ::= { id-kp ... } id-kp-cmKGA OBJECT IDENTIFIER ::= { id-kp ... }
< TBD: id-kp-cmKGA to be defined. >
< TBD: id-kp-cmpKGA to be defined. >
Note: RFC 6402 section 2.10 [RFC6402] specifies OIDs for a CMC CA and Note: RFC 6402 section 2.10 [RFC6402] specifies OIDs for a CMC CA and
a CMC RA. As the functionality of a CA and RA is not specific to a CMC RA. As the functionality of a CA and RA is not specific to
whether use CMC or CMP as certificate management protocol, the same whether use CMC or CMP as certificate management protocol, the same
OIDs SHALL be used for a cmpCA and a cmpRA. OIDs SHALL be used for a CMP CA and a CMP RA.
< TBD: It needs to be clarified, if the Name and Description of the < TBD: The Description of the OIDs needs to be extended to avoid
OIDs can be adapted or extended to avoid confusion as they currently confusion as they currently only refer to CMC endpoints. >
only refer to CMC endpoints. >
The description of the PKI management entity for each of the EKUs is The description of the PKI management entity for each of the EKUs is
as follows: as follows:
cmpCA: CMP Certification Authorities are CMP endpoints on CA CMP CA: CMP Certification Authorities are CMP endpoints on CA
equipment as described in section 3.1.1.2. The key used in equipment as described in section 3.1.1.2. The key used in
the context of CMP management operations, especially CMP the context of CMP management operations, especially CMP
message protection, need not be the same key that signs the message protection, need not be the same key that signs the
certificates. It is necessary, however, to ensure that the certificates. It is necessary, however, to ensure that the
entity acting as cmpCA is authorized to do so. Therefore, entity acting as CMP CA is authorized to do so. Therefore,
the cmpCA MUST do one of the following, the CMP CA MUST do one of the following,
* use the CA private key on the CMP endpoint, or * use the CA private key on the CMP endpoint, or
* explicitly designate this authority to another entity. * explicitly designate this authority to another entity.
For automatic validation of such delegation it MUST be For automatic validation of such delegation it MUST be
indicated by the id-kp-cmpCA extended key usage. This indicated by the id-kp-cmcCA extended key usage. This
extended key usage MUST be placed into the certificate used extended key usage MUST be placed into the certificate used
on the CA equipment and the CA that delegates this role MUST on the CA equipment and the CA that delegates this role MUST
issue the cmpCA certificate. issue the CMP CA certificate.
Note: Using a separate key pair for protecting CMP management Note: Using a separate key pair for protecting CMP
operations at the CA decreases the number of operations of management operations at the CA decreases the number of
the private key used to sign certificates. operations of the private key used to sign certificates.
cmpRA: CMP Registration Authorities are CMP endpoints on RA CMP RA: CMP Registration Authorities are CMP endpoints on RA
equipment as described in Section 3.1.1.3. A cmpRA is equipment as described in Section 3.1.1.3. A CMP RA is
identified by the id-kp-cmpRA extended key usage. This identified by the id-kp-cmcRA extended key usage. This
extended key usage is placed into RA certificates. The CA extended key usage is placed into RA certificates. The CA
that delegated this role is identified by the CA that issued that delegated this role is identified by the CA that issued
the cmpRA certificate. the CMP RA certificate.
cmpKGA: CMP Key Generation Authorities are identified by the id-kp- CMP KGA: CMP Key Generation Authorities are identified by the id-kp-
cmpKGA extended key usage. Though the cmpKGA knows the cmKGA extended key usage. Though the CMP KGA knows the
private key it generated on behalf of the end entity. This private key it generated on behalf of the end entity. This
is a very sensible service and needs specific authorization. is a very sensible service and needs specific authorization.
This authorization is either with the CA certificate itself, This authorization is either with the CA certificate itself,
or indicated by placing the id-kp-cmpKGA extended key usage or indicated by placing the id-kp-cmKGA extended key usage
into the cmpRA or cmpCA certificate used to authenticate the into the CMP RA or CMP CA certificate used to authenticate
origin of the private key, and to express the authorization the origin of the private key, and to express the
to offer this service. authorization to offer this service.
Note: In device PKIs, especially those issuing IDevID certificates, Note: In device PKIs, especially those issuing IDevID certificates,
CA may have very long validity (including the GeneralizedTime value CA may have very long validity (including the GeneralizedTime value
99991231235959Z to indicate a not well-defined expiration date as 99991231235959Z to indicate a not well-defined expiration date as
specified in IEEE 802.1AR Section 8.5 [IEEE802.1AR] and RFC 5280 specified in IEEE 802.1AR Section 8.5 [IEEE802.1AR] and RFC 5280
Section 4.1.2.5 [RFC5280]). Such validity periods SHOULD NOT be used Section 4.1.2.5 [RFC5280]). Such validity periods SHOULD NOT be used
for protection of CMP messages. Certificates for delegated CMP for protection of CMP messages. Certificates for delegated CMP
message protection (cmpCA, cmpRA, cmpKGA) MUST NOT use indefinite message protection (CMP CA, CMP RA, CMP KGA) MUST NOT use indefinite
expiration date. expiration date.
3.3. Replace Section 5.1.3.4 - Multiple Protection 2.3. Replace Section 5.1.3.4 - Multiple Protection
Section 5.1.3.4 of RFC 4210 [RFC4210] describes the nested message. Section 5.1.3.4 of RFC 4210 [RFC4210] describes the nested message.
This document opens the usage of nested messages also for batch This document opens the usage of nested messages also for batch
transport of PKI messages between different PKI management entities. transport of PKI messages between different PKI management entities.
Replace the text of the section with the following text. Replace the text of the section with the following text.
In cases where an end entity sends a protected PKI message to an RA, In cases where an end entity sends a protected PKI message to an RA,
the RA MAY forward that message to a CA, adding its own protection the RA MAY forward that message to a CA, adding its own protection
(which MAY be a MAC or a signature, depending on the information and (which MAY be a MAC or a signature, depending on the information and
skipping to change at page 8, line 14 skipping to change at page 7, line 16
These use cases are accomplished by nesting the messages sent by the These use cases are accomplished by nesting the messages sent by the
PKI entity within a new PKI message. The structure used is as PKI entity within a new PKI message. The structure used is as
follows. follows.
NestedMessageContent ::= PKIMessages NestedMessageContent ::= PKIMessages
(The use of PKIMessages, a SEQUENCE OF PKIMessage, lets the RA batch (The use of PKIMessages, a SEQUENCE OF PKIMessage, lets the RA batch
the requests of several EEs in a single new message.) the requests of several EEs in a single new message.)
3.4. Replace Section 5.2.2. - Encrypted Values 2.4. Replace Section 5.2.2. - Encrypted Values
Section 5.2.2 of RFC 4210 [RFC4210] describes the usage of Section 5.2.2 of RFC 4210 [RFC4210] describes the usage of
EncryptedValue to transport encrypted data. This document extends EncryptedValue to transport encrypted data. This document extends
the encryption of data to preferably use EnvelopedData. the encryption of data to preferably use EnvelopedData.
Replace the text of the section with the following text. Replace the text of the section with the following text.
Where encrypted data (restricted, in this specification, to be either Where encrypted data (restricted, in this specification, to be either
private keys, certificates, or passwords) are sent in PKI messages, private keys, certificates, or passwords) are sent in PKI messages,
the EncryptedKey data structure is used. the EncryptedKey data structure is used.
skipping to change at page 9, line 14 skipping to change at page 8, line 17
Note: When transferring a centrally generated private key in a Note: When transferring a centrally generated private key in a
certificate response message to the EE, the algorithm identifier and certificate response message to the EE, the algorithm identifier and
the associated public key will anyhow be transported in this response the associated public key will anyhow be transported in this response
message. Therefore, the private key will not be delivered in a key message. Therefore, the private key will not be delivered in a key
package structure as specified in [RFC5958] and [RFC6032]. But the package structure as specified in [RFC5958] and [RFC6032]. But the
wrapping of the private key in a SignedData structure that is wrapped wrapping of the private key in a SignedData structure that is wrapped
in the EnvelopedData structure as specified in [RFC6032] is applied. in the EnvelopedData structure as specified in [RFC6032] is applied.
The content of the EnvelopedData structure, as specified in CMS The content of the EnvelopedData structure, as specified in CMS
section 3 [RFC5652], MUST be encrypted using a newly generated section 6 [RFC5652], MUST be encrypted using a newly generated
symmetric content-encryption key. This content-encryption key MUST symmetric content-encryption key. This content-encryption key MUST
be securely provided to the recipient using one of three key be securely provided to the recipient using one of three key
management techniques. management techniques.
The choice of the key management technique to be used by the sender The choice of the key management technique to be used by the sender
depends on the credential available for the recipient: depends on the credential available for the recipient:
o Jointly shared secret: The content-encryption key will be o Jointly shared secret: The content-encryption key will be
protected using the symmetric key-encryption key management protected using the password-based key management technique, as
technique, as specified in CMS section 5.2.3 [RFC5652]. specified in CMS section 6.2.4 [RFC5652].
o Recipient's certificate that contains a key usage extension o Recipient's certificate that contains a key usage extension
asserting keyAgreement: The content-encryption key will be asserting keyAgreement: The content-encryption key will be
protected using the key agreement key management technique, as protected using the key agreement key management technique, as
specified in CMS section 5.2.2 [RFC5652]. specified in CMS section 6.2.2 [RFC5652].
o Recipient's certificate that contains a key usage extension o Recipient's certificate that contains a key usage extension
asserting keyEncipherment: The content-encryption key will be asserting keyEncipherment: The content-encryption key will be
protected using the key transport key management technique, as protected using the key transport key management technique, as
specified in CMS section 5.2.1 [RFC5652]. specified in CMS section 6.2.1 [RFC5652].
3.5. Update Section 5.3.4. - Certification Response 2.5. Update Section 5.3.4. - Certification Response
Section 5.3.4 of RFC 4210 [RFC4210] describes the Certification Section 5.3.4 of RFC 4210 [RFC4210] describes the Certification
Response. This document updates the syntax by using the parent Response. This document updates the syntax by using the parent
structure EncryptedKey instead of EncryptedValue as described in structure EncryptedKey instead of EncryptedValue as described in
Section 3.1 above. Section 2.1 above.
Replace the ASN.1 syntax of CertifiedKeyPair and CertOrEncCert with Replace the ASN.1 syntax of CertifiedKeyPair and CertOrEncCert with
the following text. the following text.
CertifiedKeyPair ::= SEQUENCE { CertifiedKeyPair ::= SEQUENCE {
certOrEncCert CertOrEncCert, certOrEncCert CertOrEncCert,
privateKey [0] EncryptedKey OPTIONAL, privateKey [0] EncryptedKey OPTIONAL,
-- see [CRMF] for comment on encoding -- see [CRMF] for comment on encoding
publicationInfo [1] PKIPublicationInfo OPTIONAL publicationInfo [1] PKIPublicationInfo OPTIONAL
} }
CertOrEncCert ::= CHOICE { CertOrEncCert ::= CHOICE {
certificate [0] Certificate, certificate [0] Certificate,
encryptedCert [1] EncryptedKey encryptedCert [1] EncryptedKey
} }
Add the following paragraphs to the end of the section. Add the following paragraphs to the end of the section.
The use of EncryptedKey is described in section 5.2.2. The use of EncryptedKey is described in section 5.2.2.
3.6. Replace Section 5.3.19.9. - Revocation Passphrase 2.6. Replace Section 5.3.19.9. - Revocation Passphrase
Section 5.3.19.9 of RFC 4210 [RFC4210] describes the provisioning of Section 5.3.19.9 of RFC 4210 [RFC4210] describes the provisioning of
a revocation passphrase for authenticating a later revocation a revocation passphrase for authenticating a later revocation
request. This document updates the handling by using the parent request. This document updates the handling by using the parent
structure EncryptedKey instead of EncryptedValue to transport this structure EncryptedKey instead of EncryptedValue to transport this
information as described in Section 3.1 above. information as described in Section 2.1 above.
Replace the text of the section with the following text. Replace the text of the section with the following text.
This MAY be used by the EE to send a passphrase to a CA/RA for the This MAY be used by the EE to send a passphrase to a CA/RA for the
purpose of authenticating a later revocation request (in the case purpose of authenticating a later revocation request (in the case
that the appropriate signing private key is no longer available to that the appropriate signing private key is no longer available to
authenticate the request). See Appendix B for further details on the authenticate the request). See Appendix B for further details on the
use of this mechanism. use of this mechanism.
GenMsg: {id-it 12}, EncryptedKey GenMsg: {id-it 12}, EncryptedKey
GenRep: {id-it 12}, < absent > GenRep: {id-it 12}, < absent >
The use of EncryptedKey is described in section 5.2.2. The use of EncryptedKey is described in section 5.2.2.
3.7. Update Section 5.3.22 - Polling Request and Response 2.7. Update Section 5.3.22 - Polling Request and Response
Section 5.3.22 of RFC 4210 [RFC4210] describes when and how polling Section 5.3.22 of RFC 4210 [RFC4210] describes when and how polling
messages are used. This document adds the polling mechanism also to messages are used. This document adds the polling mechanism also to
outstanding p10cr transactions. outstanding p10cr transactions.
Replace all paragraphs in front of the state machine diagram with the Replace all paragraphs in front of the state machine diagram with the
following text. following text.
This pair of messages is intended to handle scenarios in which the This pair of messages is intended to handle scenarios in which the
client needs to poll the server in order to determine the status of client needs to poll the server in order to determine the status of
skipping to change at page 11, line 40 skipping to change at page 10, line 40
the checkAfter value before sending another pollReq. the checkAfter value before sending another pollReq.
4 If an ip, cp, or kup is received in response to a pollReq, then it 4 If an ip, cp, or kup is received in response to a pollReq, then it
will be treated in the same way as the initial response. will be treated in the same way as the initial response.
Note: A p10cr message contains exactly one CertificationRequestInfo Note: A p10cr message contains exactly one CertificationRequestInfo
data structure as specified in PKCS#10 [RFC2986] but no certificate data structure as specified in PKCS#10 [RFC2986] but no certificate
request number. Therefore, the certReqId MUST be set to 0 in all request number. Therefore, the certReqId MUST be set to 0 in all
following messages of this transaction. following messages of this transaction.
3.8. Update Appendix B - The Use of Revocation Passphrase 2.8. Update Appendix B - The Use of Revocation Passphrase
Appendix B of RFC 4210 [RFC4210] describes the usage of the Appendix B of RFC 4210 [RFC4210] describes the usage of the
revocation passphrase. As this document updates RFC 4210 [RFC4210] revocation passphrase. As this document updates RFC 4210 [RFC4210]
to utilize the parent structure EncryptedKey instead of to utilize the parent structure EncryptedKey instead of
EncryptedValue as described in Section 3.1 above, the description is EncryptedValue as described in Section 2.1 above, the description is
updated accordingly. updated accordingly.
Replace the first bullet point of this section with the following Replace the first bullet point of this section with the following
text. text.
o The OID and value specified in Section 5.3.19.9 of RFC 4210 o The OID and value specified in Section 5.3.19.9 of RFC 4210
[RFC4210] MAY be sent in a GenMsg message at any time, or MAY be [RFC4210] MAY be sent in a GenMsg message at any time, or MAY be
sent in the generalInfo field of the PKIHeader of any PKIMessage sent in the generalInfo field of the PKIHeader of any PKIMessage
at any time. (In particular, the EncryptedKey as described in at any time. (In particular, the EncryptedKey as described in
section 5.2.2 may be sent in the header of the certConf message section 5.2.2 may be sent in the header of the certConf message
skipping to change at page 12, line 22 skipping to change at page 11, line 22
conveys a revocation passphrase chosen by the entity (i.e., for conveys a revocation passphrase chosen by the entity (i.e., for
use of EnvelopedData this is in the decrypted bytes of use of EnvelopedData this is in the decrypted bytes of
encryptedContent field and for use of EncryptedValue this is in encryptedContent field and for use of EncryptedValue this is in
the decrypted bytes of the encValue field) to the relevant CA/RA; the decrypted bytes of the encValue field) to the relevant CA/RA;
furthermore, the transfer is accomplished with appropriate furthermore, the transfer is accomplished with appropriate
confidentiality characteristics. confidentiality characteristics.
Replace the third bullet point of this section with the following Replace the third bullet point of this section with the following
text. text.
o When using EnvelopedData the unprotectedAttrs and when using o When using EnvelopedData the localKeyId attribute as specified in
EncryptedValue the valueHint field MAY contain a key identifier RFC 2985 [RFC2985] and when using EncryptedValue the valueHint
(chosen by the entity, along with the passphrase itself) to assist field MAY contain a key identifier (chosen by the entity, along
in later retrieval of the correct passphrase (e.g., when the with the passphrase itself) to assist in later retrieval of the
revocation request is constructed by the entity and received by correct passphrase (e.g., when the revocation request is
the CA/RA). constructed by the entity and received by the CA/RA).
< TBD: The attribute structure containing the key identifier in the
unprotectedAttr field could either be pkcs-9-at-friendlyName or pkcs-
9-at-localKeyId as specified in RFC 2985 section 5.5 [RFC2985]. Are
there preferences for either one? >
3.9. Update Appendix C - Request Message Behavioral Clarifications 2.9. Update Appendix C - Request Message Behavioral Clarifications
Appendix C of RFC 4210 [RFC4210] provides clarifications to the Appendix C of RFC 4210 [RFC4210] provides clarifications to the
request message behavior. As this document updates RFC 4210 request message behavior. As this document updates RFC 4210
[RFC4210] to utilize the parent structure EncryptedKey instead of [RFC4210] to utilize the parent structure EncryptedKey instead of
EncryptedValue as described in Section 3.1 above, the description is EncryptedValue as described in Section 2.1 above, the description is
updated accordingly. updated accordingly.
Replace the note coming after the ASN.1 syntax of POPOPrivKey of this Replace the note coming after the ASN.1 syntax of POPOPrivKey of this
section with the following text. section with the following text.
-- ********** -- **********
-- * the type of "thisMessage" is given as BIT STRING in RFC 4211 -- * the type of "thisMessage" is given as BIT STRING in RFC 4211
-- * [RFC4211]; it should be "EncryptedKey" (in accordance with -- * [RFC4211]; it should be "EncryptedKey" (in accordance with
-- * Section 5.2.2 of this specification). Therefore, this document -- * Section 5.2.2 of this specification). Therefore, this document
-- * makes the behavioral clarification of specifying that the -- * makes the behavioral clarification of specifying that the
-- * contents of "thisMessage" MUST be encoded either as -- * contents of "thisMessage" MUST be encoded either as
-- * "EnvelopedData" or "EncryptedValue" (only for backward -- * "EnvelopedData" or "EncryptedValue" (only for backward
-- * compatibility) and then wrapped in a BIT STRING. This allows -- * compatibility) and then wrapped in a BIT STRING. This allows
-- * the necessary conveyance and protection of the private key -- * the necessary conveyance and protection of the private key
-- * while maintaining bits-on-the-wire compatibility with RFC 4211 -- * while maintaining bits-on-the-wire compatibility with RFC 4211
-- * [RFC4211]. -- * [RFC4211].
-- ********** -- **********
3.10. Update Appendix D.4. - Initial Registration/Certification (Basic 2.10. Update Appendix D.4. - Initial Registration/Certification (Basic
Authenticated Scheme) Authenticated Scheme)
Appendix D.4 of RFC 4210 [RFC4210] provides the initial registration/ Appendix D.4 of RFC 4210 [RFC4210] provides the initial registration/
certification scheme. This scheme shall continue to use certification scheme. This scheme shall continue to use
EncryptedValue for backward compatibility reasons. EncryptedValue for backward compatibility reasons.
Replace the comment after the privateKey field of Replace the comment after the privateKey field of
crc[1].certifiedKeyPair in the syntax of the Initialization Response crc[1].certifiedKeyPair in the syntax of the Initialization Response
message with the following text. message with the following text.
-- see Appendix C, Request Message Behavioral Clarifications -- see Appendix C, Request Message Behavioral Clarifications
-- for backward compatibility reasons, use EncryptedValue -- for backward compatibility reasons, use EncryptedValue
4. IANA Considerations 3. IANA Considerations
< TBD: Add any IANA considerations > < TBD: A new OID for id-kp-cmKGA needs to be requested. >
5. Security Considerations < TBD: The existing description and information of id-kp-cmcRA and
id-kp-cmcCA need to be updated to reflect their extended usage. >
4. Security Considerations
No changes are made to the existing security considerations of No changes are made to the existing security considerations of
RFC 4210 [RFC4210]. RFC 4210 [RFC4210].
6. Acknowledgements 5. Acknowledgements
Special thank goes to Jim Schaad for his guidance and the inspiration Special thank goes to Jim Schaad for his guidance and the inspiration
on structuring and writing this document I got from [RFC6402] that on structuring and writing this document I got from [RFC6402] that
updates CMC. updates CMC.
I also like to thank all reviewers of this document for their I also like to thank all reviewers of this document for their
valuable feedback. valuable feedback.
7. References 6. References
7.1. Normative References 6.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object [RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object
Classes and Attribute Types Version 2.0", RFC 2985, Classes and Attribute Types Version 2.0", RFC 2985,
DOI 10.17487/RFC2985, November 2000, DOI 10.17487/RFC2985, November 2000,
<https://www.rfc-editor.org/info/rfc2985>. <https://www.rfc-editor.org/info/rfc2985>.
skipping to change at page 15, line 5 skipping to change at page 13, line 35
<https://www.rfc-editor.org/info/rfc5280>. <https://www.rfc-editor.org/info/rfc5280>.
[RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70, [RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70,
RFC 5652, DOI 10.17487/RFC5652, September 2009, RFC 5652, DOI 10.17487/RFC5652, September 2009,
<https://www.rfc-editor.org/info/rfc5652>. <https://www.rfc-editor.org/info/rfc5652>.
[RFC6402] Schaad, J., "Certificate Management over CMS (CMC) [RFC6402] Schaad, J., "Certificate Management over CMS (CMC)
Updates", RFC 6402, DOI 10.17487/RFC6402, November 2011, Updates", RFC 6402, DOI 10.17487/RFC6402, November 2011,
<https://www.rfc-editor.org/info/rfc6402>. <https://www.rfc-editor.org/info/rfc6402>.
7.2. Informative References 6.2. Informative References
[I-D.ietf-lamps-lightweight-cmp-profile] [I-D.ietf-lamps-lightweight-cmp-profile]
Brockhaus, H., Fries, S., and D. Oheimb, "Lightweight CMP Brockhaus, H., Fries, S., and D. Oheimb, "Lightweight CMP
Profile", draft-ietf-lamps-lightweight-cmp-profile-00 Profile", draft-ietf-lamps-lightweight-cmp-profile-01
(work in progress), February 2020. (work in progress), March 2020.
[RFC5958] Turner, S., "Asymmetric Key Packages", RFC 5958, [RFC5958] Turner, S., "Asymmetric Key Packages", RFC 5958,
DOI 10.17487/RFC5958, August 2010, DOI 10.17487/RFC5958, August 2010,
<https://www.rfc-editor.org/info/rfc5958>. <https://www.rfc-editor.org/info/rfc5958>.
[RFC6032] Turner, S. and R. Housley, "Cryptographic Message Syntax [RFC6032] Turner, S. and R. Housley, "Cryptographic Message Syntax
(CMS) Encrypted Key Package Content Type", RFC 6032, (CMS) Encrypted Key Package Content Type", RFC 6032,
DOI 10.17487/RFC6032, December 2010, DOI 10.17487/RFC6032, December 2010,
<https://www.rfc-editor.org/info/rfc6032>. <https://www.rfc-editor.org/info/rfc6032>.
Appendix A. ASN.1 Modules Appendix A. ASN.1 Modules
Changes to the following parts are needed Changes to the following parts are needed
o Import from PKCS-9 o Import from PKCS-9
friendlyName, localKeyId localKeyId
FROM PKCS-9 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) FROM PKCS-9 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
pkcs-9(9) modules(0) pkcs-9(1)} pkcs-9(9) modules(0) pkcs-9(1)}
< TBD: Either friendlyName or localKeyId need to be imported here. >
o Import from PKIKXCRMF-2005 o Import from PKIKXCRMF-2005
CertTemplate, PKIPublicationInfo, EncryptedKey, CertId, CertTemplate, PKIPublicationInfo, EncryptedKey, EncryptedValue,
CertReqMessages CertId, CertReqMessages
FROM PKIXCRMF-2005 {iso(1) identified-organization(3) FROM PKIXCRMF-2005 {iso(1) identified-organization(3)
dod(6) internet(1) security(5) mechanisms(5) pkix(7) dod(6) internet(1) security(5) mechanisms(5) pkix(7)
id-mod(0) id-mod-crmf2005(36)} id-mod(0) id-mod-crmf2005(36)}
o Import from CryptographicMessageSyntax2004
EnvelopedData, SignedData
FROM CryptographicMessageSyntax2004 { iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
modules(0) cms-2004(24) }
o In CertifiedKeyPair, CertOrEncCert and id-it-revPassphrase o In CertifiedKeyPair, CertOrEncCert and id-it-revPassphrase
CertifiedKeyPair ::= SEQUENCE { CertifiedKeyPair ::= SEQUENCE {
certOrEncCert CertOrEncCert, certOrEncCert CertOrEncCert,
privateKey [0] EncryptedKey OPTIONAL, privateKey [0] EncryptedKey OPTIONAL,
-- see [CRMF] for comment on encoding -- see [CRMF] for comment on encoding
publicationInfo [1] PKIPublicationInfo OPTIONAL publicationInfo [1] PKIPublicationInfo OPTIONAL
} }
CertOrEncCert ::= CHOICE { CertOrEncCert ::= CHOICE {
certificate [0] CMPCertificate, certificate [0] CMPCertificate,
skipping to change at page 16, line 24 skipping to change at page 15, line 24
} }
-- id-it-revPassphrase OBJECT IDENTIFIER ::= {id-it 12} -- id-it-revPassphrase OBJECT IDENTIFIER ::= {id-it 12}
-- RevPassphraseValue ::= EncryptedKey -- RevPassphraseValue ::= EncryptedKey
-- --
-- Extended Key Usage extension for PKI entities used in -- Extended Key Usage extension for PKI entities used in
-- CMP operations -- CMP operations
-- --
id-kp-cmpCA OBJECT IDENTIFIER ::= { id-kp 27 } id-kp-cmcCA OBJECT IDENTIFIER ::= { id-kp 27 }
id-kp-cmpRA OBJECT IDENTIFIER ::= { id-kp 28 } id-kp-cmcRA OBJECT IDENTIFIER ::= { id-kp 28 }
id-kp-cmpKGA OBJECT IDENTIFIER ::= { id-kp ... } id-kp-cmKGA OBJECT IDENTIFIER ::= { id-kp ... }
< TBD: id-kp-cmpKGA to be defined. > < TBD: id-kp-cmKGA to be defined. >
< TBD: If needed the complete ASN.1 Module from RFC 4210 section < TBD: If needed the complete ASN.1 Module from RFC 4210 section
needs to be copied here. > needs to be copied here. >
Appendix B. History of changes
From version 01 -> 02:
o Updated section on EKU OIDs in Section 2.2 as decided in IETF 107
o Changed from symmetric key-encryption to password-based key
management technique in Section 2.4 as discussed with Russ and Jim
on the mailing list
o Defined the attribute containing the key identifier for the
revocation passphrase in Section 2.8
o Moved the change history to the Appendix
From version 00 -> 01:
o Minor changes in wording
From draft-brockhaus-lamps-cmp-updates-03 -> draft-ietf-lamps-cmp-
updates-00:
o Changes required to reflect WG adoption
From version 02 -> 03:
o Added some clarification in Section 2.1
From version 01 -> 02:
o Added clarification to section on multiple protection
o Added clarification on new EKUs after some exchange with Tomas
Gustavsson
o Reused OIDs from RFC 6402 [RFC6402] as suggested by Sean Turner at
IETF 106
o Added clarification on the field containing the key identifier for
a revocation passphrase
o Minor changes in wording
From version 00 -> 01:
o Added a section describing the new extended key usages
o Completed the section on changes to the specification of encrypted
values
o Added a section on clarification to Appendix D.4
o Minor generalization in RFC 4210 [RFC4210] Sections 5.1.3.4 and
5.3.22
o Minor changes in wording
Author's Address Author's Address
Hendrik Brockhaus Hendrik Brockhaus
Siemens AG Siemens AG
Otto-Hahn-Ring 6
Munich 81739
Germany
Email: hendrik.brockhaus@siemens.com Email: hendrik.brockhaus@siemens.com
URI: http://www.siemens.com/
 End of changes. 55 change blocks. 
167 lines changed or deleted 177 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/