Internet-Draft SIP TLS 1.3 and Certificate Identity November 2026
Wendt Expires 5 May 2027 [Page]
Workgroup:
SIP Core
Internet-Draft:
draft-wendt-sipcore-tls-updates-00
Updates:
3261, 5922 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Author:
C. Wendt
Somos, Inc.

TLS 1.3 and Certificate Identity for the Session Initiation Protocol

Abstract

The specifications that define the use of TLS with the Session Initiation Protocol (SIP) predate TLS 1.3 and the current guidance for representing and verifying the identity of a service in a certificate. As a result, [RFC3261] states a mandatory cipher suite that a TLS 1.3 implementation cannot offer, and the certificate identity rules of [RFC5922] are no longer consistent with [RFC9525]. This document updates both, specifying a TLS version and cipher suite baseline for SIP and revising the representation and matching of SIP domain identities in certificates.

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 May 2027.

▲

Table of Contents

1. Introduction

The use of TLS with SIP is defined principally by [RFC3261], which introduced TLS as a SIP transport, and by [RFC5922], which specifies how the identity of a SIP domain is represented in a certificate and matched by a peer. Both predate the current state of TLS and of certificate identity practice, and in two respects they now state requirements that cannot be followed.

[RFC3261] requires support for a specific cipher suite that uses static RSA key exchange. That suite does not exist in TLS 1.3 [RFC9846], and static RSA key exchange was removed from the protocol, so an implementation that supports only TLS 1.3 cannot conform to the requirement. Recommendations for the secure use of TLS are now maintained in [RFC9325], and earlier TLS versions have been deprecated [RFC8996].

[RFC5922] prefers that a SIP domain identity be carried in a subjectAltName entry of type uniformResourceIdentifier containing a "sip" URI, accepts a dNSName entry only when no matching URI entry is present, and permits the Subject common name to be examined when no subjectAltName extension appears at all. [RFC9525], which obsoletes the general service identity guidance that [RFC5922] was written against, establishes that service identity may be expressed only in the subjectAltName extension, that the common name is no longer valid for this purpose, and that the identifiers it covers are domain names, IP addresses, and SRV service names. Deployed general purpose TLS implementations verify dNSName entries and commonly do not examine URI entries at all.

There is also a reason not to leave these updates for later. Post-quantum key agreement is defined for TLS 1.3 and not for earlier versions, and [NIST.IR.8547] deprecates the key agreement algorithms in current use after 2030. SIP signaling carries call records whose confidentiality matters for years, and where SRTP keys travel in the session description it carries those too. A SIP implementation that cannot negotiate TLS 1.3 cannot protect any of that against later decryption. Making TLS 1.3 the baseline for SIP is the one change SIP needs in order to follow the transition; the algorithms themselves are selected in TLS, and this document says nothing about them.

This document updates [RFC3261] and [RFC5922] accordingly. It does not otherwise change the use of TLS with SIP, and it does not address the use of certificates to convey authority over telephone numbers [RFC8226].

2. Conventions

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. Updates to RFC 3261: TLS Versions and Cipher Suites

Section 26.2.2 of [RFC3261] requires that proxy servers, redirect servers, and registrars support TLS and implement the TLS_RSA_WITH_AES_128_CBC_SHA cipher suite. That requirement is removed by this document.

An implementation that supports TLS as a SIP transport MUST support TLS 1.3 [RFC9846] and SHOULD negotiate it in preference to earlier versions. TLS 1.2 [RFC5246] MAY be supported for interoperability with deployed implementations. TLS versions 1.0 and 1.1 are already deprecated for [RFC3261] by [RFC8996], which updates it for that purpose, and MUST NOT be used.

Cipher suite selection follows [RFC9325]. Where TLS 1.2 is used, a cipher suite providing ephemeral key exchange and authenticated encryption MUST be selected; static RSA key exchange MUST NOT be used, as it provides no forward secrecy.

This document specifies no mandatory cipher suite. Interoperability at the cipher suite level is provided by TLS 1.3, which defines a small mandatory set within the protocol itself, and by the recommendations of [RFC9325] for earlier versions.

