rfc-7894

Alternative Challenge Password Attributes for Enrollment over Secure Transport

M. Pritikin, C. Wallace
date2016-06 streamIETF wgnon working group statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc7894 doi10.17487/RFC7894
This document defines a set of new Certificate Signing Request attributes for use with the Enrollment over Secure Transport (EST) protocol. These attributes provide disambiguation of the existing overloaded uses for the challengePassword attribute defined in "PKCS #9: Selected Object Classes and Attribute Types Version 2.0" (RFC 2985). Uses include the original certificate revocation password, common authentication password uses, and EST-defined linking of transport security identity.

Extracted elements (17)

design-rationale §1

Conveying authentication values as CSR attributes may be preferable to HTTP or TLS-level authentication in environments where the certificate request processing component is separated from the HTTP/TLS termination point (e.g., when a web application firewall is present), motivating inclusion of OTP values in the CSR itself.

pkix, security

design-rationale §1

The PKCS #9 challengePassword attribute has been overloaded by multiple protocol uses (certificate revocation, OTP authentication, EST identity linking), with the correct interpretation depending on context rather than OID definition. This ambiguity became a limitation when EST needed multiple simultaneous uses of the attribute, motivating the definition of three distinct, unambiguous replacement attributes.

pkix, security

interoperability-note §4

EST clients that include an unsolicited estIdentityLinking attribute MAY also include the legacy challengePassword attribute to ensure support for legacy servers that do not understand the new OIDs.

pkix

normative-requirement §4 MAY

An EST server MAY send both the estIdentityLinking attribute and the challengePassword attribute in a CSR Attributes Response to ensure support for legacy clients.

pkix

normative-requirement §3 MUST

Attribute processing systems MUST be able to recognize and process the PrintableString and UTF8String string types in DirectoryString values for the alternative challenge password attributes.

pkix

normative-requirement §4 MUST

EST servers MUST evaluate each challenge attribute independently, and all challenge attributes included by an EST client MUST be successfully processed by the EST server for a request to be considered valid.

pkix, security

normative-requirement §4 SHOULD

If a client sees an estIdentityLinking attribute in a CSR Attributes Response, it SHOULD prefer that attribute and not include a challengePassword attribute in the resulting CSR, to avoid legacy ambiguity.

pkix, security

normative-requirement §4 MUST

The EST client MUST include every indicated attribute for which it has values in the subsequent CSR.

pkix

normative-requirement §4 MAY

The EST server MAY ignore challenge attributes according to local policy (e.g., ignoring estIdentityLinking when the EST client is an authenticated Registration Authority) and MAY refuse enrollment requests not encoded per CA policy.

pkix, security

normative-requirement §4 MUST

The EST server MUST indicate the alternative challenge attributes, as the particular use case requires, in every CSR Attributes Response.

pkix, security

protocol-element §3.3

The estIdentityLinking attribute (id-aa-estIdentityLinking, OID id-smime 58) is a DirectoryString with maximum length 255, carrying the EST identity linking semantics from RFC 7030 Section 3.5 without confusion with legacy challengePassword uses. It is a SINGLE VALUE attribute with caseExactMatch equality matching.

pkix, security

protocol-element §3.1

The otpChallenge attribute (id-aa-otpChallenge, OID id-smime 56) is a DirectoryString with maximum length 255, used to convey a one-time password value as part of a CSR. It is a SINGLE VALUE attribute with caseExactMatch equality matching.

pkix, security

protocol-element §3.2

The revocationChallenge attribute (id-aa-revocationChallenge, OID id-smime 57) is a DirectoryString with maximum length 255, providing unambiguous representation of the original PKCS #9 challengePassword semantics for certificate revocation. It is a SINGLE VALUE attribute with caseExactMatch equality matching.

pkix, security

registry §6

One new OID value (87, id-mod-EST-Alt-Challenge) was assigned in the 'SMI Security for PKIX Module Identifier' registry for the ASN.1 module defined in Appendix A of RFC 7894.

registry, pkix

registry §6

Three new OID values were assigned in the 'SMI Security for S/MIME Attributes (1.2.840.113549.1.9.16.2)' registry: value 56 for id-aa-otpChallenge, value 57 for id-aa-revocationChallenge, and value 58 for id-aa-estIdentityLinking, all referencing RFC 7894.

registry, pkix

security-consideration §5

In addition to EST security considerations from RFC 7030, security considerations associated with the OTP generation and verification mechanism apply to the otpChallenge attribute. The security considerations from RFC 4226 (HOTP) or RFC 6238 (TOTP) and from RFC 2985 for the challenge attribute are relevant.

security, pkix

wire-format §3

All three alternative challenge attributes are encoded as DirectoryString with a maximum length of 255 characters. Values SHOULD use PrintableString encoding when possible; UTF8String SHOULD be used when internationalization requires it. Implementations MUST support PrintableString and UTF8String; other string types are OPTIONAL.

pkix