| < 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.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||