Basic VoIP Protocols

htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学びましょう

HackTricksをサポートする他の方法:

WhiteIntelは、ダークウェブを活用した検索エンジンで、企業やその顧客が盗聴マルウェアによって侵害されていないかをチェックするための無料機能を提供しています。

WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。

彼らのウェブサイトをチェックして、無料でエンジンを試すことができます:


シグナリングプロトコル

SIP(Session Initiation Protocol)

これは業界標準であり、詳細については次を参照してください:

pageSIP (Session Initiation Protocol)

MGCP(Media Gateway Control Protocol)

MGCP(Media Gateway Control Protocol)は、RFC 3435で概説されたシグナリングおよびコール コントロールプロトコルです。MGCPは中央集権型アーキテクチャで動作し、次の3つの主要コンポーネントで構成されています:

  1. コールエージェントまたはメディアゲートウェイコントローラ(MGC):MGCPアーキテクチャのマスターゲートウェイは、メディアゲートウェイの管理と制御を担当します。通話のセットアップ、変更、終了プロセスを処理します。MGCはMGCPプロトコルを使用してメディアゲートウェイと通信します。

  2. メディアゲートウェイ(MG)またはスレーブゲートウェイ:これらのデバイスは、異なるネットワーク間でデジタルメディアストリームを変換します。例えば、従来の回線交換電話網とパケット交換IPネットワークです。これらはMGCによって管理され、それから受け取ったコマンドを実行します。メディアゲートウェイには、トランスコーディング、パケット化、エコーキャンセルなどの機能が含まれる場合があります。

  3. シグナリングゲートウェイ(SG):これらのゲートウェイは、異なるネットワーク間でシグナリングメッセージを変換し、従来の電話システム(例:SS7)とIPベースのネットワーク(例:SIPまたはH.323)間でシームレスな通信を可能にします。シグナリングゲートウェイは相互運用性を確保し、異なるネットワーク間で通話制御情報が適切に伝達されることを確認するために重要です。

要するに、MGCPは通話制御ロジックをコールエージェントに集約し、メディアおよびシグナリングゲートウェイの管理を簡素化し、通信ネットワークにおいてスケーラビリティ、信頼性、効率性を向上させます。

SCCP(Skinny Client Control Protocol)

Skinny Client Control Protocol(SCCP)は、Cisco Systemsが所有するプロプライエタリなシグナリングおよびコールコントロールプロトコルです。主にCisco Unified Communications Manager(旧称CallManager)とCisco IP電話や他のCisco音声およびビデオエンドポイント間の通信に使用されます。

SCCPは、通話制御サーバーとエンドポイントデバイス間の通信を簡素化する軽量プロトコルです。その名前が「Skinny」であるのは、そのミニマリスティックなデザインと、H.323やSIPなどの他のVoIPプロトコルと比較して帯域幅要件が少ないためです。

SCCPベースのシステムの主要コンポーネントは次のとおりです:

  1. コールコントロールサーバー:通常はCisco Unified Communications Managerであり、通話のセットアップ、変更、終了プロセス、通話転送、通話保留などの他の電話機能を管理します。

  2. SCCPエンドポイント:これらは、SCCPを使用して通話制御サーバーと通信するIP電話、ビデオ会議ユニット、または他のCisco音声およびビデオエンドポイントなどのデバイスです。これらはサーバーに登録し、シグナリングメッセージを送受信し、通話処理のために通話制御サーバーから提供された指示に従います。

  3. ゲートウェイ:これらのデバイスは、従来の回線交換電話網とパケット交換IPネットワーク間でメディアストリームを変換する責任があります。トランスコーディングやエコーキャンセルなどの追加機能も含まれる場合があります。

SCCPはCiscoの通話制御サーバーとエンドポイントデバイス間の簡単で効率的な通信方法を提供します。ただし、SCCPはプロプライエタリプロトコルであるため、非Ciscoシステムとの相互運用性が制限される可能性があります。そのような場合には、SIPなどの他の標準VoIPプロトコルがより適しているかもしれません。

H.323

H.323は、IPベースのネットワークなどのパケット交換ネットワークを介した音声、ビデオ、データ会議を含むマルチメディア通信のためのプロトコルスイートです。国際電気通信連合(ITU-T)によって開発され、マルチメディア通信セッションを管理する包括的なフレームワークを提供します。

