(57)【特許請求の範囲】
【請求項１】
配信先装置がサーバ装置からデータを受信する際に送信した、通信の暗号化の開始を要求する要求通信からサーバ情報を検出するサーバ情報検出部と、
前記サーバ情報に対応するドメイン名を検出するドメイン名検出部と、
前記サーバ装置から前記配信先装置へ送信される前記データの、前記検出したドメイン名に応じた、単位時間当たりの転送量のデータ通信規制を行う規制部と、
を備える通信装置。
【請求項２】
前記サーバ情報検出部は、前記要求通信であってＳＳＬ（Secure Sockets Layer）／ＴＬＳ（Transport Layer Security）通信に含まれる前記サーバ情報を示すServer Name Indicationの情報を検出し、
前記ドメイン名検出部は、前記Server Name Indicationの情報に対応する前記ドメイン名を検出する
請求項１に記載の通信装置。
【請求項３】
前記ＳＳＬ（Secure Sockets Layer）／ＴＬＳ（Transport Layer Security）通信の開始から前記Server Name Indicationの情報の取得までの間のネゴシエーションで発生した各コネクションの信号をバッファリングするバッファリング部と、
を備える請求項２に記載の通信装置。
【請求項４】
前記規制部は、前記要求通信に基づいて、前記サーバ装置から前記配信先装置へ送信されるデータを中継する際の前記データの単位時間当たりの転送量を抑制する
請求項１から請求項３の何れか一項に記載の通信装置。
【請求項５】
通信装置が、
配信先装置がサーバ装置からデータを受信する際に送信した、通信の暗号化の開始を要求する要求通信からサーバ情報を検出し、
前記サーバ情報に対応するドメイン名を検出し、
前記サーバ装置から前記配信先装置へ送信される前記データの、前記検出したドメイン名に応じた、単位時間当たりの転送量のデータ通信規制を行う
通信方法。
【請求項６】
通信装置のコンピュータに、
配信先装置がサーバ装置からデータを受信する際に送信した、通信の暗号化の開始を要求する要求通信からサーバ情報を検出し、
前記サーバ情報に対応するドメイン名を検出し、
前記サーバ装置から前記配信先装置へ送信される前記データの、前記検出したドメイン名に応じた、単位時間当たりの転送量のデータ通信規制を行う、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法、プログラムに関する。
【背景技術】
【０００２】
近年、サーバ装置と端末との間のデータ通信は暗号化されていることが多い。このような状況において、サーバ装置から端末へ送信されるデータのうち特定のデータについてのみ、単位時間当たりの転送量を制御することが求められている。なお関連する技術として、暗号化通信であるＳＳＬ（Secure Sockets Layer）通信の情報を用いる技術が特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１５−５１３８１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そこでこの発明は、上述の課題を解決する通信装置、通信方法、プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
本発明の第１の態様によれば、通信装置は、配信先装置がサーバ装置からデータを受信する際に送信した、通信の暗号化の開始を要求する要求通信からサーバ情報を検出するサーバ情報検出部と、前記サーバ情報に対応するドメイン名を検出するドメイン名検出部と、前記サーバ装置から前記配信先装置へ送信される前記データの、前記検出したドメイン名に応じた、単位時間当たりの転送量のデータ通信規制を行う規制部と、を備える。
【０００６】
本発明の第２の態様によれば、通信方法は、通信装置が、配信先装置がサーバ装置からデータを受信する際に送信した、通信の暗号化の開始を要求する要求通信からサーバ情報を検出し、前記サーバ情報に対応するドメイン名を検出し、前記サーバ装置から前記配信先装置へ送信される前記データの、前記検出したドメイン名に応じた、単位時間当たりの転送量のデータ通信規制を行う。
【０００７】
本発明の第３の態様によれば、プログラムは、通信装置のコンピュータに、配信先装置がサーバ装置からデータを受信する際に送信した、通信の暗号化の開始を要求する要求通信からサーバ情報を検出し、前記サーバ情報に対応するドメイン名を検出し、前記サーバ装置から前記配信先装置へ送信される前記データの、前記検出したドメイン名に応じた、単位時間当たりの転送量のデータ通信規制を行う、処理を実行させる。
【発明の効果】
【０００８】
本発明によれば、暗号化されるデータ通信を用いて特定のデータを識別してそのデータ通信についての転送制御を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態による通信装置を含む通信システムの構成を示すブロック図である。
【図２】本実施形態による通信装置のハードウェア構成図である。
【図３】本実施形態による通信装置の機能ブロック図である。
【図４】本実施形態による通信装置の処理フローを示す図である。
【図５】Server Name IndicationとCommon Nameとの対応関係を示す図である。
【図６】本実施形態の通信装置の最少構成を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態による通信装置を図面を参照して説明する。
図１は本実施形態による通信装置を含む通信システムの構成を示すブロック図である。
この図で示すように通信システム１００は、通信装置１、端末２（配信先装置）、サーバ装置３を含んで構成される。通信装置１と端末２とはインターネット網に繋がる第一ネットワークを介して接続される。通信装置１とサーバ装置３とはインターネット網に繋がる第二ネットワークを介して接続される。第一ネットワークと第二ネットワークとは通信装置１が配置された屋内ネットワークであってよい。第一ネットワークや第二ネットワークは図示しないゲートウェイ装置などを介してインターネット網に接続されている。図１においては説明の便宜上、通信装置１と端末２とが接続されるネットワークと、通信装置とサーバ装置３とが接続されるネットワークを分けて表記している。
【００１１】
図２は本実施形態による通信装置のハードウェア構成図である。
図２で示すように通信装置１は、ＣＰＵ（Central Processing Unit）１１，ＲＡＭ（Random Access Memory）１２、ＲＯＭ(Read Only Memory)１３、ＳＳＤ（Solid State Drive）１４、通信モジュール１５などを備えてよい。通信装置１はこのような各機能を備えたコンピュータである。例えば通信装置１はルータ、中継サーバなどであってよい。
【００１２】
図３は本実施形態による通信装置の機能ブロック図である。
通信装置１のＣＰＵ１１（図２）は起動することによりＲＯＭ１３（図２）等に格納されている転送制御プログラムを実行する。これにより通信装置１には、通信制御部１１１、バッファリング部１１２、サービス管理部１１３、サーバ情報検出部１１４、ドメイン名検出部１１５、及び、規制部１１６の各機能を備える。
【００１３】
通信制御部１１１は、第一ネットワークまたは第二ネットワークを介して接続される他装置との通信を制御する。通信制御部１１１は、端末２から受信したＳＳＬ（Secure Sockets Layer）／ＴＬＳ（Transport Layer Security）の通信信号等をバッファリング部１１２へ出力する。また通信制御部１１１はプロキシサーバの機能を有する。通信制御部１１１は、第一ネットワーク及び第二ネットワークと接続する。
バッファリング部１１２は、ＳＳＬ／ＴＬＳ通信の開始からサーバーネームインディケーション（以下、Server Name Indicationと称する）の情報を取得できるまでの間の他装置との間のネゴシエーション通信で発生する各コネクションのデータをバッファリングする。
サービス管理部１１３は、受信した信号を解析して以降の処理制御に関する判定を行う処理部である。具体的にはサービス管理部１１３は通信に基づいて要求されているサービスの判定やＳＳＬの解析などを行う。
サーバ情報検出部１１４は、端末２がサーバ装置３からデータを受信する際に送信した、通信の暗号化の開始を要求する要求通信からサーバ情報を検出する。具体的には、サーバ情報検出部１１４は、バッファリング部１１２によってバッファリングされた情報の中からServer Name Indicationの情報を検出する。
ドメイン名検出部１１５は、Server Name Indicationの情報に対応するドメイン名を検出する。
規制部１１６は、検出されたドメイン名に基づいて、サーバ装置３から端末２へ送信されるデータに対するデータ通信規制を行う。規制部１１６は、具体的には要求通信であるＳＳＬ／ＴＬＳ通信に基づいてサーバ装置３から端末２へ送信されたデータを中継する際の、単位時間当たりのデータの転送量を抑制する。
【００１４】
本実施形態の通信装置１は、端末２から送信された暗号通信（ＳＳＬ／ＴＬＳなど)のハンドシェイク中に端末２から平文で送信されるClient Helloメッセージを特定する。通信装置１はそのClient Helloメッセージに含まれるServer Name Indicationを取得する。また通信装置１は、Server Name Indicationに対応付けられて記録されているドメイン名を取得する。通信装置１はドメイン名ごとに事前に設定した単位時間当たりの転送量を用いて、サーバ装置３から端末２へ送信されるデータの流通量制御（ページング制御）を行う。
【００１５】
暗号通信のハンドシェイク中にサーバ装置３から送信されるＳＳＬサーバ証明書にはCommon Nameと呼ばれる情報が別途含まれる。通信装置１はこのCommon NameからもＩＰアドレスに対応したドメイン名を特定することが可能である。しかしながら、本実施形態においては、Client Helloメッセージに含まれるServer Name Indicationから、当該ＩＰアドレスに対応したドメイン名とは異なるドメイン名であって、サービスに対応したドメイン名を取得する。通常、ＳＳＬ証明書は、1つのＩＰアドレスに対して１つしか設定することが出来ない。このためCommon NameはＩＰアドレスと１対１で対応している。しかし、ＳＳＬ／ＴＬＳの拡張仕様としてＲＦＣ６０６６で定義されたServer Name Indicationは、１つのＩＰアドレスに対して複数ドメインのＳＳＬ証明書を設定可能である。そのため、本実施形態では、Common NameではなくServer Name Indicationを用いることで、ターゲットとするドメインをより細かく取得することが可能となる。例えば、ターゲットとするドメインは、端末２にデータを配信するドメインである。
【００１６】
図４は本実施形態による通信装置の処理フローを示す図である。
まず、端末２は、サーバ装置３からデータを受信する際に、通信の暗号化の開始を要求する要求通信をサーバ装置３へ送信する。この要求信号は、ＳＳＬ／ＴＬＳのハンドシェイクの通信信号である。通信装置１の通信制御部１１１は、端末２から送信されたＳＳＬ／ＴＬＳのハンドシェイクの通信信号を受信する（ステップＳ１０１）。バッファリング部１１２はＳＳＬ／ＴＬＳのハンドシェイクの通信信号を傍受する。バッファリング部１１２は、ＳＳＬ／ＴＬＳのハンドシェイクの通信信号におけるClient HelloメッセージからServer Name Indicationが含まれるデータを抽出する（ステップＳ１０２）。バッファリング部１１２はServer Name Indicationが含まれるデータを蓄積する（ステップＳ１０３）。通信制御部１１１は、端末２とサーバ装置３とで送受信されるＳＳＬ／ＴＬＳのハンドシェイクの通信信号を中継する。
【００１７】
サービス管理部１１３はＳＳＬ／ＴＬＳのハンドシェイクの通信信号や、ハンドシェイク完了以降の通信信号の情報を通信制御部１１１から取得する。サービス管理部１１３は通信信号を解析して、以降の処理制御に関する判定を行う（ステップＳ１０４）。サービス管理部１１３は通信信号に基づいてサーバ装置３を判定（解析）すると、サーバ装置３へのデータの配信要求の送信を通信制御部１１１へ指示する。通信制御部１１１は、端末２へ送信するデータの配信要求をサーバ装置３へ送信する（ステップＳ１０５）。サーバ装置３はプロキシサーバの機能を有する通信装置１へ、端末２宛ての配信データを送信する。
【００１８】
通信装置１のサービス管理部１１３は通信制御部１１１を介して配信データを含む通信信号を傍受し、ＳＳＬ／ＴＬＳのハンドシェイクや配信データ等を含む通信信号がＳＳＬ転送条件を満たすか否かを判定する（ステップＳ１０６）。サービス管理部１１３は、ステップＳ１０４の解析結果に基づいて判定する。例えばサービス管理部１１３はＳＳＬ／ＴＬＳのハンドシェイクの通信信号を検出した場合には、直ちにそのハンドシェイクを行っている端末２とサーバ装置３との間の通信がＳＳＬ転送条件を満たすと判定してよい。ＳＳＬ転送条件を満たすか否かは、他の手法によって判定されてもよい。ＳＳＬ転送条件を満たす場合、サービス管理部１１３はサーバ情報検出部１１４にサーバ情報の検出を要求する。本実施形態においてサーバ情報は、Client Helloメッセージに含まれるServer Name Indicationである。
【００１９】
サーバ情報検出部１１４はバッファリング部１１２によって蓄積されているClient HelloメッセージからServer Name Indicationが含まれるデータを取得する。サーバ情報検出部１１４はそのデータからServer Name Indicationを抽出する（ステップＳ１０７）。またサーバ情報検出部１１４はServer Name Indicationをドメイン名検出部１１５へ出力する。ドメイン名検出部１１５はＲＯＭ１３（図２）やＳＳＤ１４（図２）等の記憶部に記録されているドメイン管理表を参照し、Server Name Indicationに対応付けられて記録されているドメイン名を取得する（ステップＳ１０８）。ドメイン名検出部１１５は取得したドメイン名を規制部１１６へ出力する。
【００２０】
規制部１１６はドメイン名に対応する規制手法を検出する。規制部１１６は、例えばドメイン名に対応付けて、データの単位時間当たりの転送量を取得する。ドメイン名と単位時間当たりの転送量との対応関係はＲＯＭ１３やＳＳＤ１４等の記憶部に記録されている。規制部１１６は取得した単位時間たりの転送量（ページングレート）にしたがってデータが転送制御されるように、通信制御部１１１を制御する。通信制御部１１１は規制部１１６の制御に基づいて、プロキシサーバの機能によりサーバ装置３から送信された配信データの端末２への転送を行う。この時、通信制御部１１１は、配信データの単位時間の転送量が、規制部１１６が取得した単位時間当たりの転送量となるように転送処理を行う（ステップＳ１０９）。
【００２１】
図５はＳＳＬ／ＴＬＳのハンドシェイクの通信信号に含まれるServer Name IndicationとCommon Nameとの対応関係を示す図である。
ＳＳＬ／ＴＬＳのハンドシェイクの通信信号にはServer Name IndicationとCommon Nameとが含まれる。Server Name IndicationとCommon Nameのどちらもドメイン名を示すが、Server Name Indicationからはドメイン名としてサーバ名（サービス名）が取得できる。サーバ装置が送信する複数のサービス通信では、Common Nameが同じであるがServer Name Indicationが異なるケースがある。図５の例によると、サービス「動画」とサービス「アプリケーションプログラム」との間でCommon Nameが同一の情報「xxx.com」である一方で、Server Name Indicationの情報は異なる。言い換えると、Common Nameは、複数のサービス（「動画」「アプリケーションプログラム」）の間で同一の情報である。このため、通信装置１がCommon Nameを元に単位時間当たりの転送量（転送レート）を決定する場合、規制の対象として所望する動画の配信だけでなく、規制の対象外としたいアプリケーションプログラムのダウンロードも同様に規制対象としてしまう場合があった。
そこで、本実施の形態では、上述のようにServer Name Indicationを使用する。これにより、同一のサーバから配信される複数のサービスであっても、それらのサービスの間で、通信に含まれるドメイン名を異ならせることができる。したがって、本実施の形態によると、同一サーバからの配信される複数のサービスのそれぞれに対して、データの単位時間当たりの転送量を設定可能とすることができる。つまり、図５の例によると、例えばアプリケーションプログラムの端末２へのダウンロードに対する転送レートは下げずに、動画配信サービスにおける動画データの端末２へのダウンロードに対する転送レートのみを下げることが可能になる。これにより、サービスのＱｏＥ（quality of experience）を低下させずに帯域の削減が可能となる。
【００２２】
上述の端末２は、サーバ装置３に対して配信データの送信要求をし、その結果として送信される配信データを受信する装置であればどのような装置でもよい。例えば端末２は、スマートフォンを含む携帯電話、タブレット端末、パーソナルコンピュータ、ネットワーク接続機能付きテレビジョンなどであってよい。
【００２３】
図６は、本実施形態の通信装置の最少構成を示す図である。
通信装置１は、少なくとも、サーバ情報検出部１１４と、ドメイン名検出部１１５と、規制部１１６とを備えればよい。
【００２４】
通信装置１は例えば、当該通信装置１に含まれる電子回路によって構成されるものであってよい。
【００２５】
上述の通信装置１は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００２６】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００２７】
この出願は、２０１６年１１月３０日に日本出願された特願２０１６−２３２０４７号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００２８】
本発明によれば、暗号化されるデータ通信を用いて特定のデータを識別してそのデータ通信についての転送制御を行うことができる。
【符号の説明】
【００２９】
１・・・通信装置
２・・・端末
３・・・サーバ装置
１１・・・ＣＰＵ
１２・・・ＲＡＭ
１３・・・ＲＯＭ
１４・・・ＳＳＤ
１５・・・通信モジュール
１１１・・・通信制御部
１１２・・・バッファリング部
１１３・・・サービス管理部
１１４・・・サーバ情報検出部
１１５・・・ドメイン名検出部
１１６・・・規制部
【図１】
0006743906.tif 000002
【図２】
0006743906.tif 000003
【図３】
0006743906.tif 000004
【図４】
0006743906.tif 000005
【図５】
0006743906.tif 000006
【図６】
0006743906.tif 000007