(57)【特許請求の範囲】
【請求項１】
パケット通信網における発呼端末と着呼端末との間の経路にチャネル毎の呼接続を確立してパケット通信を行うパケット通信システムであって、
前記発呼端末における所定のアプリケーションの動作状況に応じて、前記経路に暗号化トンネルリンクを確立又は切断する暗号化トンネルリンク確立切断手段と、
前記暗号化トンネルリンクの確立又は切断に応じて、前記所定のアプリケーションに対応するチャネルの呼接続を対応して確立又は切断する呼接続確立切断手段と、
を含むことを特徴とするパケット通信システム。
【請求項２】
前記所定のアプリケーションの動作状況を表す指標が、前記所定のアプリケーションの起動又は終了であることを特徴とする請求項１記載のパケット通信システム。
【請求項３】
前記所定のアプリケーションの動作状況を表す指標が、前記発呼端末が送受信するパケットに含まれる前記所定のアプリケーションの起動又は終了に対応する情報であることを特徴とする請求項１記載のパケット通信システム。
【請求項４】
前記暗号化トンネルリンク確立切断手段が、前記発呼端末と前記着呼端末との間の経路のうちの前記発呼端末を収容する第１ルータと前記着呼端末を収容する第２ルータとの間に前記暗号化トンネルリンクを確立することを特徴とする請求項１記載のパケット通信システム。
【請求項５】
前記暗号化トンネルリンクは、前記第１ルータと前記第２ルータとの間で双方向に暗号化通信を可能とするトンネルリンクであることを特徴とする請求項１又は４記載のパケット通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット通信システムに関し、特に、パケット通信網における発呼端末と着呼端末との間に呼接続を確立してパケット通信を行うパケット通信システムに関する。
【０００２】
【従来の技術】
例えば、インターネットのようなパケット通信網は、不特定多数のユーザが間接的につながるオープンなネットワークであり、便利さの一方で、セキュリティ面は電話網などに比べ著しく低いレベルにある。インターネットの利用者は「盗聴」、「改竄」、「なりすまし」等の危険或いは脅威に曝されている。これらの危険或いは脅威から利用者を守る手段として、「通信データの暗号化」、「ユーザ認証」等の機密保全機能をWWWサービスやメールサービスなどのアプリケーションに付加する形態がある。 通信データの暗号化に含まれる１つの具体的な形態として、トンネリング技術がある。
【０００３】
「トンネリング」とは、一般に、あるプロトコルパケットAを別のプロトコルパケットBでカプセル化してプロトコルBでの通信を行なうことを意味する。従って、実際にトンネルが構築されるわけではなく、通信を外部から隠蔽することによってトンネルのような働きをさせることができる。更に、「暗号化トンネリング」とは、トンネル内で交換されるパケットに更に暗号化を施すことにより、通信内容の秘匿性をより高める技術を意味する。
【０００４】
かかる暗号化トンネリングの技術を用いれば、本来無接続を基本とするパケット通信ネットワークにおいて、端末−端末間にセキュリティの高い接続リンクをを実現する閉じた仮想的なネットワーク、即ちVPN（Virtual Private Network）を提供することが可能となる。この例としては、IPレイヤのトンネリング技術であるIPSec（IP Security）、NetscapeNavigator或いはInternetExplorerに実装されるTCPレイヤのトンネリング技術であるSSL（Secure Socket Layer）、及び電子メールに対するアプリケーションレイヤのトンネリング技術であるPGP（Pretty Good Privacy）などの各種のセキュリティプロトコルが挙げられる。
【０００５】
一方、通信アプリケーションには、電子メール、ホームページ閲覧、チャット、インターネット電話など様々な種類のアプリケーションが存在するが、近年、これらを組み合わせたマルチメディア通信アプリケーションをユーザが利用するケースが増えている。例えば、マルチメディア通信アプリケーションであるNetMeetingを利用すれば、音声による会話（つまりインターネット電話）を行いながら、画像を送り合ったり、1つの共有ホワイトボードに同時に書きこみを行ったり、通話中にファイルを転送したりすることができる。
【０００６】
ユーザがマルチメディア通信アプリケーションを利用することは、個別のアプリケーションが複数同時に利用されることである。そこで、このように、複数のアプリケーションを利用する場合に、VPNを利用するシステムを提供することが考えられる。ユーザがアプリケーション利用時に、VPNを使った通信を行う方法として、アプリケーションレベルのセキュリティプロトコルとして暗号化トンネリング技術がある。このような技術として、PGPやSETがある。PGPは、電子メールアプリケーション利用時の暗号化トンネリング技術（セキュリティプロトコル）である。SETは、エレクトリックコマースのトランザクション専用の暗号化トンネリング技術である。このように、アプリケーションレベルの暗号化トンネリング技術は、使用するアプリケーションに依存したものであり、マルチメディア通信アプリケーション利用時には、各アプリケーション毎に（異なる）暗号化トンネリング技術が必要になる。
【０００７】
しかし、マルチメディア通信アプリケーションでは、ユーザは常に同じであり、アプリケーションごとに、セキュリティプロトコルを利用することは、処理時間のオーバヘッドが大きく無駄である。特に、NetMeetingのようなリアルタイム系のアプリケーションには、オーバヘッドがユーザの利便性を損ねる要因になる。
【０００８】
一方、より低レイヤのトンネリング技術として、SSLやIPSecがある。
SSLは、TCPレイヤのトンネリング技術であり、すべてのTCPアプリケーションに利用できる。代表的なアプリケーションとして、WWWブラウザ（Netscape NavigatorやInternet Explorer）がある。しかし、インターネット電話のようなマルチメディア通信アプリケーションは、TCPと同じトランスポート層に位置するUDPのアプリケーションであるため利用できない。
【０００９】
一方、IPSecは、IPレイヤのトンネリング技術であり、すべてのアプリケーションに利用できる。しかし、IPレイヤレベルでトンネリングを行うため、マルチメディア通信アプリケーションの一部であるかどうかに関わらず、同じユーザ間で利用されるすべてのアプリケーションのデータパケットがトンネリングされる。トンネリング自体、処理のオーバヘッドを含んでおり、無用な場合は、トンネリング処理が冗長又は無駄になる。
【００１０】
【発明が解決しようとする課題】
そこで、本発明の目的は、多様なアプリケーションプログラムに対応する個々のチャネルの呼接続をセキュリティを確保しつつ最小限のオーバヘッドにて実現するパケット通信システムを提供することである。
【００１１】
【課題を解決するための手段】
本発明によるパケット通信システムは、パケット通信網における発呼端末と着呼端末との間の経路にチャネル毎の呼接続を確立してパケット通信を行うパケット通信システムであり、該発呼端末における所定のアプリケーションの動作状況に応じて、該経路に暗号化トンネルリンクを確立又は切断する暗号化トンネルリンク確立切断手段と、該暗号化トンネルリンクの確立又は切断に応じて、該所定のアプリケーションに対応するチャネルの呼接続を対応して確立又は切断する呼接続確立切断手段とを含むことを特徴とする。
【００１２】
ここで、チャネル毎の呼接続とは、基礎となる呼制御チャネルばかりでなく、多様なアプリケーションプログラムに依存した複数のチャネル、例えば、音声チャネル、テキストチャネル、或いは画像チャネルのリンクを形成することを指す。
【００１３】
【発明の実施の形態】
添付の図面を参照して本発明の実施例について詳細に説明する。
図１は、本発明の実施例であり、ルータ装置200a及び200bにより確立される秘話通信リンク、即ちトンネルリンクの概念を示している。発呼端末、即ち端末装置100aと、着呼端末、即ち端末装置100bとの間にこの確立されたトンネルリンクにより遮蔽された通信路に更に呼制御チャネル、音声チャネル及びテキストチャネルが確立され、マルチメディア通信が行われる。呼制御チャネル、音声チャネル及びテキストチャネルの各々は、端末装置100a及び100b、ルータ装置200a及び200bにおいてチャネルを識別するポート番号が図示されるように付される。
【００１４】
図２は、本実施例におけるパケット通信システムの構成を示している。該パケット通信システムは、インターネット300と、音声、画像、テキストの3種類のメディアをデータパケットとして送受信するマルチメディアアプリケーションが動作する端末装置100a及び100bと、これらを収容するルータ装置200a及び200bとを含む。本実施例は、説明の容易性から対向する２つの端末装置の例を示しているが、本発明によるパケット通信システムは、多数の端末装置及び多数のルータ装置の存在を想定している。
【００１５】
端末装置100a及び100bは、マルチメディアアプリケーションの通信相手端末となる端末装置を特定して端末間に呼を確立しアプリケーション終了時に呼を解放する呼制御部110と、音声通話のコネクションを確立し音声データパケットを送受信し通話終了時にコネクションを切断する音声通話部120と、画像通信のコネクション及びテキスト通信のコネクションを確立しテキストデータパケットを送受信し、通信終了時にコネクションを切断するテキスト通信部130と、端末装置の収容ルータ情報を含むルーティングテーブル140からなる。端末装置100a及び100bには、更にこれら各部及びIPプロトコルの実行制御を司るOS・TCP/IP101を含む。端末装置100a及び100bは、ルータ装置200a及び200bを介してインターネット300に接続される。
【００１６】
ルーティングテーブル140には、端末装置100a及び100bが接続されているルータ装置200a及び200bのIPアドレス（収容ルータ情報）が格納されている。本実施例では、端末装置100aの収容ルータはルータ装置200aであり、端末装置100bの収容ルータはルータ装置200bである。尚、本開示に記載のルーティングテーブルとは、一般のルータ装置におけるIPパケットのルーティングテーブルとは別異のものであり、本発明に特徴的なマルチメディアアプリケーション用のルーティングテーブルを意味する。
【００１７】
ルータ装置200a及び200bは、IPパケット化された各種データパケットのルーティングをIPレイヤで実現するIPパケットルーティング部210と、IPSecセキュリティプロトコルを利用して暗号化トンネルを確立し、また確立された暗号化トンネルを切断するトンネル制御部220と、暗号化トンネリングルートを介したIPパケットの暗号化又は復号化を行う暗号・復号処理部230とからなる。トンネル制御部220は、端末装置100a及び100bの呼制御部110からの指示により、暗号化トンネルを確立・切断する。ルータ装置200a及び200bには、更にこれら各部及びIPプロトコルの実行制御を司るOS・TCP/IP201を含む。
【００１８】
インターネット300は、IPプロトコルをベースとする世界的なつながりを持つネットワークの融合体であり、セキュリティのない、オープンなネットワークである。
本実施例のパケット通信システムはネットワークプロトコルとして、TCP/IPプロトコルを使用することから、端末、ルータ等のネットワークノードにはアドレスが付与される。即ち、端末装置100aにはプライベートアドレス192.168.0.2が付与され、ルータ装置200aの端末装置側にはプライベートアドレス192.168.0.1が付与され、更にルータ装置200aのインターネット側にはグローバルアドレス172.16.153.1が付与される。一方、端末装置100bにはプライベートアドレス192.168.1.2が付与され、ルータ装置200bの端末装置側にはプライベートアドレス192.168.1.1が付与され、更にルータ装置200bのインターネット側にはグローバルアドレス172.31.184.1が付与されている。端末装置100a及び100bのルーティングテーブル140中の収容ルータ情報には以上の値が設定される。
【００１９】
尚、本実施例において示されるIPアドレスは規格上では全てプライベートアドレスに指定されるべき値が用いられているが、本来のグローバルアドレスは実在のサイトを指定して適切でないことからその使用は避けている。
又、TCP/IPレイヤとの間でインタフェースをなしてサービスを提供するアプリケーションプログラムは、かかるサービスを区別するためにポート番号により識別される。ここでは、呼制御部は1721、音声通信部1722、テキスト通信部1723、及びルータアプリケーションは500としている。
【００２０】
図３は、本実施例におけるパケット通信システムの処理手順を示している。
本実施例は、発呼端末が呼制御チャネル、音声チャネル及びテキストチャネルの確立に先立って暗号化トンネルリンクの必要性を意識してその確立を行う。一方、発呼端末からの要求を契機として着呼端末も呼制御チャネル、音声チャネル及びテキストチャネルの確立に先立って暗号化トンネルリンクの確立を意識的に行う。そのため発呼端末及び着呼端末は、トンネルリンク確立に必要なルーティング情報を自身の端末内部に持つ形態である。
【００２１】
先ず、呼制御チャネルの確立を行う。ユーザは、発呼端末、即ち端末装置100a上のマルチメディアアプリケーションを起動し、アプリケーションで着呼端末、即ち、端末装置100bのIPアドレス（192.168.1.2）を指定して、発呼を指示する（ステップ401）。端末装置100aの呼制御部110は、端末装置100bまでIPパケットを安全に伝送するための暗号化トンネルがまだないことを判断して，ルータ装置200aからルータ装置200bに至る暗号化トンネルの確立の手順を実行する。
【００２２】
端末装置100aの呼制御部110は、ルーティングテーブル140の収容ルータ情報から、指示すべきルータ装置200aのIPアドレス（192.168.0.1）を求め、ルータ装置200aにトンネルの確立を指示する。このとき、ルーティングテーブル140から、自ルータアドレスとしてルータ装置200aのグローバルアドレス（172.16.153.1）とプライベートアドレス（192.168.0.1）、相手先ルータアドレスとして、ルータ装置200bのグローバルアドレス（172.31.184.1）とプライベートアドレス（192.168.1.1）を合わせて求め、これらのアドレスをトンネル確立指示のパラメータ情報として与える（ステップ402）。ルータ装置200aのトンネル制御部220は、パラメータ情報として得たIPアドレスを使って、ルータ装置200bとの間に、端末装置100aから端末装置100bへのIPパケットを安全に運ぶための暗号化トンネルを確立する（ステップ403）。確立の方法は、RFC1825乃至1828で規定されている通りである。トンネル制御部220は、トンネル確立の確認を応答として端末装置100aに返す（ステップ404）。
【００２３】
応答を受け取った端末装置100aの呼制御部110は、ユーザに指定されたIPアドレス（192.168.0.2）と端末装置100aの呼制御部110が呼制御コマンドを受け付けるポート番号（1721）を指定して、相手端末装置100bに向かって、呼設定のコマンドを送信する（ステップ405）。呼設定のコマンドには、端末装置100aの呼制御部110が呼制御コマンドを受け付けるポート番号（1721）を受信ポート番号として指定する。
【００２４】
このとき、ルータ装置200aは、このコマンドを運ぶIPパケットを先に確立した暗号化トンネルを経由して、ルータ装置200bに配信する。つまり、暗号・復号処理部230は、受け取ったIPパケットを暗号化し、新たなIPパケットにカプセル化する。そして新たな宛先をルータ装置200b（IPアドレス:172.31.184.1、ポート番号:500として送り元をルータ装置200a（IPアドレス:172.16.153.1、ポート番号:500）とする。そして、IPパケットルーティング部210が、ルータ装置200bにIPパケットを送信する（ステップ406）。ルータ装置200bの暗号・復号処理部230は、受け取ったIPパケットの内容を復号化し、端末装置100aの呼制御部110が送ったコマンドを取り出し、IPパケットルーティング部210が、端末装置100bへパケットを送信する（ステップ407）。
【００２５】
端末装置100bの呼制御部110は、端末装置100aまでIPパケットを安全に伝送するための暗号化トンネルがまだないことを判断して、ルータ装置200bからルータ装置200aに至る暗号化トンネルの確立の手順を実行する。
端末装置100bの呼制御部110は、端末措置100bのルーティングテーブル140の収容ルータ情報から、指示すべきルータ装置200bのIPアドレス（192.168.1.1）を求め、ルータ装置200aにトンネルの確立を指示する。このとき、ルーティングテーブル140から、自ルータアドレスとしてルータ装置200bのグローバルアドレス（172.31.184.1）とプライベートアドレス（192.168.1.1）、相手先ルータアドレスとして、ルータ装置200aのグローバルアドレス（172.16.153.1）とプライベートアドレス（192.168.0.1）を合わせて求め、これらのアドレスをトンネル確立指示のバラメータ情報として与える（ステップ408）。ルータ装置200bのトンネル制御部220は、パラメータ情報として得たIPアドレスを使って、ルータ装置200aとの間に、端末装置100bから端末装置100aへのIPパケットを安全に運ぶための暗号化トンネルを確立する（ステップ409）。確立の方法は、RFC1825乃至1828で規定されている通りである。トンネル制御部220は、トンネル確立の確認を応答として端末装置100bに返す（ステップ410）。これによって、端末装置100aと端末装置100b間に双方向の暗号化トンネルが確立する（ステップ411）。以降、両者の間のIPパケットはすべて、この暗号化トンネルを通る。つまり、IPパケットは、ルータ装置間では暗号化されて運ばれる。
【００２６】
暗号化トンネルが確立した後、端末装置100bの呼制御部110は、呼制御コマンドを受け付けるポート番号を特定し（1721）、受信ポート番号としてこの値を指定した接続応答を返す。応答は、端末装置100aを宛先（IPアドレス:192.168.0.2、ポート番号:1721）として、IPパケットを送信する（ステップ412）。IPパケットは、ルータ装置200bの暗号・復号処理部230によって暗号化・カプセル化される。新たな宛先はルータ装置200a（IPアドレス:172.16.153.1、ポート番号:500）、送り元はルータ装置200b（IPアドレス:172.31.184.1、ポート番号:500）となり、IPパケットルーティング部210は、ルータ装置200aにIPパケットを送信する（ステップ413）。暗号化トンネルを経由して、ルータ装置200aに伝わり、ルータ装置200aの暗号・復号処理部230によって復号化され、IPパケットルーティング部210によって、端末装置100aへとルーティングされる（ステップ414）。以上の動作を経て、インターネットを暗号化トンネルでトンネリングする呼制御のチャネル（IPアドレス:192.168.0.1、ポート番号:1721←→IPアドレス:192.168.1.1、ポート番号:1721）が確立する（ステップ415）。以降、アプリケーションのコネクションの接続・切断の指示コマンドや応答のやり取りは、すべてこのチャネルを使用する。
【００２７】
次に、音声チャネル確立を行う。ユーザは、端末装置100a上のマルチメディアアプリケーションで、現在の通信相手である端末装置100b（192.168.1.2）との間で、音声による通話を行うことを指定する（ステップ421）。端末装置100aの音声通話部120は、相手端末装置100bを宛先（IPアドレス:192.168.1.2、ポート番号:1721）として、音声チャネル設定のコマンドを送信する（ステップ422）。音声チャネル設定のコマンドには、端末装置100aの音声通話部120が音声データパケットを受け付けるポート番号（1722）を受信ポート番号として指定する。
【００２８】
ルータ装置200aは、呼制御チャネル確立の場合と同様にIPパケットを暗号化、カプセル化して、ルータ装置200bに送る（ステップ423）。ルータ装置200bは、受け取ったIPパケットの内容を取りだし、復号化した後、端末装置100bにルーティングする（ステップ424）。
端末装置100bの音声通話部120は、音声データパケットを受信するためのポート番号を特定し（1722）、受信ポート番号としてこの値を指定した音声チャネル接続の応答を返すため、相手端末装置100aを宛先（IPアドレス:192.168.0.2、ポート番号:1721）として、IPパケットを送信する（ステップ425）。IPパケットは、呼制御チャネル確立の場合と同様にルータ装置200bで暗号化、カプセル化され、ルータ装置200aに伝わる（ステップ426）。そして、ルータ装置200aによって復号化され、端末装置100aへとルーティングされる（ステップ427）。
【００２９】
以上の動作を経て、インターネットを暗号化トンネルでトンネリングする音声チャネル（IPアドレス:192.168.0.1、ポート番号:1722←→IPアドレス:192.168.1.1、ポート番号:1722）が確立する（ステップ428）。以降、アプリケーションの音声データパケットは、すべてこのチャネルを使用する。
次に、テキストチャネル確立を行う。ユーザは、端末装置100a上のマルチメディアアプリケーションで、現在の通信相手である端末装置100b（192.168.1.2）との間で、テキストによる通話いわゆるチャットを行うことを指定する（ステップ431）。端末装置100aのテキスト通信部130は、相手端末装置100bを宛先（IPアドレス:192.168.1.2、ポート番号:1721）として、テキストチャネル設定のコマンドを送信する（ステップ432）。テキストチャネル設定のコマンドには、端末装置100aのテキスト通信部130がテキストデータパケットを受け付けるポート番号（1723）を受信ポート番号として指定する。
【００３０】
ルータ装置200aの暗号・復号処理部230は、音声チャネル確立の場合と同様にIPパケットを暗号化、カプセル化して、ルータ装置200bに送る（ステップ433）。ルータ装置200bは、受け取ったIPパケットの内容を取りだし、復号化した後、端末装置100bにルーティングする（ステップ434）。
端末装置100bのテキスト通信部130は、テキストデータパケットを受信するためのポート番号を特定し（1723）、受信ポート番号としてこの値を指定したテキストチャネル接続の応答を返すため、相手端末装置100aを宛先（IPアドレス:192.168.0.2、ポート番号:1721）として、IPパケットを送信する（ステップ435）。IPパケットは、音声チャネル確立の場合と同様にルータ装置200bで暗号化、カプセル化され、ルータ装置200aに伝わる（ステップ436）。そして、ルータ装置200aによって復号化され、端末装置100aへとルーティングされる（ステップ437）。
【００３１】
以上の動作を経て、インターネットを暗号化トンネルでトンネリングするテキストチャネル（IPアドレス:192.168.0.1、ポート番号:1723←→IPアドレス:192.168.1.1、ポート番号:1723）が確立する（ステップ438）。以降、アプリケーションのテキストデータパケットは、すべてこのチャネルを使用する。
図４は、本実施例における暗号化トンネルを切断、即ち開放する処理手順を示している。
【００３２】
先ず、テキストチャネルを解放する。端末装置100aと端末装置100bの間で、ユーザがマルチメディアアプリケーションを利用している状況で、暗号化トンネル、呼制御チャネル、音声チャネル、テキストチャネルが確立されている状態にあるものとする。
ユーザは、端末装置100a上のマルチメディアアプリケーションで、相手端末装置100b（192.168.1.2）のマルチメディアアプリケーションとの通信を終了するために、切断を指示する（ステップ501）。このとき、端末装置100aのテキスト通信部130は、テキストチャネルが確立されている状態にあることを判断して、テキストチャネル解放の手順を実行する。
【００３３】
端末装置100aのテキスト通信部130は、相手端末装置100bを宛先（IPアドレス:192.168.1.2、ポート番号:1721）として、テキストチャネル解放のコマンドを送信する（ステップ502）。テキストチャネル解放のコマンドには、端末装置100aのテキスト通信部130がテキストデータパケットを受け付けていたポート番号（1723）を受信ポート番号として指定する。
【００３４】
ルータ装置200aは、IPパケットを暗号化、カプセル化して、ルータ装置200bに送る（ステップ503）。ルータ装置200bは、受け取ったIPパケットの内容を取りだし、復号化した後、端末装置100bにルーティングする（ステップ504）。
端末装置100bのテキスト通信部130は、端末装置100aのテキスト通信部130がテキストデータパケットを受け付けていたポート番号へのデータパケット送信を停止し、受信ポート番号として端末装置100bのテキスト通信部130がテキストデータパケットを受け付けていたポート番号（1723）を指定したテキストチャネル切断の応答を返すため、相手端末装置100aを宛先（IPアドレス:192.168.0.2、ポート番号:1721）として、IPパケットを送信する（ステップ505）。IPパケットは、ルータ装置200bで暗号化、カプセル化され、ルータ装置200aに伝わる（ステップ506）。そして、ルータ装置200aによって復号化され、端末装置100aへとルーティングされる（ステップ507）。端末装置100aのテキスト通信部130は、端末装置100bのテキスト通信部130がテキストデータパケットを受け付けていたポート番号へのデータパケット送信を停止する。以上の動作を経て、テキストチャネル（IPアドレス:192.168.0.1、ポート番号:1723←→IPアドレス:192.168.1.1、ポート番号:1723）が解放される（ステップ508）。
【００３５】
次に、音声チャネルを解放する。端末装置100aの音声通話部120は、音声チャネルが確立されている状態にあることを判断して、音声チャネル解放の手順を実行する。
端末装置100aの音声通話部120は、相手端末装置100bを宛先（IPアドレス:192.168.1.2、ポート番号:1721）として、音声チャネル解放のコマンドを送信する（ステップ511）。音声チャネル解放のコマンドには、端末装置100aの音声通話部120が音声データパケットを受け付けていたポート番号（1722）を受信ポート番号として指定する。
【００３６】
ルータ装置200aは、IPパケットを暗号化、カプセル化して、ルータ装置200bに送る（ステップ512）。ルータ装置200bは、受け取ったIPパケットの内容を取りだし、復号化した後、端末装置100bにルーティングする（ステップ513）。
端末装置100bの音声通話部120は、端末装置100aの音声通話部120が音声データパケットを受け付けていたポート番号へのデータパケット送信を停止し、受信ポート番号として端末装置100bの音声通話部120が音声データパケットを受け付けていたポート番号（1722）を指定した音声チャネル切断の応答を返すため、相手端末装置100aを宛先（IPアドレス:192.168.0.2、ポート番号:1721）として、IPパケットを送信する（ステップ514）。IPパケットは、ルータ装置200bで暗号化、カプセル化され、ルータ装置200aに伝わる（ステップ515）。そして、ルータ装置200aによって復号化され、端末装置100aへとルーティングされる（ステップ516）。端末装置100aの音声通話部120は、端末装置100bの音声通話部120が音声データパケットを受け付けていたポート番号へのデータパケット送信を停止する。以上の動作を経て、音声チャネル（IPアドレス:192.168.0.1、ポート番号:1722←→IPアドレス:192.168.1.1、ポート番号:1722）が解放される（ステップ517）。
【００３７】
次に、呼制御チャネルを解放する。音声チャネル、テキストチャネルを解放した後、端末装置100aの呼制御部110は、相手端末装置100bを宛先（IPアドレス:192.168.1.2、ポート番号:1721）として、解放完了のコマンドを送信する（ステップ521）。解放完了のコマンドには、端末装置100aの呼制御部110が呼制御コマンドを受け付けていたポート番号（1721）を受信ポート番号として指定する。また、端末装置100bの呼制御部110が呼制御パケット（コマンドまたは応答）を受け付けていたポート番号（1721）への呼制御パケットの送信を停止する。
【００３８】
ルータ装置200aは、IPパケットを暗号化、カプセル化して、ルータ装置200bに送る（ステップ522）。ルータ装置200bは、受け取ったIPパケットの内容を取りだし、復号化した後、端末装置100bにルーティングする（ステップ523）。
また、ステップ522終了後、ステップ523と並行して、暗号化トンネル切断の手順が実行される。即ち、ルータ装置200aのトンネル制御部220は、端末装置100aから端末装置100bへのIPパケットを安全に運ぶための暗号化トンネルを切断する（ステップ525）。切断の方法は、RFC1825乃至1828で規定されている通り。そして、トンネル制御部220は、ルータ装置200bに逆方向の暗号化トンネルを確立するように指示するコマンドを送る（ステップ526）。ルータ装置200bのトンネル制御部220は、このコマンドを受けると、端末装置100bから端末装置100aへのIPパケットを安全に運ぶための暗号化トンネルを切断する（ステップ527）。ルータ装置200bのトンネル制御部220は、切断を確認するための応答をルータ装置200aに返す（ステップ528）。これによって、端末装置100aと端末装置100b間にあった双方向の暗号化トンネルが切断される（ステップ529）。
【００３９】
本実施例によれば、端末装置100a及び100b間のマルチメディアアプリケーション利用時に、中継するルータ装置間で自動的に暗号化トンネルを確立することで、セキュリティのないオープンなネットワークであるインターネット300を介しても、呼制御コマンドと応答のデータパケット、音声データパケット、テキストデータパケットを安全に運ぶことができる。
【００４０】
また、所定のマルチメディアアプリケーション利用時にのみ暗号化トンネルが確立されることから、暗号化が不要なアプリケーションの利用や他のトンネリング技術（セキュリティプロトコル）を使ったアプリケーションの利用と両立することができる。つまり、ユーザは、使用するアプリケーション毎に、利用したいトンネリング技術（セキュリティプロトコル）を使用しないことを含めて選択することができ、利用の幅が広がる。
【００４１】
図５は、本発明の第１変形例における処理手順を示しているシーケンス図である。本第１変形例は、先の実施例（図２参照）と同様の構成において異なる処理手順において暗号化トンネルの確立を行う。即ち、発呼端末が呼制御チャネル、音声チャネル及びテキストチャネルの確立に先立って暗号化トンネルリンクの確立を指示すると共に、着呼端末を収容するルータ装置をして逆方向の暗号化トンネルリンクの確立せしめる。このため、着呼端末側のルーティング情報の参照を行わない形態である。
【００４２】
図５を参照すると、先ず、呼制御チャネルの確立を行う。ユーザは、端末装置100a上のマルチメディアアプリケーションを起動し、アプリケーションで相手端末装置100bのIPアドレス（192.168.1.2）を指定して、発呼を指示する（ステップ501）。端末装置100aの呼制御部110は、端末装置100bまでIPパケットを安全に伝送するための暗号化トンネルがまだないことを判断して、ルータ装置200aからルータ装置200bに至る暗号化トンネルの確立の手順を実行する。
【００４３】
端末装置100aの呼制御部110は、ルーティングテーブル140の収容ルータ情報から、指示すべきルータ装置200aのIPアドレス（192.168.0.1）を求め、ルータ装置200aにトンネルの確立を指示する。このとき、ルーティングテーブル140から、自ルータアドレスとしてルータ装置200aのグローバルアドレス（172.16.153.1）とプライベートアドレス（192.168.0.1）、相手先ルータアドレスとして、ルータ装置200bのグローバルアドレス（172.31.184.1）とプライベートアドレス（192.168.1.1）を合わせて求め、これらのアドレスをトンネル確立指示のパラメータ情報として与える（ステップ502）。ルータ装置200aのトンネル制御部220は、パラメータ情報として得たIPアドレスを使って、ルータ装置200bとの間に、端末装置100aから端末装置100bへのIPパケットを安全に運ぶための暗号化トンネルを確立する（ステップ503）。確立方法は、RFC1825乃至1828で規定されている通り。
【００４４】
続いて、ルータ装置200aのトンネル制御部220はルータ装置200bに暗号化トンネルの確立を指示する。このとき、自ルータアドレスとしてルータ装置200bのグローバルアドレス（172.31.184.1）とプライベートアドレス（192.168.1.1）、相手先ルータアドレスとして、ルータ装置200aのグローバルアドレス（172.16.153.1）とプライベートアドレス（192.168.0.1）をトンネル確立指示のパラメータ情報として与える（ステップ504）。ルータ装置200bのトンネル制御部220は、パラメータ情報として得たIPアドレスを使って、ルータ装置200aとの間に、端末装置100bから端末装置100aへのIPパケットを安全に運ぶための暗号化トンネルを確立する（ステップ505）。
【００４５】
そして、ルータ装置200bのトンネル制御部220は、トンネル確立の確認を応答としてルータ装置200aに返す（ステップ506）。また、ルータ装置200aのトンネル制御部220は、トンネル確立の確認を応答として端末装置100aに返す（ステップ507）。これによって、端末装置100aと端末装置100b間に双方向の暗号化トンネルが確立する（ステップ508）。以降、両者の間のIPパケットはすべて、この暗号化トンネルを通る。つまり、IPパケットは、ルータ装置間では暗号化されて運ばれる。
【００４６】
応答を受け取った端末装置100aの呼制御部110は、ユーザに指定されたIPアドレス（192.168.0.1）と端末装置100aの呼制御部110が呼制御コマンドを受け付けるポート番号（1720）を指定して、相手端末装置100bに向かって、呼設定のコマンドを送信する（ステップ509）。呼設定のコマンドには、端末装置100aの呼制御部110が呼制御コマンドを受け付けるポート番号（1721）を受信ポート番号として指定する。
【００４７】
ルータ装置200aは、IPパケットを暗号化、カプセル化して、ルータ装置200bに送る（ステップ510）。ルータ装置200bは、受け取ったIPパケットの内容を取りだし、復号化した後、端末装置100bにルーティングする（ステップ511）。
端末装置100bの呼制御部110は、呼制御コマンドを受け付けるポート番号を特定し（1721）、受信ポート番号としてこの値を指定した接続応答を返す。応答は、端末装置100aを宛先（IPアドレス:192.168.0.2、ポート番号:1721）として、IPパケットを送信する（ステップ512）。IPパケットは、ルータ装置200bによって暗号化、カプセル化され、ルータ装置200aに送られる（ステップ513）。暗号化トンネルを経由して、ルータ装置200aに伝わり、ルータ装置200bは、受け取ったIPパケットの内容を取りだし、復号化した後、端末装置100aにルーティングする（ステップ514）。以上の動作を経て、インターネットを暗号化トンネルでトンネリングする呼制御のチャネル（IPアドレス:192.168.0.1、ポート番号:1721←→IPアドレス:192.168.1.1、ポート番号:1721）が確立する（ステップ515）。
【００４８】
第１変形例における暗号化トンネルの開放手順は先の実施例と同様である。
以上ように第１変形例によれば、先の実施例と比べて、端末装置100bのルーティングテーブルを参照することなく暗号化トンネルを確立することができる。また、双方向のトンネルが一元的に確立されるため、処理のオーバヘッドを削減することが期待できる。
【００４９】
図６は、本発明の第２変形例におけるパケット通信システムの構成を示している。ここで、ルーティングテーブル240を除いた他の構成は前述の実施例と同様である。
ルーティングテーブル240は、収容ルータ情報として端末装置100a及び100bが接続されているルータ装置200a及び200bのIPアドレスが格納される。本実施例では、端末装置100aの収容ルータはルータ装置200aであり、端末装置100bの収容ルータはルータ装置200bである。
【００５０】
図７は、本第２変形例における処理手順を示している。本変形例の処理手順の形態では、着呼端末は暗号化トンネルリンクの確立を意識しない。着呼端末が呼制御チャネル、音声チャネル及びテキストチャネルの確立を意図する呼設定の要求を発することにより、当該着呼端末を収容するルータ装置が自律的に暗号化トンネルリンクの確立を行う。このため、ルータ装置自身がルーティングテーブルを有する。呼制御チャネル確立以降の手順は前述の実施例と同様である。
【００５１】
先ず、呼制御チャネルを確立する。ユーザは、端末装置100a上のマルチメディアアプリケーションを起動し、アプリケーションで相手端末装置100bのIPアドレス（192.168.1.2）を指定して、発呼を指示する（ステップ601）。端末装置100a上の呼制御部110は、相手端末装置100bを宛先（IPアドレス:192.168.1.2、ポート番号:1720）として、呼設定のコマンドを送信する（ステップ602）。呼設定のコマンドには、端末装置100aの呼制御部110が呼制御コマンドを受け付けるポート番号（1721）を受信ポート番号として指定する。
【００５２】
ここで、ルータ装置200aのIPパケットルーティング部210は、このコマンドを運ぶIPパケットをルータ装置200bに配信するが、その前に、端末装置100bまでIPパケットを安全に伝送するための暗号化トンネルがまだないことを判断して、ルータ装置200bからルータ装置200bに至る暗号化トンネルの確立の手順を実行する。
【００５３】
ルータ装置200aのトンネル制御部220は、ルーティングテーブル240から、自ルータアドレスとしてルータ装置200aのグローバルアドレス（172.16.153.1）とプライベートアドレス（192.168.0.1）、相手先ルータアドレスとして、ルータ装置200bのグローバルアドレス（172.31.184.1）とプライベートアドレス（192.168.1.1）を求める。トンネル制御部220は、これらのIPアドレスを使って、ルータ装置200bとの間に、端末装置100aから端末装置100bへのIPパケットを安全に運ぶための暗号化トンネルを確立する（ステップ603）。確立方法は、RFC1825乃至1828で規定されている通りである。
【００５４】
暗号化トンネルが確立した後、ステップ602の呼設定コマンドのIPパケットは、先に確立した暗号化トンネルを経由して、ルータ装置200bに配信する。つまり、暗号・復号処理部230は、受け取ったIPパケットを暗号化し、新たなIPパケットにカプセル化する。そして新たな宛先をルータ装置200b（IPアドレス:172.31.184.1、ポート番号:500）、送り元をルータ装置200a（IPアドレス:172.16.153.1、ポート番号:500）とする。そして、IPパケットルーティング部210がルータ装置200bにIPパケットを送信する（ステップ604）。
【００５５】
ここで、ルータ装置200bのIPパケットルーティング部210は、このコマンドを運ぶIPパケットをルータ装置200aに配信するが、その前に、端末装置100aまでIPパケットを安全に伝送するための暗号化トンネルがまだないことを判断して、ルータ装置200bからルータ装置200aに至る暗号化トンネルの確立の手順を実行する。
【００５６】
ルータ装置200bのトンネル制御部220は、ルータ装置200bのルーティングテーブル240から、自ルータアドレスとしてルータ装置200bのグローバルアドレス（172.31.184.1）とプライベートアドレス（192.168.1.1）、相手先ルータアドレスとして、ルータ装置200aのグローバルアドレス（172.16.153.1）とプライベートアドレス（192.168.0.1）を求める。トンネル制御部220は、これらのIPアドレスを使って、ルータ装置200aとの間に、端末装置100bから端末装置100aへのIPパケットを安全に運ぶための暗号化トンネルを確立する（ステップ605）。
【００５７】
これによって、端末装置100aと端末装置100b間に双方向の暗号化トンネルが確立する（ステップ606）。以降、両者の間のIPパケットはすべて、この暗号化トンネルを通る。つまり、IPパケットは、ルータ装置間では暗号化されて運ばれる。
暗号化トンネルが確立した後、ステップ604の呼設定コマンドのIPパケットは、ルータ装置200bの暗号・復号処理部230によって復号化され、IPパケットルーティング部210によって、最終的な宛先である端末装置100bへとルーティングされる（ステップ607）。
【００５８】
端末装置100bの呼制御部110は、呼制御コマンドを受け付けるポート番号を特定し（1721）、受信ポート番号としてこの値を指定した接続応答を返す。応答は、端末装置100aを宛先（IPアドレス:192.168.0.2、ポート番号:1721）として、IPパケットを送信する（ステップ608）。IPパケットは、ルータ装置200bの暗号・復号処理部230によって暗号化・カプセル化される。新たな宛先はルータ装置200a（IPアドレス:172.16.153.1、ポート番号:500）、送り元はルータ装置200b（IPアドレス:172.31.184.1、ポート番号:500）となり、IPパケットルーティング部210は、ルータ装置200aにIPパケットを送信する（ステップ609）。暗号化トンネルを経由して、ルータ装置200aに伝わり、ルータ装置200aの暗号・復号処理部230によって復号化され、IPパケットルーティング部210によって、端末装置100aへとルーティングされる（ステップ610）。
【００５９】
以上の動作を経て、インターネットを暗号化トンネルでトンネリングする呼制御のチャネル（IPアドレス:192.168.0.1、ポート番号:1721←→IPアドレス:192.168.1.1、ポート番号:1721）が確立する（ステップ611）。以降、アプリケーションのコネクションの接続・切断の指示コマンドや応答のやり取りは、すべてこのチャネルを使用する。
【００６０】
暗号化トンネルの開放は先の実施例と同様である。
以上のように、本第２変形例によれば、ルータ装置が自律的かつ自動的に暗号化トンネルを確立することができる。よって、端末装置100a及び100bのマルチメディアアプリケーションに変更を加えることなく、データパケットを安全に運ぶことができる。
【００６１】
尚、本実施例及び第１及び第２変形例は、ネットワークとしてインターネットを利用した場合について記述しているが、本発明は、ネットワークとして、インターネットの技術を特定企業内のネットワークに適用したイントラネットにおいても同様に適用可能である。本発明は、又、企業内の閉じたネットワークにおいて高セキュリティを要する情報を扱う場合にも適用可能である。
【００６２】
【発明の効果】
本発明によるパケット通信システムにより、アプリケーションの起動或いは命令に即応して動的に確立又は開放される暗号化トンネルリンクが形成され、パケットのセキュリティを確保しつつ低減化されたオーバヘッドにてパケット通信が可能となる。更に、この暗号化トンネルリンクを介して、セキュリティを要するマルチメディア通信アプリケーションの多様な呼接続チャネルを形成することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施例における概念的な構成を示している図である。
【図２】実施例のパケット通信システムの構成を示しているブロック図である。
【図３】実施例における暗号化トンネルリンク確立の動作手順を示しているシーケンス図である。
【図４】実施例における暗号化トンネルリンク削除の動作手順を示しているシーケンス図である。
【図５】本発明の第１変形例における暗号化トンネルリンク確立の動作手順を示しているシーケンス図である。
【図６】本発明の第２変形例におけるパケット通信システムの構成を示しているブロック図である。
【図７】第２変形例における暗号化トンネルリンク確立の動作手順を示しているシーケンス図である。
【符号の説明】
100  端末装置
101、201  OS・TCP/IP
110  呼制御部
120  音声通話部
130  テキスト通信部
140、240  ルーティングテーブル
200  ルータ装置
210  IPパケットルーティング部
220  トンネル制御部
230  暗号・復号処理部
【図１】
0004356262.tif 000002
【図２】
0004356262.tif 000003
【図３】
0004356262.tif 000004
【図４】
0004356262.tif 000005
【図５】
0004356262.tif 000006
【図６】
0004356262.tif 000007
【図７】
0004356262.tif 000008