In this section:
Overview
Modified: for 10.1.6
The SBC Core supports the exchange of SIP signaling over the 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. The 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 and 1.2 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.
Configure SIP over TLS independently on each hop between SIP devices. Configure SIP transport type selection via the IP Signaling Profile, and provision it on the SIP trunk group. You can also identify it via a DNS lookup.
When you use the TLS 1.2 protocol, the SBC uses the Extended Master Secret (EXTMS) extension in TLS handshakes.
If a zone's sipSigPort
is configured for transportProtocolsAllowed
= sip-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.
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; this is a Ribbon ASX or another device. The registrar is 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
Supported DTLS Crypto Suites Authentication Mechanism Confidentiality Cipher and Mode Integrity Cipher RSA-WITH-NULL-SHA The integrity cipher used for the TLS Record protocol. RSA-WITH-AES-128-CBC-SHA (default) Confidentiality cipher and mode for the TLS Record protocol. 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. 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. 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. 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. 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. 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. 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. 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. 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. * To use this cipher, you must enable TLS version 1.2 in the TLS Profile. ** To use this cipher, you must enable TLS version 1.2 in the TLS Profile and create SSL certificates using ECC keys. When the Fips-140-3 mode is enabled, do not use the algorithms whose key exchange method is RSA, including: The SBC 7.2.x release supports FIPS-140-2 and the 10.1.3 release supports FIPS-140-3. FIPS-140-2 is not supported in 10.1.3 and later releases and gets 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:Public/Private Key Pair RSA NULL SHA-1 RSA RSA AES-128-CBC SHA-256 ECDH-ECDSA AES-256-GCM SHA-384 ECDHE-RSA AES-128-CBC SHA-1 ECDHE-RSA AES-256-CBC SHA-384 ECDHE-RSA AES-128-GCM SHA-256 ECDHE-RSA AES-256-GCM SHA-384 RSA AES_128_GCM SHA256 RSA AES_256_GCM SHA384
The SBC and its peer devices use X.509 digital certificates to authenticate themselves for the TLS. Install local certificates in PKSC # 12 format (attesting to the identity of the SBC) and remote Certificate Authority (CA) certificates on the SBC in a common area (/opt/sonus/external/) where they are available to the TLS.