rfc-6402

Certificate Management over CMS (CMC) Updates

J. Schaad
date2011-11 streamIETF areasec wgpkix statusPROPOSED STANDARD pages37 canonicalhttps://www.rfc-editor.org/rfc/rfc6402 doi10.17487/RFC6402 errataview
This document contains a set of updates to the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS). This document updates RFC 5272, RFC 5273, and RFC 5274. The new items in this document are: new controls for future work in doing server side key generation, definition of a Subject Information Access value to identify CMC servers, and the registration of a port number for TCP/IP for the CMC service to run on. [STANDARDS-TRACK]

updates

Extracted elements (26)

design-rationale §2.11

Because GeneralName does not permit inclusion of a port number, the specification designates port 5318 as the default CMC TCP port, to be used in the absence of other external configuration information. This avoids ambiguity without requiring a new name form.

pkix

design-rationale §2.9

The CMC server certificate requirements section was added to enable interoperable discovery: without defined EKU values and a Subject Information Access OID, there was no standard way to distinguish CMC CA, RA, and Archive server certificates or to publish service location information.

pkix

design-rationale §2.5

The RA Identity Proof Witness control was introduced to allow identity verification to be delegated to an RA closer to the end-entity, enabling the CA to operate company-wide without needing access to the shared secret. This also allows the RA to assert out-of-band identity proofs to the CA.

pkix, security

interoperability-note §2.4

Section 6.3.3 of RFC 5272 is renamed from 'Renewal and Rekey Messages' to 'Existing Certificate Linking' to clarify that linking an existing certificate to a new certification request is not limited to renewal/rekey but also applies to obtaining new certificates of different types or using third-party device certificates.

pkix

normative-requirement §2.3 MUST

Clients and servers MUST support both the witness value technique and the certificate linking technique for linking identity and POP information. They MAY support shared-secret/name matching or other bilateral techniques of similar strength.

pkix, security

normative-requirement §3.1 SHOULD

Existing CMC client implementations MAY continue to allow use of the prior privately configured port. Servers SHOULD change to use the new registered port 5318.

pkix

normative-requirement §2.11 MUST

If CMC services are available via HTTP or FTP, accessLocation in the id-ad-cmc SIA extension MUST be a uniformResourceIdentifier. If via email, it MUST be an rfc822Name. If via TCP/IP, dNSName or iPAddress name forms MUST be used.

pkix

normative-requirement §2.11 MUST

If the id-ad-cmc Subject Information Access value is placed in a certificate, an appropriate Extended Key Usage from Section 9.1 MUST also be included in the certificate.

pkix

normative-requirement §2.8 MUST

In a certification request using Change Subject Name, the name in the certification request MUST match the name in the certificate used to verify the request, so that identity and possession proofs are correctly applied. The subject name change is conveyed via the ChangeSubjectName attribute, not by directly altering the request template.

pkix, security

normative-requirement §4.1 MUST

RA Identity Proof Witness control compliance: RAs MUST implement it; CAs have implementation note (2); it is N/A for EEs. Response Body control: EEs SHOULD implement if working with RAs and MUST implement if used in environments where RAs perform identity validation or key generation.

pkix

normative-requirement §2.5 MUST NOT

The RA Identity Proof Witness control MUST NOT appear in the control sequence of a PKIResponse; it is restricted to PKIData objects and may only be used by an RA.

pkix, security

normative-requirement §2.6 MUST NOT

The Response Body control MUST NOT appear in the control sequence of a PKIData object; it is restricted to PKIResponse objects.

pkix

normative-requirement §2.6 MUST

When an RA performs key generation on behalf of an EE, the RA MUST respond with both the original response message from the certificate issuer (containing the certificate issuance) and the RA's own response (containing the new key), using the Response Body control.

pkix

normative-requirement §2.5 MUST

When the identity proof is performed by an RA, the RA MUST validate the linking between the identity proof and the name information wrapped inside of the key proof-of-possession.

pkix, security

protocol-element §2.11

A new Subject Information Access OID id-ad-cmc (id-ad 12) identifies locations where CMC services are available. For HTTP/FTP access, accessLocation MUST be a uniformResourceIdentifier; for email, an rfc822Name; for TCP/IP, a dNSName or iPAddress.

pkix, registry

protocol-element §3.1

CMC TCP transport uses registered port 5318 (service name 'pkix-cmc'). Prior to this update, CMC used an externally configured port from the Private Port range.

pkix

protocol-element §2.8

The Change Subject Name attribute (id-cmc-changeSubjectName, OID id-cmc 36) allows a client to request a change in subject name and/or subject alternative name as part of a certification request. The ASN.1 type ChangeSubjectName is a SEQUENCE with optional subject (Name) and subjectAlt (SubjectAltName) fields, at least one of which MUST be present.

pkix

protocol-element §2.5

The RA Identity Proof Witness control (id-cmc-raIdentityWitness, OID id-cmc 35) allows an RA to signal to subsequent control processors that all identity proof requirements have been met. Its ASN.1 type is BodyPartPath, and it may only appear in the control sequence of a PKIData object, not a PKIResponse.

pkix, security

protocol-element §2.6

The Response Body control (id-cmc-responseBody, OID id-cmc 37) enables an RA to inform an EE that there is an embedded response message that must be processed. Its ASN.1 type is BodyPartPath pointing to a cmsSequence item containing a PKIResponse; it may only appear in the control sequence of a PKIResponse.

pkix

protocol-element §2.10

Three Extended Key Usage OIDs are defined to distinguish CMC server types: id-kp-cmcCA (id-kp 27) for Certification Authorities, id-kp-cmcRA (id-kp 28) for Registration Authorities, and id-kp-cmcArchive (id-kp 29) for Archive Servers.

pkix

registry §3.2

IANA assigned TCP port 5318 for the CMC service (service name 'pkix-cmc', description 'PKIX Certificate Management using CMS (CMC)'). This registration is added to RFC 5273 as a new Section 6.

pkix, registry

registry §2.10

Three new Extended Key Usage OIDs were registered under id-kp: id-kp-cmcCA (27), id-kp-cmcRA (28), and id-kp-cmcArchive (29). A new Subject Information Access OID id-ad-cmc (id-ad 12) was also registered.

pkix, registry

security-consideration §2.12 MUST

Any upstream request processor such as a CA MUST verify that the RA is fully identified and authorized before accepting assertions or modifications made via controls like the RA Identity Proof Witness control. If not identified or authorized, any such request MUST be rejected.

pkix, security

security-consideration §2.12

CMC servers (both RAs and CAs) must perform due diligence checking all fields of certification requests to ensure CA/RA policies are correctly enforced, with special care given to names, name forms, algorithm choices, and algorithm parameters.

pkix, security

wire-format §2.5

BodyPartPath is encoded as a SEQUENCE SIZE (1..MAX) OF BodyPartID (INTEGER 0..4294967295), providing a path through nested body part identifiers to a target control or content item.

pkix

wire-format §2.8

ChangeSubjectName is encoded as a DER SEQUENCE with two optional fields: subject (Name) and subjectAlt (SubjectAltName/GeneralNames). At least one field MUST be present. The OID is id-cmc-changeSubjectName (id-cmc 36).

pkix