
こんにちは。CCアーキテクトのカスタマーサクセス部です。今回はVoIPによく使われるプロトコルーRTPとRTCPについて解説したいと思います。
RTPとは何ですか?
RTP – Real-time Transport Protocolの略で、インターネット上でオーディオとビデオを配信するための標準パケット形式を定義しています。RFC1889で定義されています。
これは、Audio Video Transport Working groupによって開発され、1996年に初めて公開されました。RTPは、電話、ビデオ電話会議アプリケーション、テレビサービス、Webベースのプッシュ・トゥ・トーク機能など、メディアのストリーミングを伴う通信およびエンターテイメントシステムで広く使用されています。

RTPは、RTP Control Protocol(RTCP)と組み合わせて使用されます。
RTPがメディアストリーム(オーディオやビデオなど)を伝送するのに対して、 RTCPは伝送統計とサービス品質(QoS)を監視し、複数のストリームの同期を補助するために使用 されます。RTPは偶数ポート番号で送受信され、関連するRTCP通信は次に大きい奇数ポート番号を使用します。
RTPはVoIPの基礎の1つであり、ネットワーク上の接続設定を支援するSIPと組み合わせて使用されます。
RTCPとは何ですか?
RTCPはReal-time Transport Control Protocolの略で、RFC 3550で定義されています。RTCPはRTPと密接に連携して動作します。RTPは実際のデータの配信を行いますが、RTCPは、通話参加者に制御パケットを送信するために使用されます。主な機能は、RTPが提供するサービス品質に関するフィードバックを提供することです。
SRTPとは何ですか?
SRTPはSecure Real – Time Transport Protocolとも呼ばれ、RTP(Real-Time Transport Protocol)の拡張プロファイルで、メッセージ認証、機密性、リプレイ保護など、主にVoIP通信を目的としたセキュリティ機能をさらに追加しています。

SRTPは何を使っているのですか?
SRTPは、サービス拒否などの攻撃のリスクを最小限に抑えるために、認証と暗号化を使用しています。2004年にIETF(インターネット技術タスクフォース)によりRFC3711として公開されました。SRTPは、DTLSと同様、WebRTC技術で使用されるセキュリティプロトコルの1つです。
セキュアRTPの機能
Secure RTPを使用する場合、暗号化や認証などの機能はすべてオプションであり、個々に有効化または無効化することができます。
ただし、セキュア RTCP (RTP Control Protocol)ではメッセージ認証機能が必須であるため、この点は例外となります。セキュアRTPは、デフォルトの暗号化方式としてAES(Advanced Encryption Standard)を使用します。定義されているSegmented Integer Counter Modeおよびf8-mode暗号モードのうちの1つをさらに選択することで、AESブロック暗号をRTPデータストリームのストリーム暗号として使用することができるようにすることができます。

RTP/RTCPデータの機密性が要求されない場合は、NULL暗号を代わりに使用することができます。セキュアRTPは、新しい暗号化アルゴリズムに簡単に対応できるため、柔軟な設計になっています。ただし、公式のRFC標準では、新しい暗号化アルゴリズムは、新しいアルゴリズ ムを明確に定義する新しいコンパニオン標準トラックRFCを発行することによってのみ導入できることになっていることに留意してください。