Internet DRAFT - draft-ietf-stir-certificates-ocsp
draft-ietf-stir-certificates-ocsp
Network Working Group J. Peterson
Internet-Draft Neustar
Intended status: Standards Track S. Turner
Expires: 27 April 2023 sn3rd
24 October 2022
OCSP Usage for Secure Telephone Identity Certificates
draft-ietf-stir-certificates-ocsp-03
Abstract
When certificates are used as credentials to attest the assignment or
ownership of telephone numbers, some mechanism is required to convey
certificate freshness to relying parties. Certififcate Revocation
Lists (CRLs) are commonly used for this purpose, but for certain
classes of certificates, including delegate certificates conveying
their scope of authority by-reference in Secure Telephone Identity
Revisited (STIR) systems, they may not be aligned with the needs of
relying parties. This document specifies the use of the Online
Certificate Status Protocol (OCSP) as a means of retrieving real-time
status information about such certificates, defining new extensions
to compensate for the dynamism of telephone number assignments.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 27 April 2023.
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved.
Peterson & Turner Expires 27 April 2023 [Page 1]
Internet-Draft STIR Certs OCSP October 2022
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Overview of Certificate Verification Methods . . . . . . . . 3
4. Using OCSP with TN Authorization Lists . . . . . . . . . . . 5
4.1. OCSP Extension Specification . . . . . . . . . . . . . . 5
4.2. STIR Certification Authorities and OCSP . . . . . . . . . 7
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 7
7. Security Considerations . . . . . . . . . . . . . . . . . . . 8
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.1. Normative References . . . . . . . . . . . . . . . . . . 8
9.2. Informative References . . . . . . . . . . . . . . . . . 11
Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12
1. Introduction
The STIR problem statement [RFC7340] discusses many attacks on the
telephone network that are enabled by impersonation, including
various forms of robocalling, voicemail hacking, and swatting. One
of the most important components of a system to prevent impersonation
is the implementation of credentials which identify the parties who
control telephone numbers. The STIR certificates [RFC8226]
specification describes a credential system based on [X.509] version
3 certificates in accordance with [RFC5280] for that purpose. Those
credentials can then be used by STIR authentication services
[RFC8224] to sign PASSporT objects [RFC8225] carried in a SIP
[RFC3261] request.
Peterson & Turner Expires 27 April 2023 [Page 2]
Internet-Draft STIR Certs OCSP October 2022
[RFC8226] specifies an extension to X.509 that defines a Telephony
Number (TN) Authorization List that may be included by certificate
authorities in certificates. This extension provides additional
information that relying parties can use when validating transactions
with the certificate. When a SIP request, for example, arrives at a
terminating administrative domain, the calling number attested by the
SIP request can be compared to the TN Authorization List of the
certificate that signed the request to determine if the caller is
authorized to use that calling number in SIP.
No specific recommendation is made in [RFC8226] for a means of
determining the freshness of certificates with a TN Authorization
List. Moreover, there is significant dynamism in telephone number
assignment, and due to practices like number portability, information
about number assignment can suddenly become stale. This problem is
especially pronounced when a TN Authorization List extension
associates a large block of telephone numbers with a certificate, as
relying parties need a way to learn if any one of those telephone
numbers has been ported to a different administrative entity. To
facilitate this, [RFC8226] Section 10.1 specifies a way that the TN
Authorization List can be shared by-reference in a certificate, via a
URL in the Authority Information Access extension, so that a more
dynamic list can be maintained without continually reissuing the
certificate. For very large and/or complex TN Authorization Lists,
however, this could require relying parties to redownload the entire
list virtually every time they process a call. Moreover, some
certificate holders may be reluctant to share the entire list of
telephone numbers associated with a certificate in cases where a
relying party only needs to know, effectively, whether a single
number (the calling party number for a particular call) is in the
scope of authority for a certificate or not. This document explores
approaches to real-time status information for such certificates, and
recommends an approach.
2. Terminology
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. Overview of Certificate Verification Methods
For traditional certificate status information, there are three
common certificate verification mechanisms employed by CAs:
1. Certificate Revocation Lists (CRLs) [RFC5280] (and [RFC6818])
Peterson & Turner Expires 27 April 2023 [Page 3]
Internet-Draft STIR Certs OCSP October 2022
2. Online Certificate Status Protocol (OCSP) [RFC6960], and
3. Server-based Certificate Validation Protocol (SCVP) [RFC5055].
Verifiers relying on status information need a way to obtain it -
that is, where to locate it. Placing the location of the status
information in the certificate makes the certificate larger, but it
eases the client workload. The CRL Distribution Point certificate
extension includes the location of the CRL and the Authority
Information Access certificate extension includes the location of
OCSP and/or SCVP servers; both of these extensions are defined in
[RFC5280]. In all cases, the status information location is provided
in the form of an URI.
CRLs are an attractive solution because they are supported by
traditional web PKI environments. CRLs have a reputation of being
quite large (10s of MBytes), because CAs maintain and issue one
monolithic CRL with all of their revoked certificates, but CRLs do
support a variety of mechanisms to scope the size of the CRLs: based
on revocation reasons (e.g., key compromise vs CA compromise), user
certificates only, and CA certificates only as well as just
operationally deciding to keep the CRLs small. However, scoping the
CRL introduces other issues (i.e., does the relying party have all of
the CRL partitions). In practice, CRLs are widely used in STIR
environments, often through a federated approach where a community of
trusted CAs pool their CRLs for distribution from a central point.
CAs in the STIR architecture thus have already implemented CRLs,
largely for audit purposes rather than real-time status information.
The need for these CRLs is not likely to go away, especially for the
case of service providers whose certificates are based on Service
Provider Codes (SPCs). For delegate STIR certificates ([RFC9060]),
however, especially those with TN Authorization Lists based on
telephone numbers, OCSP may provide an important optimizations.
Between the OCSP and SCVP, OCSP is much more widely deployed and this
document therefore RECOMMENDS the use of OCSP in high-volume
environments (HVE) for validating the freshness of telephone-number
based certificates, based on [RFC6960], incorporating some (but not
all) of the optimizations of [RFC5019].
Like most PKIX-developed protocols, OCSP is extensible; OCSP supports
request extensions (including sending multiple requests at once) and
per-request extensions. As the relying party in STIR is validating a
PASSporT associated with a telephone call, it is unlikely that the
verifier will request authorization checks on multiple telephone
numbers in one request, so a per-request extension is what is needed.
Peterson & Turner Expires 27 April 2023 [Page 4]
Internet-Draft STIR Certs OCSP October 2022
4. Using OCSP with TN Authorization Lists
Certificates compliant with this specification SHOULD include a URL
[RFC3986] pointing to an OCSP service in the Authority Information
Access (AIA) certificate extension, via the "id-ad-ocsp" accessMethod
specified in [RFC5280]. This can appear in addition to, or as an
alternative to, the "id-ad-stirTNList" accessMethod specified in
[RFC8226]. It is RECOMMENDED that entities that issue certificates
with the Telephone Number Authorization List certificate extension
run an OCSP server for this purpose. Baseline OCSP however supports
only three possible response values: good, revoked, or unknown.
Without some extension, OCSP would not indicate whether the
certificate is authorized for a particular telephone number that the
verifier is validating.
Consulting OCSP in real time results in a network round-trip delay,
which is something to consider because it will add to the call setup
time. OCSP server implementations commonly pre-generate responses,
and to speed up HTTPS connections, servers often provide OCSP
responses for each certificate in their hierarchy. If possible, both
of these OCSP concepts should be adopted for use with STIR.
4.1. OCSP Extension Specification
The extension mechanism for OCSP follows X.509 v3 certificate
extensions, and thus requires an OID, a criticality flag, and ASN.1
syntax as defined by the OID. The criticality specified here is
optional: per [RFC6960] Section 4.4, support for all OCSP extensions
is optional. If the OCSP server does not understand the requested
extension, it will still provide the baseline validation of the
certificate itself. Moreover, in practical STIR deployments, the
issuer of the certificate will set the accessLocation for the OCSP
AIA extension to point to an OCSP service that supports this
extension, so the risk of interoperability failure due to lack of
support for this extension is minimal.
The OCSP TNQuery extension is included as one of the request's
singleRequestExtensions; it carries the telephone number for which
the query is being performed, typically the telephone number in the
"orig" field of a PASSporT being validated. The TNQuery extension
may also appear in the response's singleExtensions; when an OCSP
server includes a telephone number in the response's
singleExtensions, this informs the client that the certificate is
still valid for the number that appears in the TNQuery extension
field. If the TNQuery is absent from a response to a query
containing a TNQuery in its singleRequestExtension, then the server
is not able to validate that the number is still in the scope of
authority of the certificate.
Peterson & Turner Expires 27 April 2023 [Page 5]
Internet-Draft STIR Certs OCSP October 2022
id-pkix-ocsp-stir-tn OBJECT IDENTIFIER ::= { id-pkix-ocsp 10 }
TNQuery ::= E164Number
The HVE OCSP profile [RFC5019] prohibits the use of per-request
extensions. As it is anticipated that STIR will use OCSP in a high-
volume environment, many of the optimizations recommended by HVE are
desirable for the STIR environment. This document therefore uses the
HVE optimizations augmented as follows:
* Implementations MUST use SHA-256 as the hashing algorithm for the
CertID.issuerNameHash and the CertID.issuerKeyHash values. That
is CertID.hashAlgorithm is id-sha256 [RFC4055] and the values are
truncated to 160-bits as specified Option 1 in Section 2 of
[RFC7093].
* Clients MUST include the OCSP TNQuery extension in requests'
singleRequestExtensions.
* Servers MUST include the OCSP TNQuery extension in responses'
singleExtensions.
* Servers SHOULD return responses that would otherwise have been
"unknown" as "not good" (i.e., return only "good" and "not good"
responses).
* Clients MUST treat returned "unknown" responses as "not good".
* If the server uses ResponderID, it MUST generate the KeyHash using
SHA-256 and truncate the value to 160-bits as specified in Option
1 in Section 2 of [RFC7093].
* Implementations MUST support ECDSA using P-256 and SHA-256. Note
that [RFC6960] requires RSA with SHA-256 be supported.
* This removes the requirement to support SHA-1, RSA with SHA-1, or
DSA with SHA-1.
OCSP responses MUST be signed using the same algorithm as the
certificate being checked.
To facilitate matching the authority key identifier values found in
CA certificates with the KeyHash used in the OCSP response,
certificates compliant with this specification MUST generate
authority key identifiers and subject key identifiers using the
SHA-256 and truncate the value to 160-bits as specified in Option 1
in Section 2 of [RFC7093].
Peterson & Turner Expires 27 April 2023 [Page 6]
Internet-Draft STIR Certs OCSP October 2022
Ideally, once a certificate has been acquired by a verifier, some
sort of asynchronous mechanism could notify and update the verifier
if the scope of the certificate changes so that verifiers could
implement a cache. While not all possible categories of verifiers
could implement such behavior, some sort of event-driven notification
of certificate status is another potential subject of future work.
One potential direction is that a future SIP SUBSCRIBE/NOTIFY-based
accessMethod for AIA might be defined (which would also be applicable
to the method described in the following section) by some future
specification.
4.2. STIR Certification Authorities and OCSP
In a STIR deployment, certification authorities will typically be the
entities that operate OCSP servers. Ultimately, the OCSP response
MUST be signed by a CA in the certification chain of the end entitiy
certificate that signed the PASSporT being verified. In the case of
multilevel certificate delegation (i.e. [RFC9060]), this means the
OCSP response may be signed by any of the parent "encompassing"
certificates of the end entity delegate certificate in question.
5. IANA Considerations
This document makes use of object identifiers for the TN-HVE OCSP
extension in Section 4.1 and the ASN.1 module identifier defined in
Appendix A. It therefore requests that the IANA make the following
assignments:
TN-HVE OCSP extension in the SMI Security for PKIX Online Certificate
Status Protocol (OCSP) registry: http://www.iana.org/assignments/smi-
numbers/smi-numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.48.1
6. Privacy Considerations
Querying for real-time status information about certificates can
allow parties monitoring communications to gather information about
relying parties and the originators of communications.
Unfortunately, the TNQuery extension adds a new field that could
potentailly be monitored by OCSP eavesdroppers: the calling telephone
number provides a specific piece of additional data about the
originator of communications. Using OCSP over TLS is one potential
countermeasure to this threat, as described in [RFC6960]
Appendix A.1.
Preventing eavesdropping reduces on potential privacy leak, though of
course using OCSP reveals to the OCSP service (likely acting for the
certification authority) the verification service where calls from a
given telephone number are terminating. Bear in mind that STIR
Peterson & Turner Expires 27 April 2023 [Page 7]
Internet-Draft STIR Certs OCSP October 2022
assumes that verification services use HTTPS to acquire certificates
(by referencing the "x5u" field of the PASSporT) already, so some
connection between the verification service and a certificate
repository (likely acting for the certification authority or
authentication service) is unavoidable. This OCSP extension further
reveals the calling telephone number as it arrives at the
verification service to the OCSP service.
One way to mitigate leaking information about relying parties is to
use OCSP stapling. 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 PASSporT or 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
furthermore result in significant performance improvements. This
would however require work on a capability to carry OCSP staples that
is outside the scope of this document.
7. Security Considerations
This document is entirely about security. For further information on
certificate security and practices, see [RFC5280], in particular its
Security Considerations. For OCSP-related security considerations
see [RFC6960] and [RFC5019].
8. Acknowledgments
Stephen Farrell provided key input to the discussions leading to this
document. Russ Housley provided some direct assistance and text
surrounding the ASN.1 module.
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
Peterson & Turner Expires 27 April 2023 [Page 8]
Internet-Draft STIR Certs OCSP October 2022
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
DOI 10.17487/RFC3261, June 2002,
<https://www.rfc-editor.org/info/rfc3261>.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, DOI 10.17487/RFC3986, January 2005,
<https://www.rfc-editor.org/info/rfc3986>.
[RFC4055] Schaad, J., Kaliski, B., and R. Housley, "Additional
Algorithms and Identifiers for RSA Cryptography for use in
the Internet X.509 Public Key Infrastructure Certificate
and Certificate Revocation List (CRL) Profile", RFC 4055,
DOI 10.17487/RFC4055, June 2005,
<https://www.rfc-editor.org/info/rfc4055>.
[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, <https://www.rfc-editor.org/info/rfc5019>.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<https://www.rfc-editor.org/info/rfc5280>.
[RFC5912] Hoffman, P. and J. Schaad, "New ASN.1 Modules for the
Public Key Infrastructure Using X.509 (PKIX)", RFC 5912,
DOI 10.17487/RFC5912, June 2010,
<https://www.rfc-editor.org/info/rfc5912>.
[RFC6818] Yee, P., "Updates to the Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 6818, DOI 10.17487/RFC6818, January
2013, <https://www.rfc-editor.org/info/rfc6818>.
[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,
<https://www.rfc-editor.org/info/rfc6960>.
Peterson & Turner Expires 27 April 2023 [Page 9]
Internet-Draft STIR Certs OCSP October 2022
[RFC7093] Turner, S., Kent, S., and J. Manger, "Additional Methods
for Generating Key Identifiers Values", RFC 7093,
DOI 10.17487/RFC7093, December 2013,
<https://www.rfc-editor.org/info/rfc7093>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt,
"Authenticated Identity Management in the Session
Initiation Protocol (SIP)", RFC 8224,
DOI 10.17487/RFC8224, February 2018,
<https://www.rfc-editor.org/info/rfc8224>.
[RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion
Token", RFC 8225, DOI 10.17487/RFC8225, February 2018,
<https://www.rfc-editor.org/info/rfc8225>.
[RFC8226] Peterson, J. and S. Turner, "Secure Telephone Identity
Credentials: Certificates", RFC 8226,
DOI 10.17487/RFC8226, February 2018,
<https://www.rfc-editor.org/info/rfc8226>.
[RFC9060] Peterson, J., "Secure Telephone Identity Revisited (STIR)
Certificate Delegation", RFC 9060, DOI 10.17487/RFC9060,
September 2021, <https://www.rfc-editor.org/info/rfc9060>.
[X.509] ITU-T Recommendation X.509 (10/2012) | ISO/IEC 9594-8,
"Information technology - Open Systems Interconnection -
The Directory: Public-key and attribute certificate
frameworks", 2012.
[X.680] ITU-T Recommendation X.680 (08/2015) | ISO/IEC 8824-1,
"Information Technology - Abstract Syntax Notation One:
Specification of basic notation".
[X.681] ITU-T Recommendation X.681 (08/2015) | ISO/IEC 8824-2,
"Information Technology - Abstract Syntax Notation One:
Information Object Specification".
[X.682] ITU-T Recommendation X.682 (08/2015) | ISO/IEC 8824-2,
"Information Technology - Abstract Syntax Notation One:
Constraint Specification".
[X.683] ITU-T Recommendation X.683 (08/2015) | ISO/IEC 8824-3,
"Information Technology - Abstract Syntax Notation One:
Parameterization of ASN.1 Specifications".
Peterson & Turner Expires 27 April 2023 [Page 10]
Internet-Draft STIR Certs OCSP October 2022
9.2. Informative References
[RFC5055] Freeman, T., Housley, R., Malpani, A., Cooper, D., and W.
Polk, "Server-Based Certificate Validation Protocol
(SCVP)", RFC 5055, DOI 10.17487/RFC5055, December 2007,
<https://www.rfc-editor.org/info/rfc5055>.
[RFC6961] Pettersen, Y., "The Transport Layer Security (TLS)
Multiple Certificate Status Request Extension", RFC 6961,
DOI 10.17487/RFC6961, June 2013,
<https://www.rfc-editor.org/info/rfc6961>.
[RFC7340] Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure
Telephone Identity Problem Statement and Requirements",
RFC 7340, DOI 10.17487/RFC7340, September 2014,
<https://www.rfc-editor.org/info/rfc7340>.
Appendix A. ASN.1 Module
This appendix provides the normative ASN.1 [X.680] definitions for
the structures described in this specification using ASN.1, as
defined in [X.680] through [X.683].
The modules defined in this document are compatible with the most
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
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
specifications referred to here.
This ASN.1 module imports ASN.1 from [RFC5912].
[TO DO: this ASN.1 module is a stub and needs to be redone!]
Peterson & Turner Expires 27 April 2023 [Page 11]
Internet-Draft STIR Certs OCSP October 2022
TN-Module-2016-2 {
iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-tn-module(88) }
DEFINITIONS EXPLICIT TAGS ::= BEGIN
IMPORTS
id-ad, id-ad-ocsp, id-pe -- From [RFC5912]
FROM PKIX1Explicit-2009 {
iso(1) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-explicit-02(51) }
EXTENSION -- From [RFC5912]
FROM PKIX-CommonTypes-2009 {
iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-pkixCommon-02(57) }
;
id-pkix-ocsp OBECT IDENTIFIER ::= id-ad-ocsp
--
-- Telephone Number Query OCSP Extension
--
re-ocsp-tn-query EXTENSION ::= {
SYNTAX TNQuery IDENTIFIED BY id-pkix-ocsp-stir-tn }
TNQuery ::= E164Number
id-pkix-ocsp-stir-tn OBJECT IDENTIFIER ::= { id-pkix-ocsp 10 }
END
Authors' Addresses
Jon Peterson
Neustar, Inc.
Email: jon.peterson@team.neustar
Sean Turner
sn3rd
Peterson & Turner Expires 27 April 2023 [Page 12]
Internet-Draft STIR Certs OCSP October 2022
Email: sean@sn3rd.com
Peterson & Turner Expires 27 April 2023 [Page 13]