RFC 9448: TNAuthList Profile of Automated Certificate Management Environment (ACME) Authority Token
- C. Wendt,
- D. Hancock,
- M. Barnes,
- J. Peterson
Abstract
This document defines a profile of the Automated Certificate Management Environment (ACME) Authority Token for the automated and authorized creation of certificates for Voice over IP (VoIP) telephone providers to support Secure Telephone Identity (STI) using the TNAuthList defined by STI certificates.¶
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
[RFC8555] describes a mechanism for automating certificate management on the Internet. It enables administrative entities to prove effective control over resources like domain names, and it automates the process of generating and issuing certificates. [RFC9447] extends ACME to provide a general method of extending the authority and authorization of entities to control a resource via a third party Token Authority beyond the certification authority (CA).¶
This document is a profile document using the Authority Token mechanism defined in [RFC9447]. It is a profile that specifically addresses the Secure Telephone Identity Revisited (STIR) problem statement described in [RFC7340], which identifies the need for Internet credentials that can attest authority for the originator of VoIP calls in order to detect impersonation, which is currently an enabler for common attacks associated with illegal robocalling, voicemail hacking, and swatting. These credentials are used to sign Personal Assertion Tokens (PASSporTs) [RFC8225], which can be carried in using protocols such as SIP [RFC8224]. Currently, the only defined credentials for this purpose are the certificates specified in [RFC8226] using the TNAuthList. This document defines the use of the TNAuthList Authority Token in the ACME challenge to prove the authoritative use of the contents of the TNAuthList, including a Service Provider Code (SPC), a telephone number, or a set of telephone numbers or telephone number blocks.¶
This document also describes the ability for a telephone authority to authorize the creation of CA types of certificates for delegation, as defined in [RFC9060].¶
2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
3. ACME New-Order Identifiers for TNAuthList
Section 7 of [RFC8555] defines the procedure that an ACME client uses to order a new certificate from a CA. The new-order request contains an identifier field that specifies the identifier objects the order corresponds to. This document defines a new type of identifier object called TNAuthList. A TNAuthList identifier contains the identity information to be populated in the TNAuthList of the new certificate. For the TNAuthList identifier, the new-order request includes a type set to the string "TNAuthList". The value of the TNAuthList identifier MUST be set to the details of the TNAuthList requested.¶
The string that represents the TNAuthList MUST be constructed using base64url encoding, as described in Section 5 of [RFC4648] and as defined in Section 2 of JSON Web Signature [RFC7515]. The base64url encoding MUST NOT include any padding characters, and the TNAuthList ASN.1 object MUST be encoded using DER encoding rules.¶
An example of an ACME order object "identifiers" field containing a TNAuthList certificate is as follows:¶
where the "value" object string represents the arbitrary length of the base64url
A full new-order request would look as follows:¶
On receiving a valid new-order request, the ACME server creates an authorization object ([RFC8555], Section 7.1.4), containing the challenge that the ACME client must satisfy to demonstrate authority for the identifiers specified by the new order (in this case, the TNAuthList identifier). The CA adds the authorization object URL to the "authorizations
7. Using ACME-Issued Certificates with JSON Web Signature
JSON Web Signature (JWS) [RFC7515] objects can include an "x5u" header parameter to refer to a certificate that is used to validate the JWS signature. For example, the STIR PASSporT framework [RFC8225] uses "x5u" to indicate the STIR certificate used to validate the PASSporT JWS object. The URLs used in "x5u" are expected to provide the required certificate in response to a GET request, not a POST-as-GET, as required for the "certificate" URL in the ACME order object. Thus, the current mechanism generally requires the ACME client to download the certificate and host it on a public URL to make it accessible to relying parties. This section defines an optional mechanism for the certification authority (CA) to host the certificate directly and provide a URL that the ACME client owner can directly reference in the "x5u" of their signed PASSporTs.¶
As described in Section 7.4 of [RFC8555], when the certificate is ready for making a "finalize" request, the server will return a 200 (OK) with the updated order object. In this response, an ACME server can add a newly defined field called "x5u" that can pass this URL to the ACME client for usage in generated PASSporTs as a publicly available URL for PASSporT validation.¶
- x5u (optional, string):
-
a URL that can be used to reference the certificate in the "x5u" parameter of a JWS object [RFC7515]¶
The publishing of the certificates at the new "x5u" URL should follow the GET request requirement as mentioned above and should be consistent with the timely publication according to the durations of the certificate life cycle.¶
The following is an example of the use of "x5u" in the response when the certificate status is "valid".¶
8. Usage Considerations
8.1. Large Number of Noncontiguous TNAuthList Values
There are many scenarios and reasons to have various combinations of SPCs, TNs, and TN ranges. [RFC8226] has provided a somewhat unbounded set of combinations. It's possible that a complex noncontiguous set of telephone numbers are being managed by a CSP. Best practice may be simply to split a set of noncontiguous numbers under management into multiple STI certificates to represent the various contiguous parts of the greater noncontiguous set of TNs, particularly if the length of the set of values in an identifier object grows to be too large.¶
9. IANA Considerations
Per this document, IANA has added a new identifier object type to the "ACME Identifier Types" registry defined in Section 9.7.7 of [RFC8555].¶
10. Security Considerations
The token represented by this document has the credentials to represent the scope of a telephone number, a block of telephone numbers, or an entire set of telephone numbers represented by an SPC. The creation, transport, and any storage of this token MUST follow the strictest of security best practices beyond the recommendations of the use of encrypted transport protocols in this document to protect it from getting in the hands of bad actors with illegitimate intent to impersonate telephone numbers.¶
This document inherits the security properties of [RFC9447]. Implementations should follow the best practices identified in [RFC8725].¶
This document only specifies SHA256 for the fingerprint hash. However, the syntax of the fingerprint object would permit other algorithms if, due to concerns about algorithmic agility, a more robust algorithm were required at a future time. Future specifications can define new algorithms for the fingerprint object as needed.¶
11. References
11.1. Normative References
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC4648]
-
Josefsson, S., "The Base16, Base32, and Base64 Data Encodings", RFC 4648, DOI 10
.17487 , , <https:///RFC4648 www >..rfc -editor .org /info /rfc4648 - [RFC7515]
-
Jones, M., Bradley, J., and N. Sakimura, "JSON Web Signature (JWS)", RFC 7515, DOI 10
.17487 , , <https:///RFC7515 www >..rfc -editor .org /info /rfc7515 - [RFC7519]
-
Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token (JWT)", RFC 7519, DOI 10
.17487 , , <https:///RFC7519 www >..rfc -editor .org /info /rfc7519 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC8226]
-
Peterson, J. and S. Turner, "Secure Telephone Identity Credentials: Certificates", RFC 8226, DOI 10
.17487 , , <https:///RFC8226 www >..rfc -editor .org /info /rfc8226 - [RFC8555]
-
Barnes, R., Hoffman-Andrews, J., McCarney, D., and J. Kasten, "Automatic Certificate Management Environment (ACME)", RFC 8555, DOI 10
.17487 , , <https:///RFC8555 www >..rfc -editor .org /info /rfc8555 - [RFC8725]
-
Sheffer, Y., Hardt, D., and M. Jones, "JSON Web Token Best Current Practices", BCP 225, RFC 8725, DOI 10
.17487 , , <https:///RFC8725 www >..rfc -editor .org /info /rfc8725 - [RFC9060]
-
Peterson, J., "Secure Telephone Identity Revisited (STIR) Certificate Delegation", RFC 9060, DOI 10
.17487 , , <https:///RFC9060 www >..rfc -editor .org /info /rfc9060 - [RFC9110]
-
Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., "HTTP Semantics", STD 97, RFC 9110, DOI 10
.17487 , , <https:///RFC9110 www >..rfc -editor .org /info /rfc9110 - [RFC9447]
-
Peterson, J., Barnes, M., Hancock, D., and C. Wendt, "Automated Certificate Management Environment (ACME) Challenges Using an Authority Token", RFC 9447, DOI 10
.17487 , , <https:///RFC9447 www >..rfc -editor .org /info /rfc9447
11.2. Informative References
- [ATIS-1000080]
-
ATIS, "Signature-based Handling of Asserted information using toKENs (SHAKEN): Governance Model and Certificate Management", ATIS
-1000080 , , <https://.v005 access >..atis .org /apps /group _public /download .php /69428 /ATIS -1000080 .v005 .pdf - [RFC7340]
-
Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure Telephone Identity Problem Statement and Requirements", RFC 7340, DOI 10
.17487 , , <https:///RFC7340 www >..rfc -editor .org /info /rfc7340 - [RFC8224]
-
Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, "Authenticated Identity Management in the Session Initiation Protocol (SIP)", RFC 8224, DOI 10
.17487 , , <https:///RFC8224 www >..rfc -editor .org /info /rfc8224 - [RFC8225]
-
Wendt, C. and J. Peterson, "PASSporT: Personal Assertion Token", RFC 8225, DOI 10
.17487 , , <https:///RFC8225 www >..rfc -editor .org /info /rfc8225
Acknowledgements
We would like to thank Richard Barnes and Russ Housley for valuable contributions to this document.¶