Certificate Management over CMS (CMC) Updates
updates
Extracted elements (26)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The Response Body control MUST NOT appear in the control sequence of a PKIData object; it is restricted to PKIResponse objects.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).