In this section:
Use the DTLS Profile to configure various DTLS parameters to attach to a SIP trunk group in support of WebRTC functionality.
Similar to TLS, the Datagram Transport Layer Security (DTLS) protocol provides authentication, data integrity, and confidentiality for communications between two applications over an unreliable User Datagram Protocol (UDP) connection. 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 uses the DTLS-SRTP protocol for media exchange between browsers. The SBC includes the following functionality: 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. When a DTLS connection is established, the client and server exchange information about which cipher suites they have in common.
Command Syntax
% set profiles security dtlsProfile <profile name> CertName <cert name> cipherSuite1 <cipher suite> cipherSuite2 <cipher suite> cipherSuite3 <cipher suite> cookieExchange <disabled | enabled> dtlsRole <client | server> handshakeTimer <1-60 seconds> hashType <md2 | md5 | sha1 | sha224 | sha256 | sha384 | sha512> sessionResumpTimer <0-86400> v1_0 <disabled | enabled> v1_1 <disabled | enabled> v1_2 <disabled | enabled>
Command Parameters
The DTLS Profile Parameters are as shown below:
Crypto Suites
The following crypto suites are supported.
Supported TLS/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. Note: The SBC 11.1 and later versions do not support 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. TLS_AES_128_GCM_SHA256*** Confidentiality cipher and mode for the TLS Record with AES128 GCM and SHA256 as the hash function. TLS_AES_256_GCM_SHA384*** Confidentiality cipher and mode for the TLS Record with AES256 GCM and SHA384 as the hash function. TLS_CHACHA20_POLY1305_SHA256*** Confidentiality cipher and mode for the TLS Record with ChaCha20-Poly1305 and SHA256 as the hash function. * 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. TLS 1.3 does not support RSA. Certificates generated with RSA will not work with TLS 1.3. When the Fips-140-3 mode is enabled, you cannot 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 tls_ecdh_ecdsa_with_aes_256_cbc_sha384
. You must replace it with a valid Cipher before upgrading the SBC.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 SHA-256 RSA AES_256_GCM SHA-384 Unique to each TLS client and server CTR SHA-256 Unique to each TLS client and server CTR SHA-384 Unique to each TLS client and server CTR SHA-256
Command Examples
% show profiles security dtlsProfile defaultDtlsProfile handshakeTimer 5; sessionResumpTimer 300; cipherSuite1 rsa-with-aes-128-cbc-sha; dtlsRole server; hashType sha1; CertName defaultDtlsSBCCert; cookieExchange enabled; v1_0 enabled; v1_1 disabled; v1_2 disabled;