SRTP [読み方:えすあーるてぃーぴー]
Secure Real-time Transport Protocol を表す。SRTPは、トランスポート層(UDP)とアプリケーション層(メディア符号化/復号)の間にあってメディア符号化情報をパケット化するRTPの代替プロトコルで、RTPの安全版である。その機能は、RTPおよびRTCPメッセージに対し、暗号化による秘匿、メッセージの認証、リプレイ攻撃(ネットワークに流れるデータを盗聴してコピーし認証サーバへ送ることでなりすます攻撃)に対する保護を提供することにある。
メッセージの暗号化は、送るべきメッセージ(RTPペイロード)と同じ長さの暗号ストリーム(擬似乱数)を作りビット毎に両者の排他的論理和(XOR、eXclusive OR)処理した結果をネットワークに送って行う。SRTPにおける暗号化の方法は、デフォルトでAES (Advanced Encryption Standard)のCounter Modeが指定されている。
メッセージの認証は、受け取ったメッセージは送り手が送ったメッセージそのものであり改変が加えられていないことを見分ける機能で、SRTPではデフォルトとしてHMAC-SHA1と呼ばれるハッシュ関数(RTPヘッダと暗号化されたペイロードからなるメッセージとセッション鍵などの情報を入力するとメッセージの署名が得られる関数)が指定されている。
暗号化や認証に使うセッション鍵の生成はAES Counter Modeの擬似乱数発生に基づくことが指定されている。
リプレイ攻撃対策として、RTP内のシーケンス番号、SRTPに固有のインデックス番号を認証に含める。
SRTPはIETF RFC 3711(2004年3月発行)で規定されている。