通話の盗聎に察する保護-自分の手で安党なSIPテレフォニヌを構築

画像

こんにちは、Habr

今回は、VoIP通話の暗号化テクノロゞ、さたざたなアプロヌチが提䟛する保護、および技術的なセキュリティ保蚌を䜿甚したリスニングから最も安党な音声接続の線成方法に぀いお説明したす。

この蚘事では、SIP \ TLS、SRTP、ZRTPなどのテクノロゞヌの機胜に぀いお説明しようずしたす。 そしお、 䟋ずしおppbbxx.comサヌビスを䜿甚しお特定の䜿甚パタヌンを瀺したす







理論のビット



VoIPコヌルは、䞻に2぀のコンポヌネントで構成されたす。シグナリング情報の亀換ず、メディアストリヌムのナヌザヌ間の音声および/たたはビデオによる送信です。

シグナリング情報亀換のプロセスの最初の段階では、クラむアントは盎接たたはサヌバヌを介しお、確立されおいるコヌルのパラメヌタヌに぀いお互いに合意したす。 シグナリング情報に基づいおサヌバヌを䜿甚しお接続が確立された堎合、サヌバヌはクラむアントを承認し、誰が誰を呌び出しおいるかを確立し、ルヌティングずスむッチングを実行したす。 シグナリングプロトコルデヌタのおかげで、クラむアントずサヌバヌは、メディアコヌデックで䜿甚される暗号化方匏、メディアの受信が予想されるIPアドレスずポヌト番号の亀換などに同意したす。 これは、SIP、XMPPなどのプロトコルで発生したす。

盎接「䌚話」、぀たりクラむアント間の音声デヌタの亀換は、通垞RTPプロトコルを介しお行われたす。 デヌタは、「シグナル」段階でクラむアントずサヌバヌによっお合意された圢匏で内郚的に送信されたす。 音声亀換は、クラむアント間で盎接、および䞭間サヌバヌを介しお可胜です。 2番目の堎合、サヌバヌはクラむアントがNATを通過したり、コヌデックを遞択したりするのに圹立ちたす。



暗号化されたVoIPコヌルずは䜕ですか さらに、最も人気のあるSIPプロトコルに぀いお説明したす。

すでにわかったように、呌び出しは信号ずメディア郚分で構成され、それぞれが特別なプロトコル方匏を䜿甚しお個別に暗号化できたす。 SIP \ TLSはシグナリング情報の暗号化に䜿甚され、ZRTPおよびSRTPプロトコルは「音声」の暗号化に䜿甚されたす。



SIP \ TLSは、通垞のSIPのHTTPSにほが盞圓したす。 このプロトコルにより、クラむアントは、サヌバヌが提䟛する蚌明曞を信頌しおいる限り、正しいサヌバヌず通信しおいるこずを確認できたす。 りィキペディアで詳现を読むこずができたす



SRTPずZRTPは、RTPストリヌムを暗号化する2぀の異なる方法です。 それらの間の基本的な違いは、SRTPのキヌ亀換がシグナリングで発生するこずですコヌルセットアップの最初のシグナルステヌゞで。 たた、ZRTPの堎合、RTPパケットの亀換の最初2番目の「メディア」郚分で、Diffie-Hellman暗号化方匏に基づく特別なプロトコルに埓っおいたす 。

SRTPの堎合、信頌性の高い呌び出し暗号化の必須条件はSIP \ TLS + SRTPの同時䜿甚であるこずが重芁です。 ZRTPにずっお重芁ではありたせんが、RTPストリヌムは、シグナリングが暗号化されおいるかどうかに関係なく、安党に暗号化されたす。 さらに、このプロトコルは、盎接話すクラむアント間の「䞭間者」サヌビスサヌバヌを含むの存圚を刀断できたす。 これにより、少なくずもネットワヌク/デヌタ䌝送メディアを聞くずいう芳点から、䌚話を聞くこずが䞍可胜であるこずを確認できたす。



さたざたな暗号化蚭定を持぀SIPクラむアントの接続スキヌム

Ppbbxx.comコヌル図








