Review Board 1.7.16


Add AES-GCM support for SRTP

Review Request #3350 - Created March 13, 2014 and updated

Kristian Kielhofner
ASTERISK-22832
Reviewers
asterisk-dev
Asterisk
There is a version of libsrtp that supports AES-NI and AES-GCM mode:
https://github.com/cisco/libsrtp/pull/34

More on AES-GCM mode:
http://tools.ietf.org/html/draft-ietf-avtcore-srtp-aes-gcm-10
http://2013.diac.cr.yp.to/slides/gueron.pdf

AES-GCM mode improves the performance of SRTP on systems with and without support for the AES-NI instruction set.

This patch implements 128 bit AES GCM mode with SRTP. Significantly more work will be required to support 192 and 256 bit AES regardless of mode. Various build stuffs will also need to be updated with the required checks for AES-GCM support in libsrtp and OpenSSL.

"Big AES" (including 256 GCM) should probably be implemented with a separate patch/bug/review:

http://tools.ietf.org/html/rfc6188
Successfully tested call setup and audio exchange with patched pjsip client and FreeSWITCH.
Ship it!
Posted (March 13, 2014, 11:12 p.m.)
Ship It!
  1. I appreciate the enthusiasm but I don't think it's ready quite yet...
    
    The code isn't conditional in any way and as I said various autoconf checks will need to be included to test for feature-openssl support in system libsrtp as well as AES-GCM support in OpenSSL. If I find myself with some time on my hands I may look into both of these but I'm not sure when that will happen (it almost never does, for some reason)!
  2. Hm. I had missed that in the preamble of your review.
    
    If this is not yet ready for submission, I'd suggest closing out the review for now. You can always re-open it when the patch is complete.

https://reviewboard.asterisk.org/ runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to asteriskteam@digium.com.