STI Certificate Transparency
draft-wendt-stir-certificate-transparency-01
This document is an Internet-Draft (I-D).
Anyone may submit an I-D to the IETF.
This I-D is not endorsed by the IETF and has no formal standing in the
IETF standards process.
The information below is for an old version of the document.
| Document | Type |
This is an older version of an Internet-Draft whose latest revision state is "Expired".
|
|
|---|---|---|---|
| Authors | Chris Wendt , Robert Śliwa , Alec Fenichel , Vinit Anil Gaikwad | ||
| Last updated | 2024-03-17 (Latest revision 2024-03-04) | ||
| RFC stream | (None) | ||
| Formats | |||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-wendt-stir-certificate-transparency-01
Secure Telephone Identity Revisited C. Wendt
Internet-Draft R. Sliwa
Intended status: Informational Somos, Inc.
Expires: 18 September 2024 A. Fenichel
TransNexus
V. A. Gaikwad
Twilio
17 March 2024
STI Certificate Transparency
draft-wendt-stir-certificate-transparency-01
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. This allows any interested party that is part of the STI
eco-system to audit STI certification authority (CA) activity and
audit both the issuance of suspect certificates and the certificate
logs themselves. The intent is for the establishment of a level of
trust in the STI eco-system that depends on the verification of
telephone numbers requiring and refusing to honor STI certificates
that do not appear in a established log. This effectively
establishes the precedent that STI CAs must add all issued
certificates to the logs and thus establishes unique association of
STI certificates to an authorized provider or assignee of a telephone
number resource. The primary role of CT in the STI ecosystem is for
verifiable trust in the avoidance of issuance of unauthorized
duplicate telephone number level delegate certificates or provider
level certificates. This provides a robust auditable 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/.
Wendt, et al. Expires 18 September 2024 [Page 1]
RFC 1 STI CT March 2024
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 18 September 2024.
Copyright Notice
Copyright (c) 2024 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://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 . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 5
3. The Use of Certificate Transparency for STI Certificates . . 5
4. Submitters . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. Certificates . . . . . . . . . . . . . . . . . . . . . . 6
4.2. Precertificates . . . . . . . . . . . . . . . . . . . . . 6
Wendt, et al. Expires 18 September 2024 [Page 2]
RFC 1 STI CT March 2024
5. Log Format and Operation . . . . . . . . . . . . . . . . . . 6
6. Log Client Messages . . . . . . . . . . . . . . . . . . . . . 7
7. STIR Authentication Services . . . . . . . . . . . . . . . . 7
8. STI Certification Authorities . . . . . . . . . . . . . . . . 7
9. Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
9.1. STI Verification Service . . . . . . . . . . . . . . . . 7
9.1.1. Receiving SCTs . . . . . . . . . . . . . . . . . . . 7
9.1.2. Reconstructing the TBSCertificate . . . . . . . . . . 7
9.1.3. Validating SCTs . . . . . . . . . . . . . . . . . . . 8
9.2. Monitor . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.3. Auditing . . . . . . . . . . . . . . . . . . . . . . . . 9
10. Security Considerations . . . . . . . . . . . . . . . . . . . 9
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
12. Normative References . . . . . . . . . . . . . . . . . . . . 9
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
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
ensure that interested parties (particularly those named in
certificates or certificate chains) can detect such misissuance.
[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].
Wendt, et al. Expires 18 September 2024 [Page 3]
RFC 1 STI CT March 2024
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 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 publically verifiable and auditable
representation of the creation of certificates in order to establish
transparency and trust to interested parties as part of a stir
related eco-system.
There is three primary actors in the certificate transparency
framework. There is the STI Certification Authorities (CAs) that
submit all certificates to be issued to one or more log services.
The log services are network services that implement the protocol
operations for submissions of STI certificates and subsequent
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 as well as auditing of the log
services. This role can be played by any STI ecosystem participant
interested in the trust of the ecosystem or the integrity of the
telephone number or provider level certificates produced in the eco-
system.
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 only the necessary details related to
STI certificates. The details of the use of Merkel Tree and API
interfaces largely follow the protocols defined in [RFC9162] and only
when there is specific details and differences to [RFC9162] will that
be noted and defined in this document.
This general mechanism could also be used for transparently logging
other important stir related metadata associations perhaps via
JWTClaimConstraints defined in [RFC8226] and [RFC9118] or other ways
defined in potential future extensions of this document.
Wendt, et al. Expires 18 September 2024 [Page 4]
RFC 1 STI CT March 2024
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 any
CA authorized in the stir eco-system. It is expected that these CAs
will contribute all their newly issued certificates to one or more
logs. Note, in [RFC9162] it is possible for certificate holders to
directly contribute their own certificate chains or interested third
parties, however because in stir eco-systems that generally consist
of regulated entities or are authorized to be assigned telephone
number resources, this does not seem to be a likely scenario.
Generally, many stir eco-systems have a controlled set of CAs that
are authorized to participate as valid trust anchors. It is required
that each chain ends with a trust anchor that is accepted by the log
which would include those authorized trust anchors or a subset of
them. When a chain is accepted by a log, a signed timestamp is
returned, which is later 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.
Those concerned about misissuance of stir certificates can monitor
the logs, asking them regularly for all new entries, and can thus
check whether the providers or telephone numbers 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.
Wendt, et al. Expires 18 September 2024 [Page 5]
RFC 1 STI CT March 2024
4. Submitters
Submitters submit certificates or preannouncements of certificates
prior to issuance (precertificates) to logs for public auditing. In
order to enable attribution of each logged certificate or
precertificate 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 verification services could reject
certificates that are not logged, it is expected that certificate
issuers and subjects will be strongly motivated to submit them.
Author note: consider the exclusive use of precertificates, so this
section may not be needed
4.2. Precertificates
CAs may preannounce a certificate prior to issuance by submitting a
precertificate (Section 5.1 of [RFC9162]) that the log can use to
create an entry that will be valid against the issued certificate.
If the CA is submitting the precertificate to only one log, it MUST
incorporate the returned SCT in the issued certificate. The returned
SCT MAY not be incorporated in the issued certificate is when a CA
sends the precertificate to multiple logs and only incorporates the
SCTs that are returned first.
A precertificate is a CMS [RFC5652] signed-data object that conforms
to the profile detailed in Section 3.2 of [RFC9162].
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?
Wendt, et al. Expires 18 September 2024 [Page 6]
RFC 1 STI CT March 2024
6. Log Client Messages
Log Client Messages and API MUST follow same protocols, formats and
procedures as described in Section 5 of [RFC9162]
7. STIR Authentication Services
STIR Authentication Services [RFC8224] MUST present on or more SCTs
from one or more logs by the inclusion of the stir certificate that
has CT information encoded as an extension in the X.509v3 certificate
(see Section 7.1.2 of [RFC9162]).
8. STI Certification Authorities
A certification authority MUST include a Transparency Information
X.509v3 extension in a certificate. All included SCTs and inclusion
proofs MUST be for a precertificate that corresponds to this
certificate.
9. 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.
9.1. STI Verification Service
9.1.1. Receiving SCTs
When a STIR Verification Service receives a signed PASSporT
referencing a stir certificate, the verification service should check
that the certificate has CT information encoded as an extension and
that is a valid signed SCT or multiple SCTs.
9.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.
Before an SCT for a precertificate (where the type of the TransItem
is precert_sct_v2) can be validated, the TBSCertificate component of
the precertificate needs to be reconstructed from the TBSCertificate
component of the certificate as follows:
Wendt, et al. Expires 18 September 2024 [Page 7]
RFC 1 STI CT March 2024
Remove the Transparency Information extension (see Section 7.1 of
[RFC9162]).
9.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.
Note that SCT validation is not a substitute for the normal
validation of the server certificate and its chain.
9.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.
To inspect all of the existing entries, the monitor SHOULD follow the
steps detailed in Section 8.2 of [RFC9162].
Wendt, et al. Expires 18 September 2024 [Page 8]
RFC 1 STI CT March 2024
9.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.
10. Security Considerations
TODO Security
11. IANA Considerations
This document has no IANA actions, yet.
12. 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/rfc/rfc2119>.
[RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70,
RFC 5652, DOI 10.17487/RFC5652, September 2009,
<https://www.rfc-editor.org/rfc/rfc5652>.
[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/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, February 2018,
<https://www.rfc-editor.org/rfc/rfc8224>.
[RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion
Token", RFC 8225, DOI 10.17487/RFC8225, February 2018,
<https://www.rfc-editor.org/rfc/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/rfc/rfc8226>.
[RFC9060] Peterson, J., "Secure Telephone Identity Revisited (STIR)
Certificate Delegation", RFC 9060, DOI 10.17487/RFC9060,
September 2021, <https://www.rfc-editor.org/rfc/rfc9060>.
Wendt, et al. Expires 18 September 2024 [Page 9]
RFC 1 STI CT March 2024
[RFC9118] Housley, R., "Enhanced JSON Web Token (JWT) Claim
Constraints for Secure Telephone Identity Revisited (STIR)
Certificates", RFC 9118, DOI 10.17487/RFC9118, August
2021, <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,
December 2021, <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, September 2023,
<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
Email: chris@appliedbits.com
Rob Sliwa
Somos, Inc.
United States of America
Email: robjsliwa@gmail.com
Alec Fenichel
TransNexus
United States of America
Email: alec.fenichel@transnexus.com
Vinit Anil Gaikwad
Twilio
United States of America
Email: vanilgaikwad@twilio.com
Wendt, et al. Expires 18 September 2024 [Page 10]