rfc-8226

Secure Telephone Identity Credentials: Certificates

J. Peterson, S. Turner
date2018-02 streamIETF areaart wgstir statusPROPOSED STANDARD pages24 canonicalhttps://www.rfc-editor.org/rfc/rfc8226 doi10.17487/RFC8226 errataview
In order to prevent the impersonation of telephone numbers on the Internet, some kind of credential system needs to exist that cryptographically asserts authority over telephone numbers. This document describes the use of certificates in establishing authority over telephone numbers, as a component of a broader architecture for managing telephone numbers as identities in protocols like SIP.

updated by

Extracted elements (30)

design-rationale §10

Certificate freshness for STIR may be handled either by short-lived certificates (front-end burden on enrollment) or by online status protocols like OCSP (back-end burden on verification); no single mechanism is mandated, as implementation experience is needed to determine the optimal approach.

pkix, sip

design-rationale §4

RSA PKCS #1 v1.5 is mandated only as a transitional mechanism due to its widespread use in existing PKIs; the long-term expectation is that ECDSA with P-256 will be the sole required algorithm as RSA support is eventually deprecated.

crypto, pkix, sip

design-rationale §10.1

The TN Authorization List may be provided by reference (via id-ad-stirTNList AIA URI) rather than by value in the certificate itself, to prevent certificate bloat for large service providers who may control millions of telephone numbers.

pkix, sip

design-rationale §5

Three enrollment models are described: top-down (CA acts with national numbering authorities), bottom-up (CA verifies control via an automated or manual test such as an SMS challenge), and delegation (certificate holders delegate authority to other parties, analogous to name constraints in hierarchical PKI).

pkix, sip

design-rationale §3

Two non-exclusive approaches to asserting telephone number authority in certificates are defined: using the certificate subject (domain name or SPC) with an external data set to correlate numbers, and embedding the TN Authorization List extension directly in the certificate. Either approach is compatible with the STIR over-the-wire format in RFC 8224.

pkix, sip

interoperability-note §8 SHOULD NOT

JWT Claim Constraints baseline claims ('iat', 'orig', 'dest') are considered permitted by default and SHOULD NOT be included in mustInclude; if the extension is absent entirely, these three claims MUST appear in every PASSporT the certificate signs.

jose, pkix, sip

interoperability-note §11.2

The TNAuthorizationList inside the application/tnauthlist media type MUST be DER-encoded; this interoperability constraint applies to all consumers of TN Authorization Lists fetched via the id-ad-stirTNList AIA mechanism.

pkix, sip

normative-requirement §5.1 MUST

A CA that wishes to place constraints on JWT claims MUST include the JWT Claim Constraints certificate extension in issued certificates.

pkix, jose, sip

normative-requirement §4 MUST

All certificates compliant with this specification MUST provide cryptographic keying material sufficient to generate ECDSA using P-256 and SHA-256 signatures (ES256) as required by PASSporT (RFC 8225).

pkix, crypto, jose

normative-requirement §7 REQUIRED

For implementations compliant with this specification, three URI schemes are REQUIRED in the SIP Identity header 'info' parameter: the CID URI, the SIP URI, and the HTTP URI.

sip, pkix

normative-requirement §10 MUST

Future specifications that define certificate freshness mechanisms for STIR MUST note any privacy risks (per RFC 7258) associated with acquiring online status information and provide countermeasures where possible.

pkix, privacy, sip

normative-requirement §7 REQUIRED

Implementations are REQUIRED to support SIP (via SUBSCRIBE/NOTIFY) as well as HTTP and HTTPS for dereferencing the Identity header 'info' parameter URI to acquire credentials.

sip, http, pkix

normative-requirement §4 MUST

Implementations MUST support both ECDSA with the P-256 curve and RSA PKCS #1 v1.5 for certificate signatures. RSA PKCS #1 v1.5 is mandated only as a transitional mechanism and is anticipated to be eventually deprecated.

pkix, crypto, sip

normative-requirement §9 MUST NOT

In a TelephoneNumberRange, the count field MUST NOT make the number increase in length; formally, given TelephoneNumber of length D, TelephoneNumber + count MUST be less than 10^D.

