Enterprise Watch
バックナンバー

意外と大変? インターネット電話の盗聴対策

暗号化に伴う遅延をどう解決するか

 我々が、ビジネスや日常生活で利用する公衆網による電話におけるセキュリティ上の問題の一つとして盗聴がある。ストーカーの話題や某金融業者による事件などで話題になった。しかし実は、これから急速な普及が期待されるインターネット電話でもこの問題はさらに、いや公衆網の場合以上に深刻化することが予測される。これは、IP(Internet Protocol)を利用するがために、技術的にも、公衆網以上に盗聴しやすくなることが考えられるからである。そのための対策が暗号化だ。

 現在、代表的な暗号技術は、ブロック方式による暗号であるが、インターネット電話といったアプリケーションでは、リアルタイム性の重視と連続情報であるという観点からブロック暗号では力不足であり、ストリーム暗号が有望視されている。


盗聴のテクニック例

図1:IPネットワークにおける盗聴の危険性
 これまでの公衆網とインターネット電話における盗聴の仕方のおおまかな違いは、図1のとおりだ。図1上のように、たとえば東京─大阪間の公衆網環境で盗聴する場合は、公衆網そのものが基本的にはキャリア占有のものであり、盗聴装置をその占有内に取り付けることは現実的に不可能である。したがって、通話者宅近辺にしか取り付けられない。つまり先の例では事実上、東京なり大阪なりの通話者宅におもむき、そこに盗聴装置を取り付けることになる。このとき電波をとばせる盗聴装置であれば、通話者宅から多少離れた場所で盗聴することも可能となる。しかし盗聴可能な範囲は、東京か大阪のいずれかであり、限られているとみることができる。

 ところが、図1下のようにインターネット環境では、音声をパケット化して通話サービスを提供しており、このパケットをコピーする装置をネットワーク上、どこにでも設置可能なのである。たとえば東京と大阪の通話者どうしの間で、名古屋あたりにもし脆弱な地点があるとすれば、そこに設置されているルータのルーティング情報を書き換えるような手法により、そこから情報を抜き出して盗聴する者のところにもってくることも可能となってしまう。そして盗聴しながら何食わぬ顔で相手通話者のところへ戻すことも可能なのである。また、ミラーリングの技術を悪用すれば、遠隔地からでもコピーが可能である。さらにフリーソフトとしても、パケットをキャプチャしたり、パケットをストックさせてそこから音声のみを取り出して再生可能なものも出回っている。このようにインターネット電話は、場所にとらわれず、どこからでも盗聴が可能となることが考えられる。

 今までのVoIP技術を利用した電話は、内線に限られて利用されるケースが多かった。しかし、昨今050の番号がふられるようになり、にわかにインターネットの世界にでていくケースが増えてくるものと考えられるのである。そうなると、たとえば営業マンが外出先から、社内ネットワークにアクセスする機会も増大し、よけいに盗聴のチャンスは増えてこようというものだ。


ブロック暗号から擬似ストリーム暗号へ

図2:インターネット電話におけるシーケンスと役割り分担
 情報を盗み見られることを防ぐために、従来のインターネットにおけるデータ伝送の場合は、SSL(Secure Sockets Layer:Web環境におけるWebブラウザとサーバー間の暗号通信用セキュリティプロトコル)やIPsec(IP Security Protocol:IPレイヤで暗号化や認証を行うプロトコル)というプロトコルを用いていた。これらは暗号と認証を一元的に扱うことが可能であった。ところがインターネット電話の場合は、セッションを張る(通話のための通信路をまず確保する)ことと、その後実際に話すことは異なった経路で行われ、二つのプロトコルが介在しなければならない。すなわちサーバーを介してセッションを張るのが主にSIP(Session Initiation Protocol)のような呼制御用プロトコルであり、実際の通話ではRTP(Real-time Transport Protocol)による音声情報を格納したピア・トゥ・ピア通信である(図2)。ここで、SIPではRTP通信で用いる暗号および復号のための鍵交換と端末認証を行い、RTPでは音声データの暗号化と改竄の検知を行うことになる。

 ところで、盗聴対策である暗号化技術であるが、現在利用されているブロック暗号は、送り手側からの音声データをたとえば64ビットといったブロックに分割させて暗号化を行い、受け手側でもとの音声データに復号化してその内容を掌握するということになる。インターネット電話に利用しようとした場合、ここで一つの問題が生ずる。実はブロック暗号は、音声データをブロック単位でそのつどピックアップして暗号化させ復号化する動作を繰り返さなければならず、その分伝送遅延が増大してしまうのである。インターネット電話(もしくはIP電話)の品質の指標として、遅延量は規定されている。つまり暗号化を行うことにより、品質確保のためにいままで行われてきた遅延量低減の作業が水泡に帰する可能性が出てきたのである。そこで音声データを、ブロック暗号を用いてあらかじめ作成しておいた擬似ストリームによって高速に処理する手法が考案された。これにより純然たるブロック暗号化に比べて、処理は軽便になるというわけである。この擬似ストリームによる方法はIETF(Internet Engineering Task Force:インターネット技術標準化委員会)により標準化され、セキュアRTPという形でRFC3711として載った。