暗号化されたコヌルをセットアップするための次のスキヌムは区別できたす。



  1. 䞡方のナヌザヌがSIP \ TLSおよびSRTPを䜿甚したす。 この堎合、メディア暗号化のキヌ亀換は、安党なシグナリングプロトコルを介しお行われたす。 これは、接続に関係するサヌバヌぞの信頌を前提ずしおいたす。 郚倖者は、シグナリング情報たたは音声デヌタにアクセスできたせん。 欠点は、ナヌザヌがプロトコルクラむアントレベルで通知されず、2番目のナヌザヌもサヌバヌぞの暗号化された接続を䜿甚するこずを確信しおいないこずです。



  2. 䞡方のナヌザヌがZRTPを䜿甚し、音声がサヌバヌを通過したす。 この堎合、サヌバヌはZRTPプロトコルによっおTrusted MitM䞭間者ずしお定矩されたす。 キヌ亀換は、RTPプロトコルを䜿甚したDiffie-Hellman方匏盗聎の䞍可胜性を保蚌するに基づくアルゎリズムに埓っお行われたす。 この堎合にセキュアSIP \ TLSが䜿甚されるず、郚倖者はシグナリング情報たたは「音声」のいずれにもアクセスできなくなりたす。 最初のバヌゞョンず同様に、スむッチングサヌバヌぞの信頌が想定されおいたすが、それずは異なり、音声の信頌性のある暗号化には、セキュアなSIP \ TLSの䜿甚は必芁ありたせん 。 たた、最初のオプションずは異なり、各ナヌザヌは、䌚話が䞡偎からサヌバヌに暗号化されおいるこず、および䞡方が同じ信頌されたサヌバヌに接続されおいるこずを確認したす。



  3. 䞡方のナヌザヌがZRTPを䜿甚したすが、メディアはクラむアント間に盎接むンストヌルされたす。 キヌ亀換はクラむアント間で盎接行われるため、切り替えを実行したサヌバヌでさえ䌚話をリッスンできたせん。 この堎合、䞡方のクラむアントは、安党なダむレクトセッションが確立されたずいう情報を衚瀺したす。 SAS短い承認行をチェックするこずでこれを確認できたす-それらは同じです。 芋知らぬ人からシグナリング情報を隠したい堎合は、SIP \ TLSを䜿甚する必芁がありたす。 これは最も安党なオプションですが、この堎合、サヌバヌは他の状況で実行される倚くの機胜を実行できたせん。たずえば、䌚話を盎接録音したり、異なるオヌディオコヌデック蚭定を持぀クラむアントの音声をトランスコヌドしたりなどです。



  4. 1人のナヌザヌは䞊蚘の最初の方法を䜿甚し、もう1人は2番目の方法を䜿甚したす。 この堎合、サヌバヌぞの信頌も必芁です。 シグナリング情報は、SIP \ TLSを䜿甚しお暗号化されたす。 ZRTPを䜿甚しおいるナヌザヌの堎合、プロトコルはサヌバヌぞの暗号化された接続が確立されたこずを報告したすMitMで終了。 䞀方、暗号化がプロトコルレベルで䜿甚されるかどうかは䞍明です。




ここで理論を終了し、実践に移りたす 独自のSIPサヌバヌをセットアップし、SIPナヌザヌを䜜成し、SIPクラむアントをむンストヌルし、無料のクラりドテレフォニヌサヌビスppbbxx.comを䜿甚しお暗号化された呌び出しを行う方法を孊習したす。



サヌバヌのセットアップ



ppbbxx.comドメむンのセットアップ

たず、独自のサヌバヌを䜜成する必芁がありたす。 これを行うには、 ppbbxx.comサヌビスWebサむトにアクセスし、簡単な登録を行っお、蚭定むンタヌフェむスに入りたす。



たず、「 内郚ネットワヌク->ドメむン 」セクションに進み、SIPナヌザヌ名の遞択に制限されないように独自のドメむンを䜜成したす。 サヌビス゚リアの1぀でドメむンをパヌクするか、個人サブドメむンを䜜成できたす。

次に、「 内郚ネットワヌク-> SIP ナヌザヌ 」セクションで、SIPナヌザヌを䜜成し、クラむアントのパラメヌタヌを構成したす。 SIPナヌザヌ名は任意ですが、゜フトフォンやハヌドりェア電話で数字を入力する方が䟿利なので、1000 @ mydomain.ppbbxx.comなどの識別子を開始したす。 1000、1001、1002、1003を開始したした。SIP識別子を䜜成したら、[保存]ボタンをクリックするこずを忘れないでください。 蚭定むンタヌフェむスに未入力のフォヌムがない堎合、システムは誓玄せず、ステヌタスが「完了」の倉曎のログを衚瀺したす。



次に、䜿甚するコヌデックず暗号化方法を構成する必芁がありたす。 これを行うには、SIP識別子の巊偎にある歯車のアむコンをクリックしたす。 スマヌトフォンでSIPクラむアントCSipSimpleを䜿甚する予定で、ZRTP暗号化方匏を䜿甚するため、「 基本 」蚭定タブでG729およびSILKコヌデックを遞択し、「 保護 」タブでZRTP方匏を遞択したす。



ナヌザヌppbbxx.comのSIP蚭定

他のオプションを遞択できたす。 サヌビスむンタヌフェむスのSIPアカりントの蚭定は、SIPクラむアントの蚭定ず䞀臎する必芁があるこずに泚意しおください。 これは、異なるコヌデックず暗号化蚭定を持぀クラむアント間の正しい通信を確保するために必芁です。 たた、䜜成した構成を保存するこずを忘れないでください。



䞀般に、これは最も単玔な構成を構成するのに十分です。 番号1000、1001、1002、1003をダむダルするこずにより、SIPクラむアントを構成し、それらの間でコヌルできたす。必芁に応じお、電話ネットワヌクぞのコヌル甚の共通SIPゲヌトりェむを远加し、適切なコヌルルヌティングを構成できたす。 ただし、この堎合、これはすでにサヌビスを䜿甚するためのわずかに異なるスキヌムであり、ゲヌトりェむぞのトラフィックを暗号化するのずは異なる皮類のセキュリティ察策が必芁です。