pkix, sip

normative-requirement §8 MUST

In the JWT Claim Constraints extension, mustInclude indicates claims that MUST appear in the PASSporT in addition to iat, orig, and dest; if mustInclude is absent, iat, orig, and dest MUST appear in the PASSporT.

pkix, jose, sip

normative-requirement §8 MUST

In the JWT Claim Constraints extension, permittedValues indicates that if the claim name is present in the PASSporT, the claim MUST contain one of the listed permitted values.

pkix, jose, sip

normative-requirement §6 RECOMMENDED

This specification RECOMMENDS distribution of private keys through PKCS #8 objects signed by a trusted entity, for example through the CMS package specified in RFC 5958.

pkix, crypto, sip

normative-requirement §10.1 MUST

Verifiers MUST support the AIA extension; the dereferenced URI from a CA certificate limits the set of TNs for certification paths that include that certificate.

pkix, sip

normative-requirement §10.1 MUST

When the id-ad-stirTNList accessMethod is used, the accessLocation MUST be an HTTPS URI; dereferencing it returns the complete DER-encoded TN Authorization List with Content-Type application/tnauthlist.

pkix, http, sip

privacy-consideration §10

Acquiring online certificate status information (e.g., via OCSP) has the potential to disclose private information per RFC 7258; future freshness specifications MUST identify such risks and provide countermeasures.

privacy, pkix, sip

protocol-element §10.1

The id-ad-stirTNList AIA accessMethod (OID id-ad 14) allows a verifier to fetch the complete DER-encoded TN Authorization List for a certificate by dereferencing an HTTPS URI embedded in the certificate's AIA extension.

pkix, http, sip

protocol-element §8

The JWT Claim Constraints extension (id-pe-JWTClaimConstraints, OID id-pe 27) is a non-critical, end-entity certificate extension that constrains the JWT claims an authentication service may include in PASSporT objects it signs.

pkix, jose, sip

protocol-element §9

The TN Authorization List (TNAuthList) is an X.509 certificate extension (id-pe-TNAuthList, OID id-pe 26) that lists the telephone numbers, number ranges, or Service Provider Codes (SPCs) over which a certificate subject has authority.

pkix, sip

registry §11.1

IANA registered id-pe-TNAuthList (arc 26) and id-pe-JWTClaimConstraints (arc 27) in the 'SMI Security for PKIX Certificate Extension' registry (1.3.6.1.5.5.7.1), and id-ad-stirTNList (arc 14) in the 'SMI Security for PKIX Access Descriptor' registry.

registry, pkix

registry §11.2

IANA registered the 'application/tnauthlist' media type for DER-encoded TNAuthorizationList objects, used by issuers and relying parties of secure telephone identity certificates.

registry, pkix, sip

security-consideration §12

The TN Authorization List returned via a dereferenced AIA URI is served over HTTPS but is not itself a signed object; the server is trusted to faithfully return the list provided by the list generator, introducing a trust dependency on the server.

security, pkix, http

security-consideration §12

The TNAuthList extension can divulge to relying parties extraneous telephone numbers associated with a certificate, especially when AIA is used to link thousands of numbers to a single certificate; the SPC in a certificate can also be used to identify the carrier. Short-lived per-TN certificates are suggested as a privacy-preserving alternative.

security, privacy, pkix, sip

wire-format §8

JWTClaimConstraints is a SEQUENCE with optional mustInclude [0] (JWTClaimNames, a SEQUENCE OF IA5String) and optional permittedValues [1] (JWTClaimPermittedValuesList), with a constraint that at least one of the two components MUST be present.

pkix, jose, sip

wire-format §9

TelephoneNumber is encoded as IA5String SIZE (1..15) restricted to the character set '0123456789#*'. TelephoneNumberRange is a SEQUENCE of start (TelephoneNumber) and count (INTEGER 2..MAX).

pkix, sip

wire-format §9

TNAuthorizationList is a SEQUENCE SIZE (1..MAX) OF TNEntry, where each TNEntry is a CHOICE among spc [0] (ServiceProviderCode, an IA5String), range [1] (TelephoneNumberRange), or one [2] (TelephoneNumber).

pkix, sip