(57)【特許請求の範囲】
【請求項１】
端末と、前記端末が行うＰ２Ｐ通信を中継する中継装置とネットワークを介して接続され、前記端末が行う通信を制御する通信制御装置であって、
前記端末に許可される通信先を含む通信先情報を記憶する記憶手段と、
前記端末から、前記端末が前記Ｐ２Ｐ通信を開始する際に送信するシグナリング信号を受信する受信手段と、
前記通信先情報と前記シグナリング信号とに基づいて、前記Ｐ２Ｐ通信を許可するか否かを制御する制御手段と、
を有する通信制御装置。
【請求項２】
前記通信先情報は、前記端末に許可される通信先のアドレス情報又は前記中継装置のアドレス情報を含み、
前記制御手段は、前記シグナリング信号に含まれる通信先のアドレス情報と、前記通信先情報に含まれるアドレス情報とを比較することで、前記Ｐ２Ｐ通信を許可するか否かを制御する、請求項１に記載の通信制御装置。
【請求項３】
前記制御手段は、前記Ｐ２Ｐ通信を許可しない場合、前記シグナリング信号に含まれる通信先のアドレス情報を削除、又は前記シグナリング信号を破棄することで、前記Ｐ２Ｐ通信を許可しないように制御する、請求項１又は２に記載の通信制御装置。
【請求項４】
前記シグナリング信号は、ＷｅｂＲＴＣの通信手段によりＰ２Ｐ通信を確立するために用いられる信号である、請求項１乃至３のいずれか一項に記載の通信制御装置。
【請求項５】
端末と、前記端末が行うＰ２Ｐ通信を中継する中継装置とネットワークを介して接続され、前記端末が行う通信を制御する通信制御装置における通信制御方法であって、
前記端末に許可される通信先を含む通信先情報を記憶手段に記憶する記憶ステップと、
前記端末から、前記端末が前記Ｐ２Ｐ通信を開始する際に送信するシグナリング信号を受信する受信ステップと、
前記通信先情報と前記シグナリング信号とに基づいて、前記Ｐ２Ｐ通信を許可するか否かを制御する制御ステップと、
を有する通信制御方法。
【請求項６】
端末と、前記端末が行うＰ２Ｐ通信を中継する中継装置とネットワークを介して接続され、前記端末が行う通信を制御する通信制御装置における通信制御プログラムであって、
通信制御装置に、
前記端末に許可される通信先を含む通信先情報を記憶手段に記憶する記憶ステップと、
前記端末から、前記端末が前記Ｐ２Ｐ通信を開始する際に送信するシグナリング信号を受信する受信ステップと、
前記通信先情報と前記シグナリング信号とに基づいて、前記Ｐ２Ｐ通信を許可するか否かを制御する制御ステップと、
を実行させるための通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置、通信制御方法及び通信制御プログラムに関する。
【背景技術】
【０００２】
２つの端末の間で直接通信を行うＰ２Ｐ通信技術が知られている。ここで、Ｐ２Ｐ通信技術を用いて端末間で通信を行う場合、端末が接続されているネットワークの構成によっては端末間で直接通信することができない場合がある。例えば、２つの端末がそれぞれ異なるプライベートネットワークに属している場合、ＮＡＴ（Network Address Translation）の仕様によってはパケットが破棄されてしまい、端末間で直接通信をすることが出来ない。そこで、プライベートネットワークに属している端末間で通信を行うことができるようにするための技術として、ＩＣＥ（Interactive Connectivity Establishment）と呼ばれる技術がある（例えば、非特許文献１を参照）。ＩＣＥは、端末自身のアドレス、ＮＡＴのパブリックネットワーク側のアドレス及びパブリックネットワーク上に配置されている中継装置のアドレスを、シグナリングサーバを介して端末間で伝えあうことで、端末間で直接通信することを可能にしている。また、ＷｅｂＲＴＣ技術においてＩＣＥを用いたシグナリング方式として、ＪＳＥＰ（Javascript（登録商標） Session Establishment Protocol）が知られている（例えば、非特許文献２を参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】RFC5245:Interactive Connectivity Establishment (ICE)
【非特許文献２】JSEP：draft-ietf-rtcweb-jsep-08
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＩＣＥを用いた場合、ＮＡＴの仕様によっては中継装置を介してＰ２Ｐ通信が行われることになる。従って、第三者によって不正な中継装置が設置され、中継装置を介して行われるＰ２Ｐ通信が傍受されてしまうというリスクがある。
【０００５】
また、企業等では、セキュリティを強化するために社内ＬＡＮの中に接続されている端末と社外ネットワークに接続されている端末との間でＰ２Ｐ通信が行われることを禁止したい場合がある。
【０００６】
開示の技術は上記に鑑みてなされたもので、任意の端末間で行われるＰ２Ｐ通信のセキュリティを向上させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
開示の技術の通信制御装置は、端末と、前記端末が行うＰ２Ｐ通信を中継する中継装置とネットワークを介して接続され、前記端末が行う通信を制御する通信制御装置であって、前記端末に許可される通信先を含む通信先情報を記憶する記憶手段と、前記端末から、前記端末が前記Ｐ２Ｐ通信を開始する際に送信するシグナリング信号を受信する受信手段と、前記通信先情報と前記シグナリング信号とに基づいて、前記Ｐ２Ｐ通信を許可するか否かを制御する制御手段とを有する。
【発明の効果】
【０００８】
開示の技術によれば、任任意の端末間で行われるＰ２Ｐ通信のセキュリティを向上させることが可能になる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態に係る通信システムの構成の一例を示す図である。
【図２】実施の形態に係る通信制御装置のハードウェア構成の一例を示す図である。
【図３】実施の形態に係る通信制御装置のソフトウェア構成の一例を示す図である。
【図４】権限情報テーブル及び通信先許可情報テーブルの一例を示す図である。
【図５】実施の形態に係る中継装置のソフトウェア構成の一例を示す図である。
【図６】実施の形態に係る通信制御装置の処理手順の一例を示すフローチャートである。
【図７】実施の形態に係る通信システムの処理手順の一例を示すシーケンス図である。
【図８】シグナリング信号の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して実施の形態について説明する。各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。
【００１１】
なお、以下の説明においてはＷｅｂＲＴＣ（Web Real-Time Communication）によるＰ２Ｐ通信を例として説明する。なお、実施の形態に係る端末管理システムは、ＷｅｂＲＴＣ以外の技術を用いたＰ２Ｐ通信にも適用することができる。
【００１２】
図１は、実施の形態に係る通信システムの構成の一例を示す図である。実施の形態に係る通信システムは、端末３０ａと端末３０ｂとの間で行われるＰ２Ｐ通信を制御する通信制御装置１０と、Ｐ２Ｐ通信を中継する中継装置２０と、端末３０ａと、端末３０ｂとを有する。以下の説明において、端末（３０ａ、３０ｂ）のうち任意の端末は「端末３０」と表す。
【００１３】
通信制御装置１０と、中継装置２０と、端末３０ａと、端末３０ｂとは、それぞれネットワークを介して相互に通信可能なように接続されている。
【００１４】
通信制御装置１０は、ＷｅｂＲＴＣの仕様に規定される接続手順に従って端末３０の間で通信チャネルが確立される際に、端末３０の間で相互に送受信されるシグナリング信号を中継する機能を有する。また、通信制御装置１０は、当該シグナリング信号を用いて、端末３０がＰ２Ｐ通信を確立する際の通信方法を制御する。通信制御装置１０は、例えば、ＷｅｂＲＴＣで用いられるシグナリング中継サーバである。
【００１５】
中継装置２０は、端末３０の間で行われるＰ２Ｐ通信を中継する装置である。中継装置２０は、例えば、ＷｅｂＲＴＣ技術で用いられるＴＵＲＮ（Traversal Using Relays around NAT）サーバである。まず、中継装置２０は、端末３０から要求を受けると、通信の中継に用いるＩＰアドレス及びポート番号を割り当てて端末３０に伝える。続いて、端末３０は、相手の端末３０に送信するパケットを、中継装置２０から伝えられたＩＰアドレス及びポート番号宛に送信する。続いて、中継装置２０は、受信したパケットを通信相手の端末３０に転送する。このような方法で、中継装置２０は端末３０の間で行われるＰ２Ｐ通信の中継を行う。
【００１６】
端末３０は、例えばＷｅｂブラウザを搭載したＰＣ（Personal Computer）、携帯電話、スマートフォン、又はタブレット端末等の通信機器である。端末３０は、Ｗｅｂサーバから受信したクライアントモジュール（例えば、ＪａｖａＳｃｒｉｐｔ（登録商標）含むＨＴＭＬファイル）をＷｅｂブラウザ上で動作させることで、相手の端末３０との間でＷｅｂＲＴＣによるＰ２Ｐ通信を実現する。なお、端末３０は、Ｐ２Ｐ通信を行うことができればどのような通信機器であってもよい。
【００１７】
ここで、ＷｅｂＲＴＣ技術について簡単に説明する。ＷｅｂＲＴＣ技術は、端末３０の間でＷｅｂブラウザを用いたリアルタイムなＰ２Ｐ通信を実現するための技術である。一般的に、端末３０は企業内や家庭内のプライベートネットワークに接続されていることが多く、端末３０の間で直接通信することができない。そこで、ＷｅｂＲＴＣ技術は、ＩＣＥ手順によりＮＡＴを超えた通信を実現させることで、端末３０がプライベートネットワークに接続されている場合であっても端末３０の間で直接通信することを可能にしている。
【００１８】
ＩＣＥ手順は、インターネット側に設置されるＳＴＵＮ（Session Traversal Utilities for NAT）サーバを用いて、ＮＡＴにより変換されたＩＰアドレス及びポート番号（すなわち、インターネット側から見えるＩＰアドレス及びポート番号）を端末３０に通知する仕組み、及び、インターネット側に設置されるＴＵＲＮサーバを用いてＰ２Ｐ通信を中継させる仕組みを提供する。これにより、ＷｅｂＲＴＣ技術は、ＩＣＥ手順を用いることで、端末３０がどのようなネットワーク環境に接続されていてもＮＡＴを越えてＰ２Ｐ通信が行えるように設計されている。
【００１９】
また、ＷｅｂＲＴＣは、任意のシグナリングプロトコルを利用することができる。例えば、ＷｅｂＲＴＣは、独自のシグナリングプロトコルを利用するようにしてもよいし、ＳＩＰ（Session Initiation Protocol）を利用するようにしてもよい。
【００２０】
ＩＣＥ手順には、下記の通信方法１〜３の各々に対応する３つのアドレス（ＩＣＥ  Ｃａｎｄｉｄａｔｅ）をＳＤＰ（Session Description Protocol）のフォーマットで記述し、任意のシグナリングプロトコルを用いて２つの端末３０の間でお互いに通知し合う仕組みが規定されている。
【００２１】
（ＩＣＥ手順で規定されている通信方法及びアドレス）
通信方法１（ＮＡＴを通過しないローカル通信（以下、「内部通信」という））：端末３０自身のＩＰアドレス及びポート番号
通信方法２（ＮＡＴを通過するがＴＵＲＮサーバを利用しない通信（以下、「外部通信（中継無）」という））：ＮＡＴ変換された端末３０のＩＰアドレス及びポート番号
通信方法３（ＴＵＲＮサーバを利用した通信（以下、「外部通信（中継有）」という））：ＴＵＲＮサーバから割り当てられたＰ２Ｐ通信中継用のＩＰアドレス（以下、「中継用ＩＰアドレス」という）及びポート番号
端末３０は、ＩＣＥ手順により相手の端末３０から通知された３つのアドレスの各々に対して優先度順にパケットを送信し合うことでネゴシエーションを行い、Ｐ２Ｐ通信を確立する。
【００２２】
例えば、２つの端末３０が同一のローカルネットワークに接続されている場合は、優先度高である「内部通信」のアドレスを用いてＰ２Ｐ通信が確立される。２つの端末３０がＮＡＴを介して通信する場合、優先度中である「外部通信（中継無）」のアドレス又は優先度低である「外部通信（中継有）」のアドレスを用いてＰ２Ｐ通信が確立される。優先度中である「外部通信（中継無）」のアドレス又は優先度低である「外部通信（中継有）」のアドレスのうちどちらのアドレスにてＰ２Ｐ通信が確立できるかは、ＮＡＴの仕様に依存する。なお、「内部通信」を優先度高とし、「外部通信（中継無）」を優先度中にし、「外部通信（中継有）」を優先度低にすることは、ＩＣＥ手順で予め規定されている。
【００２３】
ここで、実施の形態に係る通信システムの動作概要について簡単に説明する。通信制御装置１０は、端末３０からシグナリング信号を受信すると、端末３０に対して予め設定されている権限情報を用いて、端末３０が「通信方法１」〜「通信方法３」のうち、どの通信方法でＰ２Ｐ通信を行うことを許可されているかを確認する。例えば、「通信方法１」の手順のみが許可されている場合、通信制御装置１０は、シグナリング信号に含まれる「通信方法２」及び「通信方法３」に対応するＩＰアドレスを削除するか、又はシグナリング信号に含まれる「通信方法２」及び「通信方法３」に対応するＩＰアドレスを含むシグナリング信号を中継せずに破棄する。これにより、端末３０は、「通信方法２」及び「通信方法３」によるＰ２Ｐ通信を確立することができなくなる。同様に、例えば「通信方法３」の手順のみが許可されている場合、通信制御装置１０は、シグナリング信号に含まれる「通信方法１」及び「通信方法２」に対応するＩＰアドレスを削除するか、又は、「通信方法１」及び「通信方法２」に対応するＩＰアドレスを含むシグナリング信号を中継せずに破棄する。これにより、端末３０は、「通信方法１」及び「通信方法２」によるＰ２Ｐ通信を確立することができなくなる。
【００２４】
また、通信制御装置１０は、端末３０の間で「通信方法３」による通信を許可する場合、必要に応じて、中継装置２０に対して端末３０の間で行われるＰ２Ｐ通信を記録するように指示する。
【００２５】
また、通信制御装置１０は、端末３０からシグナリング信号を受信すると、通信制御装置１０が予め保持している通信先許可情報と受信したシグナリング信号とを比較し、シグナリング信号に通信が許可されていない宛先のアドレスが含まれている場合は、当該アドレスを削除するか、又は当該アドレスを含むシグナリング信号を中継せずに破棄する。これにより、端末３０は、許可されていない宛先の端末３０とＰ２Ｐ通信を確立することができなくなる。
【００２６】
すなわち、本実施の形態に係る通信システムは、ＷｅｂＲＴＣにより行われるシグナリング信号を通信制御装置１０で書き換える、又は破棄することで、端末３０の間で行われるＰ２Ｐ通信を様々に制御することができる。
【００２７】
＜ハードウェア構成＞
図２は、実施の形態に係る通信制御装置のハードウェア構成の一例を示す図である。実施の形態に係る通信制御装置１０は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ１０４と、操作部１０５と、表示部１０６と、ドライブ装置１０７と、ＮＩＣ（Network Interface card）１０８とを有する。
【００２８】
ＣＰＵ１０１は、通信制御装置１０の全体制御を行うプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０４等に記憶されたオペレーティングシステム、アプリケーション、各種サービス等のプログラムを実行し、通信制御装置１０の各種機能を実現する。ＲＯＭ１０２には、各種のプログラムやプログラムによって利用されるデータ等が記憶される。ＲＡＭ１０３は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＨＤＤ１０４には、各種情報及びプログラム等が記憶される。
【００２９】
操作部１０５は、ユーザからの入力操作を受け付けるためのハードウェアであり、例えばキーボード又はマウスである。表示部１０６は、ユーザに向けた表示を行うハードウェアである。
【００３０】
ドライブ装置１０７は、プログラムを記録した記憶媒体１０９からプログラムを読み取る。ドライブ装置１０７によって読み取られたプログラムは、例えば、ＨＤＤ１０４にインストールされる。ＮＩＣ１０８は、通信制御装置１０をネットワークに接続し、データの送受信を行うための通信インタフェースである。
【００３１】
なお、記憶媒体１０９とは、非一時的（non-transitory）な記憶媒体を言う。記憶媒体１０９の例としては、磁気記憶媒体、光ディスク、光磁気記憶媒体、不揮発性メモリなどがある。
【００３２】
中継装置２０のハードウェア構成は、例えば図２と同一であるため説明は省略する。
【００３３】
なお、通信制御装置１０及び中継装置２０に用いるハードウェアリソースとして、例えばクラウドサービスにより提供されるハードウェアリソースを用いるようにしてもよい。
【００３４】
＜ソフトウェア構成＞
（通信制御装置）
図３は、実施の形態に係る通信制御装置のソフトウェア構成の一例を示す図である。実施の形態に係る通信制御装置１０は、記憶手段２０１と、通信手段２０２と、通信方法制限手段２０３と、通信先判定手段２０４と、指示手段２０５とを有する。
【００３５】
記憶手段２０１は、ＲＡＭ１０３、ＨＤＤ１０４、又は通信制御装置１０にネットワークを介して接続される記憶装置等を用いて実現可能である。記憶手段２０１は、端末３０に許可する通信方法を示す権限情報と、端末３０に通信を許可する相手先のアドレスを示す通信先許可情報とを記憶する。
【００３６】
通信手段２０２は、ＮＩＣ１０８を介して、中継装置２０又は端末３０と通信を行う。
【００３７】
通信方法制限手段２０３は、端末３０からシグナリング信号を受信すると、権限情報に基づいて、内部通信、外部通信（中継無）、及び外部通信（中継有）のうち、どの通信方法を端末３０に許可するかを判断する。また、通信方法制限手段２０３は、判断結果に基づきシグナリング信号を書き換えて、書き換えたシグナリング信号を端末３０に送信するか、又は、判断結果に基づきシグナリング信号を端末３０に送信せずに破棄する。
【００３８】
通信先判定手段２０４は、端末３０からシグナリング信号を受信すると、通信先許可情報に基づいて、端末３０がＰ２Ｐ通信を行おうとしている通信相手が許可された通信相手であるかを判断する。許可されていない通信相手とＰ２Ｐ通信を行おうとしている場合、通信先判定手段２０４は、書き換えたシグナリング信号を端末３０に送信するか、又はシグナリング信号を端末３０に送信せずに破棄する。
【００３９】
指示手段２０５は、権限情報に基づき、指定された端末３０の間で行われるＰ２Ｐ通信を記録（キャプチャ）させるように中継装置２０に対して指示する。
【００４０】
図４は、権限情報テーブル及び通信先許可情報テーブルの一例を示す図である。図４（ａ）に示す権限情報は、端末識別子と、内部通信フラグと、外部通信（中継無）フラグと、外部通信（中継有）フラグとを有する。
【００４１】
端末識別子は、通信制御装置１０が端末３０を一意に識別するための識別子である。
【００４２】
内部通信フラグは、ＩＣＥ手順における内部通信を許可するか否かを示すフラグであり、「○」は内部通信によるＰ２Ｐ通信を許可し、「×」は内部通信によるＰ２Ｐ通信を許可しないことを表す。
【００４３】
外部通信（中継無）フラグは、ＩＣＥ手順における外部通信（中継無）を許可するか否かを示すフラグであり、「○」は外部通信（中継無）によるＰ２Ｐ通信を許可し、「×」は外部通信（中継無）によるＰ２Ｐ通信を許可しないことを表す。
【００４４】
外部通信（中継有）フラグは、ＩＣＥ手順における外部通信（中継有）を許可するか否かを示すフラグであり、「○」は外部通信（中継有）によるＰ２Ｐ通信を許可し、「×」は外部通信（中継有）によるＰ２Ｐ通信を許可しないことを表す。
【００４５】
図４（ｂ）に示す通信先許可情報は、アドレス種別と、アドレス情報とを有する。アドレス種別は、通信先として許可されている通信相手の種別が設定される。アドレス種別に「通信先端末」が設定されている場合、アドレス情報に設定されるアドレスは、Ｐ２Ｐ通信の通信先として許可されている端末３０のアドレスであることを示す。アドレス種別に「中継装置」が設定されている場合、アドレス情報に設定されるアドレスは、接続が許可されている中継装置２０のアドレスであることを示す。図４（ｂ）の例では、アドレス種別が「通信先端末」のレコードに「１９２．１６８．１．＊」が設定されている。これは、通信相手の端末３０のＩＰアドレスが１９２．１６８．１．＊のアドレス（＊は任意の数字を表す）である場合にのみＰ２Ｐ通信が許可され、これ以外のＩＰアドレスを有する端末３０へのＰ２Ｐ通信は許可されないことを示している。また、アドレス種別「中継装置」のレコードに「１９２．０．２．１５」が設定されている。これは、Ｐ２Ｐ通信の中継に用いられる中継装置２０のＩＰアドレスが１９２．１６８．２．１５である場合にのみ外部通信（中継有）の通信方法によるＰ２Ｐ通信が許可されることを示している。
【００４６】
なお、通信先許可情報テーブルは、複数のＩＰアドレスを設定可能にしてもよいし、ＩＰアドレスの範囲を設定可能にしてもよい。
【００４７】
（中継装置）
図５は、実施の形態に係る中継装置のソフトウェア構成の一例を示す図である。実施の形態に係る中継装置２０は、記憶手段３０１と、中継手段３０２と、通信記録手段３０３とを有する。
【００４８】
記憶手段３０１は、ＲＡＭ１０３、ＨＤＤ１０４、又は中継装置２０にネットワークを介して接続される記憶装置等を用いて実現可能である。記憶手段３０１は、中継装置２０が中継するＰ２Ｐ通信のキャプチャデータである通信記録情報を格納する。
【００４９】
中継手段３０２は、端末３０の間で行われるＰ２Ｐ通信を中継する。
【００５０】
通信記録手段３０３は、通信制御装置１０からの指示を受けて、端末３０の間で行われるＰ２Ｐ通信をキャプチャし、記憶手段３０１に格納する。
【００５１】
＜処理手順＞
（通信制御装置の処理の流れ）
図６は、実施の形態に係る通信制御装置の処理手順の一例を示すフローチャートである。通信制御装置１０は、図６の処理手順により、端末３０の間で送受信されるシグナリング信号を書き換える、又は破棄することで、端末３０の間で行われるＰ２Ｐ通信の通信方法を制御する。
【００５２】
ステップＳ４０１で、通信方法制限手段２０３は、端末３０からシグナリング信号を受信すると、当該シグナリング信号に含まれる、シグナリング信号の送信元端末の端末識別子と、シグナリング信号の送信先端末の端末識別子とを抽出し、権限情報テーブルのレコードのうち、抽出したそれぞれの端末識別子のレコードに含まれる各種フラグ（内部通信フラグ、外部通信（中継無）フラグ、外部通信（中継有）フラグ）を取得する。
【００５３】
続いて、通信方法制限手段２０３は、抽出したそれぞれの各種フラグから、Ｐ２Ｐ通信を行う端末３０の各々に許可すべき通信方法を判断する。なお、シグナリング信号の送信元端末３０の端末識別子に対応する各種フラグと、シグナリング信号の送信先端末３０の端末識別子に対応する各種フラグとが一致しているとは限らない。例えば、端末３０ａには全ての通信方法が許可されているのに対して、通信相手の端末３０ｂには内部通信しか許可されていない場合もあり得る。この場合、通信方法制限手段２０３は、端末３０ｂに対しても端末３０ａと同様に全ての通信方法を許可してもよいし、逆に、端末３０ａに対しても端末３０ｂと同様に内部通信しか許可しないようにしてもよい。
【００５４】
ステップＳ４０２で、通信方法制限手段２０３は、端末３０から受信したシグナリング信号に含まれる各通信方法に対応するＩＰアドレスのうち、許可されていない通信方法に対応するＩＰアドレスを削除するか、又は許可されていない通信方法に対応するＩＰアドレスが含まれているシグナリング信号を端末３０に送信せずに破棄する。
【００５５】
ステップＳ４０３で、通信先判定手段２０４は、ステップＳ４０１で受信したシグナリング信号に含まれている、「内部通信」に使用される端末３０のＩＰアドレス、及び「外部通信（中継有）」に使用される中継装置２０の中継用ＩＰアドレスが、通信先許可情報のレコードに含まれているかを判定する。これらのＩＰアドレスのうち、少なくともいずれかのＩＰアドレスが通信先許可情報のレコードに含まれていない場合、通信先判定手段２０４は、これらのＩＰアドレスは許可されている通信先ではないと判断してステップＳ４０４の処理手順に進む。これらのＩＰアドレスが通信先許可情報のレコードに含まれている場合、通信先判定手段２０４は、これらのＩＰアドレスは許可されている通信先であると判断してステップＳ４０５の処理手順に進む。
【００５６】
ステップＳ４０４で、通信先判定手段２０４は、「内部通信」に使用される端末３０のＩＰアドレスが許可されている通信先ではない場合、ステップＳ４０１で受信したシグナリング信号に含まれる「内部通信」に使用される端末３０のＩＰアドレス、外部通信（中継無）に使用されるＮＡＴ変換後の端末３０のＩＰアドレス、及び「外部通信（中継有）」に使用される中継装置２０の中継用ＩＰアドレスを削除するか、又はステップＳ４０１で受信したシグナリング信号に含まれる「内部通信」に使用される端末３０のＩＰアドレス、外部通信（中継無）に使用されるＮＡＴ変換後の端末３０のＩＰアドレス、及び「外部通信（中継有）」に使用される中継装置２０の中継用ＩＰアドレスを含むすべてのシグナリング信号を端末３０に送信せずに破棄する。これらすべてのＩＰアドレスを削除、又はすべてのシグナリング信号を破棄するのは、「内部通信」に使用される端末３０のＩＰアドレスのみを削除、又は「内部通信」に使用される端末３０のＩＰアドレスを含むシグナリング信号だけを破棄しても、外部通信（中継無）の通信方法又は「外部通信（中継有）」の通信方法を用いてＰ２Ｐ通信を確立できてしまうことを防ぐためである。
【００５７】
また、通信先判定手段２０４は、「外部通信（中継有）」に使用される中継装置２０の中継用ＩＰアドレスが許可されている通信先ではない場合、「外部通信（中継有）」に使用される中継装置２０の中継用ＩＰアドレスを削除、又は「外部通信（中継有）」に使用される中継装置２０の中継用ＩＰアドレスを含むシグナリング信号を端末３０に送信せずに破棄する。
【００５８】
ステップＳ４０５で、指示手段２０５は、ステップＳ４０１で「外部通信（中継有）」の通信方法が許可されている場合、通信記録が必要であると判断してステップＳ４０６の処理手順に進み、ステップＳ４０１で「外部通信（中継有）」が許可されていない場合は処理を終了する。
【００５９】
ステップＳ４０６で、指示手段２０５は、中継装置２０に対して、端末３０の間で行われるＰ２Ｐ通信を記録（キャプチャ）させるように中継装置２０に指示する。
【００６０】
なお、通信制御装置１０は、処理手順に矛盾が無い限り、必要に応じて上記Ｓ４０１〜Ｓ４０６の処理手順の一部を省略するようにしてもよい。例えば、通信制御装置１０は、ステップＳ４０１及びステップＳ４０２の処理手順のみを行うようにしてもよいし、ステップＳ４０１、ステップＳ４０２、ステップＳ４０５及びステップＳ４０６の処理手順のみを行うようにしてもよい。また、通信制御装置１０は、ステップＳ４０３及びステップＳ４０４の処理手順のみを行うようにしてもよいし、ステップＳ４０５及びステップＳ４０６の処理手順のみを行うようにしてもよい。また、通信制御装置１０は、シグナリング信号を送受信する端末３０の端末識別子によって、上記Ｓ４０１〜Ｓ４０６の処理手順の一部を省略するのか否かを判断するようにしてもよい。図６の処理手順を様々に組み合わせることで、本実施の形態に係る通信制御装置１０は、端末３０の間で行われる通信方法を様々な方法で制御することができる。
【００６１】
（通信システムの全体処理シーケンス）
図７は、実施の形態に係る通信システムの処理手順の一例を示すシーケンス図である。図７は、端末３０ａから端末３０ｂに対してＰ２Ｐ通信の開始を要求する場合の処理手順を示している。
【００６２】
ステップＳ５０１で、端末３０ａは、ＩＣＥの規定に従ってアドレスの候補を収集する。アドレスの候補は、内部通信に使用される端末３０ａ自身のＩＰアドレス及びポート番号、外部通信（中継無）に使用されるＮＡＴ変換後の端末３０ａ自身のＩＰアドレス及びポート番号、及び外部通信（中継有）に使用される中継装置２０の中継用ＩＰアドレス及びポート番号である。端末３０ａは、ＮＡＴ変換後の端末３０ａ自身のＩＰアドレス及びポート番号を、ＳＴＵＮサーバに問い合わせすることで収集する。また、端末３０ａは、外部通信（中継有）に使用される中継装置２０の中継用ＩＰアドレス及びポート番号を、中継装置２０に問い合わせることで収集する。なお、端末３０ａが問い合わせるＳＴＵＮサーバ及び中継装置２０の宛先は、Ｗｅｂブラウザ上で動作するクライアントモジュールに予め設定されている。
【００６３】
ステップＳ５０２で、端末３０ａは、シグナリング信号である通信要求を通信制御装置１０に送信する。
【００６４】
図８は、シグナリング信号の一例を示す図である。図８（ａ）は、ステップＳ５０２で端末３０ａから端末３０ｂに向けて送信されるシグナリング信号の一例である。図８（ａ）に示すように、通信要求には、シグナリング信号の送信元である端末３０ａの端末識別子（Ａ）と、シグナリング信号の送信先である端末３０ｂの端末識別子（Ｂ）と、ステップＳ５０１で収集したＩＰアドレス及びポート番号が記載されたＳＤＰ  ｏｆｆｅｒとが含まれている。
【００６５】
ステップＳ５０３で、通信制御装置１０の通信方法制限手段２０３は、図７のステップＳ４０１〜ステップＳ４０２の処理手順に従って処理を行い、許可しない通信方法がある場合はＳＤＰ  ｏｆｆｅｒに含まれるＩＰアドレスを削除する。また、通信制御装置１０の通信先判定手段２０４は、接続先制限情報に含まれていないＩＰアドレスがある場合は、図７のステップＳ４０３〜ステップＳ４０４の処理手順に従ってＳＤＰ  ｏｆｆｅｒに含まれるアドレスを削除する。
【００６６】
ステップＳ５０４で、通信制御装置１０の通信手段２０２は、アドレスが削除されたＳＤＰ  ｏｆｆｅｒを含む通信要求を端末３０ｂに送信する。
【００６７】
ステップＳ５０５で、端末３０ｂは、ＩＣＥの規定に従ってアドレスの候補を収集する。アドレスの候補は、内部通信に使用される端末３０ｂ自身のＩＰアドレス及びポート番号、外部通信（中継無）に使用されるＮＡＴ変換後の端末３０ｂ自身のＩＰアドレス及びポート番号、及び外部通信（中継有）に使用される中継装置２０の中継用ＩＰアドレス及びポート番号である。端末３０ｂは、ＮＡＴ変換後の端末３０ｂ自身のＩＰアドレス及びポート番号を、ＳＴＵＮサーバに問い合わせすることで収集する。また、端末３０ｂは、外部通信（中継有）に使用される中継装置２０の中継用ＩＰアドレス及びポート番号を、中継装置２０に問い合わせることで収集する。なお、端末３０ｂが問い合わせるＳＴＵＮサーバ及び中継装置２０の宛先は、Ｗｅｂブラウザ上で動作するクライアントモジュールに予め設定されている。
【００６８】
ステップＳ５０６で、端末３０ｂは、通信要求応答であるシグナリング信号を通信制御装置１０に送信する。ここで、図８（ｂ）は、端末３０ａから端末３０ｂに向けて送信されるシグナリング信号の一例である。図８（ｂ）に示すように、通信要求には、シグナリング信号の送信元である端末３０ｂの端末識別子（Ｂ）と、シグナリング信号の送信先である端末３０ａの端末識別子（Ａ）と、ステップＳ５０５で収集したＩＰアドレス及びポート番号が記載されたＳＤＰ  ａｎｓｗｅｒとが含まれている。
【００６９】
ステップＳ５０７で、通信制御装置１０の通信方法制限手段２０３は、図７のステップＳ４０１〜ステップＳ４０２の処理手順に従って処理を行い、許可しない通信方法がある場合はＳＤＰ  ａｎｓｗｅｒに含まれるアドレスを削除する。また、通信制御装置１０の通信先判定手段２０４は、接続先制限情報に含まれていないＩＰアドレスがある場合は、図７のステップＳ４０３〜ステップＳ４０４の処理手順に従ってＳＤＰ  ａｎｓｗｅｒに含まれるＩＰアドレスを削除する。なお、通信制御装置１０の通信方法制限手段２０３は、ステップＳ５０３で許可しないと判断した通信方法と同一の通信方法に対応するＩＰアドレスを削除する。
【００７０】
ステップＳ５０８で、通信制御装置１０の指示手段２０５は、ステップＳ５０３及びステップＳ５０７の処理手順において、外部通信（中継有）の通信方法が許可されている場合、図６のステップＳ４０５及びステップＳ４０６の処理手順に従い、中継装置２０に通信記録指示を送信する。通信記録指示には、ステップＳ５０２で受信したＳＤＰ  ｏｆｆｅｒ及びステップＳ５０６で受信したＳＤＰ  ａｎｓｗｅｒに含まれている中継装置２０の中継用ＩＰアドレス及びポート番号が含まれている。これは、指示手段２０５が、中継装置２０に対してどの端末３０間で行われるＰ２Ｐ通信を記録させるのかを伝えるためである。
【００７１】
なお、指示手段２０５は、ステップＳ５０３及びステップＳ５０７の処理手順において、外部通信（中継有）の通信方法のみが許可される場合に、ステップＳ５０８の処理手順を行うようにしてもよい。外部通信（中継有）の通信方法によりＰ２Ｐ通信が確立されるのか、他の通信方法でＰ２Ｐ通信が確立されるのかについては、端末３０ａ及び端末３０ｂの間で決定されるため、通信記録指示が無駄になる可能性があるためである。
【００７２】
ステップＳ５０９で、通信制御装置１０の通信手段２０２は、アドレスが削除されたＳＤＰ  ａｎｓｗｅｒを含む通信要求応答を端末３０ａに送信する。
【００７３】
ステップＳ５１０で、端末３０ａ及び端末３０ｂは、シグナリング信号により交換された各通信方法に対応するアドレスに対して、優先度順にパケットを送信し合うことでネゴシエーションを行い、Ｐ２Ｐ通信を確立する。なお、削除されたアドレスに対してパケットが送信されることはないため、端末３０ａ及び端末３０ｂはネゴシエーションに失敗する。一方、削除されていないアドレスに対してパケットが送信された場合は、ＮＡＴ処理によりパケットが破棄されない限り相手の端末３０に届くことになるため、端末３０ａ及び端末３０ｂはネゴシエーションに成功することになる。すなわち、端末３０ａ及び端末３０ｂは、アドレスが削除されていない通信方法又は通信相手との間でのみＰ２Ｐ通信を確立できることになる。
【００７４】
以上、通信システムの全体処理シーケンスについて説明したが、実施の形態に係る通信システムは、Ｔｒｉｃｌｅ  ＩＣＥと呼ばれる通信方法により、端末３０ａ及び端末３０ｂの間で、内部通信、外部通信（中継無）及び外部通信（中継有）の通信方法に対応するアドレスを相互に交換するようにしてもよい。
【００７５】
Ｔｒｉｃｌｅ  ＩＣＥの通信方法が用いられる場合、まず、端末３０ａは、アドレスを含まないＳＤＰ  ｏｆｆｅｒを、通信制御装置１０を介して端末３０ｂに送信すると共に、並行して内部通信、外部通信（中継無）及び外部通信（中継有）の通信方法に対応するアドレスの収集を行う。同様に、端末３０ｂは、アドレスを含まないＳＤＰ  ａｎｓｗｅｒを、通信制御装置１０を介して端末３０ａに送信すると共に、並行して内部通信、外部通信（中継無）及び外部通信（中継有）の通信方法に対応するアドレスの収集を行う。
【００７６】
続いて、端末３０ａは、内部通信、外部通信（中継無）及び外部通信（中継有）の通信方法に対応するアドレスのうちいずれかのアドレスを収集した時点で、収集したアドレスを含むシグナリング信号を、その都度通信制御装置１０を介して端末３０ｂに送信する。同様に、端末３０ｂも、内部通信、外部通信（中継無）及び外部通信（中継有）の通信方法に対応するアドレスのうちいずれかのアドレスを収集した時点で、収集したアドレスを含むシグナリング信号を、その都度通信制御装置１０を介して端末３０ａに送信する。
【００７７】
Ｔｒｉｃｌｅ  ＩＣＥの通信方法により、端末３０ａ及び端末３０ｂの間でその都度アドレスが交換される場合、通信制御装置１０の通信方法制限手段２０３又は通信先判定手段２０４は、端末３０ａと端末３０ｂとの間で送受信されるシグナリング信号に許可しない通信方法又は接続先制限情報に含まれていないＩＰアドレスが含まれている場合、当該シグナリング信号を破棄するようにする。
【００７８】
これにより、許可されていない通信方法又は接続先制限情報に含まれていないＩＰアドレスを含むシグナリング信号は通信制御装置１０で破棄されるため、端末３０ａ及び端末３０ｂは、シグナリング信号を受信できた通信方法又は通信相手との間でのみＰ２Ｐ通信を確立できることになる。
【００７９】
＜効果＞
以上、実施の形態に係る通信制御装置１０は、端末３０ごとに対応づけられた権限情報に基づいて、端末３０の間で送受信されるシグナリング信号に含まれるアドレスを削除、又はシグナリング信号を破棄することで、端末３０の間で行われるＰ２Ｐ通信の通信方法を制御するようにした。これにより、実施の形態に係る通信制御装置１０は、端末３０の間で行われるＰ２Ｐ通信を柔軟に制御することが可能になる。
【００８０】
また、実施の形態に係る通信制御装置１０は、端末識別子ごとに権限情報を記憶するようにしたことで、端末３０ごとに通信先を制御することができる。これにより、端末の利用者の役職によって許可する通信方法を変えるというような柔軟な運用が可能になる。
【００８１】
また、実施の形態に係る通信制御装置１０は、必要に応じて、中継装置２０に対してＰ２Ｐ通信を記録させるように指示するようにした。これにより、例えば、企業内の端末３０が行うＰ２Ｐ通信の内容は全て記録しておくというような運用を行うことが可能になる。
【００８２】
また、実施の形態に係る通信制御装置１０は、通信先許可情報に基づいて、端末３０間で送受信されるシグナリング信号に含まれるアドレスを削除、又はシグナリング信号を破棄することで、端末３０がＰ２Ｐ通信を行おうとする相手を制限できるようにした。これにより、社外の端末３０との間でＰ２Ｐ通信が行われることを禁止するといった運用が可能になり、セキュリティを強化することが可能になる。また、信頼された中継装置２０を介してのみＰ２Ｐ通信を許可するといった運用が可能になり、悪意のある中継装置２０で通信内容が傍受されるといったセキュリティリスクを減らすことが可能になる。
【００８３】
＜実施形態の補足＞
なお、本実施の形態において、端末識別子は、例えば端末３０を利用する利用者の利用者ＩＤであってもよい。
【００８４】
なお、本実施の形態において、通信制御装置は、通信先許可情報と端末識別子（又は利用者ＩＤ）とを対応づけて記憶するようにしてもよい。また、通信先判定手段２０４は、シグナリング信号に含まれる信号送信元の端末識別子及び信号送信先の端末識別子に対応する通信先許可情報に基づいて、シグナリング信号に含まれるＩＰアドレスを削除、又はシグナリング信号を破棄するようにしてもよい。これにより、端末３０ごとに通信先を制御することが可能になり、端末の利用者の役職によって許可する通信方法を変えるというような柔軟な運用を行うことができる。
【００８５】
なお、本実施の形態において、通信先許可情報には、端末３０の通信先として許可されているアドレスを格納（ホワイトリスト方式）するようにしたが、端末３０の通信先として許可されていないアドレスを格納（ブラックリスト方式）するようにしてもよい。ブラックリスト方式の場合、図６のステップＳ４０３で、通信先判定手段２０４は、ステップＳ４０１で受信したシグナリング信号に含まれている、「内部通信」に使用される端末３０のＩＰアドレス、及び「外部通信（中継有）」に使用される中継装置２０の中継用ＩＰアドレスが、通信先許可情報のレコードに含まれているかを判定するように動作する。また、これらのＩＰアドレスのうち、少なくともいずれかのＩＰアドレスが通信先許可情報のレコードに含まれている場合、通信先判定手段２０４は、これらのＩＰアドレスは許可されている通信先ではないと判断してステップＳ４０４の処理手順に進むように動作する。また、これらのＩＰアドレスが通信先許可情報のレコードに含まれていない場合、通信先判定手段２０４は、これらのＩＰアドレスは許可されている通信先であると判断してステップＳ４０５の処理手順に進むようにする。
【００８６】
以上、本発明は実施の形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。
【００８７】
以上、上記実施の形態で述べたシーケンス及びフローチャートは、矛盾の無い限り順序を入れ替えてもよい。
【００８８】
以上、上記実施の形態の全部又は一部は、プログラムによって実装され得る。このプログラムは、記憶媒体に格納することができる。
【００８９】
なお、通信手段２０２は、受信手段の一例である。また、通信先判定手段２０４は、制御手段の一例である。また、通信先許可情報は、通信先情報の一例である。また、ＩＰアドレス及びポート番号は、アドレス情報の一例である。
【符号の説明】
【００９０】
１０  通信制御装置
２０  中継装置
３０  端末
２０１、３０１  記憶手段
２０２  通信手段
２０３  通信方法制限手段
２０４  通信先判定手段
２０５  指示手段
３０２  中継手段
３０３  通信記録手段
【要約】
【課題】任意の端末間で行われるＰ２Ｐ通信のセキュリティを向上させることができる技術を提供する。
【解決手段】端末と、前記端末が行うＰ２Ｐ通信を中継する中継装置とネットワークを介して接続され、前記端末が行う通信を制御する通信制御装置であって、前記端末に許可される通信先を含む通信先情報を記憶する記憶手段と、前記端末から、前記端末が前記Ｐ２Ｐ通信を開始する際に送信するシグナリング信号を受信する受信手段と、前記通信先情報と前記シグナリング信号とに基づいて、前記Ｐ２Ｐ通信を許可するか否かを制御する制御手段とを有する通信制御装置を提供する。
【選択図】図７【図１】
0005937709.tif 000002
【図２】
0005937709.tif 000003
【図３】
0005937709.tif 000004
【図４】
0005937709.tif 000005
【図５】
0005937709.tif 000006
【図６】
0005937709.tif 000007
【図７】
0005937709.tif 000008
【図８】
0005937709.tif 000009