SRTP / SRTCP¶
- 最終更新日:
2019-11-10
SRTP について¶
WebRTC の MediaChannel に利用されている暗号化方式は DTLS-SRTP と呼ばれる仕組みです。DTLS-SRTP の DTLS の部分は :doc:`DTLS </DTLS>`_ を御覧ください。
SRTP は新しいプロトコルではなく 2004 年に RFC になったかなり歴史のあるプロトコルです。
AES-CTR¶
Chrome や Safari でデフォルトで利用されている SRTP の暗号方式は AES-CTR です。ビット数は 128 が採用されています。
ただし Chrome では chrome://flags/#enable-webrtc-srtp-aes-gcm で AES-GCM を有効にすることが可能です。
AES-CTR 256 を使うというドラフトが出たりもしましたが、結局 AES-GCM に移行する流れのようです。
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 が利用可能になります。