rfc-9475

Messaging Use Cases and Extensions for Secure Telephone Identity Revisited (STIR)

J. Peterson, C. Wendt
date2023-12 streamIETF areaart wgstir statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc9475 doi10.17487/RFC9475
Secure Telephone Identity Revisited (STIR) provides a means of attesting the identity of a telephone caller via a signed token in order to prevent impersonation of a calling party number, which is a key enabler for illegal robocalling. Similar impersonation is sometimes leveraged by bad actors in the text and multimedia messaging space. This document explores the applicability of STIR's Personal Assertion Token (PASSporT) and certificate issuance framework to text and multimedia messaging use cases, including support for both messages carried as a payload in SIP requests and messages sent in sessions negotiated by SIP.

Extracted elements (24)

design-rationale §4

Existing STIR certificates (RFC 8226) attesting telephone numbers via TNAuthList are proposed to suffice for signing message PASSporTs without modification, enabling reuse of the emerging STIR certificate infrastructure.

sip, pkix, security

design-rationale §3.2.1

In multiparty messaging, the "dest" claim of a single PASSporT can accommodate multiple targets of a MESSAGE without generating a PASSporT per target. If an intermediary forks to unlisted targets, diversion PASSporTs (RFC 8946) must be used.

sip, security

design-rationale §3.2

The expiry freshness window recommended by RFC 8224 may be too strict for store-and-forward messaging, where routine delivery of a MESSAGE may occur minutes or hours after it was sent. The PASSporT timestamp can still mitigate replay attacks and allow ordering messages in a user inbox.

sip, security

design-rationale §3

Two high-level approaches for applying STIR PASSporTs to messaging are identified: (1) a PASSporT securing a SIP-negotiated session (e.g., MSRP) with little deviation from RFC 8224, and (2) a per-message PASSporT with the new "msgi" claim for sessionless scenarios such as the SIP MESSAGE method.

sip, security

design-rationale §3.2

Without the "msgi" extension, a PASSporT in a SIP MESSAGE request offers no protection to message content and would be vulnerable to cut-and-paste attacks where the Identity header from a legitimate request is reused in a request for a different user.

sip, security

interoperability-note §3.1

For MSRP sessions secured with TLS (as in RCS), fingerprints of TLS keys can be secured via the "mky" claim of PASSporT using RFC 8862. Similar practices apply to sessions negotiating real-time text over DTLS/SRTP.

sip, tls, security

interoperability-note §3.2.1

For non-SIP messaging protocols (e.g., legacy SMPP systems that cannot be upgraded), out-of-band PASSporT conveyance per RFC 8816 may be the only viable mechanism to deliver a PASSporT alongside a message.

sip, security

interoperability-note §3.2

In some CPIM environments, intermediaries may add or consume CPIM headers used for message metadata; such modification would break the MIME-layer integrity protection of "msgi". Deployments in those environments would need a profile reducing protection scope to only the CPIM payload.

sip, security

interoperability-note §3.2.1

MMS messages are often conveyed with SMTP, where email sender authentication tools (e.g., DMARC) are available. The interaction of DMARC with STIR certificates and PASSporTs is outside scope and requires further study.

sip, email, security

normative-requirement §3.2 MUST NOT

Authentication services MUST NOT include "msgi" elements in PASSporT types other than "msg". The "msgi" claim is OPTIONAL in "msg" PASSporTs, as integrity for messages may be provided by some other service.

sip, security, jose

normative-requirement §3.2 MUST

Hash algorithm identifiers in the "msgi" claim MUST use only lowercase letters and MUST NOT contain hyphen characters. The character immediately following the algorithm string MUST be a hyphen ("-", ASCII 45).

security, crypto, jose

normative-requirement §3.2 MAY

Implementations MAY support additional recommended hash algorithms listed in the IANA "COSE Algorithms" registry where the "Recommended" column is "Yes".

security, crypto, registry

normative-requirement §3.2 MUST

Implementations MUST support the hash algorithms SHA-256, SHA-384, and SHA-512 (identified as "sha256", "sha384", and "sha512" respectively) for computing the "msgi" digest.

security, crypto

normative-requirement §3.2 MUST

Verification services MUST ignore the presence of "msgi" in non-"msg" PASSporT types.

sip, security, jose

privacy-consideration §6

Creating a "msg" PASSporT does not add any additional privacy protections to the original message content. Anonymity implications from RFC 8224 apply equally to anonymous messaging scenarios.

privacy, sip

privacy-consideration §6

When an authentication service computes the "msgi" hash over cleartext message contents, the message body is necessarily revealed to the authentication service, which might not otherwise be in the call path.

privacy, sip, security

protocol-element §3.2

The "msgi" JWT claim provides a digest over a MIME body. Its value is a string consisting of the crypto algorithm name (e.g., "sha256") concatenated with a hyphen and the base64-encoded digest of the canonicalized MIME body of the message.

sip, security, jose, crypto

protocol-element §3.2

This document defines a new "msg" PASSporT type to differentiate a PASSporT for an individual message from a PASSporT used to secure a telephone call or message stream. "msg" PASSporTs may carry the optional "msgi" JWT claim providing a digest over a MIME body containing a text or multimedia message.

sip, security, jose

registry §5.1

IANA has added a new claim to the "JSON Web Token Claims" registry: Claim Name "msgi", Claim Description "Message Integrity Information", Change Controller IETF, Specification Document RFC 9475.

registry, jose

registry §5.2

IANA has added a new entry to the "Personal Assertion Token (PASSporT) Extensions" registry: ppt value "msg", Reference Section 3.2 of RFC 9475.

registry, sip, security

security-consideration §7

Introducing STIR-based message signing for SIP-based platforms will help mitigate spoofing and nuisance messaging only for those platforms; the many non-SIP protocols responsible for most telephone-number messaging are unaffected.

security, sip

security-consideration §4

Store-and-forward messaging systems relying on PASSporTs must account for certificate expiry: a certificate valid when the PASSporT was generated could expire before the user reads the message. Mitigations include storing a signed indicator of validity at receipt time or securely storing the certificate alongside the PASSporT.

security, pkix, sip

security-consideration §7

This specification inherits the security considerations of RFC 8224 (authenticated SIP identity) and RFC 3428 (SIP MESSAGE), expanded in RFC 8591. Replay attacks on store-and-forward messages are largely mitigated by the PASSporT timestamp.

security, sip

wire-format §3.2

The "msgi" claim value is formatted as: algorithm-identifier (lowercase, no hyphens) + "-" (ASCII 45) + base64url-encoded digest. Example: "sha256-H8BRh8j48O9oYatfu5AZzq6A9RINQZngK7T62em8MUt1FLm52t+eX6xO". The digest is computed over the entirety of the MIME body.

sip, security, jose, crypto