In this section:
The Datagram Transport Layer Security (DTLS) protocol provides authentication, data integrity, and confidentiality for communications between two applications over User Datagram Protocol (UDP). The Secure Real-time Transport Protocol (SRTP) provides encryption, message authentication and integrity, and replay protection to the RTP data in both unicast and multicast applications. DTLS-SRTP is an extension to the DTLS protocol, where DTLS acts as the key management protocol. DTLS protocol is also extended to negotiate the SRTP crypto suites and parameters for use with those keys. WebRTC is a signaling protocol defined for real-time communication between Web browsers. WebRTC has assigned DTLS-SRTP protocol for the media exchange between the browsers. The SBC includes the following DTLS functionality: The SBC includes DTLS crypto suites that define a set of ciphers (algorithms used for encrypting data) which allow the selection of an appropriate level of security. When a TLS connection is established, the client and server exchange information about which cipher suites they have in common.
Use the TLS Profile to configure a profile for implementing the TLS protocol for SIP over TLS. The TLS profile is associated with a SIP Signaling Port.
The settings within the default TLS Profile may be modified. Also, the supported transport protocols must be set to allow SIP over TLS.
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.
% set profiles security tlsProfile <profile name> acceptableCertValidationErrors <invalidPurpose | none> allowedRoles <clientandserver | server> appAuthTimer <1-60 seconds> authClient <false | true> cipherSuite1 <cipher suite> cipherSuite2 <cipher suite> cipherSuite3 <cipher suite> clientCertName <name> handshakeTimer <1-60 seconds> ocspProfileName <name> peerNameVerify <disabled | enabled> serverCertName <name> sessionResumpTimer <0-86400 seconds> suppressEmptyFragments <disabled | enabled> v1_0 <disabled | enabled> v1_1 <disabled | enabled> v1_2 <disabled | enabled>
The TLS Profile Parameters are as shown below:
When FIPS-140-2 mode is enabled, do not use the SBC releases 5.1, 6.2 and 7.2 are officially FIPS-compliant.rsa-with-null-sha
option.
> show profiles security tlsProfile defaultTlsProfile appAuthTimer 5; handshakeTimer 5; sessionResumpTimer 3600; cipherSuite1 rsa-with-aes-128-cbc-sha; allowedRoles clientandserver; v1_0 enabled; v1_1 enabled; v1_2 enabled; % set profiles security tlsProfile defaultTlsProfile ocspProfileName myOcspProfile % commit > show profiles security tlsProfile defaultTlsProfile appAuthTimer 5; handshakeTimer 5; sessionResumpTimer 3600; cipherSuite1 rsa-with-aes-128-cbc-sha; allowedRoles clientandserver; ocspProfileName myOcspProfile; v1_0 enabled; v1_1 enabled; v1_2 enabled;
% set profiles security tlsProfile TLS-1 v1_2 enabled % set profiles security tlsProfile TLS-1 cipherSuite1 tls_ecdh_ecdsa_with_aes_256_gcm_sha384 % commit > show profiles security tlsProfile TLS-1 cipherSuite1 tls_ecdh_ecdsa_with_aes_256_gcm_sha384; v1_2 enabled;