RFC 0 STI CT March 2024
Wendt & Sliwa Expires 5 September 2024 [Page]
Workgroup:
Secure Telephone Identity Revisited
RFC:
0
Published:
Intended Status:
Informational
Expires:
Authors:
C. Wendt
Somos, Inc.
R. Sliwa
Somos, Inc.

STI Certificate Transparency

Abstract

This document describes a framework for the use of the Certificate Transparency (CT) protocol for publicly logging the existence of Secure Telephone Identity (STI) certificates as they are issued or observed, in a manner that allows anyone to audit STI certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is establish a level of trust in the STI eco-system that verification of calls would required and refuse to honor STI certificates that do not appear in a log, effectively forcing STI CAs to add all issued certificates to the logs, establishing trust that STI certificates are unique to the authorized provider or assignee of a telephone number resource. The primary role of certificate transparency in the STI ecosystem is the avoidance of issuance of unauthorized or duplicate provider level certificates or, of particular importance, telephone number level delegate certificates. This provides a robust mechanism for the detection of unauthorized creation of certificate credentials for illegitimate spoofing of telephone numbers.

About This Document

This note is to be removed before publishing as an RFC.

The latest revision of this draft can be found at https://appliedbits.github.io/draft-wendt-stir-certificate-transparency/draft-wendt-stir-certificate-transparency.html. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-wendt-stir-certificate-transparency/.

