draft-ietf-lamps-cmp-updates-00.txt | draft-ietf-lamps-cmp-updates-01.txt | |||
---|---|---|---|---|
LAMPS Working Group H. Brockhaus | LAMPS Working Group H. Brockhaus | |||
Internet-Draft Siemens | Internet-Draft Siemens | |||
Updates: 4210 (if approved) February 16, 2020 | Updates: 4210 (if approved) March 4, 2020 | |||
Intended status: Standards Track | Intended status: Standards Track | |||
Expires: August 19, 2020 | Expires: September 5, 2020 | |||
CMP Updates | CMP Updates | |||
draft-ietf-lamps-cmp-updates-00 | draft-ietf-lamps-cmp-updates-01 | |||
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 August 19, 2020. | This Internet-Draft will expire on September 5, 2020. | |||
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 | |||
skipping to change at page 2, line 17 ¶ | skipping to change at page 2, line 17 ¶ | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. History of changes . . . . . . . . . . . . . . . . . . . . . 2 | 1. History of changes . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2.1. Convention and Terminology . . . . . . . . . . . . . . . 3 | 2.1. Convention and Terminology . . . . . . . . . . . . . . . 3 | |||
3. Updates to RFC 4210 - Certificate Management Protocol (CMP) . 4 | 3. Updates to RFC 4210 - Certificate Management Protocol (CMP) . 4 | |||
3.1. New Section 1.1. - Changes since RFC 4210 . . . . . . . . 4 | 3.1. New Section 1.1. - Changes since RFC 4210 . . . . . . . . 4 | |||
3.2. New Section 4.5 - Extended Key Usage . . . . . . . . . . 5 | 3.2. New Section 4.5 - Extended Key Usage . . . . . . . . . . 5 | |||
3.3. Replace Section 5.1.3.4 - Multiple Protection . . . . . . 6 | 3.3. Replace Section 5.1.3.4 - Multiple Protection . . . . . . 7 | |||
3.4. Replace Section 5.2.2. - Encrypted Values . . . . . . . . 7 | 3.4. Replace Section 5.2.2. - Encrypted Values . . . . . . . . 8 | |||
3.5. Update Section 5.3.4. - Certification Response . . . . . 9 | 3.5. Update Section 5.3.4. - Certification Response . . . . . 9 | |||
3.6. Replace Section 5.3.19.9. - Revocation Passphrase . . . . 9 | 3.6. Replace Section 5.3.19.9. - Revocation Passphrase . . . . 10 | |||
3.7. Update Section 5.3.22 - Polling Request and Response . . 10 | 3.7. Update Section 5.3.22 - Polling Request and Response . . 10 | |||
3.8. Update Appendix B - The Use of Revocation Passphrase . . 11 | 3.8. Update Appendix B - The Use of Revocation Passphrase . . 11 | |||
3.9. Update Appendix C - Request Message Behavioral | 3.9. Update Appendix C - Request Message Behavioral | |||
Clarifications . . . . . . . . . . . . . . . . . . . . . 12 | Clarifications . . . . . . . . . . . . . . . . . . . . . 12 | |||
3.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 | |||
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | |||
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 14 | |||
7.2. Informative References . . . . . . . . . . . . . . . . . 14 | 7.2. Informative References . . . . . . . . . . . . . . . . . 15 | |||
Appendix A. ASN.1 Modules . . . . . . . . . . . . . . . . . . . 14 | Appendix A. ASN.1 Modules . . . . . . . . . . . . . . . . . . . 15 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 15 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
1. History of changes | 1. History of changes | |||
From draft-brockhaus-lamps-cmp-updates-03 -> draft-brockhaus-lamps- | From version 00 -> 01: | |||
cmp-updates-03: | ||||
o Changes required to reflect WG adoption | ||||
o Minor changes in wording | 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: | From version 02 -> 03: | |||
o Added some clarification in Section 3.1 | o Added some clarification in Section 3.1 | |||
From version 01 -> 02: | From version 01 -> 02: | |||
o Added clarification to section on multiple protection | o Added clarification to section on multiple protection | |||
o Added clarification on new EKUs after some exchange with Tomas | o Added clarification on new EKUs after some exchange with Tomas | |||
Gustavsson | Gustavsson | |||
o Reused OIDs from RFC 6402 [RFC6402] as suggested by Sean Turner at | o Reused OIDs from RFC 6402 [RFC6402] as suggested by Sean Turner at | |||
IETF 106 | IETF 106 | |||
o Added clarification on the field containing the key identifier for | o Added clarification on the field containing the key identifier for | |||
a revocation passphrase | a revocation passphrase | |||
o Minor changes in wording | o Minor changes in wording | |||
skipping to change at page 3, line 33 ¶ | skipping to change at page 3, line 36 ¶ | |||
o Minor generalization in RFC 4210 [RFC4210] Sections 5.1.3.4 and | o Minor generalization in RFC 4210 [RFC4210] Sections 5.1.3.4 and | |||
5.3.22 | 5.3.22 | |||
o Minor changes in wording | o Minor changes in wording | |||
2. Introduction | 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.brockhaus-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 | 2.1. Convention and Terminology | |||
skipping to change at page 4, line 26 ¶ | skipping to change at page 4, line 30 ¶ | |||
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) | 3. Updates to RFC 4210 - Certificate Management Protocol (CMP) | |||
3.1. New Section 1.1. - Changes since RFC 4210 | 3.1. New Section 1.1. - Changes since RFC 4210 | |||
The following subsections describe 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. | |||
The following updates are made in draft-brockhaus-lamps-cmp-updates: | 1.1 Changes since RFC 4210 | |||
The following updates are made in draft-ietf-lamps-cmp-updates: | ||||
o Add new extended key usages for different CMP server types, e.g. | o Add new extended key usages for different CMP server types, e.g. | |||
registration authority and certification authority, to express the | registration authority and certification authority, to express the | |||
authorization of the entity identified in the certificate | authorization of the entity identified in the certificate | |||
containing the respective extended key usage extension to act as | containing the respective extended key usage extension to act as | |||
the indicated PKI management component. | the indicated PKI management entity. | |||
o Extend the description of multiple protection to cover additional | o Extend the description of multiple protection to cover additional | |||
use cases, e.g., batch processing of messages. | use cases, e.g., batch processing of messages. | |||
o Offering EnvelopedData as another choice next to EncryptedValue to | o Offering EnvelopedData as the prefered choice next to | |||
extend crypto agility in CMP. Note that according to RFC 4211 | EncryptedValue to extend crypto agility in CMP. Note that | |||
[RFC4211] section 2.1.9 the use of the EncryptedValue structure | according to RFC 4211 [RFC4211] section 2.1.9 the use of the | |||
has been deprecated in favor of the EnvelopedData structure. | EncryptedValue structure has been deprecated in favor of the | |||
RFC 4211 [RFC4211] offers the EncryptedKey structure, a choice of | EnvelopedData structure. RFC 4211 [RFC4211] offers the | |||
EncryptedValue and EnvelopedData for migration to EnvelopedData. | EncryptedKey structure, a choice of EncryptedValue and | |||
For reasons of completeness and consistency the exchange of | EnvelopedData for migration to EnvelopedData. For reasons of | |||
EncryptedValue is performed for all usages in RFC 4210 [RFC4210]. | completeness and consistency the exchange of EncryptedValue is | |||
performed for all usages in RFC 4210 [RFC4210]. This includes the | ||||
This includes the protection of centrally generated private keys, | protection of centrally generated private keys, encryption of | |||
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 | 3.2. New Section 4.5 - Extended Key Usage | |||
Insert this section. | The following subsection describes new extended key usages for | |||
different CMP server typesspecitied in RFC 4210 [RFC4210]. | ||||
Insert this section at the end of the current Section 4. | ||||
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 | |||
the use of a certificate to specific applications. | the use of a certificate to specific applications. | |||
A CA may want to delegate parts of their duties to other PKI | A CA may want to delegate parts of their duties to other PKI | |||
management entities. The mechanism to prove this delegation | management entities. The mechanism to prove this delegation | |||
explained in this section offers zero-touch means to check the | explained in this section offers zero-touch means to check the | |||
authorization of such delegation. Such delegation could also be | authorization of such delegation. Such delegation could also be | |||
expressed by other means, e.g., explicit configuration. | expressed by other means, e.g., explicit configuration. | |||
skipping to change at page 5, line 51 ¶ | skipping to change at page 6, line 14 ¶ | |||
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 cmpCA and a cmpRA. | |||
< TBD: It needs to be clarified, if the Name and Description of the | < TBD: It needs to be clarified, if the Name and Description of the | |||
OIDs can be adapted or extended to avoid confusion as they currently | OIDs can be adapted or extended to avoid 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: | |||
CMP Certification Authorities are CMP endpoints on CA equipment as | cmpCA: CMP Certification Authorities are CMP endpoints on CA | |||
described in section 3.1.1.2. The key used in the context of CMP | equipment as described in section 3.1.1.2. The key used in | |||
management operations, especially CMP message protection, need not be | the context of CMP management operations, especially CMP | |||
the same key that signs the certificates. It is necessary, however, | message protection, need not be the same key that signs the | |||
to ensure that the entity acting as cmpCA is authorized to do so. | certificates. It is necessary, however, to ensure that the | |||
Therefore, the cmpCA MUST do one of the following, | entity acting as cmpCA is authorized to do so. Therefore, | |||
the cmpCA MUST do one of the following, | ||||
o use the CA private key on the CMP endpoint, or | * use the CA private key on the CMP endpoint, or | |||
o explicitly designate this authority to another entity. | * explicitly designate this authority to another entity. | |||
For automatic validation of such delegation it MUST be indicated by | For automatic validation of such delegation it MUST be | |||
the id-kp-cmpCA extended key usage. This extended key usage MUST be | indicated by the id-kp-cmpCA extended key usage. This | |||
placed into the certificate used on the CA equipment and the CA that | extended key usage MUST be placed into the certificate used | |||
delegates this role MUST issue the cmpCA certificate. | on the CA equipment and the CA that delegates this role MUST | |||
issue the cmpCA certificate. | ||||
Note: Using a separate key pair for protecting CMP management | Note: Using a separate key pair for protecting CMP management | |||
operations at the CA decreases the number of operations of the | operations at the CA decreases the number of operations of | |||
private key used to sign certificates. | the private key used to sign certificates. | |||
CMP Registration Authorities are CMP endpoints on RA equipment as | cmpRA: CMP Registration Authorities are CMP endpoints on RA | |||
described in section 3.1.1.3. A cmpRA is identified by the id-kp- | equipment as described in Section 3.1.1.3. A cmpRA is | |||
cmpRA extended key usage. This extended key usage is placed into RA | identified by the id-kp-cmpRA extended key usage. This | |||
certificates. The CA that delegated this role is identified by the | extended key usage is placed into RA certificates. The CA | |||
CA that issued the cmpRA certificate. | that delegated this role is identified by the CA that issued | |||
the cmpRA certificate. | ||||
CMP Key Generation Authorities are identified by the id-kp-cmpKGA | cmpKGA: CMP Key Generation Authorities are identified by the id-kp- | |||
extended key usage. Though the cmpKGA knows the private key it | cmpKGA extended key usage. Though the cmpKGA knows the | |||
generated on behalf of the end entity, this is a very sensible | private key it generated on behalf of the end entity. This | |||
service and needs specific authorization. This authorization is | is a very sensible service and needs specific authorization. | |||
either with the CA certificate itself, or indicated by placing the | This authorization is either with the CA certificate itself, | |||
id-kp-cmpKGA extended key usage into the cmpRA or cmpCA certificate | or indicated by placing the id-kp-cmpKGA extended key usage | |||
used to authenticate the origin of the private key to express the | into the cmpRA or cmpCA certificate used to authenticate the | |||
authorization to offer this service. | origin of the private key, and to express the 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 (cmpCA, cmpRA, cmpKGA) MUST NOT use indefinite | |||
expiration date. | expiration date. | |||
3.3. Replace Section 5.1.3.4 - Multiple Protection | 3.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. | |||
skipping to change at page 7, line 20 ¶ | skipping to change at page 7, line 35 ¶ | |||
certificates shared between the RA and the CA). There are different | certificates shared between the RA and the CA). There are different | |||
use cases for such multi protected messages. | use cases for such multi protected messages. | |||
o The RA confirms the validation and authorization of a message and | o The RA confirms the validation and authorization of a message and | |||
forwards the original message unchanged. | forwards the original message unchanged. | |||
o The RA collects several messages and forwards them in a batch. | o The RA collects several messages and forwards them in a batch. | |||
This can for instance be used to bridge an off-line connection | This can for instance be used to bridge an off-line connection | |||
between two PKI management entities. In communication to the CA | between two PKI management entities. In communication to the CA | |||
request messages and in communication from the CA response or | request messages and in communication from the CA response or | |||
announcement messages will be collected in the batch. | announcement messages will be collected in such batch. | |||
o The RA modifies the message(s) in some way (e.g., add or modify | o The RA modifies the message(s) in some way (e.g., add or modify | |||
particular field values or add new extensions) before forwarding | particular field values or add new extensions) before forwarding | |||
them, then it MAY create its own desired PKIBody. In case the | them, then it MAY create its own desired PKIBody. In case the | |||
changes made by the RA to PKIMessage breaks the POP, the RA MUST | changes made by the RA to PKIMessage breaks the POP, the RA MUST | |||
either set the POP RAVerified or include the original PKIMessage | either set the POP RAVerified or include the original PKIMessage | |||
from the EE in the generalInfo field of PKIHeader of the nested | from the EE in the generalInfo field of PKIHeader of the nested | |||
message (to force the CA to check POP on the original message). | message (to force the CA to check POP on the original message). | |||
The infoType to be used in this situation is {id-it 15} (see | The infoType to be used in this situation is {id-it 15} (see | |||
Section 5.3.19 for the value of id-it) and the infoValue is | Section 5.3.19 for the value of id-it) and the infoValue is | |||
PKIMessages (contents MUST be in the same order as the requests in | PKIMessages (contents MUST be in the same order as the requests in | |||
PKIBody). For simplicity reasons, if batching is used in | PKIBody). For simplicity reasons, if batching is used in | |||
combination with inclusion of the original PKIMessage in the | combination with inclusion of the original PKIMessage in the | |||
generalInfo field, all messages in the batch MUST be of the same | generalInfo field, all messages in the batch MUST be of the same | |||
type (e.g., ir). | type (e.g., ir). | |||
These use cases are accomplished by nesting the messages sent by the | These use cases are accomplished by nesting the messages sent by the | |||
end 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 | 3.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 also 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. | |||
EncryptedKey ::= CHOICE { | EncryptedKey ::= CHOICE { | |||
encryptedValue EncryptedValue, -- deprecated | encryptedValue EncryptedValue, -- deprecated | |||
envelopedData [0] EnvelopedData } | envelopedData [0] EnvelopedData } | |||
skipping to change at page 8, line 29 ¶ | skipping to change at page 8, line 46 ¶ | |||
EnvelopedData. | EnvelopedData. | |||
The EncryptedKey data structure is used in CMP to either transport a | The EncryptedKey data structure is used in CMP to either transport a | |||
private key, certificate or revocation passphrase in encrypted form. | private key, certificate or revocation passphrase in encrypted form. | |||
EnvelopedData is used as follows: | EnvelopedData is used as follows: | |||
o Contains only one recepientInfo structure because the content is | o Contains only one recepientInfo structure because the content is | |||
encrypted only for one recipient. | encrypted only for one recipient. | |||
o Contains private key in a SignedData structure as specified in CMS | o Contains a private key in a SignedData structure as specified in | |||
section 5 [RFC5652] signed by the Key Generation Authority. | CMS section 5 [RFC5652] signed by the Key Generation Authority. | |||
o Contains certificate or revocation passphrase directly in the | o Contains a certificate or revocation passphrase directly in the | |||
encryptedContent field. | encryptedContent field. | |||
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. | |||
skipping to change at page 11, line 12 ¶ | skipping to change at page 11, line 36 ¶ | |||
one or more of the pending certificates is ready; otherwise, it | one or more of the pending certificates is ready; otherwise, it | |||
will return a pollRep. | will return a pollRep. | |||
3 If the EE receives a pollRep, it will wait for at least as long as | 3 If the EE receives a pollRep, it will wait for at least as long as | |||
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 not 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 | 3.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 3.1 above, the description is | |||
updated accordingly. | updated accordingly. | |||
skipping to change at page 11, line 36 ¶ | skipping to change at page 12, line 14 ¶ | |||
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 | |||
that confirms acceptance of certificates requested in an | that confirms acceptance of certificates requested in an | |||
initialization request or certificate request message.) This | initialization request or certificate request message.) This | |||
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 of the EnvelopedData structure and for use of | encryptedContent field and for use of EncryptedValue this is in | |||
EncryptedValue this is in the decrypted bytes of the encValue | the decrypted bytes of the encValue field) to the relevant CA/RA; | |||
field) to the relevant CA/RA; furthermore, the transfer is | furthermore, the transfer is accomplished with appropriate | |||
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 unprotectedAttrs and when using | |||
EncryptedValue the valueHint field MAY contain a key identifier | EncryptedValue the valueHint field MAY contain a key identifier | |||
(chosen by the entity, along with the passphrase itself) to assist | (chosen by the entity, along with the passphrase itself) to assist | |||
in later retrieval of the correct passphrase (e.g., when the | in later retrieval of the correct passphrase (e.g., when the | |||
revocation request is constructed by the entity and received by | revocation request is constructed by the entity and received by | |||
the CA/RA). | the CA/RA). | |||
skipping to change at page 12, line 21 ¶ | skipping to change at page 13, line 8 ¶ | |||
[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 3.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, "Encrypted Values", of this specification). | -- * Section 5.2.2 of this specification). Therefore, this document | |||
-- * Therefore, this document makes the behavioral clarification of | -- * makes the behavioral clarification of specifying that the | |||
-- * specifying that the contents of "thisMessage" MUST be encoded | -- * contents of "thisMessage" MUST be encoded either as | |||
-- * 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 | 3.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/ | |||
skipping to change at page 14, line 21 ¶ | skipping to change at page 15, line 7 ¶ | |||
[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 | 7.2. Informative References | |||
[I-D.brockhaus-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-brockhaus-lamps-lightweight-cmp-profile-03 | Profile", draft-ietf-lamps-lightweight-cmp-profile-00 | |||
(work in progress), January 2020. | (work in progress), February 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>. | |||
End of changes. 35 change blocks. | ||||
81 lines changed or deleted | 95 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/ |