Understanding STIR and SHAKEN

Criminals and unscrupulous robocallers often alter the calling number of their outbound telephone calls in order to deceive the called party. This deception can be as simple as changing the calling number so it appears that a neighbor is calling. This deception increases the chance that the called party will answer a robocall. In other cases, the deception may be more malicious such as a fraudster impersonating an IRS agent in order to steal a tax refund. This practice of altering the calling number of a telephone call is known as spoofing.

The Federal Communications Commission (FCC) has been encouraging the telecommunications industry to develop a solution to stop robocalls and spoofed calling numbers since 2014. The industry’s response has been to develop a new technology standard called STIR (1) (Secure Telephony Identity Revisited) and SHAKEN (2) (Secure Handling of Asserted information using toKENs) which defines how telephone service providers should implement the STIR technology to ensure calling numbers are not spoofed.

How STIR and SHAKEN Work

STIR and SHAKEN use digital certificates, based on common public key cryptography techniques, to ensure the calling number of a telephone call is secure. In simple terms, each telephone service provider obtains their digital certificate from a certificate authority who is trusted by other telephone service providers. The certificate technology enables the called party to verify that the calling number is accurate and has not been spoofed. The details of how SHAKEN uses public key infrastructure, and the SHAKEN certificate governance model, will be described in future TransNexus blogs and newsletters.

The following call flow diagram illustrates how SHAKEN works.

How STIR and SHAKEN work in a network

  1. A SIP INVITE is received by the originating telephone service provider.

  2. The originating telephone service provider checks the call source and calling number to determine how to attest for the validity of the calling number.
  • Full Attestation - The service provider has authenticated the calling party and they are authorized to use the calling number. An example of this case is a subscriber registered with the originating telephone service provider’s softswitch.
  • Partial Attestation - The service provider has authenticated the call origination, but cannot verify the call source is authorized to use the calling number. An example of this use case is a telephone number behind an enterprise PBX.
  • Gateway Attestation - The service provider has authenticated from where it received the call, but cannot authenticate the call source. An example of this case would be a call received from an international gateway.
  1. The originating telephone service provider uses the authentication service to create a SIP identity header. The authentication service could be a third party service hosted in the cloud a software application integrated with the telephone service provider’s softswitch or Session Border Controller (SBC). The SIP identity header contains the following data:
  • Calling number
  • Called number
  • Date and time
  • Attestation
  • Unique originating identifier
  1. The SIP INVITE with the SIP identity header is sent to the terminating telephone service provider.

  2. The SIP INVITE with identity header is passed to the verification service.

  3. The verification service obtains the digital certificate of the originating telephone service provider from the public certificate repository and begins a multi-step verification process.
  • The SIP Identity header is base-64 decoded and the details are compared to the SIP INVITE message.
  • The certificate is verified to determine if the originating telephone service provider is authorized to originate calls for the calling number.
  • The public key of the certificate is used to verify the SIP identity header signature.

If all verification steps are successful, then the calling number has not been spoofed.

  1. The verification service returns the results to the terminating service provider’s softswitch or SBC.

  2. The call is completed to the called party.

SIP Identity Header Example

The following is an example SIP INVITE message with a SIP Identity Header which is highlighted in yellow, green and blue.

SIP invite example

The SIP Identity Header has three sections. The contents of each section are described below.

signed-identity-digest

  • PASSporT header:

SIP invite example

Base64 encoded value of {"alg":"ES256","ppt":"shaken","typ":"passport","x5u":"http://ca-authority.com/transnexus.crt"}
alg = encryption algorithm used. May be either ES256 (recommended) or RS256
ppt = shaken. This value identifies that the shaken extensions are used.
typ = passport. This value indicates Personal Assertion Token format.
x5u = identifies the url of the X.509 certificate repository.

  • PASSporT payload:

SIP invite example

Base64 encoded value of {"attest":"A","dest":{"tn":["14045266060"]},"iat":1501620763,"orig":{"tn":"14049313777"},"origid":"40597e13-ff75-4516-b998-170f6dfbae94"}
attest = Attestation indicator (A=Full, B=Partial or C=Gateway)
dest = Called number or called uri
iat = Date and time in seconds since Feb. 1, 1970
orig = Calling number or calling uri
origid = Origination Identifier

  • PASSporT signature:

SIP invite example

ident-info: SIP invite example This is the url for the public certificate repository.

ident-info-params

  • ident-info-alg: SIP invite example This value may be ES256 or RS256. ES256 is recommended and indicates that support for signing JSON Web Tokens (JWTs) with the Elliptic Curve Digital Signature Algorithm (ECDSA) using the P-256 curve and the SHA-256 hash algorithm is required.
  • ident-type: SIP invite example PASSporT extension identifier indicates the token includes the Attest and Origid elements.

Find out more

To learn more about STIR and SHAKEN, SIP Analytics® fraud control and the Robocall Toolkit, contact [email protected] TransNexus has been a pioneering software development company specializing in applications for managing VoIP networks since 1997.

Footnotes:

  1. STIR, or Secure Telephony Identity Revisited, is a Working Group of the Internet Engineering Task Force (www.ietf.org). The IETF’s stated mission is to make the Internet work better by producing high quality, relevant technical documents that influence the way people design, use, and manage the Internet. The charter for the STIR Working Group (WG) is to define mechanisms that allow verification of the calling party's authorization to use a particular telephone number. The IETF standards developed by the STIR WG are:
  • draft-ietf-stir-rfc4474bis. Defines how SIP Identity tokens are used to authenticate and verify the calling number in SIP signaling.
  • draft-ietf-stir-passport. Defines a method for creating and validating a token that cryptographically verifies a calling number.
  • draft-ietf-stir-certificates. Describes the use of certificates in establishing authority over telephone numbers.
  1. SHAKEN provides telephone services providers with a framework and guidance on how to use techniques defined by the STIR WG for validation of legitimate calls and the mitigation of illegitimate spoofing of telephone identities on the VoIP Telephone Network. SHAKEN is formally known as the ATIS Standard on Signature-based Handling of Asserted Information Using Tokens. ATIS (www.atis.org), or the Alliance for Telecommunications Industry Solutions, is accredited by the American National Standards Institute (ANSI).