Discussion of this document takes place on the Secure Telephone Identity Revisited Working Group mailing list (mailto:stir@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/stir/. Subscribe at https://www.ietf.org/mailman/listinfo/stir/.

Source for this draft and an issue tracker can be found at https://github.com/appliedbits/draft-wendt-stir-certificate-transparency.

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 5 September 2024.

Table of Contents

1. Introduction

Certificate Transparency (CT) aims to mitigate the problem of misissued certificates by providing append-only logs of issued certificates. The logs do not themselves prevent misissuance, but they ensure that interested parties (particularly those named in certificates or certificate chains) can detect such misissuance. This general mechanism that could also be used for transparently logging metadata associations via JWTClaimConstraints defined in [RFC8226] and [RFC9118] or potentially other ways defined in future extensions of this document.

[RFC9162] describes the core protocols and mechanisms for use of CT for the purposes of public TLS server certificates associated with a domain name as part of the public domain name system (DNS). This document describes the direct use of the same fundamental protocols and processes of certificate transparency but applies them to Secure Telephone Identity (STI) certificates [RFC8226] and delegate certificates [RFC9060].

Telephone numbers (TNs) and their management and assignment by telephone service providers and Responsible Organizations (RespOrgs) for toll-free numbers share many similarities to the Domain Name System (DNS) where there is a global uniqueness and established association of telephone numbers to regulatory jurisdictions that manage the globally unique allocation and assignment of telephone numbers under country codes and a set of numeric digits for routing telephone calls and messages over telephone networks. STI Certificates use a TNAuthList extension defined in [RFC8226] to specifically associate either telephone service providers or telephone numbers to the issuance of STI certificates and certificate change that are intended to represent the authorized right to use a telephone number. This trusted association can be establish via mechanisms such as Authority tokens for TNAuthList defined in [RFC9448]. Certificate transparency is generally meant to provide a public representation of the creation of certificates in order for the eco-system of interested parties to provide a publicly verifiable log of certificates created by Certification Authorities to protect against misissuance of certificates that may be misrepresenting information.

There is three primary actors in the certificate transparency framework. There is the STI certification authorities that submit all created certificates to logs, this could be to one or more log services. The log services are network services that implement the protocol operations for submissions of STI certificates and queries. They are hosted by interested parties in the STI ecosystem and can accept certificate log submissions from any other CA participant. Monitors play the role of monitoring the CT logs to check for potential misissuance. This role can be played by any STI ecosystem participant that is interested in the trust of the ecosystem.

The details that follow in this document will try to provide a high level overview of the use of Certificate Transparency for STI certificates. It will provide high level details with assumptions that the details of the use of Merkel Tree and API interfaces largely follow [RFC9162] protocols and only when there is specific details and differences to [RFC9162] will that be defined normatively.

2. Conventions and Definitions

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. The Use of Certificate Transparency for STI Certificates

Each log contains certificate chains, which can be submitted by anyone. It is expected that STI CAs will contribute all their newly issued certificates to one or more logs; however, it is possible for certificate holders can also directly contribute their own certificate chains, as can interested third parties. In order to avoid logs being rendered useless by the submission of large numbers of spurious certificates, it is required that each chain ends with a trust anchor that is accepted by the log. A log may also limit the length of the chain it is willing to accept; such chains must also end with an acceptable trust anchor. When a chain is accepted by a log, a signed timestamp is returned, which can later be used to provide evidence to STIR verification services (VS), defined in [RFC8224], that the chain has been submitted. A VS can thus require that all certificates they accept as valid are accompanied by signed timestamps once certificate transparency is well established in the ecosystem to maintain trust.

Those who are concerned about misissuance of provider or TN-based delegate certificates can monitor the logs, asking them regularly for all new entries, and can thus check whether domains for which they are responsible have had certificates issued that they did not expect. What they do with this information, particularly when they find that a misissuance has happened, is beyond the scope of this document. However, broadly speaking, because many existing STI ecosystems have a connection to regulated and industry environments that govern the issuance of STI certificates, they can invoke existing mechanisms for dealing with issues such as misissued certificates, such as working with the CA to get the certificate revoked or with maintainers of trust anchor lists to get the CA removed.

4. Submitters

Submitters submit certificates to logs for public auditing. In order to enable attribution of each logged certificate to its issuer, each submission MUST be accompanied by all additional certificates required to verify the chain up to an accepted trust anchor. The trust anchor (a root or intermediate CA certificate) MAY be omitted from the submission.

If a log accepts a submission, it will return a Signed Certificate Timestamp (SCT) (see Section 4.8 [RFC9162]). The submitter SHOULD validate the returned SCT, as described in Section 8.1 of [RFC9162], if they understand its format and they intend to use it to construct an STI certificate.

4.1. Certificates

Any entity can submit a certificate (Section 5.1 of [RFC9162]) to a log. Since it is anticipated that STIR verification services could reject certificates that are not logged, it is expected that certificate issuers and subjects will be strongly motivated to submit them.

5. Log Format and Operation

A log is a single, append-only Merkle Tree of submitted certificate entries. Log procedures MUST follow log format and operation procedures defined in Section 4 of [RFC9162].

Author note: Do we need a separate IANA registry for Log OIDs specific to STI eco-system?

6. Log Client Messages

Log Client Messages and API MUST follow same protocols, formats and procedures as described in Section 5 of [RFC9162]

Author Note: I don't believe this is any parallel to TLS servers directly participating in CT in the STI world

7. STI Certification Authorities

The Transparency Information X.509v3 extension including rules of inclusion in OCSP responses MUST follow descriptions and procedures defined in Section 7 of [RFC9162].

8. Clients

There are various different functions clients of logs might perform. In this document, the client generally refers to the STI verification service defined in [RFC8224], or more generally an entity that performs the verification of a PASSporT defined in [RFC8225]. We describe here some typical clients and how they should function.

8.1. STI Verification Service

8.1.1. Receiving SCTs and Inclusion Proofs

STI Verification Services receive SCTs and inclusion proofs in certificates.

8.1.2. Reconstructing the TBSCertificate

Validation of an SCT for a certificate (where the type of the TransItem is x509_sct_v2) uses the unmodified TBSCertificate component of the certificate.

8.1.3. Validating SCTs

In order to make use of a received SCT, the STI Verification Service MUST first validate it as follows:

Compute the signature input by constructing a TransItem of type x509_entry_v2, depending on the SCT's TransItem type. The TimestampedCertificateEntryDataV2 structure is constructed in the following manner: timestamp is copied from the SCT. tbs_certificate is the reconstructed TBSCertificate portion of the server certificate, as described in Section 8.1.2 of [RFC9162]. issuer_key_hash is computed as described in Section 4.7 of [RFC9162]. sct_extensions is copied from the SCT. Verify the SCT's signature against the computed signature input using the public key of the corresponding log, which is identified by the log_id. The required signature algorithm is one of the log's parameters. If the STI Verification Service does not have the corresponding log's parameters, it cannot attempt to validate the SCT. When evaluating compliance (see Section 8.1.6 of [RFC9162]), the STI Verification Service will consider only those SCTs that it was able to validate.

Note that SCT validation is not a substitute for the normal validation of the server certificate and its chain.

8.1.4. Fetching Inclusion Proofs

When a STI Verification Service has validated a received SCT but does not yet possess a corresponding inclusion proof, the STI Verification Service MAY request the inclusion proof directly from a log using get-proof-by-hash (Section 5.4 of [RFC9162]) or get-all-by-hash (Section 5.5 of [RFC9162]).

8.1.5. Validating Inclusion Proofs

When a STI Verification Service has received, or fetched, an inclusion proof (and an STH), it SHOULD proceed to verify the inclusion proof to the provided STH. The STI Verification Service SHOULD also verify consistency between the provided STH and an STH it knows about.

If the STI Verification Service holds an STH that predates the SCT, it MAY, in the process of auditing, request a new STH from the log (Section 5.2 of [RFC9162]) and then verify it by requesting a consistency proof (Section 5.3 of [RFC9162]). Note that if the STI Verification Service uses get-all-by-hash, then it will already have the new STH.

8.1.6. Evaluating Compliance

It is up to a client's local policy to specify the quantity and form of evidence (SCTs, inclusion proofs, or a combination) needed to achieve compliance and how to handle noncompliance.

8.2. Monitor

Monitors watch logs to check for correct behavior, for certificates of interest, or for both. For example, a monitor may be configured to report on all certificates that apply to a specific domain name when fetching new entries for consistency validation.

A monitor MUST at least inspect every new entry in every log it watches, and it MAY also choose to keep copies of entire logs.

8.3. Auditing

Auditing ensures that the current published state of a log is reachable from previously published states that are known to be good and that the promises made by the log, in the form of SCTs, have been kept. Audits are performed by monitors or STI Verification Services.

9. Security Considerations

TODO Security

10. IANA Considerations

This document has no IANA actions, yet.

11. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/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, , <https://www.rfc-editor.org/rfc/rfc8224>.
[RFC8225]
Wendt, C. and J. Peterson, "PASSporT: Personal Assertion Token", RFC 8225, DOI 10.17487/RFC8225, , <https://www.rfc-editor.org/rfc/rfc8225>.
[RFC8226]
Peterson, J. and S. Turner, "Secure Telephone Identity Credentials: Certificates", RFC 8226, DOI 10.17487/RFC8226, , <https://www.rfc-editor.org/rfc/rfc8226>.
[RFC9060]
Peterson, J., "Secure Telephone Identity Revisited (STIR) Certificate Delegation", RFC 9060, DOI 10.17487/RFC9060, , <https://www.rfc-editor.org/rfc/rfc9060>.
[RFC9118]
Housley, R., "Enhanced JSON Web Token (JWT) Claim Constraints for Secure Telephone Identity Revisited (STIR) Certificates", RFC 9118, DOI 10.17487/RFC9118, , <https://www.rfc-editor.org/rfc/rfc9118>.
[RFC9162]
Laurie, B., Messeri, E., and R. Stradling, "Certificate Transparency Version 2.0", RFC 9162, DOI 10.17487/RFC9162, , <https://www.rfc-editor.org/rfc/rfc9162>.
[RFC9448]
Wendt, C., Hancock, D., Barnes, M., and J. Peterson, "TNAuthList Profile of Automated Certificate Management Environment (ACME) Authority Token", RFC 9448, DOI 10.17487/RFC9448, , <https://www.rfc-editor.org/rfc/rfc9448>.

Acknowledgments

The authors would like to thank the authors and contributors to the protocols and ideas around Certificate Transparency [RFC9162] which sets the basis for the STI eco-system to adopt in a very straight forward way, providing trust and transparency in the telephone number world.

Authors' Addresses

Chris Wendt
Somos, Inc.
United States of America
Rob Sliwa
Somos, Inc.
United States of America