This document specifies no key agreement group or signature algorithm; they are selected by TLS negotiation. The certificates used for SIP over TLS where telephone number authority is involved are the subject of [I-D.wendt-stir-secure-sip-rtp].

4. Updates to RFC 5922: Certificate Identity for SIP Domains

This section replaces the rules in [RFC5922] for representing a SIP domain identity in a certificate, for finding such identities in a presented certificate, and for comparing them against the domain a peer intended to reach. The comparison model of [RFC5922] is retained, as are its procedures for what a peer does with the result of a comparison; only the identifiers used and the manner of comparing them are changed.

4.1. Representation

A certificate identifying a SIP domain MUST carry that domain in a subjectAltName entry [RFC5280] of type dNSName.

A certificate MAY additionally carry a subjectAltName entry of type uniformResourceIdentifier containing a "sip" URI with no user part, as described in [RFC5922], for compatibility with implementations that follow those rules. Where both are present, they are expected to designate the same domain.

The Subject common name MUST NOT be used to convey a SIP domain identity. This removes the allowance in [RFC5922] for examining the common name when no subjectAltName extension is present.

4.2. Verification

A peer verifying a certificate MUST verify a dNSName entry against the domain it intended to reach, applying the matching rules of [RFC9525], including its restriction that a wildcard may appear only as the complete leftmost label of a domain name.

A peer MUST NOT accept a "sip" URI subjectAltName entry as the sole basis for identifying a SIP domain. A peer MAY examine such an entry in addition to a dNSName entry, and MAY use it where its local policy requires consistency between the two.

A peer MUST NOT examine the Subject common name for this purpose.

If no dNSName entry matches, the comparison fails, and the peer applies the behavior specified in [RFC5922] for a failed comparison.

4.3. Interaction with the SIP Domain Extended Key Usage

[RFC5924], an Experimental specification, defines an extended key usage, id-kp-sipDomain, indicating that a certificate is issued for SIP domain use and restricting the names in it to use by a SIP service. Its validation steps are defined as an addition to the identity-finding procedure of [RFC5922] that this document replaces.

An implementation that applies [RFC5924] applies its extended key usage checks in addition to, and independently of, the representation and verification rules of this section. This document neither requires nor precludes the presence of that extended key usage, and does not change the behavior [RFC5924] specifies for a certificate that carries no extended key usage extension.

5. Requesting the Use of TLS

Two mechanisms exist for requesting that a SIP request be carried over TLS, and a third is deprecated. Deployments continue to combine them, which produces requests whose intent is ambiguous.

The "transport=tls" URI parameter MUST NOT be used to request TLS. Section 26.2.2 of [RFC3261] deprecated it, and [RFC5630] confirms that deprecation; the parameter remains in the grammar of [RFC3261] but carries no meaning for this purpose. A request is not carried over TLS by virtue of the parameter being present, and a peer receiving it is under no obligation as a result.

A SIPS URI in the Request-URI requests that the request be carried over TLS on every hop toward the target, as specified in [RFC5630]. Where that cannot be achieved, the request fails rather than being delivered without TLS. The requirement propagates: the Contact header field must also carry a SIPS URI, and subsequent requests within the dialog are subject to the same condition. A SIPS URI is therefore appropriate where a deployment requires TLS on every hop and prefers failure to insecure delivery.

A SIP URI carried over a TLS connection requests nothing about any other hop. The connection on which the request is carried is protected, and any requirement that other hops be protected comes from the local policy of the deployment or from a profile that specifies it, rather than from the URI. As stated in [RFC5630], this is the appropriate construction where TLS is used on a hop without invoking the requirements the SIPS scheme places on the remainder of the path.

A deployment MUST use one of these two constructions consistently. The scheme of the URI being resolved, the procedure used to resolve it as described in [RFC3263], and the scheme used in the Contact and Record-Route header fields refer to the same mechanism, and a request in which they differ is ambiguous. In particular, resolving a SIP URI using the service label defined for the SIPS scheme, or populating a SIPS URI while carrying the request over an unprotected hop, are both inconsistent.

Where a profile requires that TLS be used on a given interface, that requirement is stated by the profile and applies whether or not a SIPS URI is used.

6. Interaction with Resolution