H.323スイートの主要コンポーネントには次のものがあります:

  1. 端末:IP電話、ビデオ会議システム、またはソフトウェアアプリケーションなどのエンドポイントデバイスで、H.323をサポートし、マルチメディア通信セッションに参加できます。

  2. ゲートウェイ:これらのデバイスは、従来の回線交換電話網とパケット交換IPネットワーク間でメディアストリームを変換し、H.323と他の通信システムとの間で相互運用性を実現します。トランスコーディングやエコーキャンセルなどの追加機能も含まれる場合があります。

  3. ゲートキーパー:これらはH.323ネットワークで通話制御および管理サービスを提供するオプションのコンポーネントです。アドレス変換、帯域幅管理、アドミッション制御などの機能を実行し、ネットワークリソースを管理および最適化するのに役立ちます。

  4. マルチポイントコントロールユニット(MCU):これらのデバイスは、複数のエンドポイントからのメディアストリームを管理およびミックスすることで、マルチポイント会議を促進します。MCUはビデオレイアウト制御、音声アクティブスイッチング、連続プレゼンスなどの機能を可能にし、複数の参加者を持つ大規模な会議を開催できるようにします。

H.323は、音声およびビデオコーデック、通話転送、通話転送、通話保留、通話待ちなどの他の補助サービスをサポートします。VoIPの初期に広く採用されましたが、より現代的で柔軟なプロトコルである**Session Initiation Protocol(SIP)**によって徐々に置き換えられています。SIPは、より良い相互運用性と簡単な実装を提供するため、H.323は多くのレガシーシステムで引き続き使用されており、さまざまな機器ベンダーによってサポートされています。

IAX(Inter Asterisk eXchange)

IAX(Inter-Asterisk eXchange)は、Asterisk PBX(プライベートブランチ交換)サーバーと他のVoIPデバイス間の通信に主に使用されるシグナリングおよびコールコントロールプロトコルです。AsteriskオープンソースPBXソフトウェアの作成者であるMark Spencerによって、SIPやH.323などの他のVoIPプロトコルに代わるものとして開発されました。

IAXはシンプルさ、効率性、実装の容易さで知られています。IAXの主な特徴には次のものがあります:

  1. 単一のUDPポート:IAXはシグナリングとメディアトラフィックの両方に単一のUDPポート(4569)を使用し、ファイアウォールとNATトラバーサルを簡素化し、さまざまなネットワーク環境での展開を容易にします。

  2. バイナリプロトコル:SIPなどのテキストベースのプロトコルとは異なり、IAXはバイナリプロトコルであり、帯域幅の消費を削減し、シグナリングおよびメディアデータの送信をより効率的にします。

  3. トランキング:IAXはトランキングをサポートし、複数の通話を単一のネットワーク接続に組み合わせることでオーバーヘッドを削減し、帯域幅の利用を向上させます。

  4. ネイティブ暗号化:IAXは、RSAなどの鍵交換およびAESなどのメディア暗号化による暗号化を組み込んでおり、エンドポイント間の安全な通信を提供します。

  5. ピアツーピア通信:IAXは、中央サーバーなしでエンドポイント間の直接通信に使用でき、よりシンプルで効率的な通話ルーティングを実現します。

利点にもかかわらず、IAXにはAsteriskエコシステムに主眼を置いており、SIPなどのより確立されたプロトコルと比較して普及率が低いという制限があります。その結果、IAXは非Asteriskシステムやデバイスとの相互運用性にとって最良の選択肢ではないかもしれません。ただし、Asterisk環境内で作業している場合、IAXはVoIP通信のための堅牢で効率的なソリューションを提供します。

伝送と輸送プロトコル

SDP(Session Description Protocol)

SDP(Session Description Protocol)は、IPネットワーク上での音声、ビデオ、またはデータ会議などのマルチメディアセッションの特性を記述するために使用されるテキストベースの形式です。**インターネットエンジニアリングタスクフォース(IETF)**によって開発され、RFC 4566で定義されています。SDPは実際のメディア伝送やセッション確立を処理しませんが、**SIP(Session Initiation Protocol)**などの他のシグナリングプロトコルと共に使用され、メディアストリームとその属性に関する情報を交渉および交換するために使用されます。

