説明

情報処理装置、情報処理方法、およびプログラム

【課題】所定のコマンドに対する受信機器の応答時間に基づいて通信距離を判別する。
【解決手段】ランダムチャレンジ受信制御部は、送信側の端末からのランダムチャレンジ(RC)を受信し、認証データ生成部に供給する。ランダムチャレンジ受信制御部はRCを受信した旨を表すRC受信メッセージを送信側に送信する。認証データ生成部は、RCに対してハッシュ処理を施し、その結果得られた認証データを応答メッセージ生成部に供給する。応答メッセージ送信制御部は、送信側からの応答要求コマンドを受信する前のタイミングで、応答メッセージ生成部を制御して、認証データを含む応答メッセージを生成させるとともに、応答要求コマンドを受信したとき、その応答メッセージを送信先の端末に送信する。本開示は、例えばコンテンツ提供システムに適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、およびプログラムに関し、特に、通信相手との通信時間を適切に計測することができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
近年、インターネットに代表される公共性のある広域に亘るネットワーク(以下、WAN(Wide Area Network)と称する)や一般家屋等に設けられる局所的なネットワーク(以下、LAN(Local Area Network)と称する)の普及に伴い、それらのネットワークを介した各種データ通信が盛んに行われている。
【0003】
映像や音楽コンテンツなどを、ネットワークを通して伝送する場合は、著作権保護のために、通信相手の機器との間で、認証および鍵交換を行い、コンテンツを暗号化して伝送することが行われている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】DTCP Specification Volume 1 Version 1.3 (Information Version) http://www.dtcp.com/daTa/info_20040107_dtcp_Vol_1_1p3.pdf
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここにおいて、著作権の観点からは、家庭内でのコピーや伝送は許可するが、WANで接続された他の家庭との間でのコンテンツの伝送を制限したい場合がある。例えば、テレビジョン放送を録画したコンテンツは、私的利用の範囲(家庭内)で利用できるが、インターネットを通して、他人に伝送するのは著作権を侵害すると考えられるので、このような制限が必要となる。
【0006】
この制限の下では、著作権保護されたコンテンツを送信する機器(送信機器)は、そのコンテンツを受信する通信相手の機器(受信機器)が同一LAN内にあるか、WAN(インターネット)を通して接続されているかを判断する必要がある。
【0007】
例えば、IPアドレスから通信相手が同一サブネット内にあるかどうかを調べることや、IP通信パケットが通過したIPルータの数(Hop Count)を使うことで通信相手がWAN(インターネット)を通して接続されているかを知ることができる。
【0008】
しかしながら、WAN(インターネット)を経由した通信であってもVPN(Virtual Private Network)などの技術を使えば、IPルータを経由せずに接続されている同一サブネットであるかように接続することが可能である。すなわち不正にコンテンツを入手することが可能である。
【0009】
本開示はこのような状況に鑑みてなされたものであり、所定のコマンドに対する受信機器の応答時間に基づいて通信距離を判別し、例えば送信機器と同一LANに接続されているか否かを判定することを目的とする。
【課題を解決するための手段】
【0010】
本開示の第1の側面の情報処理装置は、応答を要求するコマンドを受信装置に送信するコマンド送信部と、前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成部と、前記共有データに基づいて生成された認証データを含んだ応答メッセージを前記受信装置から受信する受信部と、前記期待値生成部により生成された前記期待値と受信部により受信された前記認証データに基づいて、前記受信装置を認証する認証部と、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答メッセージが受信されるまでの間の応答時間を計測する計測部と、前記認証部による認証結果、および前記計測部により計測された前記応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定部とを備える情報処理装置である。
【0011】
本開示の第1の側面の情報処理方法は、応答を要求するコマンドを受信装置に送信するコマンド送信ステップと、前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成ステップと、前記共有データに基づいて生成された認証データを含んだ応答メッセージを前記受信装置から受信する受信ステップと、前記期待値生成ステップの処理で生成された前記期待値と受信ステップの処理で受信された前記認証データに基づいて、前記受信装置を認証する認証ステップと、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答メッセージが受信されるまでの間の応答時間を計測する計測ステップと、前記認証ステップでの認証結果、および前記計測ステップの処理で計測された前記応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定ステップとを含む情報処理方法である。
【0012】
本開示の第1の側面のプログラムは、応答を要求するコマンドを受信装置に送信するコマンド送信ステップと、前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成ステップと、前記共有データに基づいて生成された認証データを含んだ応答メッセージを前記受信装置から受信する受信ステップと、前記期待値生成ステップの処理で生成された前記期待値と受信ステップの処理で受信された前記認証データに基づいて、前記受信装置を認証する認証ステップと、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答メッセージが受信されるまでの間の応答時間を計測する計測ステップと、前記認証ステップでの認証結果、および前記計測ステップの処理で計測された前記応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定ステップとを含む処理をコンピュータに実行させるプログラムである。
【0013】
本開示の第1の側面によれば、応答を要求するコマンドが受信装置に送信され、前記受信装置との間で共有する共有データに基づいて、期待値が生成され、前記共有データに基づいて生成された認証データを含んだ応答メッセージが前記受信装置から受信され、生成された前記期待値と受信された前記認証データに基づいて、前記受信装置が認証され、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答メッセージが受信されるまでの間の応答時間が計測され、認証結果、および計測された前記応答時間に基づいて、前記受信装置に対するデータの送信可否が判定される。
【0014】
本開示の第2の側面の情報処理装置は、送信装置と共有する共有データから生成された認証データに基づく認証結果、および前記送信装置からの所定のコマンドに対する応答時間に基づいてデータの送信可否を判定する前記送信装置と通信可能な情報処理装置であって、前記送信装置から前記コマンドを受信する受信部と、前記共有データに対して所定の処理を施して、前記認証データを生成する認証データ生成部と、前記認証データ生成部により生成された前記認証データを含む、前記コマンドに対する応答メッセージを生成する応答メッセージ生成部と、前記送信装置から送信されてきた前記コマンドが受信されたとき、前記応答メッセージを前記送信装置に送信する送信部とを備える情報処理装置である。
【0015】
本開示の第2の側面の情報処理方法は、送信装置と共有する共有データから生成された認証データに基づく認証結果、および前記送信装置からの所定のコマンドに対する応答時間に基づいてデータの送信可否を判定する前記送信装置と通信可能な情報処理装置の情報処理方法であって、前記送信装置から前記コマンドを受信する受信ステップと、前記共有データに対して所定の処理を施して、前記認証データを生成する認証データ生成ステップと、前記認証データ生成ステップの処理で生成された前記認証データを含む、前記コマンドに対する応答メッセージを生成する応答メッセージ生成ステップと、前記送信装置から送信されてきた前記コマンドが受信されたとき、前記応答メッセージを前記送信装置に送信する送信ステップとを含む情報処理方法である。
【0016】
本開示の第2の側面のプログラムは、送信装置と共有する共有データから生成された認証データに基づく認証結果、および前記送信装置からの所定のコマンドに対する応答時間に基づいてデータの送信可否を判定する前記送信装置と通信可能な情報処理装置の情報処理用のプログラムであって、前記送信装置から前記コマンドを受信する受信ステップと、前記共有データに対して所定の処理を施して、前記認証データを生成する認証データ生成ステップと、前記認証データ生成ステップの処理で生成された前記認証データを含む、前記コマンドに対する応答メッセージを生成する応答メッセージ生成ステップと、前記送信装置から送信されてきた前記コマンドが受信されたとき、前記応答メッセージを前記送信装置に送信する送信ステップとを含む処理をコンピュータに実行させるプログラムである。
【0017】
本開示の第2の側面によれば、前記送信装置から前記コマンドが受信され、前記共有データに対して所定の処理が施されて、前記認証データが生成され、生成された前記認証データを含む、前記コマンドに対する応答メッセージが生成され、前記送信装置から送信されてきた前記コマンドが受信されたとき、前記応答メッセージが前記送信装置に送信される。
【0018】
本開示の第3の側面の情報処理装置は、受信装置との間で共有するデータをもとに、コマンド認証データと、応答期待値データを生成する認証データ生成部と、前記コマンド認証データを含み、応答を要求するコマンドを前記受信装置に送信するコマンド送信部と、前記コマンドに対する受信装置からの応答を受信する応答受信部と、前記応答期待値と、前記受信装置から受信した前記応答に含まれる応答認証データに基づいて前記受信装置を認証する認証部と、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答が受信されるまでの間の応答時間を計測する計測部と、前記認証部による認証結果、および前記計測部により計測された応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定部とを備える情報処理装置である。
【0019】
本開示の第3の側面の情報処理方法は、受信装置との間で共有するデータをもとに、コマンド認証データと、応答期待値データを生成する認証データ生成ステップと、前記コマンド認証データを含み、応答を要求するコマンドを前記受信装置に送信するコマンド送信ステップと、前記コマンドに対する受信装置からの応答を受信する応答受信ステップと、前記応答期待値と、前記受信装置から受信した前記応答に含まれる応答認証データに基づいて前記受信装置を認証する認証ステップと、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答が受信されるまでの間の応答時間を計測する計測ステップと、前記認証ステップによる認証結果、および前記計測ステップの処理で計測された応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定ステップとを含む情報処理方法である。
【0020】
本開示の第3の側面のプログラムは、受信装置との間で共有するデータをもとに、コマンド認証データと、応答期待値データを生成する認証データ生成ステップと、前記コマンド認証データを含み、応答を要求するコマンドを前記受信装置に送信するコマンド送信ステップと、前記コマンドに対する受信装置からの応答を受信する応答受信ステップと、前記応答期待値と、前記受信装置から受信した前記応答に含まれる応答認証データに基づいて前記受信装置を認証する認証ステップと、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答が受信されるまでの間の応答時間を計測する計測ステップと、前記認証ステップによる認証結果、および前記計測ステップの処理で計測された応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定ステップとを含む処理をコンピュータに実行させるプログラムである。
【0021】
本開示の第3の側面によれば、受信装置との間で共有するデータをもとに、コマンド認証データと、応答期待値データが生成され、前記コマンド認証データを含み、応答を要求するコマンドが前記受信装置に送信され、前記コマンドに対する受信装置からの応答が受信され、前記応答期待値と、前記受信装置から受信した前記応答に含まれる応答認証データに基づいて前記受信装置が認証され、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答が受信されるまでの間の応答時間が計測され、認証結果、および計測された応答時間に基づいて、前記受信装置に対するデータの送信可否が判定される。
【0022】
本開示の第4の側面の情報処理装置は、所定のコマンドに対する応答時間に基づいて送信データの送信可否を判定する送信装置と通信可能な情報処理装置において、前記送信装置との間で共有する共有データから、前記送信装置において前記共有データから生成された前記コマンドの認証データに対応するコマンド期待値データおよび応答認証データを生成する生成部と、前記送信装置から送信されてきた前記コマンドが受信されたとき、前記コマンドに含まれる前記コマンドの認証データと、前記生成部により生成された前記コマンド期待値データに基づいて前記送信装置を認証する認証部と、前記認証部による認証結果に基づいて、前記応答認証データを含む応答を前記送信装置に送信する送信部とを備える情報処理装置である。
【0023】
本開示の第4の側面の情報処理方法は、所定のコマンドに対する応答時間に基づいて送信データの送信可否を判定する送信装置と通信可能な情報処理装置の情報処理方法において、前記送信装置との間で共有する共有データから、前記送信装置において前記共有データから生成された前記コマンドの認証データに対応するコマンド期待値データおよび応答認証データを生成する生成ステップと、前記送信装置から送信されてきた前記コマンドが受信されたとき、前記コマンドに含まれる前記コマンドの認証データと、前記生成ステップの処理で生成された前記コマンド期待値データに基づいて前記送信装置を認証する認証ステップと、前記認証ステップの処理での認証結果に基づいて、前記応答認証データを含む応答を前記送信装置に送信する送信ステップとを備える情報処理方法である。
【0024】
本開示の第4の側面のプログラムは、所定のコマンドに対する応答時間に基づいて送信データの送信可否を判定する送信装置と通信可能な情報処理装置の情報処理用のプログラムであって、前記送信装置との間で共有する共有データから、前記送信装置において前記共有データから生成された前記コマンドの認証データに対応するコマンド期待値データおよび応答認証データを生成する生成ステップと、前記送信装置から送信されてきた前記コマンドが受信されたとき、前記コマンドに含まれる前記コマンドの認証データと、前記生成ステップの処理で生成された前記コマンド期待値データに基づいて前記送信装置を認証する認証ステップと、前記認証ステップの処理での認証結果に基づいて、前記応答認証データを含む応答を前記送信装置に送信する送信ステップとを含む処理をコンピュータに実行させるプログラムである。
【0025】
本開示の第4の側面によれば、前記送信装置との間で共有する共有データから、前記送信装置において前記共有データから生成された前記コマンドの認証データに対応するコマンド期待値データおよび応答認証データが生成され、前記送信装置から送信されてきた前記コマンドが受信されたとき、前記コマンドに含まれる前記コマンドの認証データと、生成された前記コマンド期待値データに基づいて前記送信装置が認証され、認証結果に基づいて、前記応答認証データを含む応答が前記送信装置に送信される。
【発明の効果】
【0026】
本開示の第1および第3の側面によれば、受信装置の応答時間を適切に計測することができる。
【0027】
本開示の第2および第4の側面によれば、送信装置における応答時間の適切な計測に必要な情報を提供することができる。
【図面の簡単な説明】
【0028】
【図1】本開示を適用した情報通信システムの利用例を示す図である。
【図2】図1の端末の構成例を示すブロック図である。
【図3】図2の送信可否判定部の構成例を示すブロック図である。
【図4】図2の応答制御部の構成例を示すブロック図である。
【図5】送信可否判定処理および応答処理を説明するフローチャートである。
【図6】期待値および認証データの生成方法を説明する図である。
【図7】期待値および認証データの他の生成方法を説明する図である。
【図8】図1の端末の動作を説明する図である。
【図9】図2の送信可否判定部の他の構成例を示すブロック図である。
【図10】図2の応答制御部の他の構成例を示すブロック図である。
【図11】他の送信可否判定処理を説明するフローチャートである。
【図12】他の応答処理を説明するフローチャートである。
【図13】図1の端末の動作を説明する他の図である。
【図14】図1の端末の動作を説明する他の図である。
【図15】図1の端末の動作を説明する他の図である。
【図16】パーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0029】
図1は、本開示を適用した端末11からなる情報通信システムの構成例を示している。
【0030】
LAN1−1,1−2(以下、個々に区別する必要がない場合、単位、LAN1と称する。他の場合についても同様である)がインターネットに代表されるWAN2を介して相互に接続されている。
【0031】
LAN1−1は、例えば、家屋内に設けられ、特定の個人(あるいは、家族)が使用する程度の規模のものであり、それには、スイッチングハブ(図示せず)を介して、パーソナルコンピュータやAV機器等の端末11−1および端末11−2が接続されている。LAN1−1と端末11−1および11−2との接続は、例えば、Ethernet(登録商標)(100BASE-TX)等の高速インタフェースによる。端末11−1および11−2は、LAN1−1およびWAN2を介して、LAN1−2に接続することができる。
【0032】
LAN1−2は、LAN1−1と同様に構成されており、それには、端末11−3が接続されている。
【0033】
各端末11は、本情報通信システムに登録された正規の機器であり、図2に示すように、送信可否判定部21、応答制御部22、通信部23、および送信データ格納部24を含んで構成されている。
【0034】
送信可否判定部21は、他の端末11(受信側の端末11)に所定のデータを送信する際に、通信部23を介して、受信側の端末11(正確には、その応答制御部22)と後述するように通信することで、受信側の端末11が本情報通信システムにおける正規の機器であるか否かを認証するとともに、所定の要求に対する受信側の端末11の応答時間を、受信側の端末11との通信時間として計測する。
【0035】
送信可否判定部21は、受信側の端末11の認証結果および応答時間に基づく通信距離の判別結果に基づいて、受信側の端末11に対するデータの送信可否を判定する。
【0036】
例えば、受信側の端末11が、送信側の端末11と異なるLAN1に接続されている場合(WAN2を介して接続され、いわゆる通信距離が長い場合)、応答時間は、同じLAN1に接続されている場合(通信距離が短い場合)に比べて長くなるので、例えば、通信が同一LAN1内に制限されているとき、送信可否判定部21は、計測した応答時間から受信側の端末11が送信側の端末11と同じLAN1に接続されているか否かを判定し、その判定結果と受信側の端末11の認証結果に基づいて、データ送信の可否を判定する。
【0037】
すなわち図1の例では、端末11−1(送信側)が端末11−2(受信側)にデータを送信する場合、端末11−1の送信可否判定部21は、計測した端末11−2の応答時間から、端末11−2がLAN1−1に接続されていることを判定し、データ送信を行う。一方、端末11−1が端末11−3にデータを送信する場合、端末11−1の送信可否判定部21は、計測した端末11−3の応答時間から、端末11−3はLAN1−1と異なるLAN(LAN1−2)に接続されていることを判定し、データ送信を行わない。
【0038】
なおこのような通信距離による通信制御は、映画などのコンテンツを一定の地域に対して先行配給し、他の地域には後日配給するなどのコンテンツ配給ビジネスに適用することができる。
【0039】
図2に戻り、応答制御部22は、送信側の端末11から所定のデータの送信を受ける際、通信部23を介して、送信側の端末11(正確には、その送信可否判定部21)と後述するように通信することで、送信側の端末11における認証および応答時間の適切な計測に必要な情報を送信側の端末11に送信する。
【0040】
通信部23は、LAN1に接続されており、同一のLAN1内の端末11、又はWAN2を介して異なるLAN1に接続されている端末11との通信を行う。
【0041】
送信データ格納部24は、受信側の端末11に送信される、所定のデータが格納されている。
【0042】
図3は、端末11の送信可否判定部21の構成例を示している。
【0043】
ランダムチャレンジ生成部31は、所定ビット数の疑似乱数(以下、ランダムチャレンジと称する)を生成し、ランダムチャレンジ送信制御部32および期待値生成部33に供給する。
【0044】
ランダムチャレンジ送信制御部32は、ランダムチャレンジ生成部31から供給されたランダムチャレンジを、通信部23を介して、受信側の端末11に送信する。ランダムチャレンジ送信制御部32はまた、通信部23を介して、受信側の端末11から送信されてきた、ランダムチャレンジを受信した旨のメッセージ(以下、RC受信メッセージと称する)を受信し、そのときRC受信メッセージを受信した旨をコマンド送信制御部34に通知する。
【0045】
期待値生成部33は、ランダムチャレンジ生成部31から供給されたランダムチャレンジに対して、例えば、受信側の端末11と共有する秘密鍵を利用したHMAC(Keyed-Hashing for Message Authentication, IETF RFC 2104)アルゴリズムによるハッシュ処理(いわゆる鍵付きハッシュ処理)を施して、受信側の端末11でランダムチャレンジから生成される認証データの期待値を生成し、判定部35に供給する。期待値生成部33はまた、端末11に予め設定された端末11固有の情報(例えば、機器ID)とランダムチャレンジを連結したものに鍵付きハッシュ処理を施して期待値を生成することもできる。
【0046】
なお、ハッシュ処理で利用される秘密鍵は、本情報通信システムの正規の機器に所定のタイミングで安全に配信される。
【0047】
コマンド送信制御部34は、ランダムチャレンジ送信制御部32から、RC受信メッセージを受信した旨が通知されたとき、又は判定部35からの指示に従って、応答を要求するコマンド(以下、応答要求コマンドと称する)を、通信部23を介して、受信側の端末11に送信する。
【0048】
コマンド送信制御部34又は、通信部23を介して、送信した応答要求コマンドに対する応答として、受信側の端末11から送信されてきたメッセージ(以下、応答メッセージと称する)を受信し、それを判定部35に供給する。応答メッセージには、ランダムチャレンジ送信制御部32により送信されたランダムチャレンジから生成された認証データが組み込まれている。
【0049】
コマンド送信制御部34又は、応答要求コマンドを送信した後、応答時間計測部36を制御して、応答時間の計測を開始させるとともに、その応答要求コマンドに対する応答としての応答メッセージを受信したとき、応答時間の計測を終了させる。
【0050】
判定部35は、コマンド送信制御部34からの応答メッセージに組み込まれている認証データと、期待値生成部33で生成されたその認証データの期待値に基づいて、受信側の端末11が、本情報通信システムにおける正規の機器であるかの認証を行う。判定部35はまた、応答時間計測部36で計測された応答時間が所定の時間TLを越えているか否かを判定して、通信距離の判別(送信側の端末11と同一のLAN1に接続されているかの判定)を行う。
【0051】
判定部35は、受信側の端末11の認証結果および通信距離の判別結果に基づいて、データの送信可否の判定を行う。判定部35は、その判定結果に基づいて、通信部23を制御し、送信データ格納部24に格納されているデータを、受信側の端末11に送信させる。
【0052】
応答時間計測部36は、コマンド送信制御部34からの指示に従って、内蔵するタイマを動作させ、受信側の端末11の応答時間を計測する。
【0053】
図4は、端末11の応答制御部22の構成例を示している。
【0054】
ランダムチャレンジ受信制御部41は、通信部23を介して、送信側の端末11(正確には、その送信可否判定部21)から送信されてきたランダムチャレンジを受信し、それを認証データ生成部42に供給する。ランダムチャレンジ受信制御部41はまた、通信部23を介して、RC受信メッセージ(ランダムチャレンジを受信した旨を表すメッセージ)を、送信側の端末11に送信し、そのときRC受信メッセージを送信した旨を応答メッセージ送信制御部44に通知する。
【0055】
認証データ生成部42は、ランダムチャレンジ受信制御部41から供給されたランダムチャレンジに対して、送信側の端末11(送信可否判定部21の期待値生成部33)における場合と同様の鍵付きハッシュ処理を施して、第三者が予測できない認証データを生成し、応答メッセージ生成部43に供給する。
【0056】
応答メッセージ生成部43は、応答メッセージ送信制御部44の制御に従って、認証データ生成部42から供給された認証データを組み込んだ応答メッセージを生成し、応答メッセージ送信制御部44に供給する。
【0057】
応答メッセージ送信制御部44は、通信部23を介して、送信側の端末11から送信されてきた応答要求コマンドを受信する。
【0058】
応答メッセージ送信制御部44は、応答要求コマンドを受信する前のタイミングで(送信側の端末11から応答要求コマンドが送信されてくる前のタイミングで)、応答メッセージ生成部43を制御して、受信する応答要求コマンドに対応した認証データが組み込まれた応答メッセージを生成させるとともに、応答要求コマンドを受信したとき、通信部23を介して、その応答メッセージを送信先の端末11に送信する。
【0059】
次に、図5のフローチャートを参照して、送信可否判定処理を行う場合の端末11の送信可否判定部21(図2,3)の動作を説明する。
【0060】
ステップS1において、端末11(送信側の端末11)の送信可否判定部21のランダムチャレンジ生成部31は、ランダムチャレンジを生成し、それをランダムチャレンジ送信制御部32および期待値生成部33に供給する。
【0061】
ステップS2において、ランダムチャレンジ送信制御部32は、供給されたランダムチャレンジを、通信部23を介して受信側の端末11に送信し、ステップS3において、期待値生成部33は、供給されたランダムチャレンジに対して鍵付きハッシュ処理を施して、受信側の端末11で生成される認証データの期待値を生成する。
【0062】
なおこの例の場合、送信側の端末11は、データ送信の可否を判定するのに、最大N(=1,2,・・・)回応答要求コマンドを送信するので、ここでは、送信され得るN個の応答要求コマンドに応じた認証データのN個の期待値が生成される。
【0063】
N個の期待値は、例えば、ランダムチャレンジに対して鍵付きハッシュ処理を施した結果得られたデータを複数個に分割し、その分割して得られたデータからN個の期待値を生成することができる。図6の例の場合、ランダムチャレンジに対して鍵付きハッシュ処理を施した結果得られたデータが、N個に分割されて、N個の期待値1乃至期待値Nが生成される。
【0064】
また、ランダムチャレンジに対する鍵付きハッシュ処理を、複数回繰り返して行い、その処理毎に得られたデータから、N個の期待値を生成することができる。図7の例の場合、ランダムチャレンジに対する鍵付きハッシュ処理がN回繰り返して行われ、その処理毎に得られたN個のデータが期待値となる。図7中、期待値1は、ランダムチャレンジに鍵付きハッシュ処理が1回施された結果得られたものであり、期待値2は、期待値1に、鍵付きハッシュ処理がさらに施された結果得られたものである。
【0065】
図5に戻り、ステップS4において、ランダムチャレンジ送信制御部32は、後述するように受信側の端末11から送信されてきた、ステップS2で送信されたランダムチャレンジを受信した旨を示すRC受信メッセージを(ステップS23)、通信部23を介して受信し、その旨をコマンド送信制御部34に通知する。ステップS5において、コマンド送信制御部34は、応答要求コマンドが何番目に送信されるものか(送信の順番)を示すカウンタiに1を初期設定する。
【0066】
次に、ステップS6において、コマンド送信制御部34は、通信部23を介して、応答要求コマンドを受信側の端末11に送信し、ステップS7において、応答時間計測部36を制御して、応答時間の計測を開始させる。
【0067】
ステップS8において、コマンド送信制御部34は、後述するように受信側の端末11から送信されてきた、ステップS6で送信された応答要求コマンドに対する応答しての応答メッセージを、通信部23を介して受信して、判定部35に供給し、ステップS9において、応答時間計測部36を制御して、応答時間の計測を終了させる。すなわちステップS7で開始しステップS9で終了する時間計測で得られた時間が受信側の端末11の応答時間となる。
【0068】
ステップS10において、判定部35は、コマンド送信制御部34から供給された応答メッセージに組み込まれている認証データと、期待値生成部33により生成された、その認証データの期待値(具体的には、カウンタiが示す順番に送信された応答要求コマンド(以下、第i番目に送信された応答要求コマンドと称する)に対応する期待値)とが一致するか否かを判定し、一致すると判定した場合、受信側の端末11を、情報通信システムにおける正規の端末であると認証し、ステップS11に進む。
【0069】
ステップS11において、判定部35は、応答時間計測部36で計測された、第i番目に送信された応答要求コマンドに対する受信側の端末11の応答時間が所定の時間TLを越えているか否かを判定する。時間TLは、例えば、同一LAN1に接続された端末11間で要する通信時間である。すなわち応答時間が時間TLを越える場合、受信側の端末11は、送信側の端末11と異なるLAN1に接続され、また、時間TLを越えない場合(応答時間=時間TLを含む)、同一のLAN1に接続されていると判定することができる(通信距離を判別することができる)。
【0070】
ステップS11で、時間TLを越えると判定された場合、ステップS12に進み、判定部35は、その結果を、コマンド送信制御部34に通知し、コマンド送信制御部34はそのとき、カウンタiを1だけインクリメントする。
【0071】
ステップS13において、コマンド送信制御部34は、カウンタi=N+1であるか否かを判定する。カウンタi=N+1ではないと判定された場合には、所定時間経過後、ステップS6に戻る。ステップS13で、カウンタi=N+1であると判定されたとき(すなわち、応答要求コマンドの送信がN回行われたとき)、又はステップS10で、受信側の端末11が本情報通信システムにおける正規の機器ではないと判定されたとき、ステップS14に進み、その旨を、判定部35に通知する。判定部35はそのとき、受信側の端末11へのデータ送信を不可とし、通信部23を制御して、送信データ格納部24に格納されているデータの受信側の端末11に対する送信を禁止する。
【0072】
ステップS11で、第i番目に送信された応答要求コマンドに対する応答時間が、時間TLを越えないと判定された場合、すなわち、受信側の端末11が、本情報通信システムにおける正規の機器であり、かつ、例えば送信側の端末11と同じLAN1に接続されている端末11であるとき、ステップS15に進み、判定部35は、通信部23を制御して、送信データ格納部24に格納されているデータを、受信側の端末11に送信させる。
【0073】
ステップS14又はステップS15で、受信側の端末11に対するデータ送信可否が判定されたとき、判定部35は、通信部23を介して、送信可否判定が終了した旨を表すメッセージ(以下、判定終了メッセージと称する)を受信側の端末11に送信する。その後、送信可否判定処理は、処理を終了する。
【0074】
次に、図5のフローチャートを参照して、応答処理を行う場合の端末11の応答制御部22(図2,4)の動作を説明する。
【0075】
ステップS21において、端末11(受信側の端末11)の応答制御部22のランダムチャレンジ受信制御部41は、送信先の端末11から送信されてきたランダムチャレンジを(ステップS2)、通信部23を介して受信し、認証データ生成部42に供給する。ステップS22において、認証データ生成部42は、ランダムチャレンジ受信制御部41から供給されたランダムチャレンジに対して、送信側の端末11の送信可否判定部21(期待値生成部33)における鍵付きハッシュ処理(ステップS3)と同様の鍵付きハッシュ処理を施し、認証データを生成し、応答メッセージ生成部43に供給する。
【0076】
なおこの例では、最大N個の応答要求コマンドを受信し得るので、その応答要求コマンドに対応する期待値と対比される(ステップS10)N個の認証データが生成される。N個の認証データは、期待値の生成方法(図6,7)と同じ方法で生成される。
【0077】
このように認証データが生成されると、ステップS23において、ランダムチャレンジ受信制御部41は、通信部23を介して、RC受信メッセージを送信側の端末11に送信し、その旨を、応答メッセージ送信制御部44に通知する。
【0078】
ステップS24において、応答メッセージ送信制御部44は、これから受信する応答要求コマンドが何番目に受信されるものかを示すカウンタjに1を初期設定し、ステップS25において、応答メッセージ生成部43を制御して、カウンタjが示す順番に受信される応答要求コマンド(以下、第j番目に受信される応答要求コマンドと称する)に対応する認証データを組み込んだ応答メッセージを生成させる。
【0079】
次に、ステップS26において、応答メッセージ送信制御部44は、送信先の端末11から送信されてきた応答要求コマンドを(ステップS6)、通信部23を介して受信すると、ステップS27において、ステップS25で生成された第j番目に受信される応答要求コマンドに応じた認証データが組み込まれた応答メッセージを、通信部23を介して、送信側の端末11に送信する。これにより上述したように送信側の端末11で(ステップS10で)、第j番目に受信された(第i番目に送信された)応答要求コマンドに対応する認証データと、第i番目に送信された(第j番目に受信された)応答要求コマンドの期待値とが比較される。
【0080】
ステップS28において、受信側の端末11の応答制御部22の応答メッセージ送信制御部44は、送信側の端末11から送信される判定終了メッセージ(ステップS16)が受信されたか否かを判定し、所定の時間内に受信されていないと判定した場合、ステップS29に進む。ステップS29において、応答メッセージ送信制御部44は、カウンタjを1だけインクリメントし、ステップS30で、カウンタj=N+1であるか否かを判定する。
【0081】
ステップS30で、カウンタj=N+1ではないと判定されたとき(すなわち、応答要求コマンドをN回受信されていないとき)、ステップS25に戻り、次に受信される応答要求コマンドに対して、それ以降の処理を実行する。
【0082】
ステップS28で、判定終了メッセージが受信されたとき、又はステップS30で、カウンタj=N+1であると判定されたとき(すなわち、応答要求コマンドがN回受信されたとき)、応答制御部22は、応答処理を終了する。
【0083】
以上のように、ランダムチャレンジから生成された認証データ(ステップS22)とその期待値(ステップS3)とに基づいて認証された受信側の端末11についてのみ応答時間に基づく通信距離の判別を行うようにしたので(ステップS10でNOの判定がなされた場合、ステップS11の処理がスキップされるので)、正規の機器のようになりすました機器にデータが送信されることを防止することができる(正規の機器のようになりすました機器が応答要求コマンドを受信し、応答要求メッセージを送信して、その機器にデータが送信されることはない)。
【0084】
また送信側の端末11で、応答要求コマンドに、新たに生成したランダムチャレンジを込み込んで受信側の端末11に送信し(ステップS6)、受信側の端末11で、応答要求コマンドを受信したとき(ステップS26)、予め生成された認証データ(ステップS22)と、その応答要求コマンドに組み込まれたランダムチャレンジとを連結して、又は両者の論理演算を行って新たな認証データを生成し、それを組み込んだ応答メッセージを返信することもできる(ステップS27)。なおこのとき送信側の端末11では、ステップS10で新たな認証データと比較される期待値が、ステップS3で生成された期待値と、応答要求コマンドに組み込まれたランダムチャレンジと連結されて、又は両者の論理演算が行われて生成される。
【0085】
このように応答要求コマンドに組み込んだランダムチャレンジを利用して認証データおよび期待値が生成されるようにすることで、受信側の端末11は、送信側の端末11からの応答要求コマンドを受信した後でなければ、応答メッセージを送信することができなくなる。したがって、応答時間を短縮するために、応答要求コマンドを受信する前に応答メッセージを送信するなどといった不正行為を防止することができる。
【0086】
また、以上のように、受信側の端末11において、応答要求コマンドを受信する前に、認証データおよびそれが組み込まれた応答メッセージを生成するようにしたので(ステップS22,S25)、応答要求コマンドを受信した後直ちに応答メッセージを送信側の端末11に返信することができる(ステップS27)。
【0087】
例えば、応答要求コマンドを受信した後に、認証データおよび応答要求メッセージを生成するようになされている場合、送信側の端末11で計測される応答時間に、その処理にかかる時間が含まれてしまうので、通信時間としての応答時間を正確に計測することができない。しかしながら本開示のように応答要求コマンドを受信した後直ちに応答メッセージを送信することができるようにしておくことにより、通信時間としての応答時間が正確に計測される。
【0088】
また、以上においては、送信側の端末11がランダムチャレンジを生成し(ステップS1)、受信側の端末11に提供するようにしたが(ステップS2)、受信側の端末11が生成して送信側の端末11に提供するようにすることもできる。
【0089】
また、以上においては、秘密鍵を送信側の端末11と受信側の端末11で共有している場合を例として説明したが、秘密鍵の共有がない場合には、デフィー・ヘルマン鍵交換(Diffie-Hellman key exchange)のアルゴリズムなどを使って鍵の共有を行うことができる。この場合は、鍵交換した相手は、応答時間を測定する相手であることの証明書などを基に確認される。鍵交換の後、鍵交換で得られた鍵そのものを認証データと期待値とすることもできるし、上記のように乱数に交換した鍵での鍵付きハッシュ処理を施し、認証データや期待値を得るようにすることもできる。
【0090】
また以上においては、送信側の端末11において、受信側の端末11で生成された応答の認証データ(以下、認証データRRと称する)(ステップS22)と送信側の端末11で生成された応答の期待値(以下、期待値QRと称する)(ステップS3)とに基づき受信側の端末11が認証されたが(ステップS10)、受信側の端末11においても、送信側の端末11からの応答要求コマンドの認証データ(以下、認証データRSと称する)とその期待値(以下、期待値QSと称する)とに基づき送信側の端末11の認証を行うようにすることができる。
【0091】
図5の例では、受信側の端末11は、応答要求コマンドを受ければ(ステップS26)、直ちに応答メッセージを送り返すので(ステップS27)、例えば、図8に示すように、送信側の端末11(送信機器)と同一のLAN1に第3の機器xを挿入し、はじめに機器xが受信機器に応答要求コマンドを送って(S111)、受信機器から応答メッセージを取得しておき(S112)、そして送信機器から応答要求コマンドが来たときに(S121)、取得した応答メッセージを返すことで(S122)、機器xは、正規の機器になりすますことができる。
【0092】
そこで受信側の端末11においても、応答メッセージを返信する際に、送信側の端末11を認証すれば、このような不正を防止することができる(不正な機器に応答メッセージを返信することを防止することができる)。
【0093】
図9は、送信可否判定部21の、図10は、応答制御部22の、このように受信側の端末11でも送信側の端末11の認証がなされる場合の構成例を示している。
【0094】
送信可否判定部21のランダムチャレンジ生成部51は、図3のランダムチャレンジ生成部31と同様に、所定ビット数の疑似乱数列を、ランダムチャレンジRCとして生成し、期待値生成部52および認証データ生成部53に供給する。
【0095】
期待値生成部52は、ランダムチャレンジ生成部51から供給されたランダムチャレンジRCに対して、例えば、受信側の端末11と共有する秘密鍵を利用した受信側の端末11(認証データ生成部73)における場合と同様の鍵付きハッシュ処理を施して、受信側の端末11の認証データRRの期待値QR(対応する認証データRRと同値の期待値QR)を生成し、応答認証部57に供給する。
【0096】
認証データ生成部53は、ランダムチャレンジ生成部51から供給されたランダムチャレンジRCに対して、受信側の端末11と共有する秘密鍵を利用した鍵付きハッシュ処理を施して、第三者が予測できないコマンドの認証データRSを生成し、応答要求コマンド送信部55に供給する。
【0097】
制御コマンド通信制御部54は、開始コマンド等の制御コマンドCCを受信側の端末11に送信したり、受信側の端末11から送信されてきた、制御コマンドCCに対する応答メッセージCCRを受信する。
【0098】
応答要求コマンド送信部55は、認証データ生成部53により生成された認証データRSを含む、応答要求コマンドMCを、通信部23を介して、受信側の端末11に送信する。
【0099】
応答受信部56は、送信された応答要求コマンドMCに対する応答として、受信側の端末11から送信されてきた応答メッセージMCRを、通信部23を介して受信し、そこに組み込まれている応答の認証データRRを応答認証部57に供給する。
【0100】
応答認証部57は、応答受信部56からの応答の認証データRRと、期待値生成部52で生成されたその認証データRRの期待値QRに基づいて、受信側の端末11が、本情報通信システムにおける正規の機器であるかの認証を行い、その認証結果を、制御判定部58に通知する。
【0101】
制御判定部58は、応答時間計測部59で計測された、応答要求コマンドMCに対する受信側の端末11の応答時間RTTが所定の時間TLを越えているか否かを判定して、通信距離の判別(送信側の端末11と同一のLAN1に接続されているかの判定)を行う。
【0102】
制御判定部58は、受信側の端末11の認証結果および通信距離の判別結果に基づいて、受信側の端末11に対するデータの送信可否の判定を行う。制御判定部58は、その判定結果に基づいて、通信部23を制御し、送信データ格納部24に格納されているデータを、受信側の端末11に送信させる。
【0103】
応答時間計測部59は、応答要求コマンド送信部55および応答受信部56からの通知に応じて、応答要求コマンドMCに対する、受信側の端末11の応答時間RTTを計測する。
【0104】
次に、応答制御部22の構成(図10)を説明する。
【0105】
制御応答通信制御部71は、通信部23を介して、送信側の端末11から送信されてきた制御コマンドCCを受信したり、その制御コマンドCCに対する応答メッセージCCRを送信側の端末11に送信する。
【0106】
期待値生成部72は、制御応答通信制御部71により受信された制御コマンドCCに含まれるランダムチャレンジRCに対して、送信側の端末11と共有する秘密鍵を利用した送信側の端末11(認証データ生成部53)における場合と同様の鍵付きハッシュ処理を施して、送信側の端末11のコマンド認証データRSの期待値QS(対応する認証データRSと同値の期待値QS)を生成し、コマンド認証部76に供給する。
【0107】
認証データ生成部73は、制御応答通信制御部71により受信された制御コマンドCCに含まれるランダムチャレンジRCに対して、送信側の端末11と共有する秘密鍵を利用した鍵付きハッシュ処理を施して、第三者が予測できない応答の認証データRRを生成し、応答送信部74に供給する。
【0108】
応答送信部74は、コマンド認証部76による認証結果に基づいて、認証データ生成部73により生成された応答の認証データRRを含む、送信側の端末11からの応答要求コマンドMCに対する応答メッセージMCRを、通信部23を介して送信側の端末11に送信する。
【0109】
応答要求コマンド受信部75は、送信側の端末11から送信されてきた応答要求コマンドMCを、通信部23を介して受信し、そこに組み込まれているコマンドの認証データRSをコマンド認証部76に供給する。
【0110】
コマンド認証部76は、応答要求コマンド受信部75からのコマンドの認証データRSと、期待値生成部72で生成されたその認証データRSの期待値QSに基づいて、送信側の端末11が、本情報通信システムにおける正規の機器であるかの認証を行い、その認証結果を、応答送信部74に通知する。
【0111】
次に、図9の送信可否判定部21の動作を、図11のフローチャートを参照して説明する。
【0112】
ステップS51において、端末11の送信可否判定部21の制御コマンド通信制御部54は、受信側の機器と、TCPコネクションを確立する。TCPコネクションのためのポート番号は予め送信側の端末11と受信側の機器の間で合意されているものとする。送信側の機器と受信側の機器の間で事前にTCPコネクションが確立している場合はこのステップを省略してよい。
【0113】
制御コマンド通信制御部54は、確立したTCPコネクションを介して、応答時間RTTの計測を開始する旨を表す開始コマンド(制御コマンドCC)を受信側の機器に送信する。この開始コマンドCCには、セッション番号SID、ランダムチャレンジRC、送信側の端末11が実行可能な、1セッションでの応答時間RTTの計測のリトライ数(計測回数)ksが含まれている。
【0114】
セッション番号SIDは、これから行われる受信側の機器に対する一連の認証処理(1つのセッション)に割り当てられた番号であり、この番号を送信側と受信側とで共有することにより、セッション毎に認証処理を区別することができる。
【0115】
また応答時間RTTの計測のために必要なデータ(例えば、応答要求コマンドMCやその応答メッセージMCR)の通信は、パケットの再送を行わないUDPでなされるので、通信状態によっては、データが途中で消滅してしまうなど、応答時間RTTの計測が適切に行われない場合も考えられる。またネットワーク内の他の通信の影響を受けて、パケットの伝送に遅延が生じることもある。そこで応答時間RTTの計測を何回かリトライ(再施行)できるようになされている。このリトライの回数は、送信側の機器と受信側の機器の設定によって異なることもあるので、この例ではここで送信側の機器のリトライ数(例えば、最大のリトライ数)ksが受信側の機器に通知される。
【0116】
次に、ステップS52において、制御コマンド通信制御部54は、開始コマンドCCに対する、受信側の機器からの応答メッセージCCRを受信する。
【0117】
この応答メッセージCCRには、開始コマンドCCに含まれていたセッション番号SIDの他、受信側が決定した1セッションでの応答時間RTT計測のリトライ数k、および応答要求コマンドMCを受信するためのUDPポート番号pbが含まれている。すなわち開始コマンドCCとその応答メッセージCCRの授受により、送信側の端末11と受信側の機器は、応答時間RTTの計測のリトライ数(計測回数)kとセッション番号SID、および応答要求コマンドMCとその応答メッセージMCRの授受のために利用するUDPポート番号pbを合意する。
【0118】
なお受信側の機器は、開始コマンドCCを介して通知された送信側の端末11で実行可能な応答時間RTT計測のリトライ数ksと受信側が実行可能の応答時間RTT計測のリトライ数のうちの小さい方を、今回の応答時間RTT計測のリトライ数kに決定し、応答メッセージCCRを介して送信側の機器に通知する。
【0119】
ステップS53において、期待値生成部52は、ランダムチャレンジ生成部51により生成されたランダムチャレンジRCに対して、受信側の端末11の応答制御部22(認証データ生成部73)における鍵付きハッシュ処理と同様の鍵付きハッシュ処理を施し、受信側の機器の認証データRRの期待値QRを生成する。
【0120】
この例の場合、応答時間RTT計測が最大k回行われるので(応答要求コマンドMCの応答メッセージMCRが最大k回受信されるので)、受信され得るk個の応答メッセージMCRに含まれる認証データRRそれぞれの期待値QRが生成される。
【0121】
またこのとき認証データ生成部53は、ランダムチャレンジ生成部51により生成されたランダムチャレンジRCに対して鍵付きハッシュ処理を施して、コマンドの認証データRSを生成する。
【0122】
この例の場合、応答時間RTT計測が最大k回行われるので(応答要求コマンドMCが最大k回送信されるので)、送信され得るk個の応答要求コマンドMCそれぞれの認証データRSが生成される。
【0123】
ステップS54において、制御判定部58に内蔵されるカウンタiの値が1に初期設定される。このとき期待値生成部52は、カウンタiの値に対応する期待値QR(例えば、第i番目に生成された期待値QRi)を応答認証部57に供給する。また認証データ生成部53は、カウンタiの値に対応する認証データRSiを、応答要求コマンド送信部55に供給する。
【0124】
ステップS55において、応答要求コマンド送信部55は、セッション番号SID、認証データ生成部53から供給された認証データRSi(k個の認証データRSのうちのカウンタiの値に対応する認証データRSi)、およびシーケンス番号Ci(カウンタiの値を表す番号)を含む応答要求コマンドMCを、制御コマンドCCの応答CCRに含まれていたUDPポート番号pbでのUDP通信で、受信側の機器に送信する。
【0125】
応答要求コマンド送信部55は、応答要求コマンドMCを送信したとき、その旨の通知STRを応答時間計測部59に行う。これにより応答時間計測部59は、応答時間の計測を開始する。
【0126】
ステップS56において、応答受信部56は、受信側の機器からの応答メッセージMCRを受信したか否かを判定し、受信していないと判定した場合、ステップS57に進み、所定時間以上応答を待っているか否かを判定する(ステップS55で応答時間RTT計測が開始されてから所定の時間経過したか否かを判定する)。
【0127】
ステップS57で、まだ所定の時間経過していないと判定された場合、ステップS56に戻り、それ以降の処理が実行される。一方ステップS57で所定の時間経過したと判定された場合、ステップS62に進み、カウンタiの値がリトライ数kより小さいか否かが判定され(応答時間RTTの計測がk回行われたか否かが判定され)、小さいと判定された場合(k回行われていない場合)、ステップS63に進み、カウンタiの値が1だけインクリメントされて、ステップS55に戻る。
【0128】
応答要求コマンドMCを送るUDPでは、パケットが通信相手に届かないことがあるので、送信側の端末11は、応答要求コマンドMCを送った後、所定時間が経っても応答メッセージMCRが受信されない場合は、この回の計測は失敗したものとして、次の応答時間RTTの計測が開始される(ステップS55以降の処理が開始される)。
【0129】
ステップS56で、応答メッセージMCRが受信されたと判定された場合、ステップS58に進み、応答受信部56は、受信した応答メッセージMCRに含まれている応答の認証データRRj、およびシーケンス番号Cjを読み出し、応答認証部57に供給する。
【0130】
応答認証部57は、応答受信部56から供給されたシーケンス番号Cjが、カウンタiの値(送信された応答要求コマンドMCのシーケンス番号Ci)と一致するか否かを判定する。
【0131】
なお応答メッセージMCRのシーケンス番号Cjと応答要求コマンドMCのシーケンス番号Ciを確認することの効果については後述する。
【0132】
ステップS58で、一致しないと判定された場合、ステップS56に戻り、それ以降の処理が行われ、一致すると判定された場合、ステップS59に進む。
【0133】
ステップS59において、応答受信部56は、応答メッセージMCRを受信した旨の通知ENDを応答時間計測部59に行う。応答時間計測部59は、ステップS55で開始した応答時間RTT計測を終了し、計測結果(応答時間RTT)を、制御判定部58に供給する。
【0134】
ステップS60において、応答認証部57は、応答受信部56から供給された応答の認証データRRjと、期待値生成部52により生成された、その認証データRRjの期待値QRiとが一致するか否かを判定し、一致すると判定した場合、受信側の端末11を、本情報通信システムにおける正規の端末であると認証し、ステップS61に進む。
【0135】
ステップS61において、制御判定部58は、応答時間計測部59から供給された応答時間RTTが、所定の規定時間TLより大きいか否かを判定する。
【0136】
規定時間TLは、応答時間RTTが、送信側の端末11と受信側の機器が同一LAN1に接続されていたならば、それを超えないであろう時間である。すなわち応答時間RTTが規定時間TLより大きければ、受信側の機器は送信側の端末11と同一のLAN1に接続されていないと判定することができる。一方、応答時間RTTが規定時間TLより大きくない(それ以下である場合)、受信側の機器は送信側の端末11と同一LAN1に接続されていると判定することができる。
【0137】
ステップS61で、YESの判定がなされたとき(第i回目の応答時間RTT計測で、受信側の機器が送信側の端末11と同一のLAN1に接続されているものではないと判定されたとき)、ステップS62に進み、制御判定部58は、カウンタiの値がkより小さい値か否か(応答時間RTT計測がk回リトライされたか否か)を判定し、小さいと判定した場合(応答時間RTT計測がまだk回行われていない場合)、ステップS63に進み、カウンタiの値が1だけインクリメントされる。このとき期待値生成部52は、カウンタiの新たな値に対応する期待値QRiを応答認証部57に供給し、認証データ生成部53は、カウンタiの新たな値に対応する認証データRSiを、応答要求コマンド送信部55に供給する。
【0138】
その後ステップS55に戻り、それ以降の処理が行われる。すなわち応答時間RTTが規定時間TL内になる応答メッセージMCRが得られるまで、最大k回、応答時間RTTの計測が行われる。
【0139】
ステップS61で、NOの判定がなされたとき(応答時間RTTが規定時間TL以下となる応答メッセージMCRが得られたとき)、ステップS64に進む。
【0140】
ステップS64に進み、制御判定部58は、受信側の機器は、送信データを送信できる機器(正規の機器であって、送信側の端末11と同じLAN1に接続されている機器)である旨を、通信部23(図3)に通知する。これにより通信部23は、所定の送信データを送信データ格納部24から読み出して、受信側の機器(端末11)に送信する。
【0141】
ステップS62で、カウンタiの値が、k以上であると判定された場合(応答時間RTTの計測をk回行っても、応答時間RTTが規定時間TL以下になる応答が得られなかった場合)、ステップS65に進み、制御判定部58は、受信側の機器は、ローカルネットワーク外の機器(送信側の端末11と同じLAN1に接続されていない機器)である旨を、制御コマンド通信制御部54に通知する。これにより制御コマンド通信制御部54は、受信側の機器の認証が失敗した旨を示す終了コマンドCCを、受信側の機器に送信する。
【0142】
ステップS60で、応答の認証データRRjとその期待値QRi一致しないと判定された場合、ステップS66に進み、制御判定部58は、受信側の機器は、不正な機器である旨を、制御コマンド通信制御部54に通知する。これにより制御コマンド通信制御部54は、受信側の機器の認証が失敗した旨を示す終了コマンドCCを、受信側の機器に送信する。
【0143】
以上のようにして送信可否判定処理が行われる。
【0144】
なお以上においては、ステップS53においてk個の認証データRSを生成したが、それに代えて、ステップS55において、応答要求コマンドMCを送信する毎にそのコマンドに使う認証データRSを毎回生成するようにしてもよい。
【0145】
次に、図10の応答制御部22の動作を、図12のフローチャートを参照して説明する。
【0146】
ステップS81において、受信側の端末11の応答制御部22の制御応答通信制御部71は、送信側の機器と協働して、TCPコネクションを確立し、そのTCPコネクションを介して送信側の機器から送信されてきた、開始コマンドCC(ステップS51)を受信する。制御応答通信制御部71は、受信した開始コマンドCCに含まれているランダムチャレンジRCを、期待値生成部72および認証データ生成部73に供給する。
【0147】
次にステップS82において、応答要求コマンド受信部75は、送信側の機器から送信されてくる応答要求コマンドMCを受信するためのUDPポート番号pbを決定する。
【0148】
応答要求コマンド受信部75はまた、制御コマンドCCに含まれている送信側の機器が実行可能な応答時間RTT計測のリトライ数ksと、受信側の端末11が対応可能な応答時間RTTの計測のリトライ数のいずれか小さい方を、今回の応答時間RTTの計測のリトライ数kに決定する。
【0149】
ステップS83において、制御応答通信制御部71は、ステップS81で受信された制御コマンドCCに含まれていたセッション番号SID、応答時間RTTの計測のリトライ数k、およびUDPポート番号pbを含む応答メッセージCCRを、ステップS81で確立されたTCPコネクトを介して送信側の機器に送信する。送信側の機器は、ここで送信された応答メッセージCCRを受信する(ステップS52)。
【0150】
ステップS84において、認証データ生成部73は、制御応答通信制御部71から供給されたランダムチャレンジRCに対して鍵付きハッシュ処理を施して、応答の認証データRRを生成する。
【0151】
この例の場合、応答時間RTT計測が最大k回行われるので(応答要求コマンドMCの応答メッセージMCRが最大k回送信されるので)、送信され得るk個の応答メッセージMCRそれぞれの認証データRRが生成される。
【0152】
期待値生成部72は、制御応答通信制御部71から供給されたランダムチャレンジRCに対して、送信側の端末11の送信可否判定部21(認証データ生成部53)における鍵付きハッシュ処理と同様の鍵付きハッシュ処理を施し、送信側の端末11の認証データRSの期待値QSを生成する。
【0153】
この例の場合、応答時間RTT計測が最大k回行われるので(応答要求コマンドMCが最大k回受信されるので)、受信され得るk個の応答要求コマンドMCに含まれる認証データRSそれぞれの期待値QSが生成される。
【0154】
ステップS85において、コマンド認証部76に内蔵されているカウンタjの値が1に初期設定される。
【0155】
ステップS86において、コマンドが受信されるまで待機され、コマンドが受信されたと判定された場合、ステップS87に進み、受信されたコマンドが応答要求コマンドMC(ステップS55)であるか否かを判定し、応答要求コマンドMCであると判定された場合、ステップS88に進む。
【0156】
ステップS88において、受信されたコマンドに含まれるシーケンス番号Ciとカウンタjが比較され、シーケンス番号Ciがカウンタj以上の値であることが確認される。カウンタj以上の値である場合、ステップS89に進み、カウンタjがシーケンス番号Ciの値に設定される。
【0157】
これは、コマンドが欠落した場合、順番どおりに来なかった場合に、カウンタjをシーケンス番号Ciに合致させるための対策である。
【0158】
期待値生成部72はこのとき、カウンタjの値に対応する期待値QS(例えば、第j番目に生成された期待値QSj)をコマンド認証部76に供給する。また認証データ生成部73は、カウンタjの値に対応する認証データRRjを、応答送信部74に供給する。
【0159】
次にステップS90において、コマンド認証部76は、応答要求コマンド受信部75により受信された応答要求コマンドMCに組み込まれている認証データRSiと、期待値生成部72により生成された期待値QSj(カウンタjが示す順番に生成された期待値)とが一致するか否かを判定し、一致すると判定した場合、送信側の端末11を、本情報通信システムにおける正規の端末であると認証し、ステップS91に進む。
【0160】
ステップS91において、コマンド認証部76は、送信側の端末11が正規の機器である旨を、応答送信部74に通知する。これにより応答送信部74は、セッション番号SID、カウンタjの値を表すシーケンス番号Cj、認証データ生成部73から供給された認証データRRjを含む応答メッセージMCRを、送信側の機器に送信する。
【0161】
一方ステップS90で、一致しないと判定された場合、ステップS92に進み、コマンド認証部76は、その旨を、応答送信部74に通知する。これにより応答送信部74は、セッション番号SID、カウンタjの値を表すシーケンス番号Cj、および送信側の機器における受信側の機器の認証(ステップS60)が失敗するような認証データRR(=××)を含む応答メッセージMCRを、送信側の機器に送信する。
【0162】
ステップS91又はステップS92で、応答メッセージMCRが送信されたとき、ステップS93で、カウンタjの値が1だけインクリメントされ、その後、ステップS86に戻り、それ以降の処理が実行される。
【0163】
また、ステップS88において、カウンタjの値が受信されたコマンドに含まれるシーケンス番号Ciよりも小さい場合も、ステップS86に戻り、それ以降の処理が実行される。
【0164】
ステップS87で、受信されたコマンドが応答要求コマンドではないと判定された場合(終了コマンドCC(ステップS65,S66)であるとき)、処理は終了する。
【0165】
次に図11のステップS58の処理について説明する。ステップS58の処理では、受信側の機器からの応答メッセージMCRのシーケンス番号Cjと応答要求コマンドMCのシーケンス番号Ci(カウンタiの値)が一致するか否かが判定されるが、このように応答要求コマンドMCと応答メッセージMCRの対応関係を確認するようにしたので、応答要求コマンドMCに対応しない応答メッセージMCR(他の応答要求コマンドMCの応答メッセージMCR)に基づいて応答時間RTTによる距離判定が行われない。
【0166】
例えば、図13に示すように、受信側の機器で、第1番目の応答要求コマンドMCに対する応答メッセージMCRの送信に時間がかかり(ステップS91,S92)、送信側の端末11で、タイムアウトと判定されて(ステップS57)、第2番目の応答要求コマンドMCが受信側の機器に送信されたものとする。第1番目の応答要求コマンドMCに対する応答メッセージMCRは、第2番目の応答要求コマンドMCが送信された後(ステップS55)、第2番目の応答要求コマンドMCとの関係でタイムアウトとならない間(ステップS57)に送信側の端末11に受信されたものとする(ステップS56)。
【0167】
しかしながらこの場合本開示では、受信側の機器からの第1番目の応答メッセージMCRのシーケンス番号(=1)と、第2番目の応答要求コマンドMCのシーケンス番号(=2)が一致しないと判定され、送信側の端末11は、第2番目の応答要求コマンドMCに対する応答メッセージMCRが受信されるまで待機することになり(ステップS56に戻る)、対応しない応答メッセージMCRが受信されても応答時間RTTによる距離判定は行われない。
【0168】
次に、不正に対する端末11の動作を具体的に説明する。
【0169】
例えば図8に示した送信機器と同一のLAN1に接続された不正な機器xが、受信機器から応答を得るために応答要求コマンドを送信するものとする。しかしながら、機器xは、受信機器と共有する秘密鍵を有していないので、受信機器での送信機器の認証に必要な認証データRSを得ることができない。したがって図14に示すように、機器xが、不適当な認証データRS(=?)を含む応答要求コマンドMCを受信機器に送信するが、受信機器からは、受信機器の認証が失敗する認証データRR(=××)を含む応答メッセージMCRが送信されてくる(ステップS92)。したがって機器xが、その後、送信機器からの応答要求コマンドMCに対して、その応答メッセージMCRを送信機器に送信して応答しても、送信機器において、機器xは認証されず、送信データは機器xに送信されない。
【0170】
そこで図15に示すように、不正の機器xは、送信機器から応答要求コマンドMCを受けてそれを受信機器に送信し、受信機器から、適当な認証データRRを含む応答メッセージMCRを取得する。そして機器xは、取得した応答メッセージMCRを、送信機器に送信することも考えられる。
【0171】
しかしながらこの例の場合、応答要求コマンドMCは、送信機器から機器x、そして機器xから受信機器に送信され、応答メッセージMCRが、受信機器から機器xに、そして機器xから送信機器へ伝送されるので、応答要求コマンドMCと応答メッセージMCRの伝送路が、通常の伝送経路(送信機器と受信機器間の伝送路)より長くなる。したがってこの場合、結局応答時間RTTが規定時間TLより長くなるので、機器xは、送信機器と同一LAN1に接続されていないものとして、機器xには送信データが提供されない。
【0172】
上述した一連の処理は、ハードウエアにより実現させることもできるが、ソフトウエアにより実現させることもできる。一連の処理をソフトウエアにより実現する場合には、そのソフトウエアを構成するプログラムがコンピュータにインストールされ、そのプログラムがコンピュータで実行されることより、上述した送信可否判定部21および応答制御部22が機能的に実現される。
【0173】
図16は、上述のような送信可否判定部21および応答制御部22として機能するコンピュータ101の一実施の形態の構成を示すブロック図である。CPU(Central Processing Unit)111にはバス115を介して入出力インタフェース116が接続されており、CPU111は、入出力インタフェース116を介して、ユーザから、キーボード、マウスなどよりなる入力部117から指令が入力されると、例えば、ROM(Read Only Memory)112、ハードディスク114、又はドライブ120に装着される磁気ディスク131、光ディスク132、光磁気ディスク133、若しくは半導体メモリ134などの記録媒体に格納されているプログラムを、RAM(Random Access Memory)113にロードして実行する。これにより、上述した各種の処理が行われる。さらに、CPU111は、その処理結果を、例えば、入出力インタフェース116を介して、LCD(Liquid Crystal Display)などよりなる出力部118に必要に応じて出力する。なお、プログラムは、ハードディスク114やROM112に予め記憶しておき、コンピュータ101と一体的にユーザに提供したり、磁気ディスク131、光ディスク132、光磁気ディスク133,半導体メモリ134等のパッケージメディアとして提供したり、衛星、ネットワーク等から通信部119を介してハードディスク114に提供することができる。
【0174】
なお、本明細書において、記録媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0175】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【符号の説明】
【0176】
1 LAN, 11 端末, 21 送信可否判定部, 22 応答制御部, 23 通信部, 24 送信データ格納部, 31 ランダムチャレンジ生成部, 32 ランダムチャレンジ送信制御部, 33 期待値生成部, 34 コマンド送信制御部, 35 判別部, 36 応答時間計測部, 41 ランダムチャレンジ受信制御部, 42 認証データ生成部, 43 応答メッセージ生成部, 44 応答メッセージ送信制御部, 51 ランダムチャレンジ生成部, 52 期待値生成部, 53 認証データ生成部, 54 制御コマンド通信制御部, 55 応答要求コマンド送信部, 56 応答受信部, 57 応答認証部, 58 制御判定部, 59 応答時間計測部, 71 制御応答通信制御部, 72 期待値生成部, 73 認証データ生成部, 74 応答送信部, 75 応答要求コマンド受信部, 76 コマンド認証部