では、SIPクラむアントのセットアップに移りたしょう。



先ほど蚀ったように、AndroidスマヌトフォンでCSipSimpleを䜿甚する予定です。 たず、暙準のPlay Marketを䜿甚しおクラむアントをむンストヌルするか、メヌカヌのりェブサむトにダりンロヌドする必芁がありたす。これにより、堎合によっおはほずんど神聖なクラむアントの゜ヌスが開きたす。 クラむアント自䜓ず、さらにコヌデックをむンストヌルする必芁がありたす。 「CSipSimple」、「CSipSimple甚コヌデックパック」、「CSipSimple甹G729コヌデック」をむンストヌルしたした。 埌者は有料であり、䜿甚する必芁はありたせん。無料のSILKずOPUSは、3Gネットワ​​ヌク䞊で適切な通話品質を提䟛したす。



CSipSimpleを実行し、構成むンタヌフェむスに移動したす。 「基本」りィザヌドを遞択し、Webむンタヌフェむスのデヌタを䜿甚しお構成したす。 次のようになりたす。

画像画像

さらに、「 メディア->オヌディオコヌデック」セクションの䞀般的なCSipSimple蚭定で、奜みのコヌデックを遞択する必芁がありたす。 3Gを介したコヌルの堎合、SILK、OPUS、iLBC、G729の䜿甚をお勧めしたす。 サヌバヌむンタヌフェヌスずクラむアントむンタヌフェヌスの蚭定は同じである必芁があり 、サヌバヌではSILKずG729を遞択したため、オヌディオコヌデックのCSipSimpleリストでこれらのコヌデックの反察偎のボックスのみをチェックし、残りを削陀したす。

クラむアントセクション「 ネットワヌク->セキュアプロトコル 」で、目的の暗号化蚭定を遞択する必芁がありたす。 ZRTPのみを有効にしたす。 残りはやめたす。 必芁に応じお、SIP \ TLSを䜿甚できたす-443番目のポヌトでサヌバヌがTLS接続を埅機しおいるこずを考慮する必芁がありたす。 これは、暙準のVoIPポヌトをブロックするあたりにも賢いモバむルオペレヌタヌ向けに特に行われたす。

SRTPずZRTPが垞に互換性があるわけではなく、クラむアントでどちらか1぀だけを遞択するこずが非垞に望たしいこずも芚えおおいおください。



ZRTPを䜿甚しお電話をかける



すべおの蚭定が完了したら、いく぀かの呌び出しを行っお、異なるセキュリティ蚭定を持぀ナヌザヌ間の呌び出しでCSipSimpleがどのように機胜するかを瀺したす。



呜什の実行盎埌、ナヌザヌ1001からナヌザヌ1000ぞのSIPコヌルは次のようになりたす。

CSipSimpleは、MitMサヌバヌが呌び出しに関䞎しおおり、䞡方のクラむアントが接続されおいるこずを瀺しおいたす。 パラメヌタヌEC25は、256ビットのパラメヌタヌを持぀楕円曲線でDiffie-Hellmanプロトコルが䜿甚されるこずを意味したす。 AES-256は、䜿甚される察称暗号化アルゎリズムです。 ZRTP-確認枈みステヌタスは、SAS制埡文字列がナヌザヌによっお確認されたこずを意味したす。




䞡方のクラむアントのppbbxx蚭定でメディア転送モヌドを倉曎したす。 ダむレクトメディア= yesに蚭定するず、音声を盎接送信できたす。 この堎合、圓事者は同じSAS行を参照し、Twofish-256察称暗号化アルゎリズムが䜿甚されたす。 このモヌドでZRTPを䜿甚するには、サヌバヌがデヌタ送信に関䞎しおいないため、クラむアントずのより高い互換性が必芁であり、通信を確立するずいう芳点からは信頌性が䜎くなりたす。 すべおのクラむアントで同じオヌディオコヌデックを䜿甚し、NATが正しく動䜜するようにしおください。




ナヌザヌ1001のSIPが暗号化されおおらず、1000がZRTPを䜿甚しおいる堎合、2番目のクラむアントは暗号化された音声送信がサヌバヌに察しおのみ発生するこずを瀺したすMitMで終了。

芁玄する



リスニングから完党に保護されたコミュニケヌションを敎理できたす。 これは難しくありたせん。 これを行うための最も適切な方法は、SIP IPテレフォニヌプロトコルずZRTPメディア暗号化方匏を䜿甚するこずです。 ppbbxx.comサヌビスを䜿甚するず、スむッチでの䌚話を埩号化する機胜がないなど、さたざたな通信保護された通信スキヌムを実行できたす 。 Sip Client CSipSimpleはオヌプン゜ヌスプロゞェクトであり、安党なクラむアントずしお䜿甚するための十分な機胜セットを備えおいたす。



All Articles