draft-ietf-stir-certificates-02.txt   draft-ietf-stir-certificates-03.txt 
Network Working Group J. Peterson Network Working Group J. Peterson
Internet-Draft Neustar Internet-Draft Neustar
Intended status: Standards Track S. Turner Intended status: Standards Track S. Turner
Expires: January 6, 2016 IECA Expires: September 22, 2016 Sn3rd
July 5, 2015 March 21, 2016
Secure Telephone Identity Credentials: Certificates Secure Telephone Identity Credentials: Certificates
draft-ietf-stir-certificates-02.txt draft-ietf-stir-certificates-03.txt
Abstract Abstract
In order to prove ownership of telephone numbers on the Internet, In order to prevent the impersonation of telephone numbers on the
some kind of public infrastructure needs to exist that binds Internet, some kind of credential system needs to exist that
cryptographic keys to authority over telephone numbers. This cryptographically proves authority over telephone numbers. This
document describes a certificate-based credential system for document describes the use of certificates in establishing authority
telephone numbers, which could be used as a part of a broader over telephone numbers, as a component of a broader architecture for
architecture for managing telephone numbers as identities in managing telephone numbers as identities in protocols like SIP.
protocols like SIP.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 6, 2016. This Internet-Draft will expire on September 22, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Enrollment and Authorization . . . . . . . . . . . . . . . . 3 3. Authority for Telephone Numbers in Certificates . . . . . . . 3
3.1. Certificate Scope and Structure . . . . . . . . . . . . . 4 4. Enrollment and Authorization using the TN Authorization List 5
3.2. Provisioning Private Keying Material . . . . . . . . . . 5 4.1. Certificate Extension Scope and Structure . . . . . . . . 6
4. Acquiring Credentials to Verify Signatures . . . . . . . . . 5 5. Provisioning Private Keying Material . . . . . . . . . . . . 7
4.1. Verifying Certificate Scope . . . . . . . . . . . . . . . 6 6. Acquiring Credentials to Verify Signatures . . . . . . . . . 7
4.2. Certificate Freshness and Revocation . . . . . . . . . . 8 7. Verifying Certificate Scope with TN Authorization List . . . 8
4.2.1. Choosing a Verification Method . . . . . . . . . . . 8 8. Certificate Freshness and Revocation . . . . . . . . . . . . 10
4.2.2. Using OCSP with STIR Certificates . . . . . . . . . . 9 8.1. Choosing a Verification Method . . . . . . . . . . . . . 10
4.2.2.1. OCSP Extension Specification . . . . . . . . . . 10 8.2. Using OCSP with TN Auth List . . . . . . . . . . . . . . 11
4.2.3. Acquiring TN Lists By Reference . . . . . . . . . . . 11 8.2.1. OCSP Extension Specification . . . . . . . . . . . . 12
5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 8.3. Acquiring TN Lists By Reference . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
8. Informative References . . . . . . . . . . . . . . . . . . . 12 11. Security Considerations . . . . . . . . . . . . . . . . . . . 15
Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 14 12. Informative References . . . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction 1. Introduction
As is discussed in the STIR problem statement The STIR problem statement [I-D.ietf-stir-problem-statement]
[I-D.ietf-stir-problem-statement], the primary enabler of identifies the primary enabler of robocalling, vishing, swatting and
robocalling, vishing, swatting and related attacks is the capability related attacks as the capability to impersonate a calling party
to impersonate a calling party number. The starkest examples of number. The starkest examples of these attacks are cases where
these attacks are cases where automated callees on the PSTN rely on automated callees on the PSTN rely on the calling number as a
the calling number as a security measure, for example to access a security measure, for example to access a voicemail system.
voicemail system. Robocallers use impersonation as a means of Robocallers use impersonation as a means of obscuring identity; while
obscuring identity; while robocallers can, in the ordinary PSTN, robocallers can, in the ordinary PSTN, block (that is, withhold)
block (that is, withhold) their caller identity, callees are less their caller identity, callees are less likely to pick up calls from
likely to pick up calls from blocked identities, and therefore blocked identities, and therefore appearing to calling from some
appearing to calling from some number, any number, is preferable. number, any number, is preferable. Robocallers however prefer not to
Robocallers however prefer not to call from a number that can trace call from a number that can trace back to the robocaller, and
back to the robocaller, and therefore they impersonate numbers that therefore they impersonate numbers that are not assigned to them.
are not assigned to them.
One of the most important components of a system to prevent One of the most important components of a system to prevent
impersonation is an authority responsible for issuing credentials to impersonation is the implementation of credentials which identify the
parties who control telephone numbers. With these credentials, parties who control telephone numbers. With these credentials,
parties can prove that they are in fact authorized to use telephony parties can prove that they are in fact authorized to use telephony
numbers, and thus distinguish themselves from impersonators unable to numbers, and thus distinguish themselves from impersonators unable to
present credentials. This document describes a credential system for present such credentials. This document describes credential systems
telephone numbers based on X.509 version 3 certificates in accordance for telephone numbers based on X.509 version 3 certificates in
with [RFC5280]. While telephone numbers have long been a part of the accordance with [RFC5280]. While telephone numbers have long been a
X.509 standard, the certificates described in this document may part of the X.509 standard, this document extends X.509 with a
contain telephone number blocks or ranges, and accordingly it uses an Telephone Number Authorization List which binds certificates to
alternate syntax. authority for particular telephone numbers, or potentially telephone
number blocks or ranges.
In the STIR in-band architecture, two basic types of entities need In the STIR in-band architecture specified in
access to these credentials: authentication services, and [I-D.ietf-stir-rfc4474bis], two basic types of entities need access
verification services (or verifiers); see [I-D.ietf-stir-rfc4474bis]. to these credentials: authentication services, and verification
An authentication service must be operated by an entity enrolled with services (or verifiers). An authentication service must be operated
the certification authority (see Section 3), whereas a verifier need by an entity enrolled with the certification authority (see
only trust the root certificate of the authority, and have a means to Section 4), whereas a verifier need only trust the root certificate
acquire and validate certificates. of the authority, and have a means to access and validate the public
keys associated with these certificates. Although the guidance in
this document is written with the STIR in-band architecture in mind,
the credential system described in this document could be useful for
other protocols that want to make use of certificates to prove
authority over telephone numbers on the Internet.
This document attempts to specify only the basic elements necessary This document specifies only the credential syntax and semantics
for this architecture. Only through deployment experience will it be necessary to support this architecture. It does not assume any
possible to decide directions for future work. particular certification authority or deployment environment. We
anticipate that some deployment experience will be necessary to
determine optimal operational models.
2. Terminology 2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED", In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described in RFC 2119 [RFC2119] and RFC 6919 [RFC6919]. described in RFC 2119 [RFC2119] and RFC 6919 [RFC6919].
3. Enrollment and Authorization 3. Authority for Telephone Numbers in Certificates
This document assumes a threefold model for certificate enrollment. At a high level, this specification details two non-exclusive
approaches that can be employed to determine authority over telephone
numbers with certificates.
The first approach is to leverage the subject of the certificate to
ascertain that the holder of the certificate is authorized to claim
authority over a telephone number. The subject might be represented
as a domain name in the SubjectAltName, such as an "example.net"
where that domain is known to relying parties as a carrier, or
represented with other identifiers related to the operation of the
telephone network including Service Provider Identifiers (SPIDs)
could serve as a subject as well. A relying party could then employ
an external data set or service that determines whether or not a
specific telephone number is under the authority of the carrier
identified as the subject of the certificate, and use that to
ascertain whether or not the carrier should have authority over a
telephone number. Potentially, a certificate extension to convey the
URI of such an information service trusted by the issuer of the
certificate could be developed (though this specification does not
propose one). Alternatively, some relying parties could form
bilateral or multilateral trust relationships with peer carriers,
trusting one another's assertions just as telephone carriers in the
SS7 network today rely on transitive trust when displaying the
calling party telephone number received through SS7 signaling.
The second approach is to extend the syntax of certificates to
include a new attribute, defined here as TN Authorization List, which
contains a list of telephone numbers defining the scope of authority
of the certificate. Relying parties, if they trust the issuer of the
certificate as a source of authoritative information on telephone
numbers, could therefore use the TN Authorization List instead of the
subject of the certificate to make a decision about whether or not
the signer has authority over a particular telephone number. The TN
Authorization List could be provided in one of two ways: as a literal
value in the certificate, or as a network service that allows relying
parties to query in real time to determine that a telephone number is
in the scope of a certificate. Using the TN Authorization list
rather than the certificate subject makes sense when, for example,
for privacy reasons, the certificate owner would prefer not to be
identified, or in cases where the holder of the certificate does not
participate in the sort of traditional carrier infrastructure taht
the first approach assumes.
The first approach requires little change to existing PKI
certificates; for the second approach, we must define an appropriate
enrollment and authorization process. For the purposes of STIR, the
over-the-wire format specified in [I-D.ietf-stir-rfc4474bis]
accommodates either of these approaches: the methods for
canonicalizing, signing, for identifying and accessing the
certificate and so on remain the same; it is only the verifier
behavior and authorization decision that will change depending on the
approach to telephone number authority taken by the certificate. For
that reason, the two approaches are not mutually exclusive, and in
fact a certificate issued to a traditional telephone network service
provider could contain a TN Authorization List or not, depending on
the certification authority issuing the credential. Regardless of
which approaches is used, certificates that assert authority over
telephone numbers are subject to the ordinary operational procedures
that govern certificate use per [RFC5280]. This means that
verification services must be mindful of the need to ensure that they
trust the root certificate authority that issued the certificate, and
that they have some means to determine the freshness of the
certificate (see Section 8).
4. Enrollment and Authorization using the TN Authorization List
This document assumes a threefold model for certificate enrollment
when using the TN Authorization List extension.
The first enrollment model is one where the certification authority The first enrollment model is one where the certification authority
acts in concert with national numbering authorities to issue acts in concert with national numbering authorities to issue
credentials to those parties to whom numbers are assigned. In the credentials to those parties to whom numbers are assigned. In the
United States, for example, telephone number blocks are assigned to United States, for example, telephone number blocks are assigned to
Local Exchange Carriers (LECs) by the North American Numbering Plan Local Exchange Carriers (LECs) by the North American Numbering Plan
Administrator (NANPA), who is in turn directed by the national Administrator (NANPA), who is in turn directed by the national
regulator. LECs may also receive numbers in smaller allocations, regulator. LECs may also receive numbers in smaller allocations,
through number pooling, or via an individual assignment through through number pooling, or via an individual assignment through
number portability. LECs assign numbers to customers, who may be number portability. LECs assign numbers to customers, who may be
private individuals or organizations - and organizations take private individuals or organizations - and organizations take
responsibility for assigning numbers within their own enterprise. responsibility for assigning numbers within their own enterprise.
This model requires top-down adoption of the model from regulators
through to carriers.
The second enrollment model is one where a certification authority The second enrollment model is a bottom-up approach where a
requires that an entity prove control by means of some sort of test. certification authority requires that an entity prove control by
For example, an authority might send a text message to a telephone means of some sort of test, which, as with certification authorities
number containing a URL (which might be dereferenced by the for web PKI, might either be automated or a manual administrative
recipient) as a means of verifying that a user has control of process. As an example of an automated process, an authority might
terminal corresponding to that number. Checks of this form are send a text message to a telephone number containing a URL (which
frequently used in commercial systems today to validate telephone might be dereferenced by the recipient) as a means of verifying that
numbers provided by users. This is comparable to existing enrollment a user has control of terminal corresponding to that number. Checks
systems used by some certificate authorities for issuing S/MIME of this form are frequently used in commercial systems today to
credentials for email by verifying that the party applying for a validate telephone numbers provided by users. This is comparable to
credential receives mail at the email address in question. existing enrollment systems used by some certificate authorities for
issuing S/MIME credentials for email by verifying that the party
applying for a credential receives mail at the email address in
question.
The third enrollment model is delegation: that is, the holder of a The third enrollment model is delegation: that is, the holder of a
certificate (assigned by either of the two methods above) may certificate (assigned by either of the two methods above) might
delegate some or all of their authority to another party. In some delegate some or all of their authority to another party. In some
cases, multiple levels of delegation could occur: a LEC, for example, cases, multiple levels of delegation could occur: a LEC, for example,
might delegate authority to customer organization for a block of 100 might delegate authority to a customer organization for a block of
numbers, and the organization might in turn delegate authority for a 100 numbers used by an IP PBX, and the organization might in turn
particular number to an individual employee. This is analogous to delegate authority for a particular number to an individual employee.
delegation of organizational identities in traditional hierarchical This is analogous to delegation of organizational identities in
Public Key Infrastructures (PKIs) who use the name constraints traditional hierarchical Public Key Infrastructures (PKIs) who use
extension [RFC5280]; the root CA delegates names in sales to the the name constraints extension [RFC5280]; the root CA delegates names
sales department CA, names in development to the development CA, etc. in sales to the sales department CA, names in development to the
As lengthy certificate delegation chains are brittle, however, and development CA, etc. As lengthy certificate delegation chains are
can cause delays in the verification process, this document considers brittle, however, and can cause delays in the verification process,
optimizations to reduce the complexity of verification. this document considers optimizations to reduce the complexity of
verification.
[TBD] Future versions of this specification may address adding a [TBD] Future versions of this specification may address adding a
level of assurance indication to certificates to differentiate those level of assurance indication to certificates to differentiate those
enrolled from proof-of-possession versus delegation. enrolled from proof-of-possession versus delegation.
[TBD] Future versions of this specification may also discuss methods [TBD] Future versions of this specification may also discuss methods
of partial delegation, where certificate holders delegate only part of partial delegation, where certificate holders delegate only part
of their authority. For example, individual assignees may want to of their authority. For example, individual assignees may want to
delegate to a service authority for text messages associated with delegate to a service authority for text messages associated with
their telephone number, but not for other functions. their telephone number, but not for other functions.
3.1. Certificate Scope and Structure 4.1. Certificate Extension Scope and Structure
The subjects of telephone number certificates are the administrative
entities to whom numbers are assigned or delegated. For example, a
LEC might hold a certificate for a range of telephone numbers.
[TBD - what if the subject is considered a privacy leak?]
This specification places no limits on the number of telephone This specification places no limits on the number of telephone
numbers that can be associated with any given certificate. Some numbers that can be associated with any given certificate. Some
service providers may be assigned millions of numbers, and may wish service providers may be assigned millions of numbers, and may wish
to have a single certificate that is capable of signing for any one to have a single certificate that is capable of signing for any one
of those numbers. Others may wish to compartmentalize authority over of those numbers. Others may wish to compartmentalize authority over
subsets of the numbers they control. subsets of the numbers they control.
Moreover, service providers may wish to have multiple certificates Moreover, service providers may wish to have multiple certificates
with the same scope of authority. For example, a service provider with the same scope of authority. For example, a service provider
with several regional gateway systems may want each system to be with several regional gateway systems may want each system to be
capable of signing for each of their numbers, but not want to have capable of signing for each of their numbers, but not want to have
each system share the same private key. each system share the same private key.
The set of telephone numbers for which a particular certificate is The set of telephone numbers for which a particular certificate is
valid is expressed in the certificate through a certificate valid is expressed in the certificate through a certificate
extension; the certificate's extensibility mechanism is defined in extension; the certificate's extensibility mechanism is defined in
[RFC5280] but the telephone number authorization extension is defined [RFC5280] but the TN Authorization List extension is specified in
in this document. this document.
3.2. Provisioning Private Keying Material The subjects of certificates containing the TN Authorization List
extension are typically the administrative entities to whom numbers
are assigned or delegated. For example, a LEC might hold a
certificate for a range of telephone numbers. In some cases, the
organization or individual issued such a certificate may not want to
associate themselves with a certificate; for example, a private
individual with a certificate for a single telephone number might not
want to distribute that certificate publicly if every verifier
immediately knew their name. The certification authorities issuing
certificates with the TN Authorization List extensions may, in
accordance with their policies, obscure the identity of the subject,
though mechanisms for doing so are outside the scope of this
document.
5. Provisioning Private Keying Material
In order for authentication services to sign calls via the procedures In order for authentication services to sign calls via the procedures
described in [I-D.ietf-stir-rfc4474bis], they must possess a private described in [I-D.ietf-stir-rfc4474bis], they must hold a private key
key corresponding to a certificate with authority over the calling corresponding to a certificate with authority over the calling
number. This specification does not require that any particular number. This specification does not require that any particular
entity sign requests, only that it be an entity with an appropriate entity in a SIP deployment architecture sign requests, only that it
private key; the authentication service role may be instantiated by be an entity with an appropriate private key; the authentication
any entity in a SIP network. For a certificate granting authority service role may be instantiated by any entity in a SIP network. For
only over a particular number which has been issued to an end user, a certificate granting authority only over a particular number which
for example, an end user device might hold the private key and has been issued to an end user, for example, an end user device might
generate the signature. In the case of a service provider with hold the private key and generate the signature. In the case of a
authority over large blocks of numbers, an intermediary might hold service provider with authority over large blocks of numbers, an
the private key and sign calls. intermediary might hold the private key and sign calls.
The specification recommends distribution of private keys through The specification recommends distribution of private keys through
PKCS#8 objects signed by a trusted entity, for example through the PKCS#8 objects signed by a trusted entity, for example through the
CMS package specified in [RFC5958]. CMS package specified in [RFC5958].
4. Acquiring Credentials to Verify Signatures 6. Acquiring Credentials to Verify Signatures
This specification documents multiple ways that a verifier can gain This specification documents multiple ways that a verifier can gain
access to the credentials needed to verify a request. As the access to the credentials needed to verify a request. As the
validity of certificates does not depend on the circumstances of validity of certificates does not depend on the method of their
their acquisition, there is no need to standardize any single acquisition, there is no need to standardize any single mechanism for
mechanism for this purpose. All entities that comply with this purpose. All entities that comply with
[I-D.ietf-stir-rfc4474bis] necessarily support SIP, and consequently [I-D.ietf-stir-rfc4474bis] necessarily support SIP, and consequently
SIP itself can serve as a way to acquire certificates. This specific SIP itself can serve as a way to acquire certificates.
does allow delivery through alternate means as well. [I-D.ietf-stir-rfc4474bis] provides an "info" parameter of the
Identity header which contains a URI where the credential used to
generate the Identity header, and requires documents which define
credential systems to list the URI schemes that may be present in the
"info" parameter. For implementations compliant with this
specification, three URI schemes are REQUIRED: the CID URI, the SIP
URI, and the HTTP URI.
The simplest way for a verifier to acquire the certificate needed to The simplest way for a verifier to acquire the certificate needed to
verify a signature is for the certificate be conveyed along with the verify a signature is for the certificate be conveyed in a SIP
signature itself. In SIP, for example, a certificate could be request along with the signature itself. In SIP, for example, a
carried in a multipart MIME body [RFC2046], and the URI in the certificate could be carried in a multipart MIME body [RFC2046], and
Identity-Info header could specify that body with a CID URI the URI in the Identity header "info" parameter could specify that
[RFC2392]. However, in many environments this is not feasible due to body with a CID URI [RFC2392]. However, in many environments this is
message size restrictions or lack of necessary support for multipart not feasible due to message size restrictions or lack of necessary
MIME. support for multipart MIME.
Alternatively, the Identity-Info header of a SIP request may contain More commonly, the Identity header "info" parameter in a SIP request
a URI that the verifier dereferences with a network call. may contain a URI that the verifier dereferences with a network call.
Implementations of this specification are required to support the use Implementations of this specification are required to support the use
of SIP for this function (via the SUBSCRIBE/NOTIFY mechanism), as of SIP for this function (via the SUBSCRIBE/NOTIFY mechanism), as
well as HTTP, via the Enrollment over Secure Transport mechanisms well as HTTP, via the Enrollment over Secure Transport mechanisms
described in RFC 7030 [RFC7030]. described in RFC 7030 [RFC7030].
A verifier can however have access to a service that grants access to Note well that as an optimization, a verifier may have access to a
certificates for a particular telephone number. Note however that service, a cache or other local store that grants access to
there may be multiple valid certificates that can sign a call setup certificates for a particular telephone number. However, there may
request for a telephone number, and that as a consequence, there be multiple valid certificates that can sign a call setup request for
needs to be some discriminator that the signer uses to identify their a telephone number, and as a consequence, there needs to be some
credentials. The Identity-Info header itself can serve as such a discriminator that the signer uses to identify their credentials.
discriminator. The Identity header "info" parameter itself can serve as such a
discriminator, provided implementations use that parameter as a key
when accessing certificates from caches or other sources. Verifiers
still
4.1. Verifying Certificate Scope 7. Verifying Certificate Scope with TN Authorization List
The subjects of these certificates are the administrative entities to The subjects of certificates containing the TN Authorization List
whom numbers are assigned or delegated. When a verifier is extension are the administrative entities to whom numbers are
validating a caller's identity, local policy always determines the assigned or delegated. When a verifier is validating a caller's
circumstances under which any particular subject may be trusted, but identity, local policy always determines the circumstances under
for the purpose of validating a caller's identity, this certificate which any particular subject may be trusted, but the purpose of the
extension establishes whether or not a signer is authorized to sign TN Authorization List extension particular is to allow a verifier to
for a particular number. ascertain when the certification authority has designed that the
subject has authority over a particular telephone number or number
range.
The Telephony Number (TN) Authorization List certificate extension is The Telephony Number (TN) Authorization List certificate extension is
identified by the following object identifier: identified by the following object identifier:
id-ce-TNAuthList OBJECT IDENTIFIER ::= { TBD } id-ce-TNAuthList OBJECT IDENTIFIER ::= { TBD }
The TN Authorization List certificate extension has the following The TN Authorization List certificate extension has the following
syntax: syntax:
TNAuthorizationList ::= SEQUENCE SIZE (1..MAX) OF TNAuthorization TNAuthorizationList ::= SEQUENCE SIZE (1..MAX) OF TNAuthorization
skipping to change at page 8, line 11 skipping to change at page 10, line 11
many numbers, possibly millions of numbers, with a particular many numbers, possibly millions of numbers, with a particular
certificate, optimizations are required for those cases to prevent certificate, optimizations are required for those cases to prevent
certificate size from becoming unmanageable. In these cases, the TN certificate size from becoming unmanageable. In these cases, the TN
Authorization List may be given by reference rather than by value, Authorization List may be given by reference rather than by value,
through the presence of a separate certificate extension that permits through the presence of a separate certificate extension that permits
verifiers to either securely download the list of numbers associated verifiers to either securely download the list of numbers associated
with a certificate, or to verify that a single number is under the with a certificate, or to verify that a single number is under the
authority of this certificate. This optimization will be detailed in authority of this certificate. This optimization will be detailed in
future version of this specification. future version of this specification.
4.2. Certificate Freshness and Revocation 8. Certificate Freshness and Revocation
The problem of certificate freshness gains a new wrinkle in the Regardless of which of the approaches in Section 3 is followed for
telephone number context, because verifiers must establish not only using certificates, some sort of certificate verification mechanism
that a certificate remains valid, but also that the certificate's is required. However, the traditional problem of certificate
scope contains the telephone number that the verifier is validating. freshness gains a new wrinkle when using the TN Authorization List
extension, because verifiers must establish not only that a
certificate remains valid, but also that the certificate's scope
contains the telephone number that the verifier is validating.
Dynamic changes to number assignments can occur due to number Dynamic changes to number assignments can occur due to number
portability, for example. So even if a verifier has a valid cached portability, for example. So even if a verifier has a valid cached
certificate for a telephone number (or a range containing the certificate for a telephone number (or a range containing the
number), the verifier must determine that the entity that signed is number), the verifier must determine that the entity that signed is
still a proper authority for that number. still a proper authority for that number.
To verify the status of the certificate, the verifier needs the To verify the status of the certificate, the verifier needs to
certificate, which is included with the call, and then would need to acquire the certificate if necessary (via the methods described in
either: Section 6), and then would need to either:
Rely on short-lived certificates and not check the certificate's Rely on short-lived certificates and not check the certificate's
status, or status, or
Rely on status information from the authority Rely on status information from the authority
The tradeoff between short lived certificates and using status The tradeoff between short lived certificates and using status
information is the former's burden is on the front end (i.e., information is the former's burden is on the front end (i.e.,
enrollment) and the latter's burden is on the back end (i.e., enrollment) and the latter's burden is on the back end (i.e.,
verification). Both impact call setup time, but it is assumed that verification). Both impact call setup time, but it is assumed that
performing enrollment for each call is more of an impact that using performing enrollment for each call is more of an impact that using
status information. This document therefore recommends relying on status information. This document therefore recommends relying on
status information. status information.
4.2.1. Choosing a Verification Method 8.1. Choosing a Verification Method
There are three common certificate verification mechanisms employed There are three common certificate verification mechanisms employed
by CAs: by CAs:
Certificate Revocation Lists (CRLs) [RFC5280] Certificate Revocation Lists (CRLs) [RFC5280]
Online Certificate Status Protocol (OCSP) [RFC6960], and Online Certificate Status Protocol (OCSP) [RFC6960], and
Server-based Certificate Validation Protocol (SCVP) [RFC5055]. Server-based Certificate Validation Protocol (SCVP) [RFC5055].
When relying on status information, the verifier needs to obtain the When relying on status information, the verifier needs to obtain the
status information - but before that can happen, the verifier needs status information - but before that can happen, the verifier needs
to know where to locate it. Placing the location of the status to know where to locate it. Placing the location of the status
information in the certificate makes the certificate larger, but it information in the certificate makes the certificate larger, but it
eases the client workload. The CRL Distribution Point certificate eases the client workload. The CRL Distribution Point certificate
extension includes the location of the CRL and the Authority extension includes the location of the CRL and the Authority
Information Access certificate extension includes the location of Information Access certificate extension includes the location of
OCSP and/or SCVP servers; both of these extensions are defined in OCSP and/or SCVP servers; both of these extensions are defined in
skipping to change at page 9, line 34 skipping to change at page 11, line 35
(i.e., does the RP have all of the CRL partitions). (i.e., does the RP have all of the CRL partitions).
CAs in the STIR architecture will likely all create CRLs for audit CAs in the STIR architecture will likely all create CRLs for audit
purposes, but it NOT RECOMMENDED that they be relying upon for status purposes, but it NOT RECOMMENDED that they be relying upon for status
information. Instead, one of the two "online" options is preferred. information. Instead, one of the two "online" options is preferred.
Between the two, OCSP is much more widely deployed and this document Between the two, OCSP is much more widely deployed and this document
therefore recommends the use of OCSP in high-volume environments for therefore recommends the use of OCSP in high-volume environments for
validating the freshness of certificates, based on [RFC6960], validating the freshness of certificates, based on [RFC6960],
incorporating some (but not all) of the optimizations of [RFC5019]. incorporating some (but not all) of the optimizations of [RFC5019].
4.2.2. Using OCSP with STIR Certificates 8.2. Using OCSP with TN Auth List
Certificates compliant with this specification therefore SHOULD Certificates compliant with this specification therefore SHOULD
include a URL pointing to an OCSP service in the Authority include a URL pointing to an OCSP service in the Authority
Information Access (AIA) certificate extension, via the "id-ad-ocsp" Information Access (AIA) certificate extension, via the "id-ad-ocsp"
accessMethod specified in [RFC5280]. Baseline OCSP however supports accessMethod specified in [RFC5280]. Baseline OCSP however supports
only three possible response values: good, revoked, or unknown. With only three possible response values: good, revoked, or unknown. With
some extension, OCSP would not indicate whether the certificate is some extension, OCSP would not indicate whether the certificate is
authorized for a particular telephone number that the verifier is authorized for a particular telephone number that the verifier is
validating. validating.
skipping to change at page 10, line 28 skipping to change at page 12, line 32
we're6960 obviously going to change this to be SHA-256. we're6960 obviously going to change this to be SHA-256.
The requirement to consult OCSP in real time results in a network The requirement to consult OCSP in real time results in a network
round-trip time of day, which is something to consider because it round-trip time of day, which is something to consider because it
will add to the call setup time. OCSP server implementations will add to the call setup time. OCSP server implementations
commonly pre-generate responses, and to speed up HTTPS connections, commonly pre-generate responses, and to speed up HTTPS connections,
servers often provide OCSP responses for each certificate in their servers often provide OCSP responses for each certificate in their
hierarchy. If possible, both of these OCSP concepts should be hierarchy. If possible, both of these OCSP concepts should be
adopted for use with STIR. adopted for use with STIR.
4.2.2.1. OCSP Extension Specification 8.2.1. OCSP Extension Specification
The extension mechanism for OCSP follows X.509 v3 certificate The extension mechanism for OCSP follows X.509 v3 certificate
extensions, and thus requires an OID, a criticality flag, and ASN.1 extensions, and thus requires an OID, a criticality flag, and ASN.1
syntax as defined by the OID. The criticality specified here is syntax as defined by the OID. The criticality specified here is
optional: per [RFC6960] Section 4.4, support for all OCSP extensions optional: per [RFC6960] Section 4.4, support for all OCSP extensions
is optional. If the OCSP server does not understand the requested is optional. If the OCSP server does not understand the requested
extension, it will still provide the baseline validation of the extension, it will still provide the baseline validation of the
certificate itself. Moreover, in practical STIR deployments, the certificate itself. Moreover, in practical STIR deployments, the
issuer of the certificate will set the accessLocation for the OCSP issuer of the certificate will set the accessLocation for the OCSP
AIA extension to point to an OCSP service that supports this AIA extension to point to an OCSP service that supports this
skipping to change at page 11, line 27 skipping to change at page 13, line 29
sort of asynchronous mechanism could notify and update the verifier sort of asynchronous mechanism could notify and update the verifier
if the scope of the certificate changes so that verifiers could if the scope of the certificate changes so that verifiers could
implement a cache. While not all possible categories of verifiers implement a cache. While not all possible categories of verifiers
could implement such behavior, some sort of event-driven notification could implement such behavior, some sort of event-driven notification
of certificate status is another potential subject of future work. of certificate status is another potential subject of future work.
One potential direction is that a future SIP SUBSCRIBE/NOTIFY-based One potential direction is that a future SIP SUBSCRIBE/NOTIFY-based
accessMethod for AIA might be defined (which would also be applicable accessMethod for AIA might be defined (which would also be applicable
to the method described in the following section) by some future to the method described in the following section) by some future
specification. specification.
4.2.3. Acquiring TN Lists By Reference Strategies for stapling OCSP [RFC6961] have become common in some web
PKI environments as an optimization which allows web servers to send
up-to-date certificate status information acquired from OCSP to
clients as TLS is negotiated. A similar mechanism could be
implemented for SIP requests, in which the authentication service
adds status information for its certificate to the SIP request, which
would save the verifier the trouble of performing the OCSP dip
itself. Especially for high-volume authentication and verification
services, this could result in significant performance improvements.
This is left as an optimization for future work.
8.3. Acquiring TN Lists By Reference
Acquiring a list of the telephone numbers associated with a Acquiring a list of the telephone numbers associated with a
certificate or its subject lends itself to an application-layer certificate or its subject lends itself to an application-layer
query/response interaction outside of OCSP, one which could be query/response interaction outside of OCSP, one which could be
initiated through a separate URI included in the certificate. The initiated through a separate URI included in the certificate. The
AIA extension (see [RFC5280]) supports such a mechanism: it AIA extension (see [RFC5280]) supports such a mechanism: it
designates an OID to identify the accessMethod and an accessLocation, designates an OID to identify the accessMethod and an accessLocation,
which would most likely be a URI. A verifier would then follow the which would most likely be a URI. A verifier would then follow the
URI to ascertain whether the list of TNs authorized for use by the URI to ascertain whether the list of TNs authorized for use by the
caller. caller.
HTTPS is the most obvious candidate for a protocol to be used for HTTPS is the most obvious candidate for a protocol to be used for
fetching the list of telephone number associated with a particular fetching the list of telephone number associated with a particular
certificate. This document defines a new AIA accessMethod, called certificate. This document defines a new AIA accessMethod, called
"id-ad-stir-tn", which uses the following AIA OID: "id-ad-stir-tn", which uses the following AIA OID:
id-ad-stir-tn OBJECT IDENTIFIER ::= { id-ad TBD } id-ad-stir-tn OBJECT IDENTIFIER ::= { id-ad TBD }
When the "id-ad-stir-tn" accessMethod is used, the accessLocation When the "id-ad-stir-tn" accessMethod is used, the accessLocation
MUST be an HTTPS URI. The document returned by dereferencing that MUST be an HTTPS URI. The document returned by dereferencing that
URI will contain the complete TN Authorization List (see Section 4.1) URI will contain the complete TN Authorization List (see Section 7)
for the certificate. for the certificate.
Delivering the entire list of telephone numbers associated with a Delivering the entire list of telephone numbers associated with a
particular certificate will divulge to STIR verifiers information particular certificate will divulge to STIR verifiers information
about telephone numbers other than the one associated with the about telephone numbers other than the one associated with the
particular call that the verifier is checking. In some environments, particular call that the verifier is checking. In some environments,
where STIR verifiers handle a high volume of calls, maintaining an where STIR verifiers handle a high volume of calls, maintaining an
up-to-date and complete cache for the numbers associated with crucial up-to-date and complete cache for the numbers associated with crucial
certificate holders could give an important boost to performance. certificate holders could give an important boost to performance.
5. Acknowledgments 9. Acknowledgments
Russ Housley, Brian Rosen, Cullen Jennings and Eric Rescorla provided Russ Housley, Brian Rosen, Cullen Jennings and Eric Rescorla provided
key input to the discussions leading to this document. key input to the discussions leading to this document.
6. IANA Considerations 10. IANA Considerations
This document makes use of object identifiers for the TN Certificate This document makes use of object identifiers for the TN Certificate
Extension defined in Section 4.1, TN-HVE OCSP extension in Extension defined in Section 7, TN-HVE OCSP extension in
Section 4.2.2.1, and the TN by reference AIA access descriptor Section 8.2.1, and the TN by reference AIA access descriptor defined
defined in Section 4.2.3. It therefore requests that the IANA make in Section 8.3. It therefore requests that the IANA make the
the following assignments: following assignments:
- TN Certificate Extension in the SMI Security for PKIX - TN Certificate Extension in the SMI Security for PKIX
Certificate Extension registry: http://www.iana.org/assignments/ Certificate Extension registry: http://www.iana.org/assignments/
smi-numbers/smi-numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.1 smi-numbers/smi-numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.1
- TN-HVE OCSP extension in the SMI Security for PKIX Online - TN-HVE OCSP extension in the SMI Security for PKIX Online
Certificate Status Protocol (OCSP) registry: Certificate Status Protocol (OCSP) registry:
http://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml#smi- http://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml#smi-
numbers-1.3.6.1.5.5.7.48.1 numbers-1.3.6.1.5.5.7.48.1
- TNS by reference access descriptor in the SMI Security for PKIX - TNS by reference access descriptor in the SMI Security for PKIX
Access Descriptor registry: http://www.iana.org/assignments/smi- Access Descriptor registry: http://www.iana.org/assignments/smi-
numbers/smi-numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.48 numbers/smi-numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.48
7. Security Considerations 11. Security Considerations
This document is entirely about security. For further information on This document is entirely about security. For further information on
certificate security and practices, see RFC 3280 [RFC3280], in certificate security and practices, see RFC 3280 [RFC3280], in
particular its Security Considerations. particular its Security Considerations.
8. Informative References 12. Informative References
[I-D.ietf-stir-problem-statement] [I-D.ietf-stir-problem-statement]
Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure
Telephone Identity Problem Statement and Requirements", Telephone Identity Problem Statement and Requirements",
draft-ietf-stir-problem-statement-05 (work in progress), draft-ietf-stir-problem-statement-05 (work in progress),
May 2014. May 2014.
[I-D.ietf-stir-rfc4474bis] [I-D.ietf-stir-rfc4474bis]
Peterson, J., Jennings, C., and E. Rescorla, Peterson, J., Jennings, C., Rescorla, E., and C. Wendt,
"Authenticated Identity Management in the Session "Authenticated Identity Management in the Session
Initiation Protocol (SIP)", draft-ietf-stir-rfc4474bis-03 Initiation Protocol (SIP)", draft-ietf-stir-rfc4474bis-07
(work in progress), March 2015. (work in progress), February 2016.
[I-D.peterson-sipping-retarget] [I-D.peterson-sipping-retarget]
Peterson, J., "Retargeting and Security in SIP: A Peterson, J., "Retargeting and Security in SIP: A
Framework and Requirements", draft-peterson-sipping- Framework and Requirements", draft-peterson-sipping-
retarget-00 (work in progress), February 2005. retarget-00 (work in progress), February 2005.
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046, Extensions (MIME) Part Two: Media Types", RFC 2046,
November 1996. DOI 10.17487/RFC2046, November 1996,
<http://www.rfc-editor.org/info/rfc2046>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource [RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource
Locators", RFC 2392, August 1998. Locators", RFC 2392, DOI 10.17487/RFC2392, August 1998,
<http://www.rfc-editor.org/info/rfc2392>.
[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000. [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818,
DOI 10.17487/RFC2818, May 2000,
<http://www.rfc-editor.org/info/rfc2818>.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002. DOI 10.17487/RFC3261, June 2002,
<http://www.rfc-editor.org/info/rfc3261>.
[RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation [RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation
Protocol (SIP): Locating SIP Servers", RFC 3263, June Protocol (SIP): Locating SIP Servers", RFC 3263,
2002. DOI 10.17487/RFC3263, June 2002,
<http://www.rfc-editor.org/info/rfc3263>.
[RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet [RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet
X.509 Public Key Infrastructure Certificate and X.509 Public Key Infrastructure Certificate and
Certificate Revocation List (CRL) Profile", RFC 3280, Certificate Revocation List (CRL) Profile", RFC 3280,
April 2002. DOI 10.17487/RFC3280, April 2002,
<http://www.rfc-editor.org/info/rfc3280>.
[RFC5019] Deacon, A. and R. Hurst, "The Lightweight Online [RFC5019] Deacon, A. and R. Hurst, "The Lightweight Online
Certificate Status Protocol (OCSP) Profile for High-Volume Certificate Status Protocol (OCSP) Profile for High-Volume
Environments", RFC 5019, September 2007. Environments", RFC 5019, DOI 10.17487/RFC5019, September
2007, <http://www.rfc-editor.org/info/rfc5019>.
[RFC5055] Freeman, T., Housley, R., Malpani, A., Cooper, D., and W. [RFC5055] Freeman, T., Housley, R., Malpani, A., Cooper, D., and W.
Polk, "Server-Based Certificate Validation Protocol Polk, "Server-Based Certificate Validation Protocol
(SCVP)", RFC 5055, December 2007. (SCVP)", RFC 5055, DOI 10.17487/RFC5055, December 2007,
<http://www.rfc-editor.org/info/rfc5055>.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, May 2008. (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<http://www.rfc-editor.org/info/rfc5280>.
[RFC5958] Turner, S., "Asymmetric Key Packages", RFC 5958, August [RFC5958] Turner, S., "Asymmetric Key Packages", RFC 5958,
2010. DOI 10.17487/RFC5958, August 2010,
<http://www.rfc-editor.org/info/rfc5958>.
[RFC6919] Barnes, R., Kent, S., and E. Rescorla, "Further Key Words [RFC6919] Barnes, R., Kent, S., and E. Rescorla, "Further Key Words
for Use in RFCs to Indicate Requirement Levels", RFC 6919, for Use in RFCs to Indicate Requirement Levels", RFC 6919,
April 2013. DOI 10.17487/RFC6919, April 2013,
<http://www.rfc-editor.org/info/rfc6919>.
[RFC6960] Santesson, S., Myers, M., Ankney, R., Malpani, A., [RFC6960] Santesson, S., Myers, M., Ankney, R., Malpani, A.,
Galperin, S., and C. Adams, "X.509 Internet Public Key Galperin, S., and C. Adams, "X.509 Internet Public Key
Infrastructure Online Certificate Status Protocol - OCSP", Infrastructure Online Certificate Status Protocol - OCSP",
RFC 6960, June 2013. RFC 6960, DOI 10.17487/RFC6960, June 2013,
<http://www.rfc-editor.org/info/rfc6960>.
[RFC7030] Pritikin, M., Yee, P., and D. Harkins, "Enrollment over [RFC6961] Pettersen, Y., "The Transport Layer Security (TLS)
Secure Transport", RFC 7030, October 2013. Multiple Certificate Status Request Extension", RFC 6961,
DOI 10.17487/RFC6961, June 2013,
<http://www.rfc-editor.org/info/rfc6961>.
[RFC7030] Pritikin, M., Ed., Yee, P., Ed., and D. Harkins, Ed.,
"Enrollment over Secure Transport", RFC 7030,
DOI 10.17487/RFC7030, October 2013,
<http://www.rfc-editor.org/info/rfc7030>.
[RFC7299] Housley, R., "Object Identifier Registry for the PKIX [RFC7299] Housley, R., "Object Identifier Registry for the PKIX
Working Group", RFC 7299, July 2014. Working Group", RFC 7299, DOI 10.17487/RFC7299, July 2014,
<http://www.rfc-editor.org/info/rfc7299>.
[X.680] USC/Information Sciences Institute, "Information [X.680] USC/Information Sciences Institute, "Information
Technology - Abstract Syntax Notation One.", ITU-T X.680, Technology - Abstract Syntax Notation One.", ITU-T X.680,
ISO/IEC 8824-1:2002, 2002. ISO/IEC 8824-1:2002, 2002.
[X.681] USC/Information Sciences Institute, "Information [X.681] USC/Information Sciences Institute, "Information
Technology - Abstract Syntax Notation One: Information Technology - Abstract Syntax Notation One: Information
Object Specification", ITU-T X.681, ISO/IEC 8824-2:2002, Object Specification", ITU-T X.681, ISO/IEC 8824-2:2002,
2002. 2002.
skipping to change at page 15, line 9 skipping to change at page 17, line 49
This appendix provides the normative ASN.1 [X.680] definitions for This appendix provides the normative ASN.1 [X.680] definitions for
the structures described in this specification using ASN.1, as the structures described in this specification using ASN.1, as
defined in [X.680] through [X.683]. defined in [X.680] through [X.683].
TBD TBD
Authors' Addresses Authors' Addresses
Jon Peterson Jon Peterson
Neustar, Inc. Neustar, Inc.
1800 Sutter St Suite 570
Concord, CA 94520
US
Email: jon.peterson@neustar.biz Email: jon.peterson@neustar.biz
Sean Turner Sean Turner
IECA, Inc. Sn3rd
3057 Nutley Street, Suite 106
Farifax, VA 22031
US
Email: turners@ieca.com Email: sean@sn3rd.com
 End of changes. 66 change blocks. 
185 lines changed or deleted 312 lines changed or added

This html diff was produced by rfcdiff 1.44. The latest version is available from http://tools.ietf.org/tools/rfcdiff/