Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This document provides a high-level technical description of the customer request for adding support for SRTP for G.711 on the SR140.  This document will cover SDES SRTP as defined by RFC 4568 : ‘Session Description Protocol (SDP) Security Descriptions for Media Streams’ to PowerMedia XMS.  SDES (Session Description Protocol Security Descriptions for Media Streams) is a key exchange mechanism used to negotiate encryption of VoIP sessions using Secure RTP (SRTP), defined by RFC 3711: ‘The Secure Real-time Transport Protocol (SRTP)’.

...

#TitleImportanceNotes
1SHALL support SDES (RFC4568) key exchange to establish SRTP (RFC3711) Media streamsMust Have

 

2SHALL support SDES-SRTP with or without SIP TLS session establishment. Must Have 
3SHALL support SDP 'crypto' attribute to exchange SDES-SRTP encryption keys.Must Have 
4SHALL support the following crypto suites:
  • AES_CM_128_HMAC_SHA1_80 (Default)
  • AES_CM_128_HMAC_SHA1_32
Must Have 
5SHALL support the key-method 'inline' for crypto SDP attribute:
“inline:” <key||salt> [“|”lifetime] [“|” MKI “:” length] 
 - key || salt – concatenated master key and salt, base64 encoded
 - Lifetime – masterkey lifetime (max number of SRTP or SRTCP packets using this master key)
 - MKI:length – MKI and length of the MKI field in SRTP packets
Must HaveBy default this should be forever or the largest possible value. The lifetime paramter should be configurable.
6SHALL support key timeouts and refresh as specified by RFC4568 and key exchange parametersMust Have 
7

Configuration Parameters. The configuration parameters for SRTP SHALL be contained within its own configuration file. The callctrl.cfg SHALL define a parameter to state if SRTP is enabled and the location of the configuration file.

Must HaveThe parameters in the SRTP configuration file only apply when SRTP is enabled.
8When SRTP is enabled, the callctrl.cfg SHALL define a parameter for the location of the of the SRTP configuration file.Must Have 
9The parsing of the configuration parameters SHALL be present in the ecc.log file.Must Have 
910

Lifetime: this value determines the maximum number of SRTP/SRTCP packets that can be recieved transmitted using the master key selected for the session.
The default value shall be set at 2147483648 (equavilent to 2^31)

 Would like this to be non-configurable for the initial release.
1011

Accept: this is a boolean value that enable processing of SDPs with crypto-attributes. note that if an ingress message (i.e. INVITE) contains SDP without crypto-attributes, the system shall still process the request. When "Disabled", messages with crypto-attributes are rejected.
Default value shall be "Enabled"

  
1112

Number of Keys: this is an integer value that specifies the number of keys to use in the key rotation refresh.
Default value shall be 1
Range: 1-10

 Checking on need to support multiple crypto keys. Was not required for MRB implementation.
1213

Window Size Hint: this is an integer value that sets the SRTP window size to protect against replay attacks.
Default value shall be 64
Range: 64- 2147483648 (equavilent to 2^31)

 Not sure about the Window Hint, but Jon M think this is pretty standard.
1314

Enforce: this is a boolean value that enable/disable mandatory enforcement of ingress calls to contain crypto-attributes. The system shall reject all calls that do NOT contain crypto-attributes in the SDP media lines.
Default value shall be "Disabled"

  
1415

Unencrypted SRTP: this is a boolean value that enable/disables receiving unencrypted SRTP packet payloads.
Default value shall be "Disabled"

  
1516

Unencrypted SRTCP: this is a boolean value that enable/disables receiving unencrypted SRTCP packet payloads.
Default value shall be "Disabled"

  
1617SRTP keys include a public and private key and have standard formats.  
1718Use Case 1: SIP Invite with SDES - SR140 SHALL support receiving SDES in a receiving call.  SIP Invite has Offer SDP with EP 'crypto' attribute.  SR140 answers with crypto to establish the SRTP session.  
1819Use Case 2: SIP Invite with SDES - SR140 SHALL support sending SDES in a transmitting call.  SIP Invite has SDP with EP 'crypto' attribute.    
1920

SRTP supported on by a single license keywork (Security). This keyword enables SRTP functionality on a per system basis.

Add on part will need to be defined to add security to an existing SR140 deployment.  This part will be added to the back office for normal order processing and will allow the end user to activate a security LAC via the current methods.

The SR140 base feature license will not include Security support. Added support MUST require a seperate add-on LAC for security.

Must HavePart #951-105-20
2021COO Will need to be updated with changes to include the updated IPP (version 8.2.x) into the product. Will be required for both Windows and Linux.Must Have 
2122

Documentation. The Brooktrout documentation SHALL be updated in the appopiate manuals.

Should include information on security license, SRTP configuration in callctrl.cfg and SRTP configuration file including configuration of keys. Nice to have a usage example in documentation or tech note.

  
2223Export requirements SHALL be completed to support releasing a product with security featuresMust HaveWill be completed with SIP over TLS.

...

QuestionOutcome
Default setting for Unencrypted SRTP? This is a boolean value that enable/disables receiving unencrypted SRTP packet payloads.
Default setting for Unencrypted SRTCP? This is a boolean value that enable/disables receiving unencrypted SRTCP packet payloads. 
How are keys updated during a fax session. HMP selected a default Lifetime value to attempt to not update the key during a session. It does not prevent the remote sending from updating their keys. Do we want this to be configurable or do we just use a key per session with the large default setting? 

There is a NULL invite and 3rd PCC use cases with the XMS. Are these use cases required for SR140?

SDES SRTP Support (FR16219)

 
Do we need to support multiple crypto keys? HMP has the ability to support multiple key rotation (up to 20)  for a single session. Multiple crypto key rotation per session using Master Key Identifier (MKI)  
Are we expecting the remote to updated their transmit key during a fax session (Lifetime expired)? 

What about the enabling or disabling of SRTP authentication?

 
Support switching between RTP to SRTP or SRTP to RTP in mid-session? 
Support setting the advance notification time (100 ms units) that the current encryption key is about to expire? 

Support the setting of the thresholds for the SRTP alarms (authentication failure, packet replay detection and Master Key Identifier (MKI) mismatches)?

 
Support enabling or disabling the advance notification time for key expiry and the SRTP alarms? 
Support changing the key derivation rate? 
Support different lifetimes for SRTP and SRTCP? Depending on whichever expires first, the key would then need to be changed. 

Not Doing