############################## SRTP / SRTCP ############################## :最終更新日: 2019-11-10 SRTP について ============= WebRTC の MediaChannel に利用されている暗号化方式は DTLS-SRTP と呼ばれる仕組みです。DTLS-SRTP の DTLS の部分は :doc:`DTLS `_ を御覧ください。 SRTP は新しいプロトコルではなく 2004 年に RFC になったかなり歴史のあるプロトコルです。 `RFC 3711 - The Secure Real-time Transport Protocol (SRTP) `_ AES-CTR ======= Chrome や Safari でデフォルトで利用されている SRTP の暗号方式は AES-CTR です。ビット数は 128 が採用されています。 ただし Chrome では chrome://flags/#enable-webrtc-srtp-aes-gcm で AES-GCM を有効にすることが可能です。 AES-CTR 256 を使うというドラフトが出たりもしましたが、結局 AES-GCM に移行する流れのようです。 `draft-lennox-avtcore-dtls-srtp-bigaes-01 - DTLS/SRTP Protection Profiles for 256-bit AES-CTR Encryption `_ AES-GCM ======= Firefox ではデフォルトが AES-GCM になっています。AES-GCM に対応していない場合は AES-CTR が利用されます。 AES-GCM は鍵の長さは 128/256 ビットが用意されています。 `RFC 7714 - AES-GCM Authenticated Encryption in the Secure Real-time Transport Protocol (SRTP) `_ AES-GCM を利用する場合は SRTP の AuthTag が不要になります。 パフォーマンスについて ====================== AES-GCM では AES-CTR で利用していた HMAC を呼ばなくなるため高速化されるという話が出ています。Chrome では chrome://flags/#enable-webrtc-srtp-aes-gcm を有効にすることで SRTP/SRTCP で AES-GCM が利用可能になります。