Overview

The SBC Core supports the exchange of SIP signaling over Transport Layer Security (TLS), an IETF protocol for securing communications across an untrusted network. Normally, SIP packets travel in plain text over TCP or UDP connections. Secure SIP is a security measure that uses TLS, the successor to the Secure Sockets Layer (SSL) protocol. TLS operates just above the transport layer (Layer 4) and provides peer authentication, confidentiality and message integrity.

The SBC supports TLS versions 1.0, 1.1, 1.2, and 1.3 with server-only authentication (in which only the server is authenticated at the TLS layer) and mutual authentication (in which both the TLS client and server are authenticated at the TLS layer). TLS is an effective measure to a number of threats including theft of service, disruption of service, compromise of confidentiality, and compromise of service integrity.

SIP over TLS may be independently configured on each hop between SIP devices. SIP transport type selection is typically configured via the IP Signaling Profile, and may also be provisioned on the SIP trunk group or identified via a DNS lookup.


Note
Ribbon recommends using the highest TLS version supported by both the SBC and the peer equipment.


Note

If a zone's sipSigPort is configured for transportProtocolsAllowedsip-tls-tcp, the SBC increments the configured portNumber by 1 and uses it as the new port number for SIP over TLS signaling. The SBC then opens a TCP socket for SIP over TLS for the new TCP port number.

Example: When sipSigPort is configured with a portNumber of 5060 and transportProtocolsAllowed = sip-tls-tcp, the SBC listens on TCP port 5061 for SIP over TLS.

Usage Scenarios and TLS Roles

The SBC uses SIP over TLS in several scenarios as illustrated in the figure below .

Figure 1: SIP over TLS Usage Scenarios


 

Note

In most scenarios, the SBC Core does not support ECC certificates for TLS Handshake. Specifically, the SBC Core does not support ECC certificates for TLS handshake when it acts as a TLS “server-only,” although it can support the certificates when acting as TLS client in the configured “server-and-client” role. 

 

 The table below describes the interrelationship between each of these scenarios, the TLS role (server or client/server), and the authentication requirements.

TLS Usage Scenarios

Usage Scenario

Usage Description

TLS Role

Authentication Requirements

Residential Access

Between a subscriber SIP User Agent (UA) and an SBC.

Server

Server-only authentication.

This is intended for use in conjunction with authenticated SIP registration. A peer is blocked from using any services until a successful SIP registration is performed. A separate registrar is deployed to challenge and authenticate the registration. The registrar should be configured to require authentication on the registration; however the SBC does not check or enforce this.

Enterprise Access

Between an enterprise PBX and an SBC.

Server

Mutual TLS authentication for static (non-registering) IP PBX.

Server-only Authentication for registering PBX.

Inter-Carrier Peering

Between a SIP proxy or Back-to-Back User Agent (B2B UA) belonging to another administrative domain and an SBC.

Client or Server

Mutual TLS authentication.

Intra-Carrier Peering

Between an SBC and a SIP proxy or a B2B UA belonging to the same administrative domain.

Client or Server

Mutual TLS authentication


Deployments may involve two or more of the above scenarios and include different transports (SIP over TLS, SIP over TCP, or SIP over UDP) simultaneously on separate legs of the same signaling path.

Crypto Suites


The SBC includes crypto suites that define a set of ciphers (algorithms used for encrypting data) which allow the selection of an appropriate level of security. The crypto suites are supported for both TLS and DTLS (Datagram Transport Layer Security) connections. When a TLS or DTLS connection is established, the client and server exchange information about which cipher suites they have in common. Refer to SBC for WRTC for more  information on DTLS. The following crypto suites are supported. 

Supported TLS/DTLS Crypto Suites

Authentication Mechanism

Public/Private Key Pair

Confidentiality Cipher and Mode

Integrity Cipher

RSA-WITH-NULL-SHA

The integrity cipher used for the TLS Record protocol. 

RSANULLSHA-1

RSA-WITH-AES-128-CBC-SHA (default)

Confidentiality cipher and mode for the TLS Record protocol.

RSA

AES-128-CBC

SHA-1

RSA-WITH-AES-128-CBC-SHA-256

Confidentiality cipher and mode for the TLS Record protocol with SHA-256 as the hash function.

RSAAES-128-CBCSHA-256

RSA-WITH-AES-256-CBC-SHA

Confidentiality cipher and mode for the TLS Record protocol with AES 256 encryption.  

RSA

AES-256-CBC

SHA-1

RSA-WITH-AES-256-CBC-SHA-256*

Confidentiality cipher and mode for the TLS Record protocol with AES 256 encryption and SHA-256 as the hash function.

RSA

AES-256-CBC

SHA-256

TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384**

Confidentiality cipher and mode for the TLS Record with AES256 CBC and SHA384 as the hash function.

