(57)【特許請求の範囲】
【請求項１】
応答を要求するコマンドをTCPコネクションを介して受信装置に送信する送信部と、
前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成部と、
前記共有データに基づいて生成された認証データを含んだ前記応答を前記受信装置から受信する受信部と、
前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの前記応答が受信されるまでの間の応答時間を計測する計測部と、
前記期待値生成部により生成された前記期待値と、前記受信部により受信された前記認証データの比較を行う比較部と、
前記応答時間が所定時間を超えた場合、または前記期待値と前記認証データが一致しない場合に、前記受信装置に対する送信データの送信を制限する制御部と
を備える情報処理装置。
【請求項２】
前記期待値生成部は、前記コマンドが送信される前に、前記共有データに基づいて前記期待値を生成する
請求項１に記載の情報処理装置。
【請求項３】
前記応答時間が前記所定時間を超えた場合、前記応答を要求するコマンドが何番目に送信されるものであるのかを示すカウント値を１だけインクリメントするカウント部をさらに備え、
前記送信部は、前記カウント値が１だけインクリメントされたことに対応して、新たな前記応答を要求するコマンドを送信する
請求項２に記載の情報処理装置。
【請求項４】
前記期待値生成部は、前記新たな前記応答を要求するコマンドが送信される前に、前記共有データに基づいて、前記比較部での比較に用いられる新たな前記期待値を生成し、
前記受信部は、前記新たな前記応答を要求するコマンドにより要求された前記応答であって、新たな前記認証データを含んだ前記応答を前記受信装置から受信し、
前記比較部は、前記新たな前記期待値と、前記新たな前記認証データの比較を行なう
請求項３に記載の情報処理装置。
【請求項５】
前記送信部は、前記応答を要求するコマンドを送信する前に、前記共有データを前記受信装置に送信する
請求項１に記載の情報処理装置。
【請求項６】
前記期待値生成部は、前記共有データに対してハッシュ処理を施し、前記期待値を生成する
請求項１に記載の情報処理装置。
【請求項７】
前記所定時間は、同一のローカルネットワーク内に接続された前記受信装置と前記情報処理装置との間で要する通信時間である
請求項１に記載の情報処理装置。
【請求項８】
ユーザ入力を受け付けるユーザインタフェースをさらに備える
請求項１に記載の情報処理装置。
【請求項９】
応答を要求するコマンドをTCPコネクションを介して受信装置に送信する送信ステップと、
前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成ステップと、
前記共有データに基づいて生成された認証データを含んだ前記応答を前記受信装置から受信する受信ステップと、
前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの前記応答が受信されるまでの間の応答時間を計測する計測ステップと、
前記期待値生成ステップの処理で生成された前記期待値と、受信ステップの処理で受信された前記認証データの比較を行う比較ステップと、
前記応答時間が所定時間を超えた場合、または前記期待値と前記認証データが一致しない場合に、前記受信装置に対する送信データの送信を制限する制御ステップと
を含む情報処理方法。
【請求項１０】
応答を要求するコマンドをTCPコネクションを介して受信装置に送信する送信ステップと、
前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成ステップと、
前記共有データに基づいて生成された認証データを含んだ前記応答を前記受信装置から受信する受信ステップと、
前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの前記応答が受信されるまでの間の応答時間を計測する計測ステップと、
前記期待値生成ステップの処理で生成された前記期待値と、受信ステップの処理で受信された前記認証データの比較を行う比較ステップと、
前記応答時間が所定時間を超えた場合、または前記期待値と前記認証データが一致しない場合に、前記受信装置に対する送信データの送信を制限する制御ステップと
を含む処理をコンピュータに実行させるプログラム。
【請求項１１】
プログラムを保持するメモリと、
他の装置とのデータの送受信を行なうインタフェースとを備え、
前記プログラムは、
応答を要求するコマンドをTCPコネクションを介して受信装置に送信する送信ステップと、
前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成ステップと、
前記共有データに基づいて生成された認証データを含んだ前記応答を前記受信装置から受信する受信ステップと、
前記受信装置に対して前記応答を要求する前記コマンドが送信されたときから、前記受信装置からの前記応答が受信されるまでの間の応答時間を計測する計測ステップと、
前記期待値生成ステップの処理で生成された前記期待値と、前記受信ステップの処理で受信された前記認証データの比較を行う比較ステップと、
前記応答時間が所定時間を超えた場合、または前記期待値と前記認証データが一致しない場合に、前記受信装置に対する送信データの送信を制限する制御ステップと
を含む処理をコンピュータに実行させるプログラムである
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、およびプログラムに関し、特に、通信相手との通信時間を適切に計測することができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、インターネットに代表される公共性のある広域に亘るネットワーク（以下、WAN(Wide Area Network)と称する）や一般家屋等に設けられる局所的なネットワーク（以下、LAN(Local Area Network)と称する）の普及に伴い、それらのネットワークを介した各種データ通信が盛んに行われている。
【０００３】
映像や音楽コンテンツなどを、ネットワークを通して伝送する場合は、著作権保護のために、通信相手の機器との間で、認証および鍵交換を行い、コンテンツを暗号化して伝送することが行われている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】DTCP Specification Volume 1 Version 1.3 (Information Version) http://www.dtcp.com/daTa/info_20040107_dtcp_Vol_1_1p3.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここにおいて、著作権の観点からは、家庭内でのコピーや伝送は許可するが、WANで接続された他の家庭との間でのコンテンツの伝送を制限したい場合がある。例えば、テレビジョン放送を録画したコンテンツは、私的利用の範囲（家庭内）で利用できるが、インターネットを通して、他人に伝送するのは著作権を侵害すると考えられるので、このような制限が必要となる。
【０００６】
この制限の下では、著作権保護されたコンテンツを送信する機器(送信機器)は、そのコンテンツを受信する通信相手の機器(受信機器)が同一LAN内にあるか、WAN(インターネット)を通して接続されているかを判断する必要がある。
【０００７】
例えば、IPアドレスから通信相手が同一サブネット内にあるかどうかを調べることや、IP通信パケットが通過したIPルータの数(Hop Count)を使うことで通信相手がWAN(インターネット)を通して接続されているかを知ることができる。
【０００８】
しかしながら、WAN(インターネット)を経由した通信であってもVPN(Virtual Private Network)などの技術を使えば、IPルータを経由せずに接続されている同一サブネットであるかように接続することが可能である。すなわち不正にコンテンツを入手することが可能である。
【０００９】
本開示はこのような状況に鑑みてなされたものであり、所定のコマンドに対する受信機器の応答時間に基づいて通信距離を判別し、例えば送信機器と同一LANに接続されているか否かを判定することを目的とする。
【課題を解決するための手段】
【００１０】
本開示の第１の側面の情報処理装置は、応答を要求するコマンドをTCPコネクションを介して受信装置に送信する送信部と、前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成部と、前記共有データに基づいて生成された認証データを含んだ前記応答を前記受信装置から受信する受信部と、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの前記応答が受信されるまでの間の応答時間を計測する計測部と、前記期待値生成部により生成された前記期待値と、前記受信部により受信された前記認証データの比較を行う比較部と、前記応答時間が所定時間を超えた場合、または前記期待値と前記認証データが一致しない場合に、前記受信装置に対する送信データの送信を制限する制御部とを備える情報処理装置である。
【００１１】
本開示の第１の側面の情報処理方法またはプログラムは、応答を要求するコマンドをTCPコネクションを介して受信装置に送信する送信ステップと、前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成ステップと、前記共有データに基づいて生成された認証データを含んだ前記応答を前記受信装置から受信する受信ステップと、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの前記応答が受信されるまでの間の応答時間を計測する計測ステップと、前記期待値生成ステップの処理で生成された前記期待値と、受信ステップの処理で受信された前記認証データの比較を行う比較ステップと、前記応答時間が所定時間を超えた場合、または前記期待値と前記認証データが一致しない場合に、前記受信装置に対する送信データの送信を制限する制御ステップとを含む情報処理方法またはプログラムである。
【００１３】
本開示の第１の側面によれば、応答を要求するコマンドがTCPコネクションを介して受信装置に送信され、前記受信装置との間で共有する共有データに基づいて、期待値が生成され、前記共有データに基づいて生成された認証データを含んだ前記応答が前記受信装置から受信され、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの前記応答が受信されるまでの間の応答時間が計測され、生成された前記期待値と、受信された前記認証データの比較が行なわれ、前記応答時間が所定時間を超えた場合、または前記期待値と前記認証データが一致しない場合に、前記受信装置に対する送信データの送信が制限される。
【００１８】
本開示の第２の側面の情報処理装置は、プログラムを保持するメモリと、他の装置とのデータの送受信を行なうインタフェースとを備え、前記プログラムは、応答を要求するコマンドをTCPコネクションを介して受信装置に送信する送信ステップと、前記受信装置との間で共有する共有データに基づいて、期待値を生成する期待値生成ステップと、前記共有データに基づいて生成された認証データを含んだ前記応答を前記受信装置から受信する受信ステップと、前記受信装置に対して前記応答を要求する前記コマンドが送信されたときから、前記受信装置からの前記応答が受信されるまでの間の応答時間を計測する計測ステップと、前記期待値生成ステップの処理で生成された前記期待値と、前記受信ステップの処理で受信された前記認証データの比較を行う比較ステップと、前記応答時間が所定時間を超えた場合、または前記期待値と前記認証データが一致しない場合に、前記受信装置に対する送信データの送信を制限する制御ステップとを含む処理をコンピュータに実行させるプログラムである情報処理装置である。
【００２１】
本開示の第２の側面によれば、応答を要求するコマンドがTCPコネクションを介して受信装置に送信され、前記受信装置との間で共有する共有データに基づいて、期待値が生成され、前記共有データに基づいて生成された認証データを含んだ前記応答が前記受信装置から受信され、前記受信装置に対して前記応答を要求するコマンドが送信されたときから、前記受信装置からの前記応答が受信されるまでの間の応答時間が計測され、生成された前記期待値と、受信された前記認証データの比較が行なわれ、前記応答時間が所定時間を超えた場合、または前記期待値と前記認証データが一致しない場合に、前記受信装置に対する送信データの送信が制限される。
【発明の効果】
【００２６】
本開示の第１および第２の側面によれば、受信装置の応答時間を適切に計測することができる。
【図面の簡単な説明】
【００２８】
【図１】本開示を適用した情報通信システムの利用例を示す図である。
【図２】図１の端末の構成例を示すブロック図である。
【図３】図２の送信可否判定部の構成例を示すブロック図である。
【図４】図２の応答制御部の構成例を示すブロック図である。
【図５】送信可否判定処理および応答処理を説明するフローチャートである。
【図６】期待値および認証データの生成方法を説明する図である。
【図７】期待値および認証データの他の生成方法を説明する図である。
【図８】図１の端末の動作を説明する図である。
【図９】図２の送信可否判定部の他の構成例を示すブロック図である。
【図１０】図２の応答制御部の他の構成例を示すブロック図である。
【図１１】他の送信可否判定処理を説明するフローチャートである。
【図１２】他の応答処理を説明するフローチャートである。
【図１３】図１の端末の動作を説明する他の図である。
【図１４】図１の端末の動作を説明する他の図である。
【図１５】図１の端末の動作を説明する他の図である。
【図１６】パーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２９】
図１は、本開示を適用した端末１１からなる情報通信システムの構成例を示している。
【００３０】
LAN１−１，１−２（以下、個々に区別する必要がない場合、単位、LAN１と称する。他の場合についても同様である）がインターネットに代表されるWAN２を介して相互に接続されている。
【００３１】
LAN１−１は、例えば、家屋内に設けられ、特定の個人（あるいは、家族）が使用する程度の規模のものであり、それには、スイッチングハブ（図示せず）を介して、パーソナルコンピュータやＡＶ機器等の端末１１−１および端末１１−２が接続されている。LAN１−１と端末１１−１および１１−２との接続は、例えば、Ethernet(登録商標)（100BASE-TX）等の高速インタフェースによる。端末１１−１および１１−２は、LAN１−１およびWAN２を介して、LAN１−２に接続することができる。
【００３２】
LAN１−２は、LAN１−１と同様に構成されており、それには、端末１１−３が接続されている。
【００３３】
各端末１１は、本情報通信システムに登録された正規の機器であり、図２に示すように、送信可否判定部２１、応答制御部２２、通信部２３、および送信データ格納部２４を含んで構成されている。
【００３４】
送信可否判定部２１は、他の端末１１（受信側の端末１１）に所定のデータを送信する際に、通信部２３を介して、受信側の端末１１（正確には、その応答制御部２２）と後述するように通信することで、受信側の端末１１が本情報通信システムにおける正規の機器であるか否かを認証するとともに、所定の要求に対する受信側の端末１１の応答時間を、受信側の端末１１との通信時間として計測する。
【００３５】
送信可否判定部２１は、受信側の端末１１の認証結果および応答時間に基づく通信距離の判別結果に基づいて、受信側の端末１１に対するデータの送信可否を判定する。
【００３６】
例えば、受信側の端末１１が、送信側の端末１１と異なるLAN１に接続されている場合（WAN２を介して接続され、いわゆる通信距離が長い場合）、応答時間は、同じLAN１に接続されている場合（通信距離が短い場合）に比べて長くなるので、例えば、通信が同一LAN１内に制限されているとき、送信可否判定部２１は、計測した応答時間から受信側の端末１１が送信側の端末１１と同じLAN１に接続されているか否かを判定し、その判定結果と受信側の端末１１の認証結果に基づいて、データ送信の可否を判定する。
【００３７】
すなわち図１の例では、端末１１−１（送信側）が端末１１−２（受信側）にデータを送信する場合、端末１１−１の送信可否判定部２１は、計測した端末１１−２の応答時間から、端末１１−２がLAN１−１に接続されていることを判定し、データ送信を行う。一方、端末１１−１が端末１１−３にデータを送信する場合、端末１１−１の送信可否判定部２１は、計測した端末１１−３の応答時間から、端末１１−３はLAN１−１と異なるLAN（LAN１−２）に接続されていることを判定し、データ送信を行わない。
【００３８】
なおこのような通信距離による通信制御は、映画などのコンテンツを一定の地域に対して先行配給し、他の地域には後日配給するなどのコンテンツ配給ビジネスに適用することができる。
【００３９】
図２に戻り、応答制御部２２は、送信側の端末１１から所定のデータの送信を受ける際、通信部２３を介して、送信側の端末１１（正確には、その送信可否判定部２１）と後述するように通信することで、送信側の端末１１における認証および応答時間の適切な計測に必要な情報を送信側の端末１１に送信する。
【００４０】
通信部２３は、LAN１に接続されており、同一のLAN１内の端末１１、又はWAN２を介して異なるLAN１に接続されている端末１１との通信を行う。
【００４１】
送信データ格納部２４は、受信側の端末１１に送信される、所定のデータが格納されている。
【００４２】
図３は、端末１１の送信可否判定部２１の構成例を示している。
【００４３】
ランダムチャレンジ生成部３１は、所定ビット数の疑似乱数（以下、ランダムチャレンジと称する）を生成し、ランダムチャレンジ送信制御部３２および期待値生成部３３に供給する。
【００４４】
ランダムチャレンジ送信制御部３２は、ランダムチャレンジ生成部３１から供給されたランダムチャレンジを、通信部２３を介して、受信側の端末１１に送信する。ランダムチャレンジ送信制御部３２はまた、通信部２３を介して、受信側の端末１１から送信されてきた、ランダムチャレンジを受信した旨のメッセージ（以下、ＲＣ受信メッセージと称する）を受信し、そのときＲＣ受信メッセージを受信した旨をコマンド送信制御部３４に通知する。
【００４５】
期待値生成部３３は、ランダムチャレンジ生成部３１から供給されたランダムチャレンジに対して、例えば、受信側の端末１１と共有する秘密鍵を利用したHMAC（Keyed-Hashing  for  Message  Authentication,  IETF  RFC  2104）アルゴリズムによるハッシュ処理（いわゆる鍵付きハッシュ処理）を施して、受信側の端末１１でランダムチャレンジから生成される認証データの期待値を生成し、判定部３５に供給する。期待値生成部３３はまた、端末１１に予め設定された端末１１固有の情報（例えば、機器ID）とランダムチャレンジを連結したものに鍵付きハッシュ処理を施して期待値を生成することもできる。
【００４６】
なお、ハッシュ処理で利用される秘密鍵は、本情報通信システムの正規の機器に所定のタイミングで安全に配信される。
【００４７】
コマンド送信制御部３４は、ランダムチャレンジ送信制御部３２から、ＲＣ受信メッセージを受信した旨が通知されたとき、又は判定部３５からの指示に従って、応答を要求するコマンド（以下、応答要求コマンドと称する）を、通信部２３を介して、受信側の端末１１に送信する。
【００４８】
コマンド送信制御部３４又は、通信部２３を介して、送信した応答要求コマンドに対する応答として、受信側の端末１１から送信されてきたメッセージ（以下、応答メッセージと称する）を受信し、それを判定部３５に供給する。応答メッセージには、ランダムチャレンジ送信制御部３２により送信されたランダムチャレンジから生成された認証データが組み込まれている。
【００４９】
コマンド送信制御部３４又は、応答要求コマンドを送信した後、応答時間計測部３６を制御して、応答時間の計測を開始させるとともに、その応答要求コマンドに対する応答としての応答メッセージを受信したとき、応答時間の計測を終了させる。
【００５０】
判定部３５は、コマンド送信制御部３４からの応答メッセージに組み込まれている認証データと、期待値生成部３３で生成されたその認証データの期待値に基づいて、受信側の端末１１が、本情報通信システムにおける正規の機器であるかの認証を行う。判定部３５はまた、応答時間計測部３６で計測された応答時間が所定の時間TLを越えているか否かを判定して、通信距離の判別（送信側の端末１１と同一のLAN１に接続されているかの判定）を行う。
【００５１】
判定部３５は、受信側の端末１１の認証結果および通信距離の判別結果に基づいて、データの送信可否の判定を行う。判定部３５は、その判定結果に基づいて、通信部２３を制御し、送信データ格納部２４に格納されているデータを、受信側の端末１１に送信させる。
【００５２】
応答時間計測部３６は、コマンド送信制御部３４からの指示に従って、内蔵するタイマを動作させ、受信側の端末１１の応答時間を計測する。
【００５３】
図４は、端末１１の応答制御部２２の構成例を示している。
【００５４】
ランダムチャレンジ受信制御部４１は、通信部２３を介して、送信側の端末１１（正確には、その送信可否判定部２１）から送信されてきたランダムチャレンジを受信し、それを認証データ生成部４２に供給する。ランダムチャレンジ受信制御部４１はまた、通信部２３を介して、ＲＣ受信メッセージ（ランダムチャレンジを受信した旨を表すメッセージ）を、送信側の端末１１に送信し、そのときＲＣ受信メッセージを送信した旨を応答メッセージ送信制御部４４に通知する。
【００５５】
認証データ生成部４２は、ランダムチャレンジ受信制御部４１から供給されたランダムチャレンジに対して、送信側の端末１１（送信可否判定部２１の期待値生成部３３）における場合と同様の鍵付きハッシュ処理を施して、第三者が予測できない認証データを生成し、応答メッセージ生成部４３に供給する。
【００５６】
応答メッセージ生成部４３は、応答メッセージ送信制御部４４の制御に従って、認証データ生成部４２から供給された認証データを組み込んだ応答メッセージを生成し、応答メッセージ送信制御部４４に供給する。
【００５７】
応答メッセージ送信制御部４４は、通信部２３を介して、送信側の端末１１から送信されてきた応答要求コマンドを受信する。
【００５８】
応答メッセージ送信制御部４４は、応答要求コマンドを受信する前のタイミングで（送信側の端末１１から応答要求コマンドが送信されてくる前のタイミングで）、応答メッセージ生成部４３を制御して、受信する応答要求コマンドに対応した認証データが組み込まれた応答メッセージを生成させるとともに、応答要求コマンドを受信したとき、通信部２３を介して、その応答メッセージを送信先の端末１１に送信する。
【００５９】
次に、図５のフローチャートを参照して、送信可否判定処理を行う場合の端末１１の送信可否判定部２１（図２，３）の動作を説明する。
【００６０】
ステップＳ１において、端末１１（送信側の端末１１）の送信可否判定部２１のランダムチャレンジ生成部３１は、ランダムチャレンジを生成し、それをランダムチャレンジ送信制御部３２および期待値生成部３３に供給する。
【００６１】
ステップＳ２において、ランダムチャレンジ送信制御部３２は、供給されたランダムチャレンジを、通信部２３を介して受信側の端末１１に送信し、ステップＳ３において、期待値生成部３３は、供給されたランダムチャレンジに対して鍵付きハッシュ処理を施して、受信側の端末１１で生成される認証データの期待値を生成する。
【００６２】
なおこの例の場合、送信側の端末１１は、データ送信の可否を判定するのに、最大Ｎ（＝１，２，・・・）回応答要求コマンドを送信するので、ここでは、送信され得るＮ個の応答要求コマンドに応じた認証データのＮ個の期待値が生成される。
【００６３】
Ｎ個の期待値は、例えば、ランダムチャレンジに対して鍵付きハッシュ処理を施した結果得られたデータを複数個に分割し、その分割して得られたデータからＮ個の期待値を生成することができる。図６の例の場合、ランダムチャレンジに対して鍵付きハッシュ処理を施した結果得られたデータが、Ｎ個に分割されて、Ｎ個の期待値１乃至期待値Ｎが生成される。
【００６４】
また、ランダムチャレンジに対する鍵付きハッシュ処理を、複数回繰り返して行い、その処理毎に得られたデータから、Ｎ個の期待値を生成することができる。図７の例の場合、ランダムチャレンジに対する鍵付きハッシュ処理がＮ回繰り返して行われ、その処理毎に得られたＮ個のデータが期待値となる。図７中、期待値１は、ランダムチャレンジに鍵付きハッシュ処理が１回施された結果得られたものであり、期待値２は、期待値１に、鍵付きハッシュ処理がさらに施された結果得られたものである。
【００６５】
図５に戻り、ステップＳ４において、ランダムチャレンジ送信制御部３２は、後述するように受信側の端末１１から送信されてきた、ステップＳ２で送信されたランダムチャレンジを受信した旨を示すＲＣ受信メッセージを（ステップＳ２３）、通信部２３を介して受信し、その旨をコマンド送信制御部３４に通知する。ステップＳ５において、コマンド送信制御部３４は、応答要求コマンドが何番目に送信されるものか（送信の順番）を示すカウンタiに１を初期設定する。
【００６６】
次に、ステップＳ６において、コマンド送信制御部３４は、通信部２３を介して、応答要求コマンドを受信側の端末１１に送信し、ステップＳ７において、応答時間計測部３６を制御して、応答時間の計測を開始させる。
【００６７】
ステップＳ８において、コマンド送信制御部３４は、後述するように受信側の端末１１から送信されてきた、ステップＳ６で送信された応答要求コマンドに対する応答しての応答メッセージを、通信部２３を介して受信して、判定部３５に供給し、ステップＳ９において、応答時間計測部３６を制御して、応答時間の計測を終了させる。すなわちステップＳ７で開始しステップＳ９で終了する時間計測で得られた時間が受信側の端末１１の応答時間となる。
【００６８】
ステップＳ１０において、判定部３５は、コマンド送信制御部３４から供給された応答メッセージに組み込まれている認証データと、期待値生成部３３により生成された、その認証データの期待値（具体的には、カウンタiが示す順番に送信された応答要求コマンド（以下、第ｉ番目に送信された応答要求コマンドと称する）に対応する期待値）とが一致するか否かを判定し、一致すると判定した場合、受信側の端末１１を、情報通信システムにおける正規の端末であると認証し、ステップＳ１１に進む。
【００６９】
ステップＳ１１において、判定部３５は、応答時間計測部３６で計測された、第ｉ番目に送信された応答要求コマンドに対する受信側の端末１１の応答時間が所定の時間TLを越えているか否かを判定する。時間TLは、例えば、同一LAN１に接続された端末１１間で要する通信時間である。すなわち応答時間が時間TLを越える場合、受信側の端末１１は、送信側の端末１１と異なるLAN１に接続され、また、時間TLを越えない場合（応答時間＝時間TLを含む）、同一のLAN１に接続されていると判定することができる（通信距離を判別することができる）。
【００７０】
ステップＳ１１で、時間TLを越えると判定された場合、ステップＳ１２に進み、判定部３５は、その結果を、コマンド送信制御部３４に通知し、コマンド送信制御部３４はそのとき、カウンタiを１だけインクリメントする。
【００７１】
ステップＳ１３において、コマンド送信制御部３４は、カウンタi＝Ｎ＋１であるか否かを判定する。カウンタi＝Ｎ＋１ではないと判定された場合には、所定時間経過後、ステップＳ６に戻る。ステップＳ１３で、カウンタi＝Ｎ＋１であると判定されたとき（すなわち、応答要求コマンドの送信がＮ回行われたとき）、又はステップＳ１０で、受信側の端末１１が本情報通信システムにおける正規の機器ではないと判定されたとき、ステップＳ１４に進み、その旨を、判定部３５に通知する。判定部３５はそのとき、受信側の端末１１へのデータ送信を不可とし、通信部２３を制御して、送信データ格納部２４に格納されているデータの受信側の端末１１に対する送信を禁止する。
【００７２】
ステップＳ１１で、第ｉ番目に送信された応答要求コマンドに対する応答時間が、時間TLを越えないと判定された場合、すなわち、受信側の端末１１が、本情報通信システムにおける正規の機器であり、かつ、例えば送信側の端末１１と同じLAN１に接続されている端末１１であるとき、ステップＳ１５に進み、判定部３５は、通信部２３を制御して、送信データ格納部２４に格納されているデータを、受信側の端末１１に送信させる。
【００７３】
ステップＳ１４又はステップＳ１５で、受信側の端末１１に対するデータ送信可否が判定されたとき、判定部３５は、通信部２３を介して、送信可否判定が終了した旨を表すメッセージ（以下、判定終了メッセージと称する）を受信側の端末１１に送信する。その後、送信可否判定処理は、処理を終了する。
【００７４】
次に、図５のフローチャートを参照して、応答処理を行う場合の端末１１の応答制御部２２（図２，４）の動作を説明する。
【００７５】
ステップＳ２１において、端末１１（受信側の端末１１）の応答制御部２２のランダムチャレンジ受信制御部４１は、送信先の端末１１から送信されてきたランダムチャレンジを（ステップＳ２）、通信部２３を介して受信し、認証データ生成部４２に供給する。ステップＳ２２において、認証データ生成部４２は、ランダムチャレンジ受信制御部４１から供給されたランダムチャレンジに対して、送信側の端末１１の送信可否判定部２１（期待値生成部３３）における鍵付きハッシュ処理（ステップＳ３）と同様の鍵付きハッシュ処理を施し、認証データを生成し、応答メッセージ生成部４３に供給する。
【００７６】
なおこの例では、最大Ｎ個の応答要求コマンドを受信し得るので、その応答要求コマンドに対応する期待値と対比される（ステップＳ１０）Ｎ個の認証データが生成される。Ｎ個の認証データは、期待値の生成方法（図６，７）と同じ方法で生成される。
【００７７】
このように認証データが生成されると、ステップＳ２３において、ランダムチャレンジ受信制御部４１は、通信部２３を介して、ＲＣ受信メッセージを送信側の端末１１に送信し、その旨を、応答メッセージ送信制御部４４に通知する。
【００７８】
ステップＳ２４において、応答メッセージ送信制御部４４は、これから受信する応答要求コマンドが何番目に受信されるものかを示すカウンタｊに１を初期設定し、ステップＳ２５において、応答メッセージ生成部４３を制御して、カウンタｊが示す順番に受信される応答要求コマンド（以下、第ｊ番目に受信される応答要求コマンドと称する）に対応する認証データを組み込んだ応答メッセージを生成させる。
【００７９】
次に、ステップＳ２６において、応答メッセージ送信制御部４４は、送信先の端末１１から送信されてきた応答要求コマンドを（ステップＳ６）、通信部２３を介して受信すると、ステップＳ２７において、ステップＳ２５で生成された第ｊ番目に受信される応答要求コマンドに応じた認証データが組み込まれた応答メッセージを、通信部２３を介して、送信側の端末１１に送信する。これにより上述したように送信側の端末１１で（ステップＳ１０で）、第ｊ番目に受信された（第ｉ番目に送信された）応答要求コマンドに対応する認証データと、第ｉ番目に送信された（第ｊ番目に受信された）応答要求コマンドの期待値とが比較される。
【００８０】
ステップＳ２８において、受信側の端末１１の応答制御部２２の応答メッセージ送信制御部４４は、送信側の端末１１から送信される判定終了メッセージ（ステップＳ１６）が受信されたか否かを判定し、所定の時間内に受信されていないと判定した場合、ステップＳ２９に進む。ステップＳ２９において、応答メッセージ送信制御部４４は、カウンタｊを１だけインクリメントし、ステップＳ３０で、カウンタｊ＝Ｎ＋１であるか否かを判定する。
【００８１】
ステップＳ３０で、カウンタｊ＝Ｎ＋１ではないと判定されたとき（すなわち、応答要求コマンドをＮ回受信されていないとき）、ステップＳ２５に戻り、次に受信される応答要求コマンドに対して、それ以降の処理を実行する。
【００８２】
ステップＳ２８で、判定終了メッセージが受信されたとき、又はステップＳ３０で、カウンタｊ＝Ｎ＋１であると判定されたとき（すなわち、応答要求コマンドがＮ回受信されたとき）、応答制御部２２は、応答処理を終了する。
【００８３】
以上のように、ランダムチャレンジから生成された認証データ（ステップＳ２２）とその期待値（ステップＳ３）とに基づいて認証された受信側の端末１１についてのみ応答時間に基づく通信距離の判別を行うようにしたので（ステップＳ１０でＮＯの判定がなされた場合、ステップＳ１１の処理がスキップされるので）、正規の機器のようになりすました機器にデータが送信されることを防止することができる（正規の機器のようになりすました機器が応答要求コマンドを受信し、応答要求メッセージを送信して、その機器にデータが送信されることはない）。
【００８４】
また送信側の端末１１で、応答要求コマンドに、新たに生成したランダムチャレンジを込み込んで受信側の端末１１に送信し（ステップＳ６）、受信側の端末１１で、応答要求コマンドを受信したとき（ステップＳ２６）、予め生成された認証データ（ステップＳ２２）と、その応答要求コマンドに組み込まれたランダムチャレンジとを連結して、又は両者の論理演算を行って新たな認証データを生成し、それを組み込んだ応答メッセージを返信することもできる（ステップＳ２７）。なおこのとき送信側の端末１１では、ステップＳ１０で新たな認証データと比較される期待値が、ステップＳ３で生成された期待値と、応答要求コマンドに組み込まれたランダムチャレンジと連結されて、又は両者の論理演算が行われて生成される。
【００８５】
このように応答要求コマンドに組み込んだランダムチャレンジを利用して認証データおよび期待値が生成されるようにすることで、受信側の端末１１は、送信側の端末１１からの応答要求コマンドを受信した後でなければ、応答メッセージを送信することができなくなる。したがって、応答時間を短縮するために、応答要求コマンドを受信する前に応答メッセージを送信するなどといった不正行為を防止することができる。
【００８６】
また、以上のように、受信側の端末１１において、応答要求コマンドを受信する前に、認証データおよびそれが組み込まれた応答メッセージを生成するようにしたので（ステップＳ２２，Ｓ２５）、応答要求コマンドを受信した後直ちに応答メッセージを送信側の端末１１に返信することができる（ステップＳ２７）。
【００８７】
例えば、応答要求コマンドを受信した後に、認証データおよび応答要求メッセージを生成するようになされている場合、送信側の端末１１で計測される応答時間に、その処理にかかる時間が含まれてしまうので、通信時間としての応答時間を正確に計測することができない。しかしながら本開示のように応答要求コマンドを受信した後直ちに応答メッセージを送信することができるようにしておくことにより、通信時間としての応答時間が正確に計測される。
【００８８】
また、以上においては、送信側の端末１１がランダムチャレンジを生成し（ステップＳ１）、受信側の端末１１に提供するようにしたが（ステップＳ２）、受信側の端末１１が生成して送信側の端末１１に提供するようにすることもできる。
【００８９】
また、以上においては、秘密鍵を送信側の端末１１と受信側の端末１１で共有している場合を例として説明したが、秘密鍵の共有がない場合には、デフィー・ヘルマン鍵交換（Diffie-Hellman  key  exchange）のアルゴリズムなどを使って鍵の共有を行うことができる。この場合は、鍵交換した相手は、応答時間を測定する相手であることの証明書などを基に確認される。鍵交換の後、鍵交換で得られた鍵そのものを認証データと期待値とすることもできるし、上記のように乱数に交換した鍵での鍵付きハッシュ処理を施し、認証データや期待値を得るようにすることもできる。
【００９０】
また以上においては、送信側の端末１１において、受信側の端末１１で生成された応答の認証データ（以下、認証データRRと称する）（ステップＳ２２）と送信側の端末１１で生成された応答の期待値（以下、期待値QRと称する）（ステップＳ３）とに基づき受信側の端末１１が認証されたが（ステップＳ１０）、受信側の端末１１においても、送信側の端末１１からの応答要求コマンドの認証データ（以下、認証データRSと称する）とその期待値（以下、期待値QSと称する）とに基づき送信側の端末１１の認証を行うようにすることができる。
【００９１】
図５の例では、受信側の端末１１は、応答要求コマンドを受ければ（ステップＳ２６）、直ちに応答メッセージを送り返すので（ステップＳ２７）、例えば、図８に示すように、送信側の端末１１（送信機器）と同一のLAN１に第３の機器ｘを挿入し、はじめに機器ｘが受信機器に応答要求コマンドを送って（Ｓ１１１）、受信機器から応答メッセージを取得しておき（Ｓ１１２）、そして送信機器から応答要求コマンドが来たときに（Ｓ１２１）、取得した応答メッセージを返すことで（Ｓ１２２）、機器ｘは、正規の機器になりすますことができる。
【００９２】
そこで受信側の端末１１においても、応答メッセージを返信する際に、送信側の端末１１を認証すれば、このような不正を防止することができる（不正な機器に応答メッセージを返信することを防止することができる）。
【００９３】
図９は、送信可否判定部２１の、図１０は、応答制御部２２の、このように受信側の端末１１でも送信側の端末１１の認証がなされる場合の構成例を示している。
【００９４】
送信可否判定部２１のランダムチャレンジ生成部５１は、図３のランダムチャレンジ生成部３１と同様に、所定ビット数の疑似乱数列を、ランダムチャレンジRCとして生成し、期待値生成部５２および認証データ生成部５３に供給する。
【００９５】
期待値生成部５２は、ランダムチャレンジ生成部５１から供給されたランダムチャレンジRCに対して、例えば、受信側の端末１１と共有する秘密鍵を利用した受信側の端末１１（認証データ生成部７３）における場合と同様の鍵付きハッシュ処理を施して、受信側の端末１１の認証データRRの期待値QR（対応する認証データRRと同値の期待値QR）を生成し、応答認証部５７に供給する。
【００９６】
認証データ生成部５３は、ランダムチャレンジ生成部５１から供給されたランダムチャレンジRCに対して、受信側の端末１１と共有する秘密鍵を利用した鍵付きハッシュ処理を施して、第三者が予測できないコマンドの認証データRSを生成し、応答要求コマンド送信部５５に供給する。
【００９７】
制御コマンド通信制御部５４は、開始コマンド等の制御コマンドCCを受信側の端末１１に送信したり、受信側の端末１１から送信されてきた、制御コマンドCCに対する応答メッセージCCRを受信する。
【００９８】
応答要求コマンド送信部５５は、認証データ生成部５３により生成された認証データRSを含む、応答要求コマンドMCを、通信部２３を介して、受信側の端末１１に送信する。
【００９９】
応答受信部５６は、送信された応答要求コマンドMCに対する応答として、受信側の端末１１から送信されてきた応答メッセージMCRを、通信部２３を介して受信し、そこに組み込まれている応答の認証データRRを応答認証部５７に供給する。
【０１００】
応答認証部５７は、応答受信部５６からの応答の認証データRRと、期待値生成部５２で生成されたその認証データRRの期待値QRに基づいて、受信側の端末１１が、本情報通信システムにおける正規の機器であるかの認証を行い、その認証結果を、制御判定部５８に通知する。
【０１０１】
制御判定部５８は、応答時間計測部５９で計測された、応答要求コマンドMCに対する受信側の端末１１の応答時間RTTが所定の時間TLを越えているか否かを判定して、通信距離の判別（送信側の端末１１と同一のLAN１に接続されているかの判定）を行う。
【０１０２】
制御判定部５８は、受信側の端末１１の認証結果および通信距離の判別結果に基づいて、受信側の端末１１に対するデータの送信可否の判定を行う。制御判定部５８は、その判定結果に基づいて、通信部２３を制御し、送信データ格納部２４に格納されているデータを、受信側の端末１１に送信させる。
【０１０３】
応答時間計測部５９は、応答要求コマンド送信部５５および応答受信部５６からの通知に応じて、応答要求コマンドMCに対する、受信側の端末１１の応答時間RTTを計測する。
【０１０４】
次に、応答制御部２２の構成（図１０）を説明する。
【０１０５】
制御応答通信制御部７１は、通信部２３を介して、送信側の端末１１から送信されてきた制御コマンドCCを受信したり、その制御コマンドCCに対する応答メッセージCCRを送信側の端末１１に送信する。
【０１０６】
期待値生成部７２は、制御応答通信制御部７１により受信された制御コマンドCCに含まれるランダムチャレンジRCに対して、送信側の端末１１と共有する秘密鍵を利用した送信側の端末１１（認証データ生成部５３）における場合と同様の鍵付きハッシュ処理を施して、送信側の端末１１のコマンド認証データRSの期待値QS（対応する認証データRSと同値の期待値QS）を生成し、コマンド認証部７６に供給する。
【０１０７】
認証データ生成部７３は、制御応答通信制御部７１により受信された制御コマンドCCに含まれるランダムチャレンジRCに対して、送信側の端末１１と共有する秘密鍵を利用した鍵付きハッシュ処理を施して、第三者が予測できない応答の認証データRRを生成し、応答送信部７４に供給する。
【０１０８】
応答送信部７４は、コマンド認証部７６による認証結果に基づいて、認証データ生成部７３により生成された応答の認証データRRを含む、送信側の端末１１からの応答要求コマンドMCに対する応答メッセージMCRを、通信部２３を介して送信側の端末１１に送信する。
【０１０９】
応答要求コマンド受信部７５は、送信側の端末１１から送信されてきた応答要求コマンドMCを、通信部２３を介して受信し、そこに組み込まれているコマンドの認証データRSをコマンド認証部７６に供給する。
【０１１０】
コマンド認証部７６は、応答要求コマンド受信部７５からのコマンドの認証データRSと、期待値生成部７２で生成されたその認証データRSの期待値QSに基づいて、送信側の端末１１が、本情報通信システムにおける正規の機器であるかの認証を行い、その認証結果を、応答送信部７４に通知する。
【０１１１】
次に、図９の送信可否判定部２１の動作を、図１１のフローチャートを参照して説明する。
【０１１２】
ステップＳ５１において、端末１１の送信可否判定部２１の制御コマンド通信制御部５４は、受信側の機器と、TCPコネクションを確立する。TCPコネクションのためのポート番号は予め送信側の端末１１と受信側の機器の間で合意されているものとする。送信側の機器と受信側の機器の間で事前にTCPコネクションが確立している場合はこのステップを省略してよい。
【０１１３】
制御コマンド通信制御部５４は、確立したTCPコネクションを介して、応答時間RTTの計測を開始する旨を表す開始コマンド（制御コマンドCC）を受信側の機器に送信する。この開始コマンドCCには、セッション番号SID、ランダムチャレンジRC、送信側の端末１１が実行可能な、１セッションでの応答時間RTTの計測のリトライ数（計測回数）ksが含まれている。
【０１１４】
セッション番号SIDは、これから行われる受信側の機器に対する一連の認証処理（１つのセッション）に割り当てられた番号であり、この番号を送信側と受信側とで共有することにより、セッション毎に認証処理を区別することができる。
【０１１５】
また応答時間RTTの計測のために必要なデータ（例えば、応答要求コマンドMCやその応答メッセージMCR）の通信は、パケットの再送を行わないUDPでなされるので、通信状態によっては、データが途中で消滅してしまうなど、応答時間RTTの計測が適切に行われない場合も考えられる。またネットワーク内の他の通信の影響を受けて、パケットの伝送に遅延が生じることもある。そこで応答時間RTTの計測を何回かリトライ（再施行）できるようになされている。このリトライの回数は、送信側の機器と受信側の機器の設定によって異なることもあるので、この例ではここで送信側の機器のリトライ数（例えば、最大のリトライ数）ksが受信側の機器に通知される。
【０１１６】
次に、ステップＳ５２において、制御コマンド通信制御部５４は、開始コマンドCCに対する、受信側の機器からの応答メッセージCCRを受信する。
【０１１７】
この応答メッセージCCRには、開始コマンドCCに含まれていたセッション番号SIDの他、受信側が決定した１セッションでの応答時間RTT計測のリトライ数k、および応答要求コマンドMCを受信するためのUDPポート番号pbが含まれている。すなわち開始コマンドCCとその応答メッセージCCRの授受により、送信側の端末１１と受信側の機器は、応答時間RTTの計測のリトライ数（計測回数）kとセッション番号SID、および応答要求コマンドMCとその応答メッセージMCRの授受のために利用するUDPポート番号ｐｂを合意する。
【０１１８】
なお受信側の機器は、開始コマンドCCを介して通知された送信側の端末１１で実行可能な応答時間RTT計測のリトライ数ksと受信側が実行可能の応答時間RTT計測のリトライ数のうちの小さい方を、今回の応答時間RTT計測のリトライ数kに決定し、応答メッセージCCRを介して送信側の機器に通知する。
【０１１９】
ステップＳ５３において、期待値生成部５２は、ランダムチャレンジ生成部５１により生成されたランダムチャレンジRCに対して、受信側の端末１１の応答制御部２２（認証データ生成部７３）における鍵付きハッシュ処理と同様の鍵付きハッシュ処理を施し、受信側の機器の認証データRRの期待値QRを生成する。
【０１２０】
この例の場合、応答時間RTT計測が最大ｋ回行われるので（応答要求コマンドMCの応答メッセージMCRが最大ｋ回受信されるので）、受信され得るｋ個の応答メッセージMCRに含まれる認証データRRそれぞれの期待値QRが生成される。
【０１２１】
またこのとき認証データ生成部５３は、ランダムチャレンジ生成部５１により生成されたランダムチャレンジRCに対して鍵付きハッシュ処理を施して、コマンドの認証データRSを生成する。
【０１２２】
この例の場合、応答時間RTT計測が最大ｋ回行われるので（応答要求コマンドMCが最大ｋ回送信されるので）、送信され得るｋ個の応答要求コマンドMCそれぞれの認証データRSが生成される。
【０１２３】
ステップＳ５４において、制御判定部５８に内蔵されるカウンタiの値が１に初期設定される。このとき期待値生成部５２は、カウンタiの値に対応する期待値QR（例えば、第ｉ番目に生成された期待値QRi）を応答認証部５７に供給する。また認証データ生成部５３は、カウンタiの値に対応する認証データRSiを、応答要求コマンド送信部５５に供給する。
【０１２４】
ステップＳ５５において、応答要求コマンド送信部５５は、セッション番号SID、認証データ生成部５３から供給された認証データRSi（k個の認証データRSのうちのカウンタiの値に対応する認証データRSi）、およびシーケンス番号Ci（カウンタiの値を表す番号）を含む応答要求コマンドMCを、制御コマンドCCの応答CCRに含まれていたUDPポート番号pbでのUDP通信で、受信側の機器に送信する。
【０１２５】
応答要求コマンド送信部５５は、応答要求コマンドMCを送信したとき、その旨の通知STRを応答時間計測部５９に行う。これにより応答時間計測部５９は、応答時間の計測を開始する。
【０１２６】
ステップＳ５６において、応答受信部５６は、受信側の機器からの応答メッセージMCRを受信したか否かを判定し、受信していないと判定した場合、ステップＳ５７に進み、所定時間以上応答を待っているか否かを判定する（ステップＳ５５で応答時間RTT計測が開始されてから所定の時間経過したか否かを判定する）。
【０１２７】
ステップＳ５７で、まだ所定の時間経過していないと判定された場合、ステップＳ５６に戻り、それ以降の処理が実行される。一方ステップＳ５７で所定の時間経過したと判定された場合、ステップＳ６２に進み、カウンタiの値がリトライ数kより小さいか否かが判定され（応答時間RTTの計測がk回行われたか否かが判定され）、小さいと判定された場合（k回行われていない場合）、ステップＳ６３に進み、カウンタiの値が１だけインクリメントされて、ステップＳ５５に戻る。
【０１２８】
応答要求コマンドMCを送るUDPでは、パケットが通信相手に届かないことがあるので、送信側の端末１１は、応答要求コマンドMCを送った後、所定時間が経っても応答メッセージMCRが受信されない場合は、この回の計測は失敗したものとして、次の応答時間RTTの計測が開始される（ステップＳ５５以降の処理が開始される）。
【０１２９】
ステップＳ５６で、応答メッセージMCRが受信されたと判定された場合、ステップＳ５８に進み、応答受信部５６は、受信した応答メッセージMCRに含まれている応答の認証データRRj、およびシーケンス番号Cjを読み出し、応答認証部５７に供給する。
【０１３０】
応答認証部５７は、応答受信部５６から供給されたシーケンス番号Cjが、カウンタiの値（送信された応答要求コマンドMCのシーケンス番号Ci）と一致するか否かを判定する。
【０１３１】
なお応答メッセージMCRのシーケンス番号Cjと応答要求コマンドMCのシーケンス番号Ciを確認することの効果については後述する。
【０１３２】
ステップＳ５８で、一致しないと判定された場合、ステップＳ５６に戻り、それ以降の処理が行われ、一致すると判定された場合、ステップＳ５９に進む。
【０１３３】
ステップＳ５９において、応答受信部５６は、応答メッセージMCRを受信した旨の通知ENDを応答時間計測部５９に行う。応答時間計測部５９は、ステップＳ５５で開始した応答時間RTT計測を終了し、計測結果（応答時間RTT）を、制御判定部５８に供給する。
【０１３４】
ステップＳ６０において、応答認証部５７は、応答受信部５６から供給された応答の認証データRRjと、期待値生成部５２により生成された、その認証データRRjの期待値QRiとが一致するか否かを判定し、一致すると判定した場合、受信側の端末１１を、本情報通信システムにおける正規の端末であると認証し、ステップＳ６１に進む。
【０１３５】
ステップＳ６１において、制御判定部５８は、応答時間計測部５９から供給された応答時間RTTが、所定の規定時間TＬより大きいか否かを判定する。
【０１３６】
規定時間TＬは、応答時間RTTが、送信側の端末１１と受信側の機器が同一LAN１に接続されていたならば、それを超えないであろう時間である。すなわち応答時間RTTが規定時間TＬより大きければ、受信側の機器は送信側の端末１１と同一のLAN１に接続されていないと判定することができる。一方、応答時間RTTが規定時間TＬより大きくない（それ以下である場合）、受信側の機器は送信側の端末１１と同一LAN１に接続されていると判定することができる。
【０１３７】
ステップＳ６１で、YESの判定がなされたとき（第ｉ回目の応答時間RTT計測で、受信側の機器が送信側の端末１１と同一のLAN１に接続されているものではないと判定されたとき）、ステップＳ６２に進み、制御判定部５８は、カウンタiの値がkより小さい値か否か（応答時間RTT計測がk回リトライされたか否か）を判定し、小さいと判定した場合（応答時間RTT計測がまだk回行われていない場合）、ステップＳ６３に進み、カウンタiの値が１だけインクリメントされる。このとき期待値生成部５２は、カウンタiの新たな値に対応する期待値QRiを応答認証部５７に供給し、認証データ生成部５３は、カウンタiの新たな値に対応する認証データRSiを、応答要求コマンド送信部５５に供給する。
【０１３８】
その後ステップＳ５５に戻り、それ以降の処理が行われる。すなわち応答時間RTTが規定時間TＬ内になる応答メッセージMCRが得られるまで、最大k回、応答時間RTTの計測が行われる。
【０１３９】
ステップＳ６１で、NOの判定がなされたとき（応答時間RTTが規定時間TＬ以下となる応答メッセージMCRが得られたとき）、ステップＳ６４に進む。
【０１４０】
ステップＳ６４に進み、制御判定部５８は、受信側の機器は、送信データを送信できる機器（正規の機器であって、送信側の端末１１と同じLAN１に接続されている機器）である旨を、通信部２３（図３）に通知する。これにより通信部２３は、所定の送信データを送信データ格納部２４から読み出して、受信側の機器（端末１１）に送信する。
【０１４１】
ステップＳ６２で、カウンタiの値が、k以上であると判定された場合（応答時間RTTの計測をk回行っても、応答時間RTTが規定時間TＬ以下になる応答が得られなかった場合）、ステップＳ６５に進み、制御判定部５８は、受信側の機器は、ローカルネットワーク外の機器（送信側の端末１１と同じLAN１に接続されていない機器）である旨を、制御コマンド通信制御部５４に通知する。これにより制御コマンド通信制御部５４は、受信側の機器の認証が失敗した旨を示す終了コマンドCCを、受信側の機器に送信する。
【０１４２】
ステップＳ６０で、応答の認証データRRjとその期待値QRi一致しないと判定された場合、ステップＳ６６に進み、制御判定部５８は、受信側の機器は、不正な機器である旨を、制御コマンド通信制御部５４に通知する。これにより制御コマンド通信制御部５４は、受信側の機器の認証が失敗した旨を示す終了コマンドCCを、受信側の機器に送信する。
【０１４３】
以上のようにして送信可否判定処理が行われる。
【０１４４】
なお以上においては、ステップＳ５３においてk個の認証データRSを生成したが、それに代えて、ステップＳ５５において、応答要求コマンドMCを送信する毎にそのコマンドに使う認証データRSを毎回生成するようにしてもよい。
【０１４５】
次に、図１０の応答制御部２２の動作を、図１２のフローチャートを参照して説明する。
【０１４６】
ステップＳ８１において、受信側の端末１１の応答制御部２２の制御応答通信制御部７１は、送信側の機器と協働して、TCPコネクションを確立し、そのTCPコネクションを介して送信側の機器から送信されてきた、開始コマンドCC（ステップＳ５１）を受信する。制御応答通信制御部７１は、受信した開始コマンドCCに含まれているランダムチャレンジRCを、期待値生成部７２および認証データ生成部７３に供給する。
【０１４７】
次にステップＳ８２において、応答要求コマンド受信部７５は、送信側の機器から送信されてくる応答要求コマンドMCを受信するためのUDPポート番号pbを決定する。
【０１４８】
応答要求コマンド受信部７５はまた、制御コマンドCCに含まれている送信側の機器が実行可能な応答時間RTT計測のリトライ数ksと、受信側の端末１１が対応可能な応答時間RTTの計測のリトライ数のいずれか小さい方を、今回の応答時間RTTの計測のリトライ数kに決定する。
【０１４９】
ステップＳ８３において、制御応答通信制御部７１は、ステップＳ８１で受信された制御コマンドCCに含まれていたセッション番号SID、応答時間RTTの計測のリトライ数k、およびUDPポート番号pbを含む応答メッセージCCRを、ステップＳ８１で確立されたTCPコネクトを介して送信側の機器に送信する。送信側の機器は、ここで送信された応答メッセージCCRを受信する（ステップＳ５２）。
【０１５０】
ステップＳ８４において、認証データ生成部７３は、制御応答通信制御部７１から供給されたランダムチャレンジRCに対して鍵付きハッシュ処理を施して、応答の認証データRRを生成する。
【０１５１】
この例の場合、応答時間RTT計測が最大ｋ回行われるので（応答要求コマンドMCの応答メッセージMCRが最大ｋ回送信されるので）、送信され得るｋ個の応答メッセージMCRそれぞれの認証データRRが生成される。
【０１５２】
期待値生成部７２は、制御応答通信制御部７１から供給されたランダムチャレンジRCに対して、送信側の端末１１の送信可否判定部２１（認証データ生成部５３）における鍵付きハッシュ処理と同様の鍵付きハッシュ処理を施し、送信側の端末１１の認証データRSの期待値QSを生成する。
【０１５３】
この例の場合、応答時間RTT計測が最大ｋ回行われるので（応答要求コマンドMCが最大ｋ回受信されるので）、受信され得るｋ個の応答要求コマンドMCに含まれる認証データRSそれぞれの期待値QSが生成される。
【０１５４】
ステップＳ８５において、コマンド認証部７６に内蔵されているカウンタjの値が１に初期設定される。
【０１５５】
ステップＳ８６において、コマンドが受信されるまで待機され、コマンドが受信されたと判定された場合、ステップＳ８７に進み、受信されたコマンドが応答要求コマンドMC（ステップＳ５５）であるか否かを判定し、応答要求コマンドMCであると判定された場合、ステップＳ８８に進む。
【０１５６】
ステップＳ８８において、受信されたコマンドに含まれるシーケンス番号Ciとカウンタｊが比較され、シーケンス番号Ciがカウンタｊ以上の値であることが確認される。カウンタｊ以上の値である場合、ステップＳ８９に進み、カウンタｊがシーケンス番号Ciの値に設定される。
【０１５７】
これは、コマンドが欠落した場合、順番どおりに来なかった場合に、カウンタjをシーケンス番号Ciに合致させるための対策である。
【０１５８】
期待値生成部７２はこのとき、カウンタｊの値に対応する期待値QS（例えば、第ｊ番目に生成された期待値QSj）をコマンド認証部７６に供給する。また認証データ生成部７３は、カウンタjの値に対応する認証データRRjを、応答送信部７４に供給する。
【０１５９】
次にステップＳ９０において、コマンド認証部７６は、応答要求コマンド受信部７５により受信された応答要求コマンドMCに組み込まれている認証データRSiと、期待値生成部７２により生成された期待値QSj（カウンタｊが示す順番に生成された期待値）とが一致するか否かを判定し、一致すると判定した場合、送信側の端末１１を、本情報通信システムにおける正規の端末であると認証し、ステップＳ９１に進む。
【０１６０】
ステップＳ９１において、コマンド認証部７６は、送信側の端末１１が正規の機器である旨を、応答送信部７４に通知する。これにより応答送信部７４は、セッション番号SID、カウンタjの値を表すシーケンス番号Cj、認証データ生成部７３から供給された認証データRRjを含む応答メッセージMCRを、送信側の機器に送信する。
【０１６１】
一方ステップＳ９０で、一致しないと判定された場合、ステップＳ９２に進み、コマンド認証部７６は、その旨を、応答送信部７４に通知する。これにより応答送信部７４は、セッション番号SID、カウンタjの値を表すシーケンス番号Cj、および送信側の機器における受信側の機器の認証（ステップＳ６０）が失敗するような認証データRR（＝××）を含む応答メッセージMCRを、送信側の機器に送信する。
【０１６２】
ステップＳ９１又はステップＳ９２で、応答メッセージMCRが送信されたとき、ステップＳ９３で、カウンタｊの値が１だけインクリメントされ、その後、ステップＳ８６に戻り、それ以降の処理が実行される。
【０１６３】
また、ステップＳ８８において、カウンタｊの値が受信されたコマンドに含まれるシーケンス番号Ciよりも小さい場合も、ステップＳ８６に戻り、それ以降の処理が実行される。
【０１６４】
ステップＳ８７で、受信されたコマンドが応答要求コマンドではないと判定された場合（終了コマンドCC（ステップＳ６５，Ｓ６６）であるとき）、処理は終了する。
【０１６５】
次に図１１のステップＳ５８の処理について説明する。ステップＳ５８の処理では、受信側の機器からの応答メッセージMCRのシーケンス番号Cjと応答要求コマンドMCのシーケンス番号Ci（カウンタiの値）が一致するか否かが判定されるが、このように応答要求コマンドMCと応答メッセージMCRの対応関係を確認するようにしたので、応答要求コマンドMCに対応しない応答メッセージMCR（他の応答要求コマンドMCの応答メッセージMCR）に基づいて応答時間RTTによる距離判定が行われない。
【０１６６】
例えば、図１３に示すように、受信側の機器で、第１番目の応答要求コマンドMCに対する応答メッセージMCRの送信に時間がかかり（ステップＳ９１，Ｓ９２）、送信側の端末１１で、タイムアウトと判定されて（ステップＳ５７）、第２番目の応答要求コマンドMCが受信側の機器に送信されたものとする。第１番目の応答要求コマンドMCに対する応答メッセージMCRは、第２番目の応答要求コマンドMCが送信された後（ステップＳ５５）、第２番目の応答要求コマンドMCとの関係でタイムアウトとならない間（ステップＳ５７）に送信側の端末１１に受信されたものとする（ステップＳ５６）。
【０１６７】
しかしながらこの場合本開示では、受信側の機器からの第１番目の応答メッセージMCRのシーケンス番号（＝１）と、第２番目の応答要求コマンドMCのシーケンス番号（＝２）が一致しないと判定され、送信側の端末１１は、第２番目の応答要求コマンドMCに対する応答メッセージMCRが受信されるまで待機することになり（ステップＳ５６に戻る）、対応しない応答メッセージMCRが受信されても応答時間RTTによる距離判定は行われない。
【０１６８】
次に、不正に対する端末１１の動作を具体的に説明する。
【０１６９】
例えば図８に示した送信機器と同一のLAN１に接続された不正な機器ｘが、受信機器から応答を得るために応答要求コマンドを送信するものとする。しかしながら、機器ｘは、受信機器と共有する秘密鍵を有していないので、受信機器での送信機器の認証に必要な認証データRSを得ることができない。したがって図１４に示すように、機器ｘが、不適当な認証データRS（＝？）を含む応答要求コマンドMCを受信機器に送信するが、受信機器からは、受信機器の認証が失敗する認証データRR（＝××）を含む応答メッセージMCRが送信されてくる（ステップＳ９２）。したがって機器ｘが、その後、送信機器からの応答要求コマンドMCに対して、その応答メッセージMCRを送信機器に送信して応答しても、送信機器において、機器ｘは認証されず、送信データは機器ｘに送信されない。
【０１７０】
そこで図１５に示すように、不正の機器ｘは、送信機器から応答要求コマンドMCを受けてそれを受信機器に送信し、受信機器から、適当な認証データRRを含む応答メッセージMCRを取得する。そして機器ｘは、取得した応答メッセージMCRを、送信機器に送信することも考えられる。
【０１７１】
しかしながらこの例の場合、応答要求コマンドMCは、送信機器から機器ｘ、そして機器ｘから受信機器に送信され、応答メッセージMCRが、受信機器から機器ｘに、そして機器ｘから送信機器へ伝送されるので、応答要求コマンドMCと応答メッセージMCRの伝送路が、通常の伝送経路（送信機器と受信機器間の伝送路）より長くなる。したがってこの場合、結局応答時間RTTが規定時間TLより長くなるので、機器ｘは、送信機器と同一LAN１に接続されていないものとして、機器ｘには送信データが提供されない。
【０１７２】
上述した一連の処理は、ハードウエアにより実現させることもできるが、ソフトウエアにより実現させることもできる。一連の処理をソフトウエアにより実現する場合には、そのソフトウエアを構成するプログラムがコンピュータにインストールされ、そのプログラムがコンピュータで実行されることより、上述した送信可否判定部２１および応答制御部２２が機能的に実現される。
【０１７３】
図１６は、上述のような送信可否判定部２１および応答制御部２２として機能するコンピュータ１０１の一実施の形態の構成を示すブロック図である。CPU（Central  Processing  Unit）１１１にはバス１１５を介して入出力インタフェース１１６が接続されており、CPU１１１は、入出力インタフェース１１６を介して、ユーザから、キーボード、マウスなどよりなる入力部１１７から指令が入力されると、例えば、ROM（Read  Only  Memory）１１２、ハードディスク１１４、又はドライブ１２０に装着される磁気ディスク１３１、光ディスク１３２、光磁気ディスク１３３、若しくは半導体メモリ１３４などの記録媒体に格納されているプログラムを、RAM（Random  Access  Memory）１１３にロードして実行する。これにより、上述した各種の処理が行われる。さらに、CPU１１１は、その処理結果を、例えば、入出力インタフェース１１６を介して、LCD（Liquid  Crystal  Display）などよりなる出力部１１８に必要に応じて出力する。なお、プログラムは、ハードディスク１１４やROM１１２に予め記憶しておき、コンピュータ１０１と一体的にユーザに提供したり、磁気ディスク１３１、光ディスク１３２、光磁気ディスク１３３，半導体メモリ１３４等のパッケージメディアとして提供したり、衛星、ネットワーク等から通信部１１９を介してハードディスク１１４に提供することができる。
【０１７４】
なお、本明細書において、記録媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１７５】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【符号の説明】
【０１７６】
１  LAN，  １１  端末，  ２１  送信可否判定部，  ２２  応答制御部，  ２３  通信部，  ２４  送信データ格納部，  ３１  ランダムチャレンジ生成部，  ３２  ランダムチャレンジ送信制御部，  ３３  期待値生成部，  ３４  コマンド送信制御部，  ３５  判別部，  ３６  応答時間計測部，  ４１  ランダムチャレンジ受信制御部，  ４２  認証データ生成部，  ４３  応答メッセージ生成部，  ４４  応答メッセージ送信制御部，  ５１  ランダムチャレンジ生成部，  ５２  期待値生成部，  ５３  認証データ生成部，  ５４  制御コマンド通信制御部，  ５５  応答要求コマンド送信部，  ５６  応答受信部，  ５７  応答認証部，  ５８  制御判定部，  ５９  応答時間計測部，  ７１  制御応答通信制御部，  ７２  期待値生成部，  ７３  認証データ生成部，  ７４  応答送信部，  ７５  応答要求コマンド受信部，  ７６  コマンド認証部
【図１】
0005397498.tif 000002
【図２】
0005397498.tif 000003
【図３】
0005397498.tif 000004
【図４】
0005397498.tif 000005
【図５】
0005397498.tif 000006
【図６】
0005397498.tif 000007
【図７】
0005397498.tif 000008
【図８】
0005397498.tif 000009
【図９】
0005397498.tif 000010
【図１０】
0005397498.tif 000011
【図１１】
0005397498.tif 000012
【図１２】
0005397498.tif 000013
【図１３】
0005397498.tif 000014
【図１４】
0005397498.tif 000015
【図１５】
0005397498.tif 000016
【図１６】
0005397498.tif 000017