draft-ietf-stir-certificates-13.txt   draft-ietf-stir-certificates-14.txt 
Network Working Group J. Peterson STIR J. Peterson
Internet-Draft Neustar Internet-Draft Neustar
Intended status: Standards Track S. Turner Intended status: Standards Track S. Turner
Expires: September 27, 2017 sn3rd Expires: November 10, 2017 sn3rd
March 27, 2017 May 9, 2017
Secure Telephone Identity Credentials: Certificates Secure Telephone Identity Credentials: Certificates
draft-ietf-stir-certificates-13.txt draft-ietf-stir-certificates-14
Abstract Abstract
In order to prevent the impersonation of telephone numbers on the In order to prevent the impersonation of telephone numbers on the
Internet, some kind of credential system needs to exist that Internet, some kind of credential system needs to exist that
cryptographically asserts authority over telephone numbers. This cryptographically asserts authority over telephone numbers. This
document describes the use of certificates in establishing authority document describes the use of certificates in establishing authority
over telephone numbers, as a component of a broader architecture for over telephone numbers, as a component of a broader architecture for
managing telephone numbers as identities in protocols like SIP. managing telephone numbers as identities in protocols like SIP.
skipping to change at page 1, line 36 skipping to change at page 1, line 36
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 September 27, 2017. This Internet-Draft will expire on November 10, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 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
skipping to change at page 2, line 22 skipping to change at page 2, line 22
4. Certificate Usage with STIR . . . . . . . . . . . . . . . . . 5 4. Certificate Usage with STIR . . . . . . . . . . . . . . . . . 5
5. Enrollment and Authorization using the TN Authorization List 6 5. Enrollment and Authorization using the TN Authorization List 6
5.1. Constraints on Signing PASSporTs . . . . . . . . . . . . 7 5.1. Constraints on Signing PASSporTs . . . . . . . . . . . . 7
5.2. Certificate Extension Scope and Structure . . . . . . . . 8 5.2. Certificate Extension Scope and Structure . . . . . . . . 8
6. Provisioning Private Keying Material . . . . . . . . . . . . 8 6. Provisioning Private Keying Material . . . . . . . . . . . . 8
7. Acquiring Credentials to Verify Signatures . . . . . . . . . 9 7. Acquiring Credentials to Verify Signatures . . . . . . . . . 9
8. JWT Claim Constraints Syntax . . . . . . . . . . . . . . . . 10 8. JWT Claim Constraints Syntax . . . . . . . . . . . . . . . . 10
9. TN Authorization List Syntax . . . . . . . . . . . . . . . . 11 9. TN Authorization List Syntax . . . . . . . . . . . . . . . . 11
10. Certificate Freshness and Revocation . . . . . . . . . . . . 13 10. Certificate Freshness and Revocation . . . . . . . . . . . . 13
10.1. Acquiring TN Lists By Reference . . . . . . . . . . . . 14 10.1. Acquiring TN Lists By Reference . . . . . . . . . . . . 14
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
12. Security Considerations . . . . . . . . . . . . . . . . . . . 15 12. Security Considerations . . . . . . . . . . . . . . . . . . . 15
13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 15
14.1. Normative References . . . . . . . . . . . . . . . . . . 15 14.1. Normative References . . . . . . . . . . . . . . . . . . 16
14.2. Informative References . . . . . . . . . . . . . . . . . 17 14.2. Informative References . . . . . . . . . . . . . . . . . 17
Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 18 Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20
1. Introduction 1. Introduction
The STIR problem statement [RFC7340] identifies the primary enabler The STIR problem statement [RFC7340] identifies the primary enabler
of robocalling, vishing, swatting and related attacks as the of robocalling, vishing, swatting and related attacks as the
capability to impersonate a calling party number. The starkest capability to impersonate a calling party number. The starkest
examples of these attacks are cases where automated callees on the examples of these attacks are cases where automated callees on the
skipping to change at page 10, line 11 skipping to change at page 10, line 11
be multiple valid certificates that can sign a call setup request for be multiple valid certificates that can sign a call setup request for
a telephone number, and as a consequence, there needs to be some a telephone number, and as a consequence, there needs to be some
discriminator that the signer uses to identify their credentials. discriminator that the signer uses to identify their credentials.
The Identity header "info" parameter itself can serve as such a The Identity header "info" parameter itself can serve as such a
discriminator, provided implementations use that parameter as a key discriminator, provided implementations use that parameter as a key
when accessing certificates from caches or other sources. when accessing certificates from caches or other sources.
8. JWT Claim Constraints Syntax 8. JWT Claim Constraints Syntax
The subjects of certificates containing the JWT Claim Constraints Certificate subjects are limited to specific values for PASSporT
certificate extension are specifies values for PASSporT claims that claims with the JWT Claim Constraints certificate extension; issuers
are permitted. The syntax of these claims is given in PASSporT; permit all claims by omitting the JWT Claim Constraints certificate
specifying new claims follows the procedures in extension from the certificate's extension field [RFC5280]. The
[I-D.ietf-stir-passport] (Section 8.3). When a verifier is extension is non-critical, applicable only to end-entity
validating PASSporT claims, the JWT claim MUST contain permitted certificates, and defined with ASN.1 [X.680][X.681][X.682][X.683]
values. The non-critical JWT Claim Constraints certificate extension later in this section. The syntax of the claims is given in
is included in the extension field of end entity certificates PASSporT; specifying new claims follows the procedures in
[RFC5280]. The extension is defined with ASN.1 [X.680][X.681][X.682] [I-D.ietf-stir-passport] (Section 8.3).
[X.683].
The JWT Claim Constraints certificate extension places constraints on This certificate extension is optional, but if present, it constrains
the values that are allowed in particular JWT claims. This the claims that authentication services may include in the PASSporT
certificate extension is optional, but if present, it constrains the objects they sign. Constraints are applied by issuers and enforced
claims that authentication services may included in the PASSporT by verifiers when validating PASSporT claims as follows:
objects they sign. For example, imagine a PASSporT extension claim
called "confidence" with values "low", "medium", and "high". If a CA 1. mustInclude indicates claims that MUST appear in the PASSporT in
issues to an authentication service a certificate that contains the addition to iat, orig, and dest. The baseline claims of PASSporT
value "confidence" in the "claim" field and "high" in the "permitted" ("iat", "orig", and "dest") are considered to be permitted by
feild of the JWT Claim Constraints, then an authentication service default and SHOULD NOT be included. If mustInclude is absent,
MAY add a "high" "confidence" claim to any PASSporTs it generates. A iat, orig, and dest MUST appear in the PASSporT.
verification service MUST treat as invalid any PASSporT it receives
with a PASSporT extension claim that is not included in JWT Claim 2. permittedValues indicates that if the claim name is present, the
Constraints. The baseline claims of PASSporT ("orig", "dest", "iat" claim MUST contain one of the listed values.
and "mky") are considered to be permitted by default and SHOULD NOT
be included in the "claim" field. The issuer of a certificate may Consider two examples with a PASSporT claim called "confidence" with
similarly explicitly allow the use of a particular claim by the values "low", "medium", and "high":
holder of the certificate. If a certificate contains no JWT Claim
Constraints, the issuer of the certificate permits all claims. o If a CA issues to an authentication service a certificate that
contains the mustInclude JWTClaimName "confidence", then an
authentication service MUST include the "confidence" claim in all
PASSporTs it generates; a verification service will treat as
invalid any PASSporT it receives with a PASSporT claim that does
not include the "confidence" claim.
o If a CA issues to an authentication service a certificate that
contains the permittedValues JWTClaimName "confidence" and a
permitted "high" value, then an authentication service will treat
as invalid any PASSporT it receives with a PASSporT claim that
does not include the "confidence" claim with a "high" value.
The JWT Claim Constraints certificate extension is identified by the The JWT Claim Constraints certificate extension is identified by the
following object identifier (OID), which is defined under the id-pe following object identifier (OID), which is defined under the id-pe
OID arc defined in [RFC5280] and managed by IANA (see Section 11): OID arc defined in [RFC5280] and managed by IANA (see Section 11):
id-pe-JWTClaimConstraints OBJECT IDENTIFIER ::= { id-pe 25 } id-pe-JWTClaimConstraints OBJECT IDENTIFIER ::= { id-pe 25 }
The JWT Claim Constraints certificate extension has the following The JWT Claim Constraints certificate extension has the following
syntax: syntax:
JWTClaimConstraints ::= SEQUENCE SIZE (1..MAX) OF JWTClaimConstraint JWTClaimConstraints ::= SEQUENCE {
mustInclude [0] JWTClaimNames OPTIONAL,
-- The listed claim names MUST appear in the PASSporT in addition
-- to iat, orig, and dest. If absent, iat, orig, and dest MUST
-- appear in the PASSporT.
permittedValues [1] JWTClaimPermittedValuesList OPTIONAL }
-- If the claim name is present, the claim MUST contain one of
-- the listed values.
( WITH COMPONENTS { ..., mustInclude PRESENT } |
WITH COMPONENTS { ..., permittedValues PRESENT } )
JWTClaimConstraint ::= SEQUENCE { JWTClaimPermittedValuesList ::= SEQUENCE SIZE (1..MAX) OF
claim IA5String, JWTClaimPermittedValues
permitted SEQUENCE OF IA5String
} JWTClaimPermittedValues ::= SEQUENCE {
claim JWTClaimName,
permitted SEQUENCE SIZE (1..MAX) OF UTF8String }
JWTClaimNames ::= SEQUENCE SIZE (1..MAX) OF JWTClaimName
JWTClaimName ::= IA5String
9. TN Authorization List Syntax 9. TN Authorization List Syntax
The subjects of certificates containing the TN Authorization List The subjects of certificates containing the TN Authorization List
extension are the administrative entities to whom numbers are extension are the administrative entities to whom numbers are
assigned or delegated. When a verifier is validating a caller's assigned or delegated. When a verifier is validating a caller's
identity, local policy always determines the circumstances under identity, local policy always determines the circumstances under
which any particular subject may be trusted, but the purpose of the which any particular subject may be trusted, but the purpose of the
TN Authorization List extension in particular is to allow a verifier TN Authorization List extension in particular is to allow a verifier
to ascertain when the CA has designated that the subject has to ascertain when the CA has designated that the subject has
skipping to change at page 12, line 5 skipping to change at page 12, line 19
The Telephony Number (TN) Authorization List certificate extension is The Telephony Number (TN) Authorization List certificate extension is
identified by the following object identifier (OID), which is defined identified by the following object identifier (OID), which is defined
under the id-pe OID arc defined in [RFC5280] and managed by IANA (see under the id-pe OID arc defined in [RFC5280] and managed by IANA (see
Section 11): Section 11):
id-pe-TNAuthList OBJECT IDENTIFIER ::= { id-pe 26 } id-pe-TNAuthList OBJECT IDENTIFIER ::= { id-pe 26 }
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 TNEntry TNAuthorizationList ::= SEQUENCE SIZE (1..MAX) OF TNEntry
TNEntry ::= CHOICE { TNEntry ::= CHOICE {
spc [0] ServiceProviderCodeList, spc [0] ServiceProviderCode,
range [1] TelephoneNumberRange, range [1] TelephoneNumberRange,
one E164Number one [2] TelephoneNumber
} }
ServiceProviderCodeList ::= SEQUENCE SIZE (1..3) OF IA5String ServiceProviderCode ::= IA5String
-- Service Provider Codes may be OCNs, various SPIDs, or other -- Service Provider Codes may be OCNs, various SPIDs, or other
-- SP identifiers from the telephone network -- SP identifiers from the telephone network
TelephoneNumberRange ::= SEQUENCE { TelephoneNumberRange ::= SEQUENCE {
start E164Number, start TelephoneNumber,
count INTEGER count INTEGER (2..MAX)
} }
E164Number ::= IA5String (SIZE (1..15)) (FROM ("0123456789#*")) TelephoneNumber ::= IA5String (SIZE (1..15)) (FROM ("0123456789#*"))
The TN Authorization List certificate extension indicates the The TN Authorization List certificate extension indicates the
authorized phone numbers for the call setup signer. It indicates one authorized phone numbers for the call setup signer. It indicates one
or more blocks of telephone number entries that have been authorized or more blocks of telephone number entries that have been authorized
for use by the call setup signer. There are three ways to identify for use by the call setup signer. There are three ways to identify
the block: the block:
1. Service Provider Codes as described in this document are a 1. Service Provider Codes as described in this document are a
generic term for the identifiers used to designate service generic term for the identifiers used to designate service
providers in the telepohone networks today. In North American providers in the telepohone networks today. In North American
skipping to change at page 12, line 37 skipping to change at page 13, line 4
or more blocks of telephone number entries that have been authorized or more blocks of telephone number entries that have been authorized
for use by the call setup signer. There are three ways to identify for use by the call setup signer. There are three ways to identify
the block: the block:
1. Service Provider Codes as described in this document are a 1. Service Provider Codes as described in this document are a
generic term for the identifiers used to designate service generic term for the identifiers used to designate service
providers in the telepohone networks today. In North American providers in the telepohone networks today. In North American
context, these would include Operating Company Numbers (OCNs) as context, these would include Operating Company Numbers (OCNs) as
specified in [ATIS-0300251], related Service Provide Identifiers specified in [ATIS-0300251], related Service Provide Identifiers
(SPIDs), or other similar identifiers for service providers. (SPIDs), or other similar identifiers for service providers.
SPCs can be used to indirectly name all of the telephone numbers SPCs can be used to indirectly name all of the telephone numbers
associated with that identifier for a service provider, associated with that identifier for a service provider,
2. Telephone numbers can be listed in a range (in the 2. Telephone numbers can be listed in a range (in the
TelephoneNumberRange format), which consists of a starting TelephoneNumberRange format), which consists of a starting
telephone number and then an integer count of numbers within the telephone number and then an integer count of numbers within the
range, where the valid boundaries of ranges may vary according to range, where the valid boundaries of ranges may vary according to
national policies, or national policies, or
3. A single telephone number can be listed (as an E164Number). 3. A single telephone number can be listed (as a TelephoneNumber).
Note that because large-scale service providers may want to associate Note that because large-scale service providers may want to associate
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. For more on this optimization, see authority of this certificate. For more on this optimization, see
skipping to change at page 13, line 29 skipping to change at page 13, line 46
verifier is validating. Dynamic changes to number assignments can verifier is validating. Dynamic changes to number assignments can
occur due to number portability, for example. So even if a verifier occur due to number portability, for example. So even if a verifier
has a valid cached certificate for a telephone number (or a range has a valid cached certificate for a telephone number (or a range
containing the number), the verifier must determine that the entity containing the number), the verifier must determine that the entity
that signed is still a proper authority for that number. that signed is still a proper authority for that number.
To verify the status of such a certificate, the verifier needs to To verify the status of such a certificate, the verifier needs to
acquire the certificate if necessary (via the methods described in acquire the certificate if necessary (via the methods described in
Section 7), and then would need to either: Section 7), and then would need to either:
(a) Rely on short-lived certificates and not check the certificate's a. Rely on short-lived certificates and not check the certificate's
status, or status, or
(b) Rely on status information from the authority (e.g., OCSP) b. Rely on status information from the authority (e.g., OCSP)
The tradeoff between short lived certificates and using status The tradeoff between short lived certificates and using status
information is that the former's burden is on the front end (i.e., information is that 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 some approaches to verification). Both impact call setup time, but some approaches to
generating a short-lived certificate, like requiring one for each generating a short-lived certificate, like requiring one for each
call, would incur a greater operational cost than acquiring status call, would incur a greater operational cost than acquiring status
information. This document makes no particular recommndation for a information. This document makes no particular recommndation for a
means of determinate certificate freshness for STIR, as this requires means of determinate certificate freshness for STIR, as this requires
further study and implementation experience. Acquiring online status further study and implementation experience. Acquiring online status
skipping to change at page 15, line 35 skipping to change at page 16, line 4
13. Acknowledgments 13. Acknowledgments
Anders Kristensen, Russ Housley, Brian Rosen, Cullen Jennings, Dave Anders Kristensen, Russ Housley, Brian Rosen, Cullen Jennings, Dave
Crocker, Tony Rutkowski, John Braunberger, and Eric Rescorla provided Crocker, Tony Rutkowski, John Braunberger, and Eric Rescorla provided
key input to the discussions leading to this document. Russ Housley key input to the discussions leading to this document. Russ Housley
provided some direct assistance and text surrounding the ASN.1 provided some direct assistance and text surrounding the ASN.1
module. module.
14. References 14. References
14.1. Normative References 14.1. Normative References
[ATIS-0300251] [ATIS-0300251]
ATIS Recommendation 0300251, "Codes for Identification of ATIS Recommendation 0300251, "Codes for Identification of
Service Providers for Information Exchange", 2007. Service Providers for Information Exchange", 2007.
[DSS] National Institute of Standards and Technology, U.S. [DSS] National Institute of Standards and Technology, U.S.
Department of Commerce | NIST FIPS PUB 186-4, "Digital Department of Commerce, "Digital Signature Standard,
Signature Standard, version 4", 2013. version 4", NIST FIPS PUB 186-4, 2013.
[I-D.ietf-stir-passport] [I-D.ietf-stir-passport]
Wendt, C. and J. Peterson, "Personal Assertion Token Wendt, C. and J. Peterson, "Personal Assertion Token
(PASSporT)", draft-ietf-stir-passport-11 (work in (PASSporT)", draft-ietf-stir-passport-11 (work in
progress), February 2017. progress), February 2017.
[I-D.ietf-stir-rfc4474bis] [I-D.ietf-stir-rfc4474bis]
Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, 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-16 Initiation Protocol (SIP)", draft-ietf-stir-rfc4474bis-16
skipping to change at page 16, line 30 skipping to change at page 16, line 44
[RFC3447] Jonsson, J. and B. Kaliski, "Public-Key Cryptography [RFC3447] Jonsson, J. and B. Kaliski, "Public-Key Cryptography
Standards (PKCS) #1: RSA Cryptography Specifications Standards (PKCS) #1: RSA Cryptography Specifications
Version 2.1", RFC 3447, DOI 10.17487/RFC3447, February Version 2.1", RFC 3447, DOI 10.17487/RFC3447, February
2003, <http://www.rfc-editor.org/info/rfc3447>. 2003, <http://www.rfc-editor.org/info/rfc3447>.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, DOI 10.17487/RFC3986, January 2005, RFC 3986, DOI 10.17487/RFC3986, January 2005,
<http://www.rfc-editor.org/info/rfc3986>. <http://www.rfc-editor.org/info/rfc3986>.
[RFC5019] Deacon, A. and R. Hurst, "The Lightweight Online
Certificate Status Protocol (OCSP) Profile for High-Volume
Environments", RFC 5019, DOI 10.17487/RFC5019, September
2007, <http://www.rfc-editor.org/info/rfc5019>.
[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, DOI 10.17487/RFC5280, May 2008, (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<http://www.rfc-editor.org/info/rfc5280>. <http://www.rfc-editor.org/info/rfc5280>.
[RFC5912] Hoffman, P. and J. Schaad, "New ASN.1 Modules for the [RFC5912] Hoffman, P. and J. Schaad, "New ASN.1 Modules for the
Public Key Infrastructure Using X.509 (PKIX)", RFC 5912, Public Key Infrastructure Using X.509 (PKIX)", RFC 5912,
DOI 10.17487/RFC5912, June 2010, DOI 10.17487/RFC5912, June 2010,
<http://www.rfc-editor.org/info/rfc5912>. <http://www.rfc-editor.org/info/rfc5912>.
[RFC5958] Turner, S., "Asymmetric Key Packages", RFC 5958, [RFC5958] Turner, S., "Asymmetric Key Packages", RFC 5958,
DOI 10.17487/RFC5958, August 2010, DOI 10.17487/RFC5958, August 2010,
<http://www.rfc-editor.org/info/rfc5958>. <http://www.rfc-editor.org/info/rfc5958>.
[RFC6960] Santesson, S., Myers, M., Ankney, R., Malpani, A.,
Galperin, S., and C. Adams, "X.509 Internet Public Key
Infrastructure Online Certificate Status Protocol - OCSP",
RFC 6960, DOI 10.17487/RFC6960, June 2013,
<http://www.rfc-editor.org/info/rfc6960>.
[RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer [RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer
Protocol (HTTP/1.1): Message Syntax and Routing", Protocol (HTTP/1.1): Message Syntax and Routing",
RFC 7230, DOI 10.17487/RFC7230, June 2014, RFC 7230, DOI 10.17487/RFC7230, June 2014,
<http://www.rfc-editor.org/info/rfc7230>. <http://www.rfc-editor.org/info/rfc7230>.
[RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an
Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May
2014, <http://www.rfc-editor.org/info/rfc7258>. 2014, <http://www.rfc-editor.org/info/rfc7258>.
[RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token
(JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015,
<http://www.rfc-editor.org/info/rfc7519>. <http://www.rfc-editor.org/info/rfc7519>.
[X.509] ITU-T Recommendation X.509 (10/2012) | ISO/IEC 9594-8, [X.509] ITU-T Recommendation X.509 | ISO/IEC 9594-8, "Information
"Information technology - Open Systems Interconnection - technology - Open Systems Interconnection - The Directory:
The Directory: Public-key and attribute certificate Public-key and attribute certificate frameworks", 2012.
frameworks", 2012.
[X.680] ITU-T Recommendation X.680 (08/2015) | ISO/IEC 8824-1, [X.680] ITU-T Recommendation X.680 | ISO/IEC 8824-1, "Information
"Information Technology - Abstract Syntax Notation One: Technology - Abstract Syntax Notation One: Specification
Specification of basic notation". of basic notation", 2015.
[X.681] ITU-T Recommendation X.681 (08/2015) | ISO/IEC 8824-2, [X.681] ITU-T Recommendation X.681 | ISO/IEC 8824-2, "Information
"Information Technology - Abstract Syntax Notation One: Technology - Abstract Syntax Notation One: Information
Information Object Specification". Object Specification", 2015.
[X.682] ITU-T Recommendation X.682 (08/2015) | ISO/IEC 8824-2, [X.682] ITU-T Recommendation X.682 | ISO/IEC 8824-2, "Information
"Information Technology - Abstract Syntax Notation One: Technology - Abstract Syntax Notation One: Constraint
Constraint Specification". Specification", 2015.
[X.683] ITU-T Recommendation X.683 (08/2015) | ISO/IEC 8824-3, [X.683] ITU-T Recommendation X.683 | ISO/IEC 8824-3, "Information
"Information Technology - Abstract Syntax Notation One: Technology - Abstract Syntax Notation One:
Parameterization of ASN.1 Specifications". Parameterization of ASN.1 Specifications", 2015.
14.2. Informative References 14.2. Informative References
[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,
DOI 10.17487/RFC2046, November 1996, DOI 10.17487/RFC2046, November 1996,
<http://www.rfc-editor.org/info/rfc2046>. <http://www.rfc-editor.org/info/rfc2046>.
[RFC3647] Chokhani, S., Ford, W., Sabett, R., Merrill, C., and S. [RFC3647] Chokhani, S., Ford, W., Sabett, R., Merrill, C., and S.
Wu, "Internet X.509 Public Key Infrastructure Certificate Wu, "Internet X.509 Public Key Infrastructure Certificate
skipping to change at page 18, line 20 skipping to change at page 18, line 20
[RFC7340] Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure [RFC7340] Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure
Telephone Identity Problem Statement and Requirements", Telephone Identity Problem Statement and Requirements",
RFC 7340, DOI 10.17487/RFC7340, September 2014, RFC 7340, DOI 10.17487/RFC7340, September 2014,
<http://www.rfc-editor.org/info/rfc7340>. <http://www.rfc-editor.org/info/rfc7340>.
[RFC7375] Peterson, J., "Secure Telephone Identity Threat Model", [RFC7375] Peterson, J., "Secure Telephone Identity Threat Model",
RFC 7375, DOI 10.17487/RFC7375, October 2014, RFC 7375, DOI 10.17487/RFC7375, October 2014,
<http://www.rfc-editor.org/info/rfc7375>. <http://www.rfc-editor.org/info/rfc7375>.
[X.520] ITU-T Recommendation X.520 (10/2012) | ISO/IEC 9594-6, [X.520] ITU-T Recommendation X.520 | ISO/IEC 9594-6, "Information
"Information technology - Open Systems Interconnection - technology - Open Systems Interconnection - The Directory:
The Directory: Selected Attribute Types", 2012. Selected Attribute Types", 2012.
Appendix A. ASN.1 Module Appendix A. ASN.1 Module
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].
The modules defined in this document are compatible with the most The modules defined in this document are compatible with the most
current ASN.1 specification published in 2015 (see [X.680], [X.681], current ASN.1 specification published in 2015 (see [X.680], [X.681],
[X.682], [X.683]). None of the newly defined tokens in the 2008 [X.682], [X.683]). None of the newly defined tokens in the 2008
ASN.1 (DATE, DATE-TIME, DURATION, NOT-A-NUMBER, OID-IRI, RELATIVE- ASN.1 (DATE, DATE-TIME, DURATION, NOT-A-NUMBER, OID-IRI, RELATIVE-
OID-IRI, TIME, TIME-OF-DAY)) are currently used in any of the ASN.1 OID-IRI, TIME, TIME-OF-DAY)) are currently used in any of the ASN.1
specifications referred to here. specifications referred to here.
This ASN.1 module imports ASN.1 from [RFC5912]. This ASN.1 module imports ASN.1 from [RFC5912].
TN-Module-2016 TN-Module-2016
{ iso(1) identified-organization(3) dod(6) internet(1) security(5) { iso(1) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) id-mod(0) id-mod-tn-module(88) } mechanisms(5) pkix(7) id-mod(0) id-mod-tn-module(88) }
DEFINITIONS EXPLICIT TAGS ::= BEGIN DEFINITIONS EXPLICIT TAGS ::= BEGIN
IMPORTS IMPORTS
id-ad, id-pe id-ad, id-pe
FROM PKIX1Explicit-2009 -- From [RFC5912] FROM PKIX1Explicit-2009 -- From [RFC5912]
{ iso(1) identified-organization(3) dod(6) internet(1) security(5) { iso(1) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-explicit-02(51) } mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-explicit-02(51) }
EXTENSION EXTENSION
FROM PKIX-CommonTypes-2009 -- From [RFC5912] FROM PKIX-CommonTypes-2009 -- From [RFC5912]
{ iso(1) identified-organization(3) dod(6) internet(1) security(5) { iso(1) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) id-mod(0) id-mod-pkixCommon-02(57) } mechanisms(5) pkix(7) id-mod(0) id-mod-pkixCommon-02(57) }
; ;
-- --
-- JWT Claim Constraints Certificate Extension -- JWT Claim Constraints Certificate Extension
-- --
ext-jwtClaimConstraints EXTENSION ::= { ext-jwtClaimConstraints EXTENSION ::= {
SYNTAX JWTClaimConstraints IDENTIFIED BY id-pe-JWTClaimConstraints SYNTAX JWTClaimConstraints IDENTIFIED BY id-pe-JWTClaimConstraints
} }
id-pe-JWTClaimConstraints OBJECT IDENTIFIER ::= { id-pe 25 } id-pe-JWTClaimConstraints OBJECT IDENTIFIER ::= { id-pe 25 }
JWTClaimConstraints ::= SEQUENCE SIZE (1..MAX) OF JWTClaimConstraint JWTClaimConstraints ::= SEQUENCE {
mustInclude [0] JWTClaimNames OPTIONAL,
-- The listed claim names MUST appear in the PASSporT in addition
-- to iat, orig, and dest. If absent, iat, orig, and dest MUST
-- appear in the PASSporT.
permittedValues [1] JWTClaimPermittedValuesList OPTIONAL }
-- If the claim name is present, the claim MUST contain one of
-- the listed values.
( WITH COMPONENTS { ..., mustInclude PRESENT } |
WITH COMPONENTS { ..., permittedValues PRESENT } )
JWTClaimConstraint ::= SEQUENCE { JWTClaimPermittedValuesList ::= SEQUENCE SIZE (1..MAX) Of
claim IA5String, JWTClaimPermittedValues
permitted SEQUENCE OF IA5String
}
-- JWTClaimPermittedValues ::= SEQUENCE {
-- Telephone Number Authorization List Certificate Extension claim JWTClaimName,
-- permitted SEQUENCE SIZE (1..MAX) OF UTF8String }
ext-tnAuthList EXTENSION ::= { JWTClaimNames ::= SEQUENCE SIZE (1..MAX) OF JWTClaimName
SYNTAX TNAuthorizationList IDENTIFIED BY id-pe-TNAuthList
}
id-pe-TNAuthList OBJECT IDENTIFIER ::= { id-pe 26 } JWTClaimName ::= IA5String
TNAuthorizationList ::= SEQUENCE SIZE (1..MAX) OF TNEntry --
-- Telephone Number Authorization List Certificate Extension
--
TNEntry ::= CHOICE { ext-tnAuthList EXTENSION ::= {
spc [0] ServiceProviderCodeList, SYNTAX TNAuthorizationList IDENTIFIED BY id-pe-TNAuthList
range [1] TelephoneNumberRange, }
one E164Number
}
ServiceProviderCodeList ::= SEQUENCE SIZE (1..3) OF IA5String id-pe-TNAuthList OBJECT IDENTIFIER ::= { id-pe 26 }
TNAuthorizationList ::= SEQUENCE SIZE (1..MAX) OF TNEntry
-- Service Provider Codes may be OCNs, various SPIDs, or other TNEntry ::= CHOICE {
-- SP identifiers from the telephone network spc [0] ServiceProviderCode,
range [1] TelephoneNumberRange,
one [2] TelephoneNumber
}
TelephoneNumberRange ::= SEQUENCE { ServiceProviderCode ::= IA5String
start E164Number,
count INTEGER
}
E164Number ::= IA5String (SIZE (1..15)) (FROM ("0123456789")) -- Service Provider Codes may be OCNs, various SPIDs, or other
-- SP identifiers from the telephone network
-- TN Access Descriptor TelephoneNumberRange ::= SEQUENCE {
start TelephoneNumber,
count INTEGER (2..MAX)
}
id-ad-stirTNList OBJECT IDENTIFIER ::= { id-ad 14 } TelephoneNumber ::= IA5String (SIZE (1..15)) (FROM ("0123456789"))
END -- TN Access Descriptor
id-ad-stirTNList OBJECT IDENTIFIER ::= { id-ad 14 }
END
Authors' Addresses Authors' Addresses
Jon Peterson Jon Peterson
Neustar, Inc. Neustar, Inc.
Email: jon.peterson@neustar.biz Email: jon.peterson@neustar.biz
Sean Turner Sean Turner
sn3rd sn3rd
 End of changes. 53 change blocks. 
141 lines changed or deleted 168 lines changed or added

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