図3:暗号化に伴う遅延の増大
 このように、擬似ストリームによる暗号の方がブロック暗号よりも基本的には速度が速い技術となっている。図3でみてみよう。左側の電話機に到着した音声が相手に到着するために、暗号化を用いない場合であればα分遅れて相手に届く。この値が通信の品質を決める指標の一つとなっている。しかしブロック暗号を用いるとさらにβ分の遅れが加わり、α+βという大きな遅れになって相手に届くのである。この遅れは数十ミリ秒単位で遅れることになるという。したがって、ここでのβ分をせめてゼロに近づけるために、αに近い値ですませることが可能な擬似ストリーム暗号が望ましいということだ。


「C4」にみるストリーム暗号技術

 しかし、この擬似ストリーム暗号にはいくつかの問題点がある。音声データを格納するペイロードと呼ばれる部分を暗号化するには、そのペイロードと同じ長さの分だけ擬似ストリームをつくる必要があるが、ひとつのペイロードを暗号化するために作成される擬似ストリームは、同じ鍵とIV(初期ベクトル)から作られるため、ペイロードの長さが長くなれば暗号化に対する脆弱性は上がることになるのである。またペイロードの長さが暗号化に用いるブロック長の整数倍にならない場合は、ペイロードにゼロデータを付け足さなければならない。


図4:ブロック暗号による擬似ストリームとストリーム暗号
 そこで株式会社シーフォーテクノロジーでは、擬似ストリーム部分を、独自のC4暗号を使用してキーストリームを作成する技術を開発した(図4)。同社 営業本部 システム企画部の影浦正一氏は「C4は、暗号化と復号化に同じ鍵を用いる、いわゆる共通鍵による方法です。C4は、音声データの長さに合わせてキーストリームの長さを自由に決められますので上記のようなつじつま合わせは必要ありません。また、C4は非常に高速な暗号アルゴリズムですので遅延も少なくすることが可能です」という。このように、ブロック暗号から擬似ストリーム暗号という方法が考えられたが、その弱点をカバーする方法として、さらにC4という技術に影浦氏は自信を示す。

 また、C4では鍵長における有利性をみのがせない。ブロック暗号の場合は鍵長が固定であり、なかでも古い暗号であるDESでは56ビット、トリプルDESは168ビット、AESが128、192、256の3通りである。こうなると、基本的に鍵長は総当たりで調べていけばわかってしまうかもしれない。しかし「C4の大変大きな特徴でもありますが、鍵長が可変なのです」(影浦氏)。つまり、場合によっては奇数の長さを持つ暗号鍵を容易に使用可能なのである。しかも、仮に鍵長を大きくしても速度が落ちにくくなっている、という。一般的には共通鍵の場合、128ビットあるいは大きくても256ビットであるが、C4の場合、512ビットでも1024ビットでも速度は落ちずに問題ないとしている。「C4では、8ビットから無限大までの間で鍵長を設定でき、8000ビットまではほぼ速度は低下しません。現実的な動作として最大65536ビットまでが推奨値です」と影浦氏は太鼓判を押す。現在のCPU処理速度から考えるに、128ビットあれば10年ほどは大丈夫といわれているが、今後コンピュータの処理速度が高速化していくことを考えると、鍵長を長くできることは大きな魅力といえる。

 またC4エンジンは、プログラムそのものが軽量であるために、携帯電話や情報家電関係への組込みも容易であるなど、今後のニーズは期待できそうである。なお、ソフトフロントやオープンループなどのベンダから、C4をSRTPとして実装させるということが発表されている。これは近々開催されるNetWorld+Interop 2004 Tokyoでも公開される予定だ。またシーフォーテクノロジーでは、同社開発によるC4CustomエンジンにNIST((米)国立標準技術研究所)が認定したAESなど、複数の認定されたアルゴリズムを含む「FIPS 140-2」に準拠した製品「C4CS」を2004年初夏をめどにリリースする予定だ。同製品は現在、CMVP(Cryptographic Module Validation Program:暗号モジュール評価プログラム)の評価期間中である。


 ところで余談であるが、暗号解読のためのおもしろいエピソードとして、あのシャーロックホームズの「踊る人形」がある。この作品中、人形のポーズをアルファベットに対応させた暗号文が登場する。ホームズがこの暗号を解読するために用いた手法は、たとえば、アルファベットのうちもっともよく使われるものは“E”だということである。このため人形のポーズの内から一番多いポーズを見出し、それらを“E”とする。そして、そこから3文字分で切れていて3つ目にEをみつけだし、それが複数存在すると、この単語はきっと“THE”にちがいないと類推するという寸法である。それでTとHとEのポーズがわかると三つのポーズが意味するアルファベットがわかり、さらに考え方を広げてその他のアルファベットも類推していき、最終的に全体の暗号に隠された文章をつきとめられるというわけである。これは、暗号文の総量が増大するほど解読が容易になる、ということをイメージしやすい読み物としてお勧めしたい1冊である。



お問い合わせ先
  株式会社シーフォーテクノロジー
  営業本部 システム企画部 product@c4t.jp


( 真実井 宣崇 )
2004/05/28 00:00

Enterprise Watch ホームページ
Copyright (c) 2004 Impress Corporation All rights reserved.