【特許請求の範囲】
【請求項1】
応答を要求するコマンドを受信装置に送信するコマンド送信部と、
前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成部と、
前記共有データに基づいて生成された認証データを含んだ応答メッセージを前記受信装置から受信する受信部と、
前記期待値生成部により生成された前記期待値と受信部により受信された前記認証データに基づいて、前記受信装置を認証する認証部と、
前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答メッセージが受信されるまでの間の応答時間を計測する計測部と、
前記認証部による認証結果、および前記計測部により計測された前記応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定部と
を備える情報処理装置。
【請求項2】
応答を要求するコマンドを受信装置に送信するコマンド送信ステップと、
前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成ステップと、
前記共有データに基づいて生成された認証データを含んだ応答メッセージを前記受信装置から受信する受信ステップと、
前記期待値生成ステップの処理で生成された前記期待値と受信ステップの処理で受信された前記認証データに基づいて、前記受信装置を認証する認証ステップと、
前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答メッセージが受信されるまでの間の応答時間を計測する計測ステップと、
前記認証ステップでの認証結果、および前記計測ステップの処理で計測された前記応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定ステップと
を含む情報処理方法。
【請求項3】
応答を要求するコマンドを受信装置に送信するコマンド送信ステップと、
前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成ステップと、
前記共有データに基づいて生成された認証データを含んだ応答メッセージを前記受信装置から受信する受信ステップと、
前記期待値生成ステップの処理で生成された前記期待値と受信ステップの処理で受信された前記認証データに基づいて、前記受信装置を認証する認証ステップと、
前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答メッセージが受信されるまでの間の応答時間を計測する計測ステップと、
前記認証ステップでの認証結果、および前記計測ステップの処理で計測された前記応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定ステップと
を含む処理をコンピュータに実行させるプログラム。
【請求項4】
送信装置と共有する共有データから生成された認証データに基づく認証結果、および前記送信装置からの所定のコマンドに対する応答時間に基づいてデータの送信可否を判定する前記送信装置と通信可能な情報処理装置において、
前記送信装置から前記コマンドを受信する受信部と、
前記共有データに対して所定の処理を施して、前記認証データを生成する認証データ生成部と、
前記認証データ生成部により生成された前記認証データを含む、前記コマンドに対する応答メッセージを生成する応答メッセージ生成部と、
前記送信装置から送信されてきた前記コマンドが受信されたとき、前記応答メッセージを前記送信装置に送信する送信部と
を備える情報処理装置。
【請求項5】
送信装置と共有する共有データから生成された認証データに基づく認証結果、および前記送信装置からの所定のコマンドに対する応答時間に基づいてデータの送信可否を判定する前記送信装置と通信可能な情報処理装置の情報処理方法において、
前記送信装置から前記コマンドを受信する受信ステップと、
前記共有データに対して所定の処理を施して、前記認証データを生成する認証データ生成ステップと、
前記認証データ生成ステップの処理で生成された前記認証データを含む、前記コマンドに対する応答メッセージを生成する応答メッセージ生成ステップと、
前記送信装置から送信されてきた前記コマンドが受信されたとき、前記応答メッセージを前記送信装置に送信する送信ステップと
を含む情報処理方法。
【請求項6】
送信装置と共有する共有データから生成された認証データに基づく認証結果、および前記送信装置からの所定のコマンドに対する応答時間に基づいてデータの送信可否を判定する前記送信装置と通信可能な情報処理装置の情報処理用のプログラムであって、
前記送信装置から前記コマンドを受信する受信ステップと、
前記共有データに対して所定の処理を施して、前記認証データを生成する認証データ生成ステップと、
前記認証データ生成ステップの処理で生成された前記認証データを含む、前記コマンドに対する応答メッセージを生成する応答メッセージ生成ステップと、
前記送信装置から送信されてきた前記コマンドが受信されたとき、前記応答メッセージを前記送信装置に送信する送信ステップと
を含む処理をコンピュータに実行させるプログラム。
【請求項7】
受信装置との間で共有するデータをもとに、コマンド認証データと、応答期待値データを生成する認証データ生成部と、
前記コマンド認証データを含み、応答を要求するコマンドを前記受信装置に送信するコマンド送信部と、
前記コマンドに対する受信装置からの応答を受信する応答受信部と、
前記応答期待値と、前記受信装置から受信した前記応答に含まれる応答認証データに基づいて前記受信装置を認証する認証部と、
前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答が受信されるまでの間の応答時間を計測する計測部と、
前記認証部による認証結果、および前記計測部により計測された応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定部と
を備える情報処理装置。
【請求項8】
受信装置との間で共有するデータをもとに、コマンド認証データと、応答期待値データを生成する認証データ生成ステップと、
前記コマンド認証データを含み、応答を要求するコマンドを前記受信装置に送信するコマンド送信ステップと、
前記コマンドに対する受信装置からの応答を受信する応答受信ステップと、
前記応答期待値と、前記受信装置から受信した前記応答に含まれる応答認証データに基づいて前記受信装置を認証する認証ステップと、
前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答が受信されるまでの間の応答時間を計測する計測ステップと、
前記認証ステップによる認証結果、および前記計測ステップの処理で計測された応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定ステップと
を含む情報処理方法。
【請求項9】
受信装置との間で共有するデータをもとに、コマンド認証データと、応答期待値データを生成する認証データ生成ステップと、
前記コマンド認証データを含み、応答を要求するコマンドを前記受信装置に送信するコマンド送信ステップと、
前記コマンドに対する受信装置からの応答を受信する応答受信ステップと、
前記応答期待値と、前記受信装置から受信した前記応答に含まれる応答認証データに基づいて前記受信装置を認証する認証ステップと、
前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの応答が受信されるまでの間の応答時間を計測する計測ステップと、
前記認証ステップによる認証結果、および前記計測ステップの処理で計測された応答時間に基づいて、前記受信装置に対するデータの送信可否を判定する判定ステップと
を含む処理をコンピュータに実行させるプログラム。
【請求項10】
所定のコマンドに対する応答時間に基づいて送信データの送信可否を判定する送信装置と通信可能な情報処理装置において、
前記送信装置との間で共有する共有データから、前記送信装置において前記共有データから生成された前記コマンドの認証データに対応するコマンド期待値データおよび応答認証データを生成する生成部と、
前記送信装置から送信されてきた前記コマンドが受信されたとき、前記コマンドに含まれる前記コマンドの認証データと、前記生成部により生成された前記コマンド期待値データに基づいて前記送信装置を認証する認証部と、
前記認証部による認証結果に基づいて、前記応答認証データを含む応答を前記送信装置に送信する送信部と
を備える情報処理装置。
【請求項11】
所定のコマンドに対する応答時間に基づいて送信データの送信可否を判定する送信装置と通信可能な情報処理装置の情報処理方法において、
前記送信装置との間で共有する共有データから、前記送信装置において前記共有データから生成された前記コマンドの認証データに対応するコマンド期待値データおよび応答認証データを生成する生成ステップと、
前記送信装置から送信されてきた前記コマンドが受信されたとき、前記コマンドに含まれる前記コマンドの認証データと、前記生成ステップの処理で生成された前記コマンド期待値データに基づいて前記送信装置を認証する認証ステップと、
前記認証ステップの処理での認証結果に基づいて、前記応答認証データを含む応答を前記送信装置に送信する送信ステップと
を備える情報処理方法。
【請求項12】
所定のコマンドに対する応答時間に基づいて送信データの送信可否を判定する送信装置と通信可能な情報処理装置の情報処理用のプログラムであって、
前記送信装置との間で共有する共有データから、前記送信装置において前記共有データから生成された前記コマンドの認証データに対応するコマンド期待値データおよび応答認証データを生成する生成ステップと、
前記送信装置から送信されてきた前記コマンドが受信されたとき、前記コマンドに含まれる前記コマンドの認証データと、前記生成ステップの処理で生成された前記コマンド期待値データに基づいて前記送信装置を認証する認証ステップと、
前記認証ステップの処理での認証結果に基づいて、前記応答認証データを含む応答を前記送信装置に送信する送信ステップと
を含む処理をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−178169(P2012−178169A)
【公開日】平成24年9月13日(2012.9.13)
【国際特許分類】
【出願番号】特願2012−102371(P2012−102371)
【出願日】平成24年4月27日(2012.4.27)
【分割の表示】特願2010−248717(P2010−248717)の分割
【原出願日】平成16年6月24日(2004.6.24)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】