Where a SIP URI is resolved to a host through NAPTR and SRV records [RFC3263], the name verified against the certificate is the domain of the URI that was resolved, and not the target name returned by the SRV record. This preserves the property established in [RFC5922] that the identity verified is the identity to which the request was addressed.

Verifying the SRV target name instead would allow a party able to influence resolution to direct a connection to a host holding a valid certificate for an unrelated domain, and to have that certificate accepted.

7. Security Considerations

The changes in this document narrow the set of identifiers a peer will accept as a SIP domain identity. Removing the Subject common name removes a source of identity that has no defined syntax for this purpose and that issuers populate inconsistently. Requiring a dNSName entry aligns SIP with the identifier type that deployed TLS implementations verify, reducing the likelihood that an implementation accepts a certificate on the basis of an identifier its peer did not intend as authoritative.

Removing the mandatory cipher suite of [RFC3261] removes a requirement to implement static RSA key exchange, which provides no forward secrecy. A recorded session protected by such a suite can be decrypted by an adversary that later obtains the server private key.

The considerations of [RFC9325] and [RFC9525] apply to implementations of this document.

8. IANA Considerations

This document has no IANA actions.

9. Acknowledgments

Thanks to Russ Housley for his review.

10. References

10.1. 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>.
[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, , <https://www.rfc-editor.org/rfc/rfc3261>.
[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, , <https://www.rfc-editor.org/rfc/rfc5280>.
[RFC5630]
Audet, F., "The Use of the SIPS URI Scheme in the Session Initiation Protocol (SIP)", RFC 5630, DOI 10.17487/RFC5630, , <https://www.rfc-editor.org/rfc/rfc5630>.
[RFC5922]
Gurbani, V., Lawrence, S., and A. Jeffrey, "Domain Certificates in the Session Initiation Protocol (SIP)", RFC 5922, DOI 10.17487/RFC5922, , <https://www.rfc-editor.org/rfc/rfc5922>.
[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>.
[RFC9325]
Sheffer, Y., Saint-Andre, P., and T. Fossati, "Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)", BCP 195, RFC 9325, DOI 10.17487/RFC9325, , <https://www.rfc-editor.org/rfc/rfc9325>.
[RFC9525]
Saint-Andre, P. and R. Salz, "Service Identity in TLS", RFC 9525, DOI 10.17487/RFC9525, , <https://www.rfc-editor.org/rfc/rfc9525>.
[RFC9846]
Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 9846, DOI 10.17487/RFC9846, , <https://www.rfc-editor.org/rfc/rfc9846>.

10.2. Informative References

[I-D.wendt-stir-secure-sip-rtp]
Wendt, C., "Securing SIP and RTP with STIR Certificates", Work in Progress, Internet-Draft, draft-wendt-stir-secure-sip-rtp-00, , <https://datatracker.ietf.org/doc/html/draft-wendt-stir-secure-sip-rtp-00>.
[NIST.IR.8547]
National Institute of Standards and Technology, "Transition to Post-Quantum Cryptography Standards", NIST IR 8547, , <https://csrc.nist.gov/pubs/ir/8547/final>.
[RFC3263]
Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol (SIP): Locating SIP Servers", RFC 3263, DOI 10.17487/RFC3263, , <https://www.rfc-editor.org/rfc/rfc3263>.
[RFC5246]
Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/RFC5246, , <https://www.rfc-editor.org/rfc/rfc5246>.
[RFC5924]
Lawrence, S. and V. Gurbani, "Extended Key Usage (EKU) for Session Initiation Protocol (SIP) X.509 Certificates", RFC 5924, DOI 10.17487/RFC5924, , <https://www.rfc-editor.org/rfc/rfc5924>.
[RFC8226]
Peterson, J. and S. Turner, "Secure Telephone Identity Credentials: Certificates", RFC 8226, DOI 10.17487/RFC8226, , <https://www.rfc-editor.org/rfc/rfc8226>.
[RFC8996]
Moriarty, K. and S. Farrell, "Deprecating TLS 1.0 and TLS 1.1", BCP 195, RFC 8996, DOI 10.17487/RFC8996, , <https://www.rfc-editor.org/rfc/rfc8996>.

Author's Address

Chris Wendt
Somos, Inc.
United States of America