rfc-5274

Certificate Management Messages over CMS (CMC): Compliance Requirements

J. Schaad, M. Myers
date2008-06 streamIETF areasec wgpkix statusPROPOSED STANDARD pages13 canonicalhttps://www.rfc-editor.org/rfc/rfc5274 doi10.17487/RFC5274
This document provides a set of compliance statements about the CMC (Certificate Management over CMS) enrollment protocol. The ASN.1 structures and the transport mechanisms for the CMC enrollment protocol are covered in other documents. This document provides the information needed to make a compliant version of CMC. [STANDARDS-TRACK]

updated by

Extracted elements (27)

design-rationale §8

Providing for CAs to work in an environment with RAs is strongly suggested, as this permits the delegation of substantial administrative interaction onto an RA rather than at the CA.

pkix

design-rationale §4.2

Strong consideration should be given to implementing the Authenticate Data and Publish Trust Anchors controls as this gives a simple method for distributing trust anchors into clients without user intervention.

pkix, security

design-rationale §4.3

The id-regCtrl-oldCertID CRMF token is replaced in CMC by issuing the new certificate and using id-cmc-publishCert to remove the old certificate from publication, optionally accompanied by id-cmc-revokeRequest for immediate revocation.

pkix

interoperability-note §4

All [CMC-STRUCT] and [CMC-TRANS] compliance statements MUST be adhered to unless specifically stated otherwise in this document, making RFC 5274 a compliance overlay on those foundational specifications.

pkix

normative-requirement §4 MUST

All entities MUST implement the HTTP transport mechanism as defined in [CMC-TRANS]. Other transport mechanisms MAY be implemented.

pkix, http

normative-requirement §4.1 MUST

All entities MUST support AES as the content encryption algorithm for EnvelopedData. All entities MUST support RSA as a key transport algorithm for EnvelopedData, and SHOULD support RSA-OAEP.

crypto, pkix

normative-requirement §4 MUST

All entities MUST support Full PKI Requests, Simple PKI Responses, and Full PKI Responses. Servers SHOULD support Simple PKI Requests.

pkix, crypto

normative-requirement §4 MUST

All entities MUST support the use of the CRMF syntax for certification requests. Support for the PKCS #10 syntax for certification requests SHOULD be implemented by servers.

pkix

normative-requirement §4.1 MUST

All entities MUST verify DSA-SHA1 and RSA-SHA1 signatures in SignedData. All entities MUST generate either DSA-SHA1 or RSA-SHA1 signatures for SignedData.

crypto, pkix

normative-requirement §7 MUST

All RAs MUST implement the promotion of the id-aa-cmc-unsignedData as covered in Section 3.2.3 of [CMC-STRUCT].

pkix

normative-requirement §8 MUST

CAs MUST enforce POP checking before issuing any certificate. CAs MAY delegate the POP operation to an RA for challenge/response pairs, key escrow scenarios, or unusual algorithms.

pkix, security

normative-requirement §8 MUST

CAs MUST perform at least minimal checks on all public keys before issuing a certificate, including a syntax check via the POP operation. CAs SHOULD perform simple checks for known bad keys such as small subgroups for DSA-SHA1/DH keys or known bad exponents for RSA keys.

pkix, security, crypto

normative-requirement §8 SHOULD

CAs SHOULD implement both the DH-POP Proof-of-Possession as defined in [DH-POP] Section 4 and the challenge-response POP controls id-cmc-encryptedPOP and id-cmc-decryptedPOP.

pkix, crypto

normative-requirement §4.1 MUST

EEs that need to use a signature algorithm for keys that cannot produce a signature MUST support Appendix C of [CMC-STRUCT] and MUST support the Encrypted/Decrypted POP controls. CAs and RAs that do POP verification MUST support these as well.

pkix, crypto

normative-requirement §4.1 MUST

For the Encrypted POP and Decrypted POP controls, SHA-1 MUST be implemented for witnessAlgID and HMAC-SHA1 MUST be implemented for thePOPAlgID. SHA-256 SHOULD be implemented for both.

crypto, pkix

normative-requirement §4.1 MUST

For the Identity Proof Version 2 control, SHA-1 MUST be implemented for hashAlgId and HMAC-SHA1 MUST be implemented for macAlgId. SHA-256 SHOULD be implemented for both.

crypto, pkix

normative-requirement §4.1 MUST

For the Pop Link Witness Version 2 control, SHA-1 MUST be implemented for keyGenAlgorithm and HMAC-SHA1 MUST be implemented for macAlgorithm. SHA-256 SHOULD be implemented for both.

crypto, pkix

normative-requirement §6 MUST

If an EE implements Diffie-Hellman, it MUST implement either the DH-POP Proof-of-Possession as defined in [DH-POP] Section 4, or the challenge-response POP controls id-cmc-encryptedPOP and id-cmc-decryptedPOP.

pkix, crypto

normative-requirement §4.1 MUST

If an entity supports key agreement for EnvelopedData, it MUST support Diffie-Hellman. If an entity supports PasswordRecipientInfo, it MUST support PBKDF2 for key derivation and MUST support AES key wrap as the key encryption algorithm.

crypto, pkix

normative-requirement §4.1 MUST

If AuthenticatedData is supported, PasswordRecipientInfo MUST be supported.

crypto, pkix

normative-requirement §7 MUST

RAs SHOULD be able to do delegated POP. RAs implementing this feature MUST implement the id-cmc-lraPOPWitness control.

pkix

normative-requirement §4.3 SHOULD NOT

The CRMF control token id-regCtrl-pkiArchiveOptions SHOULD NOT be supported; an alternative method is under development.

pkix

normative-requirement §4.3 MUST NOT

The CRMF registration control tokens id-regCtrl-regToken and id-regCtrl-authToken MUST NOT be used in CMC; the CMC controls identification and identityProof perform the same service.

pkix

normative-requirement §4 SHOULD NOT

The extendedFailInfo field SHOULD NOT be populated in the CMCStatusInfoV2 object; the failInfo field SHOULD be used to relay this information.

pkix

protocol-element §4.2

Table 1 defines the CMC control attributes and required support levels (MUST/SHOULD/MAY/N/A) for each of EE, RA, and CA roles. Key MUST controls for all three roles include: Extended CMC Status Info, Identity Proof V2, Identification, POP Link Random, POP Link Witness V2, Data Return, Transaction ID, Sender Nonce, Recipient Nonce, Query Pending, and Confirm Cert Acceptance.

pkix

security-consideration §9

Cryptographic algorithms have and will be broken or weakened. Implementers and users need to check that the cryptographic algorithms listed in this document make sense from a security level, and should refer to IETF documents on the current state of the art such as those on small-subgroup attacks and hash attacks.

security, crypto, pkix

security-consideration §9

Knowledge of how an entity is expected to operate is vital in determining which sections of requirements are applicable; care must be taken to determine which sections apply and fully implement the necessary code. The security considerations of [CMC-STRUCT] and [CMC-TRANS] are incorporated by reference.

security, pkix