Note: The SBC 11.1 and later versions do not support tls_ecdh_ecdsa_with_aes_256_cbc_sha384. You must replace it with a valid Cipher before upgrading the SBC.

ECDH-ECDSA

AES-256-CBC

SHA-384

TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384**

Confidentiality cipher and mode for the TLS Record with AES256 GCM and SHA384 as the hash function.

ECDH-ECDSAAES-256-GCMSHA-384

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

Confidentiality cipher and mode for the TLS Record protocol using ECDHE (Elliptic Curve Diffie-Hellman key Exchange) with AES128 CBC and SHA as the hash function.

ECDHE-RSAAES-128-CBCSHA-1

TLS_ECDHE-RSA-WITH-AES-256-CBC-SHA-384*

Confidentiality cipher and mode for the TLS Record protocol using ECDHE (Elliptic Curve Diffie-Hellman key Exchange) with AES256 CBC and SHA384 as the hash function.

ECDHE-RSAAES-256-CBCSHA-384

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

Confidentiality cipher and mode for the TLS Record protocol using ECDHE (Elliptic Curve Diffie-Hellman key Exchange) with AES128 GCM and SHA as the hash function.

ECDHE-RSAAES-128-GCMSHA-256

TLS_ECDHE-RSA-WITH-AES-256-GCM-SHA-384*

Confidentiality cipher and mode for the TLS Record protocol using ECDHE (Elliptic Curve Diffie-Hellman key Exchange) with AES256 GCM and SHA384 as the hash function.

ECDHE-RSAAES-256-GCMSHA-384

TLS_RSA_WITH_AES_128_GCM_SHA256

Confidentiality cipher and mode for the TLS Record protocol with AES 128 GCM encryption and SHA-256 as the hash function.

RSAAES_128_GCMSHA-256

TLS_RSA_WITH_AES_256_GCM_SHA384

Confidentiality cipher and mode for the TLS Record protocol with AES 256 GCM encryption and SHA-384 as the hash function.

RSAAES_256_GCMSHA-384

TLS_AES_128_GCM_SHA256***

Confidentiality cipher and mode for the TLS Record with AES128 GCM and SHA256 as the hash function.

Unique to each TLS client and serverCTRSHA-256

TLS_AES_256_GCM_SHA384***

Confidentiality cipher and mode for the TLS Record with AES256 GCM and SHA384 as the hash function.

Unique to each TLS client and serverCTRSHA-384

TLS_CHACHA20_POLY1305_SHA256***

Confidentiality cipher and mode for the TLS Record with ChaCha20-Poly1305 and SHA256 as the hash function.

Unique to each TLS client and serverCTRSHA-256

*    To use this cipher, enable TLS version 1.2 in the TLS Profile.

**  To use this cipher, enable TLS version 1.2 in the TLS Profile and create SSL certificates using ECC keys.

*** To use this cipher, enable TLS version 1.3 in the TLS Profile.

Terms used in this table:

RSA – Authentication based on X.509 certificates using RSA public/private key pairs
AES-128 – Advanced Encryption Standard (128-bit key length)
CBC – Cipher Block Chaining
SHA – Secure Hash algorithm

Note

TLS 1.3 does not support RSA. Certificates generated with RSA will not work with TLS 1.3.

Note

When the FIPS-140-3 mode is enabled, you cannot use the algorithms whose key exchange method is RSA, including:

  • Rsa-with-null-sha
  • Rsa-with-aes-128-cbc-sha
  • Rsa-with-aes-128-cbc-sha-256
  • Rsa-with-aes-256-cbc-sha
  • Rsa-with-aes-256-cbc-sha-256
  • tls_rsa_with_aes_128_gcm_sha256
  • tls_rsa_with_aes_256_gcm_sha384
  • rsa-with-3des-ede-cbc-sha

Modified: for 12.1.4


FIPS Compliancy

FIPS-140-2 is not supported in SBC 10.1.3 and later releases, and it is automatically converted to FIPS-140-3 as part of the upgrade.

To verify the current status of FIPS certification, contact the Global Support Assistance Center:



The SBC and its peer devices use X.509 digital certificates to authenticate themselves for TLS. Local certificates in PKSC # 12 format (attesting to the identity of the SBC) and remote Certificate Authority (CA) certificates may be installed on the SBC in a common area (/opt/sonus/external/) where they are available to TLS.

TLS Session Resumption Support

Modified: for 12.1.2



When establishing a New Peer for a new session with the SBC using a full handshake (exchange and verification of certificates and keys), the SBC caches the session details. If the same peer attempts to reconnect in any scenario using the same session ID used in the new session full handshake, then that connection resumes using the cached session details by having only a partial handshake, which makes the session establishment quicker. Session resumption is only supported until the session resumption timer expires, which can range from 0 (no session resumption) to 86,400 seconds (24 hours).