JP5937709B1 - 通信制御装置、通信制御方法及び通信制御プログラム - Google Patents

通信制御装置、通信制御方法及び通信制御プログラム Download PDF

Info

Publication number
JP5937709B1
JP5937709B1 JP2015015904A JP2015015904A JP5937709B1 JP 5937709 B1 JP5937709 B1 JP 5937709B1 JP 2015015904 A JP2015015904 A JP 2015015904A JP 2015015904 A JP2015015904 A JP 2015015904A JP 5937709 B1 JP5937709 B1 JP 5937709B1
Authority
JP
Japan
Prior art keywords
communication
terminal
relay
address
signaling signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015015904A
Other languages
English (en)
Other versions
JP2016143076A (ja
Inventor
亮祐 大津谷
亮祐 大津谷
洋明 貞田
洋明 貞田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2015015904A priority Critical patent/JP5937709B1/ja
Priority to PCT/JP2016/052519 priority patent/WO2016121881A1/ja
Priority to EP16743484.4A priority patent/EP3253004B1/en
Priority to US15/546,367 priority patent/US10542082B2/en
Application granted granted Critical
Publication of JP5937709B1 publication Critical patent/JP5937709B1/ja
Publication of JP2016143076A publication Critical patent/JP2016143076A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】任意の端末間で行われるP2P通信のセキュリティを向上させることができる技術を提供する。【解決手段】端末と、前記端末が行うP2P通信を中継する中継装置とネットワークを介して接続され、前記端末が行う通信を制御する通信制御装置であって、前記端末に許可される通信先を含む通信先情報を記憶する記憶手段と、前記端末から、前記端末が前記P2P通信を開始する際に送信するシグナリング信号を受信する受信手段と、前記通信先情報と前記シグナリング信号とに基づいて、前記P2P通信を許可するか否かを制御する制御手段とを有する通信制御装置を提供する。【選択図】図7

Description

本発明は、通信制御装置、通信制御方法及び通信制御プログラムに関する。
2つの端末の間で直接通信を行うP2P通信技術が知られている。ここで、P2P通信技術を用いて端末間で通信を行う場合、端末が接続されているネットワークの構成によっては端末間で直接通信することができない場合がある。例えば、2つの端末がそれぞれ異なるプライベートネットワークに属している場合、NAT(Network Address Translation)の仕様によってはパケットが破棄されてしまい、端末間で直接通信をすることが出来ない。そこで、プライベートネットワークに属している端末間で通信を行うことができるようにするための技術として、ICE(Interactive Connectivity Establishment)と呼ばれる技術がある(例えば、非特許文献1を参照)。ICEは、端末自身のアドレス、NATのパブリックネットワーク側のアドレス及びパブリックネットワーク上に配置されている中継装置のアドレスを、シグナリングサーバを介して端末間で伝えあうことで、端末間で直接通信することを可能にしている。また、WebRTC技術においてICEを用いたシグナリング方式として、JSEP(Javascript(登録商標) Session Establishment Protocol)が知られている(例えば、非特許文献2を参照)。
RFC5245:Interactive Connectivity Establishment (ICE) JSEP:draft-ietf-rtcweb-jsep-08
しかしながら、ICEを用いた場合、NATの仕様によっては中継装置を介してP2P通信が行われることになる。従って、第三者によって不正な中継装置が設置され、中継装置を介して行われるP2P通信が傍受されてしまうというリスクがある。
また、企業等では、セキュリティを強化するために社内LANの中に接続されている端末と社外ネットワークに接続されている端末との間でP2P通信が行われることを禁止したい場合がある。
開示の技術は上記に鑑みてなされたもので、任意の端末間で行われるP2P通信のセキュリティを向上させることができる技術を提供することを目的とする。
開示の技術の通信制御装置は、端末と、前記端末が行うP2P通信を中継する中継装置とネットワークを介して接続され、前記端末が行う通信を制御する通信制御装置であって、前記端末に許可される通信先を含む通信先情報を記憶する記憶手段と、前記端末から、前記端末が前記P2P通信を開始する際に送信するシグナリング信号を受信する受信手段と、前記通信先情報と前記シグナリング信号とに基づいて、前記P2P通信を許可するか否かを制御する制御手段とを有する。
開示の技術によれば、任任意の端末間で行われるP2P通信のセキュリティを向上させることが可能になる。
実施の形態に係る通信システムの構成の一例を示す図である。 実施の形態に係る通信制御装置のハードウェア構成の一例を示す図である。 実施の形態に係る通信制御装置のソフトウェア構成の一例を示す図である。 権限情報テーブル及び通信先許可情報テーブルの一例を示す図である。 実施の形態に係る中継装置のソフトウェア構成の一例を示す図である。 実施の形態に係る通信制御装置の処理手順の一例を示すフローチャートである。 実施の形態に係る通信システムの処理手順の一例を示すシーケンス図である。 シグナリング信号の一例を示す図である。
以下、図面を参照して実施の形態について説明する。各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。
なお、以下の説明においてはWebRTC(Web Real-Time Communication)によるP2P通信を例として説明する。なお、実施の形態に係る端末管理システムは、WebRTC以外の技術を用いたP2P通信にも適用することができる。
図1は、実施の形態に係る通信システムの構成の一例を示す図である。実施の形態に係る通信システムは、端末30aと端末30bとの間で行われるP2P通信を制御する通信制御装置10と、P2P通信を中継する中継装置20と、端末30aと、端末30bとを有する。以下の説明において、端末(30a、30b)のうち任意の端末は「端末30」と表す。
通信制御装置10と、中継装置20と、端末30aと、端末30bとは、それぞれネットワークを介して相互に通信可能なように接続されている。
通信制御装置10は、WebRTCの仕様に規定される接続手順に従って端末30の間で通信チャネルが確立される際に、端末30の間で相互に送受信されるシグナリング信号を中継する機能を有する。また、通信制御装置10は、当該シグナリング信号を用いて、端末30がP2P通信を確立する際の通信方法を制御する。通信制御装置10は、例えば、WebRTCで用いられるシグナリング中継サーバである。
中継装置20は、端末30の間で行われるP2P通信を中継する装置である。中継装置20は、例えば、WebRTC技術で用いられるTURN(Traversal Using Relays around NAT)サーバである。まず、中継装置20は、端末30から要求を受けると、通信の中継に用いるIPアドレス及びポート番号を割り当てて端末30に伝える。続いて、端末30は、相手の端末30に送信するパケットを、中継装置20から伝えられたIPアドレス及びポート番号宛に送信する。続いて、中継装置20は、受信したパケットを通信相手の端末30に転送する。このような方法で、中継装置20は端末30の間で行われるP2P通信の中継を行う。
端末30は、例えばWebブラウザを搭載したPC(Personal Computer)、携帯電話、スマートフォン、又はタブレット端末等の通信機器である。端末30は、Webサーバから受信したクライアントモジュール(例えば、JavaScript(登録商標)含むHTMLファイル)をWebブラウザ上で動作させることで、相手の端末30との間でWebRTCによるP2P通信を実現する。なお、端末30は、P2P通信を行うことができればどのような通信機器であってもよい。
ここで、WebRTC技術について簡単に説明する。WebRTC技術は、端末30の間でWebブラウザを用いたリアルタイムなP2P通信を実現するための技術である。一般的に、端末30は企業内や家庭内のプライベートネットワークに接続されていることが多く、端末30の間で直接通信することができない。そこで、WebRTC技術は、ICE手順によりNATを超えた通信を実現させることで、端末30がプライベートネットワークに接続されている場合であっても端末30の間で直接通信することを可能にしている。
ICE手順は、インターネット側に設置されるSTUN(Session Traversal Utilities for NAT)サーバを用いて、NATにより変換されたIPアドレス及びポート番号(すなわち、インターネット側から見えるIPアドレス及びポート番号)を端末30に通知する仕組み、及び、インターネット側に設置されるTURNサーバを用いてP2P通信を中継させる仕組みを提供する。これにより、WebRTC技術は、ICE手順を用いることで、端末30がどのようなネットワーク環境に接続されていてもNATを越えてP2P通信が行えるように設計されている。
また、WebRTCは、任意のシグナリングプロトコルを利用することができる。例えば、WebRTCは、独自のシグナリングプロトコルを利用するようにしてもよいし、SIP(Session Initiation Protocol)を利用するようにしてもよい。
ICE手順には、下記の通信方法1〜3の各々に対応する3つのアドレス(ICE Candidate)をSDP(Session Description Protocol)のフォーマットで記述し、任意のシグナリングプロトコルを用いて2つの端末30の間でお互いに通知し合う仕組みが規定されている。
(ICE手順で規定されている通信方法及びアドレス)
通信方法1(NATを通過しないローカル通信(以下、「内部通信」という)):端末30自身のIPアドレス及びポート番号
通信方法2(NATを通過するがTURNサーバを利用しない通信(以下、「外部通信(中継無)」という)):NAT変換された端末30のIPアドレス及びポート番号
通信方法3(TURNサーバを利用した通信(以下、「外部通信(中継有)」という)):TURNサーバから割り当てられたP2P通信中継用のIPアドレス(以下、「中継用IPアドレス」という)及びポート番号
端末30は、ICE手順により相手の端末30から通知された3つのアドレスの各々に対して優先度順にパケットを送信し合うことでネゴシエーションを行い、P2P通信を確立する。
例えば、2つの端末30が同一のローカルネットワークに接続されている場合は、優先度高である「内部通信」のアドレスを用いてP2P通信が確立される。2つの端末30がNATを介して通信する場合、優先度中である「外部通信(中継無)」のアドレス又は優先度低である「外部通信(中継有)」のアドレスを用いてP2P通信が確立される。優先度中である「外部通信(中継無)」のアドレス又は優先度低である「外部通信(中継有)」のアドレスのうちどちらのアドレスにてP2P通信が確立できるかは、NATの仕様に依存する。なお、「内部通信」を優先度高とし、「外部通信(中継無)」を優先度中にし、「外部通信(中継有)」を優先度低にすることは、ICE手順で予め規定されている。
ここで、実施の形態に係る通信システムの動作概要について簡単に説明する。通信制御装置10は、端末30からシグナリング信号を受信すると、端末30に対して予め設定されている権限情報を用いて、端末30が「通信方法1」〜「通信方法3」のうち、どの通信方法でP2P通信を行うことを許可されているかを確認する。例えば、「通信方法1」の手順のみが許可されている場合、通信制御装置10は、シグナリング信号に含まれる「通信方法2」及び「通信方法3」に対応するIPアドレスを削除するか、又はシグナリング信号に含まれる「通信方法2」及び「通信方法3」に対応するIPアドレスを含むシグナリング信号を中継せずに破棄する。これにより、端末30は、「通信方法2」及び「通信方法3」によるP2P通信を確立することができなくなる。同様に、例えば「通信方法3」の手順のみが許可されている場合、通信制御装置10は、シグナリング信号に含まれる「通信方法1」及び「通信方法2」に対応するIPアドレスを削除するか、又は、「通信方法1」及び「通信方法2」に対応するIPアドレスを含むシグナリング信号を中継せずに破棄する。これにより、端末30は、「通信方法1」及び「通信方法2」によるP2P通信を確立することができなくなる。
また、通信制御装置10は、端末30の間で「通信方法3」による通信を許可する場合、必要に応じて、中継装置20に対して端末30の間で行われるP2P通信を記録するように指示する。
また、通信制御装置10は、端末30からシグナリング信号を受信すると、通信制御装置10が予め保持している通信先許可情報と受信したシグナリング信号とを比較し、シグナリング信号に通信が許可されていない宛先のアドレスが含まれている場合は、当該アドレスを削除するか、又は当該アドレスを含むシグナリング信号を中継せずに破棄する。これにより、端末30は、許可されていない宛先の端末30とP2P通信を確立することができなくなる。
すなわち、本実施の形態に係る通信システムは、WebRTCにより行われるシグナリング信号を通信制御装置10で書き換える、又は破棄することで、端末30の間で行われるP2P通信を様々に制御することができる。
<ハードウェア構成>
図2は、実施の形態に係る通信制御装置のハードウェア構成の一例を示す図である。実施の形態に係る通信制御装置10は、CPU101と、ROM102と、RAM103と、HDD104と、操作部105と、表示部106と、ドライブ装置107と、NIC(Network Interface card)108とを有する。
CPU101は、通信制御装置10の全体制御を行うプロセッサである。CPU101は、HDD104等に記憶されたオペレーティングシステム、アプリケーション、各種サービス等のプログラムを実行し、通信制御装置10の各種機能を実現する。ROM102には、各種のプログラムやプログラムによって利用されるデータ等が記憶される。RAM103は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。HDD104には、各種情報及びプログラム等が記憶される。
操作部105は、ユーザからの入力操作を受け付けるためのハードウェアであり、例えばキーボード又はマウスである。表示部106は、ユーザに向けた表示を行うハードウェアである。
ドライブ装置107は、プログラムを記録した記憶媒体109からプログラムを読み取る。ドライブ装置107によって読み取られたプログラムは、例えば、HDD104にインストールされる。NIC108は、通信制御装置10をネットワークに接続し、データの送受信を行うための通信インタフェースである。
なお、記憶媒体109とは、非一時的(non-transitory)な記憶媒体を言う。記憶媒体109の例としては、磁気記憶媒体、光ディスク、光磁気記憶媒体、不揮発性メモリなどがある。
中継装置20のハードウェア構成は、例えば図2と同一であるため説明は省略する。
なお、通信制御装置10及び中継装置20に用いるハードウェアリソースとして、例えばクラウドサービスにより提供されるハードウェアリソースを用いるようにしてもよい。
<ソフトウェア構成>
(通信制御装置)
図3は、実施の形態に係る通信制御装置のソフトウェア構成の一例を示す図である。実施の形態に係る通信制御装置10は、記憶手段201と、通信手段202と、通信方法制限手段203と、通信先判定手段204と、指示手段205とを有する。
記憶手段201は、RAM103、HDD104、又は通信制御装置10にネットワークを介して接続される記憶装置等を用いて実現可能である。記憶手段201は、端末30に許可する通信方法を示す権限情報と、端末30に通信を許可する相手先のアドレスを示す通信先許可情報とを記憶する。
通信手段202は、NIC108を介して、中継装置20又は端末30と通信を行う。
通信方法制限手段203は、端末30からシグナリング信号を受信すると、権限情報に基づいて、内部通信、外部通信(中継無)、及び外部通信(中継有)のうち、どの通信方法を端末30に許可するかを判断する。また、通信方法制限手段203は、判断結果に基づきシグナリング信号を書き換えて、書き換えたシグナリング信号を端末30に送信するか、又は、判断結果に基づきシグナリング信号を端末30に送信せずに破棄する。
通信先判定手段204は、端末30からシグナリング信号を受信すると、通信先許可情報に基づいて、端末30がP2P通信を行おうとしている通信相手が許可された通信相手であるかを判断する。許可されていない通信相手とP2P通信を行おうとしている場合、通信先判定手段204は、書き換えたシグナリング信号を端末30に送信するか、又はシグナリング信号を端末30に送信せずに破棄する。
指示手段205は、権限情報に基づき、指定された端末30の間で行われるP2P通信を記録(キャプチャ)させるように中継装置20に対して指示する。
図4は、権限情報テーブル及び通信先許可情報テーブルの一例を示す図である。図4(a)に示す権限情報は、端末識別子と、内部通信フラグと、外部通信(中継無)フラグと、外部通信(中継有)フラグとを有する。
端末識別子は、通信制御装置10が端末30を一意に識別するための識別子である。
内部通信フラグは、ICE手順における内部通信を許可するか否かを示すフラグであり、「○」は内部通信によるP2P通信を許可し、「×」は内部通信によるP2P通信を許可しないことを表す。
外部通信(中継無)フラグは、ICE手順における外部通信(中継無)を許可するか否かを示すフラグであり、「○」は外部通信(中継無)によるP2P通信を許可し、「×」は外部通信(中継無)によるP2P通信を許可しないことを表す。
外部通信(中継有)フラグは、ICE手順における外部通信(中継有)を許可するか否かを示すフラグであり、「○」は外部通信(中継有)によるP2P通信を許可し、「×」は外部通信(中継有)によるP2P通信を許可しないことを表す。
図4(b)に示す通信先許可情報は、アドレス種別と、アドレス情報とを有する。アドレス種別は、通信先として許可されている通信相手の種別が設定される。アドレス種別に「通信先端末」が設定されている場合、アドレス情報に設定されるアドレスは、P2P通信の通信先として許可されている端末30のアドレスであることを示す。アドレス種別に「中継装置」が設定されている場合、アドレス情報に設定されるアドレスは、接続が許可されている中継装置20のアドレスであることを示す。図4(b)の例では、アドレス種別が「通信先端末」のレコードに「192.168.1.*」が設定されている。これは、通信相手の端末30のIPアドレスが192.168.1.*のアドレス(*は任意の数字を表す)である場合にのみP2P通信が許可され、これ以外のIPアドレスを有する端末30へのP2P通信は許可されないことを示している。また、アドレス種別「中継装置」のレコードに「192.0.2.15」が設定されている。これは、P2P通信の中継に用いられる中継装置20のIPアドレスが192.168.2.15である場合にのみ外部通信(中継有)の通信方法によるP2P通信が許可されることを示している。
なお、通信先許可情報テーブルは、複数のIPアドレスを設定可能にしてもよいし、IPアドレスの範囲を設定可能にしてもよい。
(中継装置)
図5は、実施の形態に係る中継装置のソフトウェア構成の一例を示す図である。実施の形態に係る中継装置20は、記憶手段301と、中継手段302と、通信記録手段303とを有する。
記憶手段301は、RAM103、HDD104、又は中継装置20にネットワークを介して接続される記憶装置等を用いて実現可能である。記憶手段301は、中継装置20が中継するP2P通信のキャプチャデータである通信記録情報を格納する。
中継手段302は、端末30の間で行われるP2P通信を中継する。
通信記録手段303は、通信制御装置10からの指示を受けて、端末30の間で行われるP2P通信をキャプチャし、記憶手段301に格納する。
<処理手順>
(通信制御装置の処理の流れ)
図6は、実施の形態に係る通信制御装置の処理手順の一例を示すフローチャートである。通信制御装置10は、図6の処理手順により、端末30の間で送受信されるシグナリング信号を書き換える、又は破棄することで、端末30の間で行われるP2P通信の通信方法を制御する。
ステップS401で、通信方法制限手段203は、端末30からシグナリング信号を受信すると、当該シグナリング信号に含まれる、シグナリング信号の送信元端末の端末識別子と、シグナリング信号の送信先端末の端末識別子とを抽出し、権限情報テーブルのレコードのうち、抽出したそれぞれの端末識別子のレコードに含まれる各種フラグ(内部通信フラグ、外部通信(中継無)フラグ、外部通信(中継有)フラグ)を取得する。
続いて、通信方法制限手段203は、抽出したそれぞれの各種フラグから、P2P通信を行う端末30の各々に許可すべき通信方法を判断する。なお、シグナリング信号の送信元端末30の端末識別子に対応する各種フラグと、シグナリング信号の送信先端末30の端末識別子に対応する各種フラグとが一致しているとは限らない。例えば、端末30aには全ての通信方法が許可されているのに対して、通信相手の端末30bには内部通信しか許可されていない場合もあり得る。この場合、通信方法制限手段203は、端末30bに対しても端末30aと同様に全ての通信方法を許可してもよいし、逆に、端末30aに対しても端末30bと同様に内部通信しか許可しないようにしてもよい。
ステップS402で、通信方法制限手段203は、端末30から受信したシグナリング信号に含まれる各通信方法に対応するIPアドレスのうち、許可されていない通信方法に対応するIPアドレスを削除するか、又は許可されていない通信方法に対応するIPアドレスが含まれているシグナリング信号を端末30に送信せずに破棄する。
ステップS403で、通信先判定手段204は、ステップS401で受信したシグナリング信号に含まれている、「内部通信」に使用される端末30のIPアドレス、及び「外部通信(中継有)」に使用される中継装置20の中継用IPアドレスが、通信先許可情報のレコードに含まれているかを判定する。これらのIPアドレスのうち、少なくともいずれかのIPアドレスが通信先許可情報のレコードに含まれていない場合、通信先判定手段204は、これらのIPアドレスは許可されている通信先ではないと判断してステップS404の処理手順に進む。これらのIPアドレスが通信先許可情報のレコードに含まれている場合、通信先判定手段204は、これらのIPアドレスは許可されている通信先であると判断してステップS405の処理手順に進む。
ステップS404で、通信先判定手段204は、「内部通信」に使用される端末30のIPアドレスが許可されている通信先ではない場合、ステップS401で受信したシグナリング信号に含まれる「内部通信」に使用される端末30のIPアドレス、外部通信(中継無)に使用されるNAT変換後の端末30のIPアドレス、及び「外部通信(中継有)」に使用される中継装置20の中継用IPアドレスを削除するか、又はステップS401で受信したシグナリング信号に含まれる「内部通信」に使用される端末30のIPアドレス、外部通信(中継無)に使用されるNAT変換後の端末30のIPアドレス、及び「外部通信(中継有)」に使用される中継装置20の中継用IPアドレスを含むすべてのシグナリング信号を端末30に送信せずに破棄する。これらすべてのIPアドレスを削除、又はすべてのシグナリング信号を破棄するのは、「内部通信」に使用される端末30のIPアドレスのみを削除、又は「内部通信」に使用される端末30のIPアドレスを含むシグナリング信号だけを破棄しても、外部通信(中継無)の通信方法又は「外部通信(中継有)」の通信方法を用いてP2P通信を確立できてしまうことを防ぐためである。
また、通信先判定手段204は、「外部通信(中継有)」に使用される中継装置20の中継用IPアドレスが許可されている通信先ではない場合、「外部通信(中継有)」に使用される中継装置20の中継用IPアドレスを削除、又は「外部通信(中継有)」に使用される中継装置20の中継用IPアドレスを含むシグナリング信号を端末30に送信せずに破棄する。
ステップS405で、指示手段205は、ステップS401で「外部通信(中継有)」の通信方法が許可されている場合、通信記録が必要であると判断してステップS406の処理手順に進み、ステップS401で「外部通信(中継有)」が許可されていない場合は処理を終了する。
ステップS406で、指示手段205は、中継装置20に対して、端末30の間で行われるP2P通信を記録(キャプチャ)させるように中継装置20に指示する。
なお、通信制御装置10は、処理手順に矛盾が無い限り、必要に応じて上記S401〜S406の処理手順の一部を省略するようにしてもよい。例えば、通信制御装置10は、ステップS401及びステップS402の処理手順のみを行うようにしてもよいし、ステップS401、ステップS402、ステップS405及びステップS406の処理手順のみを行うようにしてもよい。また、通信制御装置10は、ステップS403及びステップS404の処理手順のみを行うようにしてもよいし、ステップS405及びステップS406の処理手順のみを行うようにしてもよい。また、通信制御装置10は、シグナリング信号を送受信する端末30の端末識別子によって、上記S401〜S406の処理手順の一部を省略するのか否かを判断するようにしてもよい。図6の処理手順を様々に組み合わせることで、本実施の形態に係る通信制御装置10は、端末30の間で行われる通信方法を様々な方法で制御することができる。
(通信システムの全体処理シーケンス)
図7は、実施の形態に係る通信システムの処理手順の一例を示すシーケンス図である。図7は、端末30aから端末30bに対してP2P通信の開始を要求する場合の処理手順を示している。
ステップS501で、端末30aは、ICEの規定に従ってアドレスの候補を収集する。アドレスの候補は、内部通信に使用される端末30a自身のIPアドレス及びポート番号、外部通信(中継無)に使用されるNAT変換後の端末30a自身のIPアドレス及びポート番号、及び外部通信(中継有)に使用される中継装置20の中継用IPアドレス及びポート番号である。端末30aは、NAT変換後の端末30a自身のIPアドレス及びポート番号を、STUNサーバに問い合わせすることで収集する。また、端末30aは、外部通信(中継有)に使用される中継装置20の中継用IPアドレス及びポート番号を、中継装置20に問い合わせることで収集する。なお、端末30aが問い合わせるSTUNサーバ及び中継装置20の宛先は、Webブラウザ上で動作するクライアントモジュールに予め設定されている。
ステップS502で、端末30aは、シグナリング信号である通信要求を通信制御装置10に送信する。
図8は、シグナリング信号の一例を示す図である。図8(a)は、ステップS502で端末30aから端末30bに向けて送信されるシグナリング信号の一例である。図8(a)に示すように、通信要求には、シグナリング信号の送信元である端末30aの端末識別子(A)と、シグナリング信号の送信先である端末30bの端末識別子(B)と、ステップS501で収集したIPアドレス及びポート番号が記載されたSDP offerとが含まれている。
ステップS503で、通信制御装置10の通信方法制限手段203は、図7のステップS401〜ステップS402の処理手順に従って処理を行い、許可しない通信方法がある場合はSDP offerに含まれるIPアドレスを削除する。また、通信制御装置10の通信先判定手段204は、接続先制限情報に含まれていないIPアドレスがある場合は、図7のステップS403〜ステップS404の処理手順に従ってSDP offerに含まれるアドレスを削除する。
ステップS504で、通信制御装置10の通信手段202は、アドレスが削除されたSDP offerを含む通信要求を端末30bに送信する。
ステップS505で、端末30bは、ICEの規定に従ってアドレスの候補を収集する。アドレスの候補は、内部通信に使用される端末30b自身のIPアドレス及びポート番号、外部通信(中継無)に使用されるNAT変換後の端末30b自身のIPアドレス及びポート番号、及び外部通信(中継有)に使用される中継装置20の中継用IPアドレス及びポート番号である。端末30bは、NAT変換後の端末30b自身のIPアドレス及びポート番号を、STUNサーバに問い合わせすることで収集する。また、端末30bは、外部通信(中継有)に使用される中継装置20の中継用IPアドレス及びポート番号を、中継装置20に問い合わせることで収集する。なお、端末30bが問い合わせるSTUNサーバ及び中継装置20の宛先は、Webブラウザ上で動作するクライアントモジュールに予め設定されている。
ステップS506で、端末30bは、通信要求応答であるシグナリング信号を通信制御装置10に送信する。ここで、図8(b)は、端末30aから端末30bに向けて送信されるシグナリング信号の一例である。図8(b)に示すように、通信要求には、シグナリング信号の送信元である端末30bの端末識別子(B)と、シグナリング信号の送信先である端末30aの端末識別子(A)と、ステップS505で収集したIPアドレス及びポート番号が記載されたSDP answerとが含まれている。
ステップS507で、通信制御装置10の通信方法制限手段203は、図7のステップS401〜ステップS402の処理手順に従って処理を行い、許可しない通信方法がある場合はSDP answerに含まれるアドレスを削除する。また、通信制御装置10の通信先判定手段204は、接続先制限情報に含まれていないIPアドレスがある場合は、図7のステップS403〜ステップS404の処理手順に従ってSDP answerに含まれるIPアドレスを削除する。なお、通信制御装置10の通信方法制限手段203は、ステップS503で許可しないと判断した通信方法と同一の通信方法に対応するIPアドレスを削除する。
ステップS508で、通信制御装置10の指示手段205は、ステップS503及びステップS507の処理手順において、外部通信(中継有)の通信方法が許可されている場合、図6のステップS405及びステップS406の処理手順に従い、中継装置20に通信記録指示を送信する。通信記録指示には、ステップS502で受信したSDP offer及びステップS506で受信したSDP answerに含まれている中継装置20の中継用IPアドレス及びポート番号が含まれている。これは、指示手段205が、中継装置20に対してどの端末30間で行われるP2P通信を記録させるのかを伝えるためである。
なお、指示手段205は、ステップS503及びステップS507の処理手順において、外部通信(中継有)の通信方法のみが許可される場合に、ステップS508の処理手順を行うようにしてもよい。外部通信(中継有)の通信方法によりP2P通信が確立されるのか、他の通信方法でP2P通信が確立されるのかについては、端末30a及び端末30bの間で決定されるため、通信記録指示が無駄になる可能性があるためである。
ステップS509で、通信制御装置10の通信手段202は、アドレスが削除されたSDP answerを含む通信要求応答を端末30aに送信する。
ステップS510で、端末30a及び端末30bは、シグナリング信号により交換された各通信方法に対応するアドレスに対して、優先度順にパケットを送信し合うことでネゴシエーションを行い、P2P通信を確立する。なお、削除されたアドレスに対してパケットが送信されることはないため、端末30a及び端末30bはネゴシエーションに失敗する。一方、削除されていないアドレスに対してパケットが送信された場合は、NAT処理によりパケットが破棄されない限り相手の端末30に届くことになるため、端末30a及び端末30bはネゴシエーションに成功することになる。すなわち、端末30a及び端末30bは、アドレスが削除されていない通信方法又は通信相手との間でのみP2P通信を確立できることになる。
以上、通信システムの全体処理シーケンスについて説明したが、実施の形態に係る通信システムは、Tricle ICEと呼ばれる通信方法により、端末30a及び端末30bの間で、内部通信、外部通信(中継無)及び外部通信(中継有)の通信方法に対応するアドレスを相互に交換するようにしてもよい。
Tricle ICEの通信方法が用いられる場合、まず、端末30aは、アドレスを含まないSDP offerを、通信制御装置10を介して端末30bに送信すると共に、並行して内部通信、外部通信(中継無)及び外部通信(中継有)の通信方法に対応するアドレスの収集を行う。同様に、端末30bは、アドレスを含まないSDP answerを、通信制御装置10を介して端末30aに送信すると共に、並行して内部通信、外部通信(中継無)及び外部通信(中継有)の通信方法に対応するアドレスの収集を行う。
続いて、端末30aは、内部通信、外部通信(中継無)及び外部通信(中継有)の通信方法に対応するアドレスのうちいずれかのアドレスを収集した時点で、収集したアドレスを含むシグナリング信号を、その都度通信制御装置10を介して端末30bに送信する。同様に、端末30bも、内部通信、外部通信(中継無)及び外部通信(中継有)の通信方法に対応するアドレスのうちいずれかのアドレスを収集した時点で、収集したアドレスを含むシグナリング信号を、その都度通信制御装置10を介して端末30aに送信する。
Tricle ICEの通信方法により、端末30a及び端末30bの間でその都度アドレスが交換される場合、通信制御装置10の通信方法制限手段203又は通信先判定手段204は、端末30aと端末30bとの間で送受信されるシグナリング信号に許可しない通信方法又は接続先制限情報に含まれていないIPアドレスが含まれている場合、当該シグナリング信号を破棄するようにする。
これにより、許可されていない通信方法又は接続先制限情報に含まれていないIPアドレスを含むシグナリング信号は通信制御装置10で破棄されるため、端末30a及び端末30bは、シグナリング信号を受信できた通信方法又は通信相手との間でのみP2P通信を確立できることになる。
<効果>
以上、実施の形態に係る通信制御装置10は、端末30ごとに対応づけられた権限情報に基づいて、端末30の間で送受信されるシグナリング信号に含まれるアドレスを削除、又はシグナリング信号を破棄することで、端末30の間で行われるP2P通信の通信方法を制御するようにした。これにより、実施の形態に係る通信制御装置10は、端末30の間で行われるP2P通信を柔軟に制御することが可能になる。
また、実施の形態に係る通信制御装置10は、端末識別子ごとに権限情報を記憶するようにしたことで、端末30ごとに通信先を制御することができる。これにより、端末の利用者の役職によって許可する通信方法を変えるというような柔軟な運用が可能になる。
また、実施の形態に係る通信制御装置10は、必要に応じて、中継装置20に対してP2P通信を記録させるように指示するようにした。これにより、例えば、企業内の端末30が行うP2P通信の内容は全て記録しておくというような運用を行うことが可能になる。
また、実施の形態に係る通信制御装置10は、通信先許可情報に基づいて、端末30間で送受信されるシグナリング信号に含まれるアドレスを削除、又はシグナリング信号を破棄することで、端末30がP2P通信を行おうとする相手を制限できるようにした。これにより、社外の端末30との間でP2P通信が行われることを禁止するといった運用が可能になり、セキュリティを強化することが可能になる。また、信頼された中継装置20を介してのみP2P通信を許可するといった運用が可能になり、悪意のある中継装置20で通信内容が傍受されるといったセキュリティリスクを減らすことが可能になる。
<実施形態の補足>
なお、本実施の形態において、端末識別子は、例えば端末30を利用する利用者の利用者IDであってもよい。
なお、本実施の形態において、通信制御装置は、通信先許可情報と端末識別子(又は利用者ID)とを対応づけて記憶するようにしてもよい。また、通信先判定手段204は、シグナリング信号に含まれる信号送信元の端末識別子及び信号送信先の端末識別子に対応する通信先許可情報に基づいて、シグナリング信号に含まれるIPアドレスを削除、又はシグナリング信号を破棄するようにしてもよい。これにより、端末30ごとに通信先を制御することが可能になり、端末の利用者の役職によって許可する通信方法を変えるというような柔軟な運用を行うことができる。
なお、本実施の形態において、通信先許可情報には、端末30の通信先として許可されているアドレスを格納(ホワイトリスト方式)するようにしたが、端末30の通信先として許可されていないアドレスを格納(ブラックリスト方式)するようにしてもよい。ブラックリスト方式の場合、図6のステップS403で、通信先判定手段204は、ステップS401で受信したシグナリング信号に含まれている、「内部通信」に使用される端末30のIPアドレス、及び「外部通信(中継有)」に使用される中継装置20の中継用IPアドレスが、通信先許可情報のレコードに含まれているかを判定するように動作する。また、これらのIPアドレスのうち、少なくともいずれかのIPアドレスが通信先許可情報のレコードに含まれている場合、通信先判定手段204は、これらのIPアドレスは許可されている通信先ではないと判断してステップS404の処理手順に進むように動作する。また、これらのIPアドレスが通信先許可情報のレコードに含まれていない場合、通信先判定手段204は、これらのIPアドレスは許可されている通信先であると判断してステップS405の処理手順に進むようにする。
以上、本発明は実施の形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。
以上、上記実施の形態で述べたシーケンス及びフローチャートは、矛盾の無い限り順序を入れ替えてもよい。
以上、上記実施の形態の全部又は一部は、プログラムによって実装され得る。このプログラムは、記憶媒体に格納することができる。
なお、通信手段202は、受信手段の一例である。また、通信先判定手段204は、制御手段の一例である。また、通信先許可情報は、通信先情報の一例である。また、IPアドレス及びポート番号は、アドレス情報の一例である。
10 通信制御装置
20 中継装置
30 端末
201、301 記憶手段
202 通信手段
203 通信方法制限手段
204 通信先判定手段
205 指示手段
302 中継手段
303 通信記録手段

Claims (6)

  1. 端末と、前記端末が行うP2P通信を中継する中継装置とネットワークを介して接続され、前記端末が行う通信を制御する通信制御装置であって、
    前記端末に許可される通信先を含む通信先情報を記憶する記憶手段と、
    前記端末から、前記端末が前記P2P通信を開始する際に送信するシグナリング信号を受信する受信手段と、
    前記通信先情報と前記シグナリング信号とに基づいて、前記P2P通信を許可するか否かを制御する制御手段と、
    を有する通信制御装置。
  2. 前記通信先情報は、前記端末に許可される通信先のアドレス情報又は前記中継装置のアドレス情報を含み、
    前記制御手段は、前記シグナリング信号に含まれる通信先のアドレス情報と、前記通信先情報に含まれるアドレス情報とを比較することで、前記P2P通信を許可するか否かを制御する、請求項1に記載の通信制御装置。
  3. 前記制御手段は、前記P2P通信を許可しない場合、前記シグナリング信号に含まれる通信先のアドレス情報を削除、又は前記シグナリング信号を破棄することで、前記P2P通信を許可しないように制御する、請求項1又は2に記載の通信制御装置。
  4. 前記シグナリング信号は、WebRTCの通信手段によりP2P通信を確立するために用いられる信号である、請求項1乃至3のいずれか一項に記載の通信制御装置。
  5. 端末と、前記端末が行うP2P通信を中継する中継装置とネットワークを介して接続され、前記端末が行う通信を制御する通信制御装置における通信制御方法であって、
    前記端末に許可される通信先を含む通信先情報を記憶手段に記憶する記憶ステップと、
    前記端末から、前記端末が前記P2P通信を開始する際に送信するシグナリング信号を受信する受信ステップと、
    前記通信先情報と前記シグナリング信号とに基づいて、前記P2P通信を許可するか否かを制御する制御ステップと、
    を有する通信制御方法。
  6. 端末と、前記端末が行うP2P通信を中継する中継装置とネットワークを介して接続され、前記端末が行う通信を制御する通信制御装置における通信制御プログラムであって、
    通信制御装置に、
    前記端末に許可される通信先を含む通信先情報を記憶手段に記憶する記憶ステップと、
    前記端末から、前記端末が前記P2P通信を開始する際に送信するシグナリング信号を受信する受信ステップと、
    前記通信先情報と前記シグナリング信号とに基づいて、前記P2P通信を許可するか否かを制御する制御ステップと、
    を実行させるための通信制御プログラム。
JP2015015904A 2015-01-29 2015-01-29 通信制御装置、通信制御方法及び通信制御プログラム Active JP5937709B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015015904A JP5937709B1 (ja) 2015-01-29 2015-01-29 通信制御装置、通信制御方法及び通信制御プログラム
PCT/JP2016/052519 WO2016121881A1 (ja) 2015-01-29 2016-01-28 通信制御装置、通信制御方法及び通信制御プログラム
EP16743484.4A EP3253004B1 (en) 2015-01-29 2016-01-28 Communication control device, communication control method, and communication control program
US15/546,367 US10542082B2 (en) 2015-01-29 2016-01-28 Communication control apparatus, communication control method and communication control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015015904A JP5937709B1 (ja) 2015-01-29 2015-01-29 通信制御装置、通信制御方法及び通信制御プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016096380A Division JP6426118B2 (ja) 2016-05-12 2016-05-12 中継装置、中継方法及び中継プログラム

Publications (2)

Publication Number Publication Date
JP5937709B1 true JP5937709B1 (ja) 2016-06-22
JP2016143076A JP2016143076A (ja) 2016-08-08

Family

ID=56184688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015015904A Active JP5937709B1 (ja) 2015-01-29 2015-01-29 通信制御装置、通信制御方法及び通信制御プログラム

Country Status (1)

Country Link
JP (1) JP5937709B1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112534475B (zh) 2018-05-17 2023-01-10 奈安蒂克公司 深度估计系统的自我监督训练
US11077365B2 (en) * 2018-06-27 2021-08-03 Niantic, Inc. Low latency datagram-responsive computer network protocol
EP3918579A4 (en) 2019-02-25 2022-04-13 Niantic, Inc. AUGMENTED REALITY MOBILE EDGE COMPUTATION
US11044462B2 (en) 2019-05-02 2021-06-22 Niantic, Inc. Self-supervised training of a depth estimation model using depth hints
JP6860176B2 (ja) * 2019-07-02 2021-04-14 Necプラットフォームズ株式会社 接続制御装置、接続制御方法及び接続制御プログラム
WO2021124291A1 (en) 2019-12-20 2021-06-24 Niantic, Inc. Data hierarchy protocol for data transmission pathway selection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180003A (ja) * 2002-11-27 2004-06-24 Kitt Peak:Kk 通信ネットワークシステムおよび通信の接続方法
JP2011188358A (ja) * 2010-03-10 2011-09-22 Panasonic Corp Vpn装置及びip通信装置
WO2013145522A1 (ja) * 2012-03-28 2013-10-03 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180003A (ja) * 2002-11-27 2004-06-24 Kitt Peak:Kk 通信ネットワークシステムおよび通信の接続方法
JP2011188358A (ja) * 2010-03-10 2011-09-22 Panasonic Corp Vpn装置及びip通信装置
WO2013145522A1 (ja) * 2012-03-28 2013-10-03 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016013334; 泉水 翔吾 Shogo SENSUI: 'Webフロントエンド最前線 流行に踊らされない技術動向 第1回' WEB+DB PRESS Vol.81 第81巻, 20140725, 第110-117頁, (株)技術評論社 *

Also Published As

Publication number Publication date
JP2016143076A (ja) 2016-08-08

Similar Documents

Publication Publication Date Title
JP5937709B1 (ja) 通信制御装置、通信制御方法及び通信制御プログラム
US10506036B2 (en) System and method for shared session appearance in a hybrid peer-to-peer environment
US9497127B2 (en) System and method for a reverse invitation in a hybrid peer-to-peer environment
CA2792634C (en) System and method for providing a virtual peer-to-peer environment
CN108141409B (zh) 通信系统、地址通知装置、通信控制装置、终端、通信方法以及程序
WO2011071190A2 (en) Networking method of communication apparatus, communication apparatus and storage medium
JP6200033B2 (ja) 中継装置、中継方法及び中継プログラム
JP5937708B1 (ja) 通信制御装置、通信制御方法及び通信制御プログラム
JP6048129B2 (ja) 通信システムと装置と方法とプログラム
JP6426118B2 (ja) 中継装置、中継方法及び中継プログラム
WO2016121881A1 (ja) 通信制御装置、通信制御方法及び通信制御プログラム
JP4372629B2 (ja) Fw制御を行うsip通信制御装置およびそのfw制御方法
JP4470641B2 (ja) Vpn管理サーバ、vpn設定システム、方法及びvpn管理サーバ用プログラム
JP6755171B2 (ja) 接続切り替えシステム、接続切り替え方法、および、接続先装置
JP5233905B2 (ja) 通信制御装置
CN115603930A (zh) 一种访问系统的方法、装置及存储介质
JP2008211480A (ja) ネットワーク通信方法及びそのシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160307

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160307

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160331

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160512

R150 Certificate of patent or registration of utility model

Ref document number: 5937709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250