In VoLTE/IMS Node testing, the SRTP tab on the Gm > Media tab allows you to define the SRTP traffic profile and resource allocation. Available in the Network Host test case, when Proxy is enabled and Enable SRTP on the WebRTC Control.
The Secure Real-time Transport Protocol (SRTP) is designed to protect media against eavesdropping or alternation when being transported across a network. Prior to sending data out, sending source encrypts packets data and adds authentication/integrity code then sends. Receiving source verifies integrity of received packets, decrypt data before playing back to users.
SRTP is often deployed with an accompanied key management protocol based upon which sending and receiving sources get correct information (i.e. encryption type) for performing their tasks. We will support SDES. Session Description Protocol (SDP) Security Descriptions for Media Streams. 3GPP TS 33.328 proposes 2 key management solutions for SRTP. KMS (not supported at this time) and SDES.
SRTP has been deployed at UE for e2e support. Both ends will need to implement a key management protocol (i.e. SDES) and SRTP.
|
|
Session Parameters |
|
Apply Test Data File to Parameter Values |
Encryption Type |
Select an Encryption Type. Two supported options. AES-CM-128 (default) – Advanced Encryption Standard in Counter Mode with 128-bit key length. This encryption type will be chosen by default. AES-F8-128 – Advanced Encryption Standard in F8 mode with 128-bit key length
|
||||||||||||||||
Key Derivation (PRF) |
One Key Derivation Supported. AES-CM-128 (default) – Advanced Encryption Standard in Counter Mode with 128-bit key length. This encryption type will be chosen by default.
|
||||||||||||||||
Integrity Type |
Select an Integrity/Authentication type for each Cryptographic Suite. Options : HMAC-SHA1-80 (default), HMAC-SHA1-32
|
||||||||||||||||
Key Parameters |
|
||||||||||||||||
Number of Master Keys |
This entry is used for specifying how many pairs of master key/master salt need to be generated for this cryptographic suite. A valid input value will be in range from 1 to 3 inclusive and a default value is set to 1.
|
||||||||||||||||
Include Master Key Indication (MKI) MKI Length (Octets) |
Include Master Key Indicator (MKI) and MKI Length (Octets): A TRUE/FALSE value is optionally used to specify whether MKI is inserted into each SRTP packet. However, when there are more than one pair of master key/salt are used in a session, this indicator must be always set to TRUE. When the indicator is set to TRUE, users is required to enter MKI length and MKI length is initially default to 4 octets.
|
||||||||||||||||
Include Key Lifetime (2^x) |
Include Key lifetime (2^x): This entry is optionally used for specifying user-defined key lifetime value. An entered value should not exceed a max packet lifetime of a chosen encryption algorithm (see RFC 4568 Crypto-Suites and Parameters" ) for max packet lifetime). When not included, key lifetime is set to a maximum packet lifetime of a chosen encryption algorithm.
|
||||||||||||||||
Use Salt Key |
Include Salt Key.
|
||||||||||||||||
Session Parameters |
|
||||||||||||||||
Include Key Derivation Rate (KDR=2^x) |
Key Derivation Rate (KDR=2^x) – optionally used for specifying how frequent session key will be derived from a master key. If not specified, a default rate is 1 (2^0). Valid value is in a set {1,2,3…,24} which denotes a power of 2 from 2^1to 2^24.
|
||||||||||||||||
Include UNCRYPTED_SRTP |
Include UNCRYPTED_SRTP – a TRUE/FALSE value is optionally used for specifying RTP packets will be unencrypted. If not used, RTP packets are encrypted by default.
|
||||||||||||||||
Include UNCRYPTED_SRTCP |
Include UNCRYPTED_SRTCP – a TRUE/FALSE value is optionally used for specifying RTCP packets will be unencrypted. If not used, RTCP packets are encrypted by default.
|
||||||||||||||||
Include Unauthenticated SRTP |
Include UNAUTHENTICATED_SRTP – a TRUE/FALSE value is optionally used for specifying SRTP packets are not authenticated. If not used, SRTP packets are authenticated by default.
|
Apply Test Data File to Parameter Values |
See About Applying Parameter ValuesAbout Applying Parameter Values. See Test Data Files for further explanation and sample files. If a sample is not found for the specific TDF, you can obtain a sample file from your Technical Support representative. You may also use the following options to select an existing TDF or create/edit TDF-CSV files (TDF-CSV Editor). For most TDF Parameters used for Applying Parameters, each row in the file is the overridden value for a different “Session”, aka a different UE. But some TDFs are done in other dimensions, like Bearers, eNodeBs, Subscribers (2 per UE sometimes) or even Hosts, etc. Tooltips on the TDF Parameter: Note that the “ID” is a unique ID. Please Provide the ID when reporting issues with a TDF. For TDFs that do not apply / override Parameters, but instead are just their own configuration or data or media files you won’t see TDF ID row details.
|
The Following Snippet was taken from RFC 4568 providing an overview description of Cryptographic Suites and their Parameters.