SDPの主な要素には次のものがあります:

  1. セッション情報:SDPは、セッション名、セッションの説明、開始時間、終了時間など、マルチメディアセッションの詳細を記述します。

  2. メディアストリーム:SDPは、メディアタイプ(オーディオ、ビデオ、またはテキスト)、輸送プロトコル(例:RTPまたはSRTP)、およびメディアフォーマット(コーデック情報など)など、メディアストリームの特性を定義します。

  3. 接続情報:SDPは、メディアを送信または受信するためのネットワークアドレス(IPアドレス)とポート番号に関する情報を提供します。

  4. 属性:SDPは、セッションやメディアストリームに関する追加のオプション情報を提供するために属性の使用をサポートします。属性は、暗号化キー、帯域幅要件、またはメディア制御メカニズムなどのさまざまな機能を指定するために使用できます。

SDPは通常、次のプロセスで使用されます:

  1. 開始する側が、提案されたマルチメディアセッションのSDP説明を作成します。これには、メディアストリームとその属性の詳細が含まれます。

  2. SDP説明が受信側に送信され、通常はSIPやRTSPなどのシグナリングプロトコルメッセージに埋め込まれます。

  3. 受信側はSDP説明を処理し、その機能に基づいて提案されたセッションを受け入れたり、拒否したり、変更したりすることがあります。

  4. 最終的なSDP説明が、シグナリングプロトコルメッセージの一部として開始する側に送信され、交渉プロセスが完了します。

SDPのシンプルさと柔軟性により、さまざまな通信システムでマルチメディアセッションを記述するための広く採用された標準となっており、IPネットワーク上でのリアルタイムマルチメディアセッションの確立と管理において重要な役割を果たしています。

RTP / RTCP / SRTP / ZRTP

  1. RTP(Real-time Transport Protocol):RTPは、オーディオやビデオデータなどのリアルタイムメディアをIPネットワーク上で配信するために設計されたネットワークプロトコルです。IETFによって開発され、RFC 3550で定義されています。RTPは、シンクロナイゼーションシーケンス、およびタイムスタンプのメカニズムを提供し、メディアストリームのスムーズでタイムリーな再生を確保します。

  2. RTCP(Real-time Transport Control Protocol):RTCPは、RTPの補助プロトコルであり、メディアストリームの品質を監視し、その伝送に関するフィードバックを提供するために使用されます。RTPと同じRFC 3550で定義されており、RTCPは定期的にRTPセッションの参加者間で制御パケットを交換します。パケット損失、ジッター、ラウンドトリップタイムなどの情報を共有し、ネットワークの状況を診断し適応するのに役立ち、全体的なメディア品質を向上させます。

  3. SRTP(Secure Real-time Transport Protocol):SRTPは、メディアストリームの暗号化メッセージ認証、およびリプレイ保護を提供するRTPの拡張機能であり、機密性の高いオーディオやビデオデータの安全な伝送を確保します。RFC 3711で定義されており、SRTPは暗号化にAESなどの暗号アルゴリズム、メッセージ認証にHMAC-SHA1などの暗号アルゴリズムを使用します。SRTPは、一般的にSIP over TLSなどのセキュアなシグナリングプロトコルと組み合わせて使用され、マルチメディア通信におけるエンドツーエンドのセキュリティを提供します。

  4. ZRTP(Zimmermann Real-time Transport Protocol):ZRTPは、RTPメディアストリームのエンドツーエンドの暗号化を提供する暗号鍵合意プロトコルです。PGPの作成者であるPhil Zimmermannによって開発され、RFC 6189で説明されています。キー交換のためにシグナリングプロトコルに依存するSRTPとは異なり、ZRTPはシグナリングプロトコルとは独立して動作するように設計されています。通信する各当事者間で共有秘密を確立するためにDiffie-Hellman鍵交換を使用し、事前の信頼や公開鍵インフラストラクチャ(PKI)を必要としません。ZRTPには、中間者攻撃に対する保護として**Short Authentication Strings(SAS)**などの機能も含まれています。

これらのプロトコルは、IPネットワーク上でのリアルタイムマルチメディア通信の配信とセキュリティ確保において重要な役割を果たします。RTPとRTCPは実際のメディア伝送と品質監視を担当し、SRTPとZRTPは、送信されるメディアが盗聴、改ざん、およびリプレイ攻撃から保護されることを確保します。

Last updated