(57)【要約】  検証者デバイスによって距離上限を決定するための方法が説明される。方法は、ターゲットデバイスを認証することを含む。方法はまた、ターゲットデバイスとの共有鍵を確立することを含む。方法は、共有鍵で暗号化されたバウンディングシーケンスをターゲットデバイスに送ることをさらに含む。方法は追加として、バウンディングシーケンスに基づいて、ターゲットデバイスと距離上限決定プロシージャを行うことを含む。
2018516509.tif 000002
【特許請求の範囲】
【請求項１】
検証者デバイスによる方法であって、
ターゲットデバイスを認証することと、
前記ターゲットデバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記ターゲットデバイスに送ることと、
前記バウンディングシーケンスに基づいて、前記ターゲットデバイスと距離上限決定プロシージャを行うことと
を備える、方法。
【請求項２】
前記ターゲットデバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記ターゲットデバイスにセキュアチャネルを介して送られる、請求項１に記載の方法。 
【請求項３】
前記バウンディングシーケンスは、ランダム値またはランダム値のシーケンスである、請求項１に記載の方法。
【請求項４】
ターゲットデバイスの応答のための処理時間乗数は、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって決定される、請求項１に記載の方法。
【請求項５】
前記処理時間乗数は、前記検証者デバイスによって送られるチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す、請求項４に記載の方法。
【請求項６】
前記距離上限は、前記検証者デバイスと前記ターゲットデバイスとの間の前記距離における上限である、請求項１に記載の方法。
【請求項７】
前記距離上限決定プロシージャを行うことは、
チャレンジを前記ターゲットデバイスに送り、前記バウンディングシーケンスによって決定された処理時間乗数によって遅延された応答を受信するための往復時間を測定することと、
前記測定された往復時間と前記処理時間乗数とを使用して、前記距離上限を計算することと
を備える、請求項１に記載の方法。
【請求項８】
前記距離上限決定プロシージャを行うことは、
前記ターゲットデバイスに送られた第１のチャレンジに対応する、前記ターゲットデバイスからの第１の応答を受信するための第１の往復時間を測定することと、
前記ターゲットデバイスに送られた第２のチャレンジに対応する、前記ターゲットデバイスからの第２の応答を受信するための第２の往復時間を測定することと、ここにおいて、前記ターゲットデバイスは、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって示される処理時間乗数によって、前記第２の応答のための処理時間をスケーリングする、
前記第１の往復時間、前記第２の往復時間、および前記処理時間乗数に基づいて、走行時間測定値を決定することと、
前記走行時間測定値に光の速度を乗算することによって、前記距離上限を決定することと
を備える、請求項１に記載の方法。
【請求項９】
前記検証者デバイスの物理レイヤは、前記暗号化されたバウンディングシーケンスを送り、前記検証者デバイスのバウンディングレイヤは、前記距離上限決定プロシージャを行う、請求項１に記載の方法。
【請求項１０】
検証者デバイスであって、
プロセッサと、
前記プロセッサと通信状態にあるメモリと、
前記メモリに記憶された命令と
を備え、前記命令は、
ターゲットデバイスを認証することと、
前記ターゲットデバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記ターゲットデバイスに送ることと、
前記バウンディングシーケンスに基づいて、前記ターゲットデバイスと距離上限決定プロシージャを行うことと
を行うように前記プロセッサによって実行可能である、検証者デバイス。
【請求項１１】
前記ターゲットデバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記ターゲットデバイスにセキュアチャネルを介して送られる、請求項１０に記載の検証者デバイス。
【請求項１２】
前記バウンディングシーケンスは、ランダム値またはランダム値のシーケンスである、請求項１０に記載の検証者デバイス。
【請求項１３】
ターゲットデバイスの応答のための処理時間乗数は、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって決定される、請求項１０に記載の検証者デバイス。
【請求項１４】
前記処理時間乗数は、前記検証者デバイスによって送られるチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す、請求項１３に記載の検証者デバイス。
【請求項１５】
前記距離上限は、前記検証者デバイスと前記ターゲットデバイスとの間の前記距離における上限である、請求項１０に記載の検証者デバイス。
【請求項１６】
前記距離上限決定プロシージャを行うように実行可能な前記命令は、
チャレンジを前記ターゲットデバイスに送り、前記バウンディングシーケンスによって決定された処理時間乗数によって遅延された応答を受信するための、往復時間を測定することと、
前記測定された往復時間と前記処理時間乗数とを使用して、前記距離上限を計算することと
を行うように実行可能な命令を備える、請求項１０に記載の検証者デバイス。
【請求項１７】
前記距離上限決定プロシージャを行うように実行可能な前記命令は、
前記ターゲットデバイスに送られた第１のチャレンジに対応する、前記ターゲットデバイスからの第１の応答を受信するための第１の往復時間を測定することと、
前記ターゲットデバイスに送られた第２のチャレンジに対応する、前記ターゲットデバイスからの第２の応答を受信するための第２の往復時間を測定することと、ここにおいて、前記ターゲットデバイスは、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって示される処理時間乗数によって、前記第２の応答のための処理時間をスケーリングする、
前記第１の往復時間、前記第２の往復時間、および前記処理時間乗数に基づいて、走行時間測定値を決定することと、
前記走行時間測定値に光の速度を乗算することによって、前記距離上限を決定することと
を行うように実行可能な命令を備える、請求項１０に記載の検証者デバイス。
【請求項１８】
ターゲットデバイスによる方法であって、
検証者デバイスを認証することと、
前記検証者デバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記検証者デバイスから受信することと、
前記バウンディングシーケンスに基づいて、前記検証者デバイスと距離上限決定プロシージャを行うことと
を備える、方法。
【請求項１９】
前記検証者デバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記検証者ターゲットデバイスからセキュアチャネルを介して受信される、請求項１８に記載の方法。
【請求項２０】
前記共有鍵を使用して前記バウンディングシーケンスを解読することをさらに備える、請求項１８に記載の方法。
【請求項２１】
前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換に基づいて、前記ターゲットデバイスの応答のための処理時間乗数を決定することをさらに備える、請求項１８に記載の方法。
【請求項２２】
前記処理時間乗数は、前記検証者デバイスから受信したチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す、請求項２１に記載の方法。
【請求項２３】
前記距離上限決定プロシージャを行うことは、
前記検証者デバイスから、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって決定された処理時間乗数に関連付けられたチャレンジを受信することと、
前記検証者デバイスに、前記処理時間乗数によって遅延された応答を送ることと
を備える、請求項１８に記載の方法。
【請求項２４】
前記ターゲットデバイスの物理レイヤは、前記暗号化されたバウンディングシーケンスを受信し、前記ターゲットデバイスのバウンディングレイヤは、前記距離上限決定プロシージャを行う、請求項１８に記載の方法。
【請求項２５】
ターゲットデバイスであって、
プロセッサと、
前記プロセッサと通信状態にあるメモリと、
前記メモリに記憶された命令と
を備え、前記命令は、
検証者デバイスを認証することと、
前記検証者デバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記検証者デバイスから受信することと、
前記バウンディングシーケンスに基づいて、前記検証者デバイスと距離上限決定プロシージャを行うことと
を行うように前記プロセッサによって実行可能である、ターゲットデバイス。
【請求項２６】
前記検証者デバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記検証者ターゲットデバイスからセキュアチャネルを介して受信される、請求項２５に記載のターゲットデバイス。
【請求項２７】
前記共有鍵を使用して前記バウンディングシーケンスを解読するように実行可能な命令をさらに備える、請求項２５に記載のターゲットデバイス。
【請求項２８】
前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換に基づいて、前記ターゲットデバイスの応答のための処理時間乗数を決定するように実行可能な命令をさらに備える、請求項２５に記載のターゲットデバイス。
【請求項２９】
前記処理時間乗数は、前記検証者デバイスから受信したチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す、請求項２８に記載のターゲットデバイス。
【請求項３０】
前記距離上限決定プロシージャを行うように実行可能な前記命令は、
前記検証者デバイスから、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって決定された処理時間乗数に関連付けられたチャレンジを受信することと、
前記検証者デバイスに、前記処理時間乗数によって遅延された応答を送ることと
を行うように実行可能な命令を備える、請求項２５に記載のターゲットデバイス。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]本願は、「SYSTEMS AND METHODS FOR DISTANCE BOUNDING TO AN AUTHENTICATED DEVICE」について２０１５年６月２６日に出願された米国特許仮出願第６２／１８５，４５６号に関し、その優先権を主張する。本願はまた、「SYSTEMS AND METHODS FOR DETERMINING AN UPPER BOUND ON THE DISTANCE BETWEEN DEVICES」について２０１５年５月２９日に出願された米国特許仮出願第６２／１６８，５７９号に関し、その優先権を主張する。
【技術分野】
【０００２】
[0002]  本開示は一般に、通信に関する。より具体的には、本開示は、被認証デバイス（authenticated device）までの距離における上限（upper bound）の正確な決定のためのシステムおよび方法に関する。
【背景技術】
【０００３】
[0003]  技術の進歩は、より小型で、より強力なパーソナルコンピューティングデバイスをもたらした。例えば、それぞれ小型で、軽く、かつユーザによって容易に持ち運ばれることができる携帯用ワイヤレス電話、携帯情報端末（ＰＤＡ）、およびページングデバイスのようなワイヤレスコンピューティングデバイスを含む多種多様な携帯用パーソナルコンピューティングデバイスが現在存在している。より具体的には、携帯用ワイヤレス電話は、例えば、ワイヤレスネットワークを介して音声およびデータパケットを通信するセルラ電話をさらに含む。多くのこのようなセルラ電話は、コンピューティング能力の比較的大きな増大とともに製造され、これにより、小型のパーソナルコンピュータおよびハンドヘルドＰＤＡと同等になりつつある。さらに、このようなデバイスは、多種多様なワイヤードおよびワイヤレス通信技術を使用する通信を可能にするように製造されている。例えば、デバイスは、セルラ通信、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）通信、近距離通信（ＮＦＣ：near field communication）、光ファイバー通信などを行い得る。
【０００４】
[0004]  いくつかのシナリオでは、検証者デバイス（verifier device）とターゲットデバイス（target device）との間の通信は、他方のデバイスを認証することに依存し得る。しかしながら、デバイス間の距離における正確な上限が知られている場合には、セキュリティが強化され得る。被認証デバイスまでの距離上限（distance upper bound）を決定することによって利益が実現されるだろう。
【発明の概要】
【０００５】
[0005]  検証者デバイスによる方法が説明される。方法は、ターゲットデバイスを認証することを含む。方法はまた、ターゲットデバイスとの共有鍵を確立することを含む。方法は、共有鍵で暗号化されたバウンディングシーケンス（bounding sequence）をターゲットデバイスに送ることをさらに含む。方法は追加として、バウンディングシーケンスに基づいて、ターゲットデバイスと距離上限決定プロシージャを行うことを含む。
【０００６】
[0006]  ターゲットデバイスを認証し、共有鍵を確立すると、暗号化されたバウンディングシーケンスは、ターゲットデバイスにセキュアチャネル（secure channel）を介して送られ得る。バウンディングシーケンスは、ランダム値またはランダム値のシーケンスであり得る。
【０００７】
[0007]  ターゲットデバイスの応答のための処理時間乗数（processing time multiplier）は、バウンディングシーケンスまたはバウンディングシーケンスの変換（transformation）によって決定され得る。処理時間乗数は、検証者デバイスによって送られるチャレンジに応答することをターゲットデバイスが遅延させる時間量を示し得る。
【０００８】
[0008]  距離上限は、検証者デバイスとターゲットデバイスとの間の距離における上限である。距離上限決定プロシージャを行うことは、チャレンジをターゲットデバイスに送り、バウンディングシーケンスによって決定された処理時間乗数によって遅延された応答を受信するための往復時間を測定することを含み得る。距離上限決定プロシージャはまた、測定された往復時間と処理時間乗数とを使用して、距離上限を計算することを含み得る。
【０００９】
[0009]  距離上限決定プロシージャを行うことは、ターゲットデバイスに送られた第１のチャレンジに対応する、ターゲットデバイスからの第１の応答を受信するための第１の往復時間を測定することを含み得る。ターゲットデバイスに送られた第２のチャレンジに対応する、ターゲットデバイスからの第２の応答を受信するための第２の往復時間が測定され得る。ターゲットデバイスは、バウンディングシーケンスまたはバウンディングシーケンスの変換によって示される処理時間乗数によって、第２の応答のための処理時間をスケーリングし得る。走行時間測定値（transit time measurement）は、第１の往復時間、第２の往復時間、および処理時間乗数に基づいて決定され得る。距離上限は、走行時間測定値に光の速度を乗算することによって決定され得る。
【００１０】
[0010]  検証者デバイスの物理レイヤは、暗号化されたバウンディングシーケンスを送り得る。検証者デバイスのバウンディングレイヤは、距離上限決定プロシージャを行い得る。
【００１１】
[0011]  検証者デバイスもまた説明される。検証者デバイスは、プロセッサと、プロセッサと通信状態にあるメモリと、メモリに記憶された命令とを含む。命令は、ターゲットデバイスを認証するためにプロセッサによって実行可能である。命令はまた、ターゲットデバイスとの共有鍵を確立するように実行可能である。命令は、共有鍵で暗号化されたバウンディングシーケンスをターゲットデバイスに送るようにさらに実行可能である。命令は追加として、バウンディングシーケンスに基づいて、ターゲットデバイスと距離上限決定プロシージャを行うように実行可能である。
【００１２】
[0012]  ターゲットデバイスによる方法もまた説明される。方法は、検証者デバイスを認証することを含む。方法はまた、検証者デバイスとの共有鍵を確立することを含む。方法は、共有鍵で暗号化されたバウンディングシーケンスを検証者デバイスから受信することをさらに含む。方法は追加として、バウンディングシーケンスに基づいて、検証者デバイスと距離上限決定プロシージャを行うことを含む。
【００１３】
[0013]  検証者デバイスを認証し、共有鍵を確立すると、暗号化されたバウンディングシーケンスは、検証者ターゲットデバイスからセキュアチャネルを介して受信され得る。方法はまた、共有鍵を使用してバウンディングシーケンスを解読すること（decrypting）を含み得る。
【００１４】
[0014]  方法はまた、バウンディングシーケンスまたはバウンディングシーケンスの変換に基づいて、ターゲットデバイスの応答のための処理時間乗数を決定することを含み得る。処理時間乗数は、検証者デバイスから受信したチャレンジに応答することをターゲットデバイスが遅延させる時間量を示し得る。
【００１５】
[0015]  距離上限決定プロシージャを行うことは、検証者デバイスから、バウンディングシーケンスまたはバウンディングシーケンスの変換によって決定された処理時間乗数に関連付けられたチャレンジを受信することを含み得る。処理時間乗数によって遅延された応答は、検証者デバイスに送られ得る。
【００１６】
[0016]  ターゲットデバイスの物理レイヤは、暗号化されたバウンディングシーケンスを受信し得る。ターゲットデバイスのバウンディングレイヤは、距離上限決定プロシージャを行い得る。
【００１７】
[0017]  ターゲットデバイスもまた、説明される。ターゲットデバイスは、プロセッサと、プロセッサと通信状態にあるメモリと、メモリに記憶された命令とを含み得る。命令は、検証者デバイスを認証するためにプロセッサによって実行可能である。命令はまた、検証者デバイスとの共有鍵を確立するように実行可能である。命令は、共有鍵で暗号化されたバウンディングシーケンスを検証者デバイスから受信するようにさらに実行可能である。命令は追加として、バウンディングシーケンスに基づいて、検証者デバイスと距離上限決定プロシージャを行うように実行可能である。
【図面の簡単な説明】
【００１８】
【図１】[0018]  図１は、通信システムの１つの構成を図示するブロック図である。
【図２】[0019]  図２は、被認証デバイスまでの距離バウンディング（distance bounding）のための方法を図示するフロー図である。
【図３】[0020]  図３は、被認証デバイスまでの距離バウンディングのための別の方法を図示するフロー図である。
【図４】[0021]  図４は、支払い取引（payment transaction）を図示するシーケンス図である。
【図５】[0022]  図５は、リレー攻撃の例を図示するシーケンス図である。
【図６】[0023]  図６は、被認証デバイスまでの距離バウンディングのために構成された、検証者デバイスおよびターゲットデバイスの詳細な構成を図示するブロック図である。
【図７】[0024]  図７は、被認証デバイスまでの距離バウンディングの実装を図示するシーケンス図である。
【図８】[0025]  図８は、距離バウンディングシステムに対するリレー攻撃（relay attack）の例を図示するブロック図である。
【図９】[0010]  図９は、検証者デバイスによって走行時間を計算するための１つのアプローチを図示するシーケンス図である。
【図１０】[0027]  図１０は、検証者デバイスによって走行時間を計算するための別のアプローチを図示するシーケンス図である。
【図１１】[0028]  図１１は、電子デバイス内に含まれ得る、ある特定のコンポーネントを図示する。
【詳細な説明】
【００１９】
[0029]  ある特定の状況では、ターゲットデバイスまでの距離に関する上限を決定できることは検証者デバイスにとって有利である。例えば、支払いシステム（payment system）は、１つまたは複数の悪意のあるデバイスによる中間者攻撃（man-in-the-middle attack）またはリレー攻撃を経験している可能性がある。この場合、検証者デバイスが、悪意のあるデバイスからではなく被認証ターゲットデバイスから距離限界情報（distance bound information）を取得していることを保証することが望ましい。
【００２０】
[0030]  信号強度測定値は、距離の正確な決定を達成することを困難にさせる、幅広い変動（wide variance）を有する傾向がある。さらに、送信機で行うことによって、悪意のあるデバイスが実際の間隔（separation）よりも近くにあることを装うことが可能である。
【００２１】
[0031]  本明細書で説明されるシステムおよび方法によると、検証者デバイスおよびターゲットデバイスは、互いを認証し、共有鍵を確立し得る。共有鍵を使用して、検証者デバイスは、暗号化されたバウンディングシーケンスをターゲットデバイスに提供し得る。バウンディングシーケンスは、検証者デバイスによって送られた１つまたは複数のチャレンジに応答することをターゲットデバイスが遅延させるために使用し得る、処理時間乗数を示し得る。走行時間測定値から、検証者デバイスは、ターゲットデバイスまでの距離における上限を決定し得る。
【００２２】
[0032]  遅延値または遅延値のシーケンスを示すバウンディングシーケンスが検証者デバイスとターゲットデバイスにのみ知られている場合、検証者デバイスは、それが距離上限を計算するために使用する情報を、アタッカからではなく、本物のターゲットデバイス（authentic target device）から受信しているという非常に高いレベルの信頼を有する。
【００２３】
[0033]  いくつかの通信デバイスは、ワイヤレスに通信し得る、および／またはワイヤード接続またはリンクを使用して通信し得ることに留意されたい。例えば、いくつかの通信デバイスは、イーサネット（登録商標）プロトコルを使用して他のデバイスと通信し得る。本明細書で開示されるシステムおよび方法は、ワイヤレスに通信する、および／またはワイヤード接続またはリンクを使用して通信する通信デバイスに適用され得る。１つの構成では、本明細書で開示されるシステムおよび方法は、近距離通信（ＮＦＣ）を使用して別のデバイスと通信する通信デバイスに適用され得る。
【００２４】
[0034]  添付された図面に関連して以下に記載される詳細な説明は、本開示の例示的な実装の説明として意図され、本開示が実現され得る唯一の実装を表すことを意図したものではない。本明細書の全体にわたって使用される「例示的な（exemplary）」という用語は、「例、実例、または例示としての機能を果たすこと」を意味し、他の例示的な実装に対して、必ずしも好ましいまたは有利であると解釈されるべきではない。詳細な説明は、本開示の例示的な実装の完全な理解を提供することを目的とした具体的な詳細を含む。いくつかの例では、いくつかのデバイスがブロック図形式で示される。
【００２５】
[0035]  説明を簡単にする目的で、方法が一連の動作として示され説明されるが、いくつかの動作は、１つまたは複数の態様に従って、本明細書で示され説明されるものとは異なる順序で、および／または他の動作と同時に発生するので、方法は動作の順序によって限定されないことが理解および認識されるべきである。例えば、方法が、状態図中のような一連の相互関係がある状態またはイベントとして代替的に表され得ることを、当業者は理解および認識するだろう。さらに、１つまたは複数の態様に従って方法を実施するために、必ずしもすべての図示される動作が必要とされるわけではない。
【００２６】
[0036]  様々な構成が図を参照して説明され、類似した参照番号は、機能的に類似した要素を示し得る。本明細書の図において一般に説明され図示されるようなシステムおよび方法は、多種多様な構成で配置され設計され得る。よって、図に示されるようないくつかの構成の以下のより詳細な説明は、特許請求の範囲に記載されるような範囲を限定することを意図したものではなく、単にシステムおよび方法を代表するものにすぎない。
【００２７】
[0037]  図１は、通信システム１００の１つの構成を図示するブロック図である。通信システム１００は、検証者デバイス１０２とターゲットデバイス１０４とを含み得る。検証者デバイス１０２またはターゲットデバイス１０４は、電子通信デバイス、モバイルデバイス、モバイル局、加入者局、クライアント、クライアント局、ユーザ機器（ＵＥ）、リモート局、アクセス端末、モバイル端末、端末、ユーザ端末、加入者ユニット、リーダ、受動素子（passive device）（例えば、タグ）などとも呼ばれ得る。デバイスの例は、ラップトップまたはデスクトップコンピュータ、カードリーダ、セルラフォン、スマートフォン、ワイヤレスモデム、電子リーダ、タブレットデバイス、ゲーミングシステムなどを含み得る。これらのデバイスのいくつかは、１つまたは複数の工業規格に従って動作し得る。
【００２８】
[0038]  検証者デバイス１０２およびターゲットデバイス１０４は、１つまたは複数の通信技術を使用して通信し得る。これらの通信技術は、ワイヤード通信技術およびワイヤレス通信技術を含み得る。
【００２９】
[0039]  検証者デバイス１０２およびターゲットデバイス１０４は、光の速度で動作する１つまたは複数の通信技術を使用して通信し得る。これらの技術は、無線周波数（ＲＦ）、可視光（「ＬｉＦｉ」）、マイクロ波、赤外線通信、および電流フローを含み得るが、これらに限定されない。
【００３０】
[0040]  １つの構成では、検証者デバイス１０２およびターゲットデバイス１０４は、誘導的に結合された通信を使用して通信し得る。誘導的に結合された通信の１つの実装では、検証者デバイス１０２およびターゲットデバイス１０４は、近距離通信（ＮＦＣ）を使用し得る。別の実装では、検証者デバイス１０２およびターゲットデバイス１０４は、無線周波数識別（ＲＦＩＤ：radio-frequency identification）を使用し得る。
【００３１】
[0041]  別の構成では、検証者デバイス１０２およびターゲットデバイス１０４は、第３世代パートナーシッププロジェクト（３ＧＰＰ（登録商標））ロングタームエボリューション（ＬＴＥ（登録商標））規格のような、ある特定の工業規格に従って動作し得る。通信デバイスが適合し得る規格の他の例は、電気電子技術者協会（ＩＥＥＥ）８０２. １１ａ、８０２． １１ｂ、８０２． １１ｇ、８０２． １１ｎ、および／または８０２． １１ａｃ（例えば、ワイヤレス・フィディリティすなわち「Ｗｉ−Ｆｉ」）規格、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ ８０２． １６（例えば、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセスすなわち「ＷｉＭＡＸ」）規格、符号分割多元接続（ＣＤＭＡ）２０００ １ｘ（本明細書では「１ｘ」と呼ばれ、ＩＳ−２０００または１ｘＲＴＴとも呼ばれ得る）規格、エボリューション・データ・オプティマイズド（ＥＶＤＯ）規格、暫定規格９５（ＩＳ−９５）、高データレート（ＨＤＲ）、高レートパケットデータ（ＨＲＰＤ）、発展型高レートパケットデータ（ｅＨＲＰＤ）、無線規格などを含む。ＷＷＡＮはまた、ワイヤレス・メトロポリタンエリア・ネットワーキング（ＷＭＡＮ）規格、および高速ダウンリンク・パケット・アクセス（ＨＳＤＰＡ）規格も含み得る。ワイヤード通信規格は、イーサネットおよびユニバーサル・シリアル・バス（ＵＳＢ）規格を含み得る。本明細書で説明されるシステムおよび方法のいくつかは、１つまたは複数の規格の観点から説明されるが、これらシステムおよび方法は多くのシステムおよび規格に適用可能であり得るので、これが本開示の範囲を限定するべきではない。
【００３２】
[0042]  検証者デバイス１０２およびターゲットデバイス１０４は、距離１０６によって隔てられ得る。ある特定の状況では、検証者デバイス１０２からターゲットデバイス１０４までの距離１０６に関する上限を決定できることは、有利であり得る。これは、リレー攻撃を阻止するために、取引のために別のデバイス対して提示されるデバイスが物理的に近くにあることを検証しようと試みるとき、特に重要となる。
【００３３】
[0043]  距離上限１２０が明示されているターゲットデバイス１０４を認証することもまた有用であり得、それは、ある特定のタイプのリレー攻撃に対処する際に関心を集めている。例として、非接触型クレジットカードまたはスマートフォン（例えば、ターゲットデバイス１０４）のような支払い機器が、支払いカードリーダ（例えば、検証者デバイス１０２）と相互作用し得る支払いシステムを考察する。このようなシステムは、図４と関連して説明される。
【００３４】
[0044]  公開鍵暗号または共有シークレット（shared secrets）のようなメカニズムを使用して、検証者デバイス１０２は、ターゲットデバイス１０４を認証し得る。さらに、アクセスまたは支払いを構築するためなどの通常のセキュリティプロトコルは、提示されているデバイスが１つまたは複数のチャレンジに対して正確に応答することができることのみを検証する。
【００３５】
[0045]  しかしながら、チャレンジを被認証（例えば、本物の）デバイスにリレーし、次に、攻撃を受けたデバイスに応答をリレーして戻す（relaying back to the device under attack）ことによって、これらのセキュリティ対策（security measures）を回避することが可能である。必要とされるであろう全てのものは、このリレーを行うためのダウンロードされたプログラムを有する悪意のあるデバイス（例えば、スマートフォン）のペアであると考えると、攻撃の潜在的な数は非常に多い。図５は、リレー攻撃の例を図示する。
【００３６】
[0046]  現在のシステムは、この種の不正行為（fraud）に対して脆弱である。この脆弱性は、接触ベースおよび非接触システムの両方に当てはまる。検証者デバイス１０２（例えば、支払いカードリーダ）とターゲットデバイス１０４（例えば、支払い機器）との間の距離１０６が、ある上限よりも短いことが知られている場合、これがアタッカのロケーションに厳しい物理的制限を課し得るので、説明されたタイプのリレー攻撃は、非常に困難となり得る。
【００３７】
[0047]  いくつかのメカニズムが提示されているが、それらすべてが欠点に悩まされている。例えば、信号強度測定は、距離１０６の正確な決定を達成することを困難にさせる、幅広い変動を有する傾向がある。さらに、送信機を操作することによって、それは実際の間隔よりも近くにあることを装う可能性がある。
【００３８】
[0048]  別のアプローチは、信号に関して往復遅延を使用することである。光の速度よりも早く進む（travel）ことができるものはないため、信号（例えば、無線または光信号）は、検証者デバイス１０２からターゲットデバイス１０４までの距離１０６における上限（すなわち、距離上限１２０）を設けるために信頼して使用され得る。ターゲットデバイス１０４はより近くにあり得るが、距離上限１２０よりも遠くに離れることはできない。
【００３９】
[0049]  このアプローチの主な欠点は、特にヒューマン・ディメンジョン（human dimensions）に対するロケーションを確立しようと試みているとき、走行時間が極めて短いことである。１ナノ秒（ｎｓ）の往復でさえ、１５センチメートル（ｃｍ）の間隔に対応する。これは、リモートデバイスにおける任意の処理遅延が走行時間に急速に押し寄せ（swamp）得ることを意味し、距離１０６の測定において非常に大きな不確実性をもたらす。図９は、この状況を示す。
【００４０】
[0050]  本明細書で説明されるシステムおよび方法は、被認証ターゲットデバイス１０４までの距離上限１２０を決定することを提供する。説明されるシステムおよび方法は、ターゲットデバイス１０４における処理遅延の影響を取り除く。これは、さらにより正確な距離１０６の測定を可能にし得る。
【００４１】
[0051]  検証者デバイス１０２およびターゲットデバイス１０４は、相互認証を行い得、距離上限１２０決定プロシージャを行い得る。従って、検証者デバイス１０２は、それが通信しているターゲットデバイス１０４の信ぴょう性（authenticity）だけでなく、それが通信しているターゲットデバイス１０４が、既知の距離上限１２０内にあることを確信することができる。
【００４２】
[0052]  本明細書で説明されているシステムおよび方法によると、検証者デバイス１０２は、ターゲットデバイス１０４と相互に認証し得る。検証者デバイス１０２は、秘密性および完全性を提供する、ターゲットデバイス１０４との通信チャネルを確立し得る。検証者デバイス１０２は次に、処理時間とは関係なくターゲットデバイス１０４と距離上限１２０を確立し得る。
【００４３】
[0053]  検証者デバイス１０２は、プロセッサ１０３ａ、暗号モジュール１１２ａ、物理レイヤ１１４ａ、バウンディングレイヤ１１６ａ、およびバウンディングシーケンス生成器１０８を含み得る。プロセッサ１０３ａは、ソフトウェアコードを検証者デバイス１０２上で実行し得る。
【００４４】
[0054]  暗号モジュール１１２ａは、暗号動作を行い得る。これらの暗号動作は、共有鍵、暗号ハッシュの生成、およびデータの署名を使用する暗号化および解読を含み得る。
【００４５】
[0055]  物理レイヤ１１４ａは、検証者デバイス１０２の通常の動作中にデータを送ることおよび受信することを担い得る。例えば、物理レイヤ１１４ａは、ワイヤード接続またはワイヤレスリンクを介して、ターゲットデバイス１０４にデータを送り、ターゲットデバイス１０４からデータを受信し得る。
【００４６】
[0056]  バウンディングシーケンス生成器１０８は、バウンディングシーケンス（Ｎ）１１０ａを生成し得る。バウンディングシーケンス１１０ａは、値または値のシーケンスであり得る。ある実装では、バウンディングシーケンス１１０ａは、ランダムであり得るか、または実際は擬似ランダムであり得る。例えば、バウンディングシーケンス１１０ａは、ランダム値またはランダム値のシーケンスであり得る。ある実装では、バウンディングシーケンス生成器１０８は、乱数ソースであり得る。
【００４７】
[0057]  バウンディングシーケンス１１０ａは、ターゲットデバイス１０４の処理時間への乗数（multiplier）を決定するために使用され得る。バウンディングシーケンス１１０ａは、ターゲットデバイス１０４のための処理時間乗数１１８を示し得る。これは、暗黙的にまたは明示的に行われ得る。１つの実装では、バウンディングシーケンス１１０ａは、処理時間乗数１１８がそれから決定されるラベルであり得る。別の実装では、バウンディングシーケンス１１０ａは、実際の処理時間乗数１１８を明示的に提供し得る。
【００４８】
[0058]  バウンディングレイヤ１１６ａは、バウンディングシーケンス１１０ａまたは変換されたバウンディングシーケンス１０４ａに基づいて、ターゲットデバイス１０４と距離上限１２０決定プロシージャを行い得る。距離上限１２０は、検証者デバイス１０２とターゲットデバイス１０４との間の距離１０６における上限である。距離上限１２０決定プロシージャは、以下でより詳細に説明される。
【００４９】
[0059]  ターゲットデバイス１０４は、プロセッサ１０３ｂ、暗号モジュール１１２ｂ、物理レイヤ１１４ｂ、およびバウンディングレイヤ１１６ｂを含み得る。プロセッサ１０３ｂは、ソフトウェアコードをターゲットデバイス１０４上で実行し得る。暗号モジュール１１２ｂは、暗号動作をターゲットデバイス１０４上で行い得る。物理レイヤ１１４は、ターゲットデバイス１０４の通常の動作中にデータを送ることおよび受信することを担い得る。
【００５０】
[0060]  検証者デバイス１０２およびターゲットデバイス１０４は、相互認証を行い得る。言い換えると、検証者デバイス１０２はターゲットデバイス１０４を認証し、ターゲットデバイス１０４は検証者デバイス１０２を認証し得る。一例では、認証は、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換を使用して行われ得る。別の例では、Ｆｉａｔ−Ｓｈａｍｉｒプロシージャが認証のために使用され得る。さらなる認証の例は、公開鍵基盤（ＰＫＩ：public key infrastructure）証明およびケルベロス（Kerberos）を使用するセキュア・ソケット・レイヤ（ＳＳＬ：Secure Sockets Layer）を含み得る。
【００５１】
[0061]  認証すると、検証者デバイス１０２およびターゲットデバイス１０４は、共有鍵（Ｋ）１２２を確立し得る。共有鍵１２２は、一時的な鍵（ephemeral key）であり得る。認証のために使用され、共有鍵１２２を確立するメカニズムは、中間者攻撃に耐性があるように選択され得る。
【００５２】
[0062]  上述されるように、検証者デバイス１０２のバウンディングシーケンス生成器１０８は、バウンディングシーケンス１１０ａを生成し得る。バウンディングシーケンス１１０ａは、相互認証を行いかつ共有鍵１２２を交換する前または後に生成され得ることに留意されたい。バウンディングシーケンス１１０ａの値のいくつかまたは全ては、ターゲットデバイス１０４の処理時間への乗数として使用され得る。従って、バウンディングシーケンス１１０ａは、ターゲットデバイス１０４によって使用される処理時間乗数１１８ａを示す。
【００５３】
[0063]  検証者デバイス１０２は、バウンディングシーケンス１１０ａを暗号化し得る。例えば、検証者デバイス１０２の暗号モジュールは、共有鍵１２２を使用してバウンディングシーケンス１１０ａを暗号化し得る。
【００５４】
[0064]  検証者デバイス１０２およびターゲットデバイス１０４は、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）１２４を検証者デバイス１０２からターゲットデバイス１０４に移送するために、秘密性および完全性を提供するチャネルを使用し得る。ある実装では、セキュアチャネルは、検証者デバイス１０２の物理レイヤ１１４ａとターゲットデバイス１０４の物理レイヤ１１４ｂとの間で確立され得る。従って、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）１２４は、物理レイヤ１１４ａ、ｂを使用して、検証者デバイス１０２からターゲットデバイス１０４に移送され得る。
【００５５】
[0065]  暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）１２４を受信すると、ターゲットデバイス１０４の暗号モジュール１１２ｂは、共有鍵１２２を使用してバウンディングシーケンス１１０ｂを解読し得る。バウンディングシーケンス１１０を解読すると、ターゲットデバイス１０４は、検証者デバイス１０２と同じバウンディングシーケンスを有している。
【００５６】
[0066]  ターゲットデバイス１０４は、バウンディングシーケンス１１０ｂまたは変換されたバウンディングシーケンス１１０に基づいて、処理時間乗数１１８ｂを決定し得る。例えば、ターゲットデバイス１０４上のプロセッサ１０３ｂは、解読されたバウンディングシーケンス１１０ｂのいくつかまたは全てを、それのバウンディングレイヤ１１６ｂにロードし得る。この時点で、検証者デバイス１０２のバウンディングレイヤ１１６ａと、ターゲットデバイス１０４のバウンディングレイヤ１１６ｂとの両方は、処理時間乗数１１８の同じシーケンスを有している。
【００５７】
[0067]  上述されるように、バウンディングシーケンス１１０は、暗黙的にまたは明示的に処理時間乗数１１８を示し得る。例えば、バウンディングシーケンス１１０は、実際の処理時間乗数１１８を提供し得る。代替的に、バウンディングシーケンス１１０は、処理時間乗数１１８がそれから決定される修正された値であり得る。例えば、バウンディングシーケンス１１０は、何らかの既知のシーケンスによって、逆にされる（reversed）か、反転される（inverted）か、スクランブルされるか、または暗号化され得る。ターゲットデバイス１０４は次に、バウンディングシーケンス１１０の修正された値から実際の処理時間乗数１１８ｂを導出し得る。
【００５８】
[0068]  別の実装では、バウンディングシーケンス１１０は、各終端において（すなわち、検証者デバイス１０２およびターゲットデバイス１０４によって）さらに変換され得る。これは、（無線を介して）暗号化された値と同様に、暗号化されていないバウンディングシーケンス１１０をさらに保護し得る。従って、バウンディングシーケンス１１０は、送信されたバウンディングシーケンス１１０のさらなる変換を行うことによってさらに暗号化され得る。この実装では、検証者デバイス１０２およびターゲットデバイス１０４は、距離バウンディングを行うために、送信されたバウンディングシーケンス１１０の代わりに、変換されたバウンディングシーケンス１１０を使用し得る。
【００５９】
[0069]  検証者デバイス１０２およびターゲットデバイス１０４は、バウンディングシーケンス１１０または変換されたバウンディングシーケンス１１０に基づいて、距離上限１２０決定プロシージャを行い得る。１つの実装では、距離上限１２０決定プロシージャは、チャレンジ１２６を検証者デバイス１０２からターゲットデバイス１０４に送ることを含み得る。チャレンジ１２６は、ターゲットデバイス１０４に対する、回答すべき質問を含むメッセージである。
【００６０】
[0070]  チャレンジ１２６を受信すると、ターゲットデバイス１０４は、チャレンジ１２６に関連付けられた処理時間乗数１１８ｂによって、応答１２８を送ることを遅延させ得る。その遅延を待った後、ターゲットデバイス１０４は、応答１２８を検証者デバイス１０２に送り得る。ある実装では、応答１２８は、チャレンジ１２６に含まれる質問への回答を含み得る。
【００６１】
[0071]  検証者デバイス１０２は、いくつかのチャレンジ１２６を送り得、ターゲットデバイス１０４は、これらのチャレンジ１２６に、それらのそれぞれの処理時間乗数１１８ｂに従って応答し得ることに留意されたい。応答１２８の各々は、バウンディングシーケンス１１０ｂまたは変換されたバウンディングシーケンス１１０ｂによって示されるような、異なる処理時間乗数１１８ｂによって遅延され得る。
【００６２】
[0072]  検証者デバイス１０２は、チャレンジ１２６をターゲットデバイス１０４に送るための往復時間を測定し、処理時間乗数１１８ａによって遅延された応答１２８を受信し得る。検証者デバイス１０２は次に、測定された往復時間と処理時間乗数１１８ａとを使用して、ターゲットデバイス１０４までの距離上限１２０を計算し得る。
【００６３】
[0073]  ある実装では、ターゲットデバイス１０４は、最初に第１の往復時間を測定することによって、距離上限１２０決定プロシージャを行い得る。第１の往復時間は、第１のチャレンジ１２６をターゲットデバイス１０４に送るための走行時間（transit time）、ターゲットデバイス１０４による処理時間１３０、および第１の応答１２８をターゲットデバイス１０４から受信するための走行時間を含み得る。
【００６４】
[0074]  処理時間１３０は、ターゲットデバイス１０４が検証者デバイス１０２から受信したチャレンジ１２６を処理するのにかかる時間量であり得る。言い換えると、処理時間１３０は、ターゲットデバイス１０４が受信したチャレンジ１２６を処理し応答１２８を生成するのにかかる時間量である。第１の往復時間は、式（１）によって表わされ得る。  
Ｔｒｏｕｎｄ，１＝Ｔｐｒｏｃ＋２・Ｔｆ                                （１）
【００６５】
[0075]  式（１）では、Ｔｒｏｕｎｄ，１は、第１の往復時間であり、Ｔｐｒｏｃは、ターゲットデバイス１０４が第１のチャレンジ１２６を処理するための処理時間１３０であり、Ｔｆは、検証者デバイス１０２が第１のチャレンジ１２６を送り第１の応答１２８を受信することに起因して、２を乗算される走行時間である。
【００６６】
[0076]  検証者デバイス１０２は、第２のチャレンジ１２６をターゲットデバイス１０４に送るための走行時間、ターゲットデバイス１０４によって適用された処理時間乗数（ｎ）１１８、および第２の応答１２８をターゲットデバイス１０４から受信するための走行時間を含む、第２の往復時間を測定し得る。第２のチャレンジ１２６を受信すると、ターゲットデバイス１０４は、第２のチャレンジ１２６に応答する前に、処理時間乗数（ｎ）１１８によって処理時間１３０をスケーリングし得る（例えば、遅延させる）。第２の往復時間は、式（２）によって表わされ得る。  
Ｔｒｏｕｎｄ，ｎ＝ｎ・Ｔｐｒｏｃ＋２・Ｔｆ                            （２）
【００６７】
[0077]  式（２）では、Ｔｒｏｕｎｄ，ｎは、第２の往復時間であり、ｎは、ターゲットデバイス１０４が第２のチャレンジ１２６を処理するための処理時間乗数１１８ｂである。繰り返しになるが、走行時間Ｔｆは、検証者デバイス１０２が第２のチャレンジ１２６を送り第２の応答１２８を受信することに起因して、２を乗算される。
【００６８】
[0078]  検証者デバイス１０２は、第１の往復時間、第２の往復時間、および処理時間乗数（ｎ）１１８に基づいて、走行時間測定値を決定し得る。ターゲットデバイス１０４（例えば、カード）がそれの処理時間遅延内で使用するためのスケール係数（scale factor）をｎが表す場合、次に、走行時間測定値Ｔｆは、下記の式によって決定され得る。第１の往復時間にｎを乗算することは、下記の式をもたらす。  
ｎ・Ｔｒｏｕｎｄ，１＝ｎ・Ｔｐｒｏｃ＋２ｎ・Ｔｆ                      （３）  
ｎ・Ｔｒｏｕｎｄ，１−Ｔｒｏｕｎｄ，ｎ＝ｎ・Ｔｐｒｏｃ＋２ｎ・Ｔｆ−ｎ・Ｔｐｒｏｃ−２・Ｔｆ
＝２ｎ・Ｔｆ−２・Ｔｆ
＝２Ｔｆ（ｎ−１）                （４）  
【数１】
2018516509.tif 000003
【００６９】
[0079]  式（５）によると、ターゲットデバイス１０４の実際の処理時間１３０とは関係なく、検証者デバイス１０２（例えば、リーダ／ライタ）が走行時間を計算し得ることに留意されたい。言い換えると、検証者デバイス１０２は、走行時間測定値を決定するためにターゲットデバイス１０４の処理時間１３０を知る必要はない。ターゲットデバイス１０４は、それの処理時間１３０を正確にスケーリングすることができなければならないが、このアプローチは、短いこの処理時間１３０に依存しない。図１０は、処理時間乗数１１８（ｎ）が２である例を図示する。
【００７０】
[0080]  検証者デバイス１０２は、走行時間測定値に基づいて、検証者デバイス１０２とターゲットデバイス１０４との間の距離上限１２０を決定し得る。一旦、所望された精度に走行時間測定値Ｔｆが決定されると、検証者デバイス１０２は、走行時間測定値に光の速度（ｃ）を乗算することによって、距離上限１２０を決定し得る。距離上限１２０は、Ｔｆ・ｃのように表され得る。
【００７１】
[0081]  距離上限１２０は、検証者デバイス１０２とターゲットデバイス１０４との間の距離１０６（または間隔）の大きさ（measure）の上限であり得る。従って、検証者デバイス１０２とターゲットデバイス１０４とは、距離上限１２０よりも近くにあり得るが、それ以上検証者デバイス１０２とターゲットデバイス１０４とがさらに離れることはできない。
【００７２】
[0082]  式（１）−（５）によると、出て行く走行時間（transit time out）と戻りの走行時間（transit time back）とが同じであると仮定されることに留意されたい。従って、２・Ｔｆは、総走行時間である。ターゲットデバイス１０４の処理時間１３０が長い場合、検証者デバイス１０２およびターゲットデバイス１０４は、互いに対して動いている可能性があり得る。実質的な処理時間１３０を仮定すると、このシナリオは、ユーザの支配下に置かれているデバイスにとっての実質的な問題ではないだろう。しかしながら、ターゲットデバイス１０４の処理時間１３０が遅く、検証者デバイス１０２とターゲットデバイスとの間の距離１０６が急速に変化している極端な場合であっても、検証者デバイス１０２は、デバイスの間隔の平均値を決定するだろう。この場合、時間測定値は、変化している際の距離１０６を示すだろう。これは、ターゲットデバイス１０４と通信することを拒否するための別の基準として使用され得る。
【００７３】
[0083]  往復時間測定を複数回繰り返すことによって、処理遅延における小さな変動が平均化され、走行時間測定値の精度をよりさらに改善し得ることにも留意されたい。従って、ある実装では、処理時間乗数１１８に従って、ターゲットデバイス１０４がそれの応答を遅延させる少なくとも１つの追加の走行時間測定値に基づいて、検証者デバイス１０２は距離上限１２０を決定し得る。これらの追加の走行時間測定値のためにターゲットデバイス１０４によって使用される処理時間乗数１１８ｂは、バウンディングシーケンス１１０ｂによって示され得る。
【００７４】
[0084]  この実装では、検証者デバイス１０２は、ターゲットデバイス１０４からの応答を受信するために、少なくとも１つの追加の往復時間を測定し得る。ターゲットデバイス１０４からの応答は、バウンディングシーケンス１１０ａによって示されるように、処理時間乗数１１８によって遅延され得るか、または遅延されない可能性がある。さらに、１つまたは複数の往復時間測定で使用される処理時間乗数１１８は、同じ値であり得るか、または異なる値であり得る。言い換えると、処理時間乗数１１８は、この実装では、所与の往復時間測定に適用される値のシーケンスであり得る。例えば、１つの往復時間測定では、処理時間乗数１１８は２であり得るが、別の往復時間測定では、処理時間乗数は３であり得る。
【００７５】
[0085]  検証者デバイス１０２は次に、少なくとも１つの追加の往復時間を使用して、少なくとも１つの追加の走行時間測定値を決定し得る。各往復時間測定について、検証者デバイス１０２は、式（５）に従って走行時間測定値を決定し得る。検証者デバイス１０２は、複数の走行時間測定値の各々を使用して、平均走行時間測定値を決定し得る。検証者デバイス１０２は、平均走行時間測定値に光の速度を乗算することによって、距離上限１２０を決定し得る。
【００７６】
[0086]  処理時間乗数１１８は、検証者デバイス１０２およびターゲットデバイスによって知られ得るが、他のデバイスには知られていない。上述されるように、処理時間乗数１１８は、検証者デバイス１０２とターゲットデバイスとによって交換されるバウンディングシーケンス１１０によって示され得る。
【００７７】
[0087]  悪意のあるデバイスにとって、それが実際にあるよりも近くにあることを装うために、それの処理時間１３０を調整することによって、このアプローチを打ち負かす（defeat）ことは、非常に困難である。応答１２８を正確な時間で検証者デバイス１０２に到達させるために、処理時間１３０のスケーリングは、単に倍増することではない。ターゲットデバイス１０４は、検証者デバイス１０２までの距離１０６を知らないので、それはＴｆを知らないため、より短い距離にあることを装うために使用する必要がある必要な処理時間１３０を決定することができない。
【００７８】
[0088]  説明されるシステムおよび方法は、ランダムに決定され次に暗号化され得る、処理時間乗数１１８の複数の値を使用することを提供するので、任意の取引のために使用され得る処理時間乗数１１８のシーケンスを攻撃デバイスが知る可能性はない。リレー攻撃の存在下での、支払いスキームのこのケースにおいて説明されるシステムおよび方法の挙動（behavior）は、図８に関連して説明される。
【００７９】
[0089]  共有鍵（Ｋ）１２２を有するデバイスのみがバウンディングシーケンス（Ｎ）１１０を解読することができ、よって、距離上限１２０決定ステップ中に、使用されるべき処理時間乗数１１８のシーケンスを決定することができる。
【００８０】
[0090]  さらに、共有鍵（Ｋ）１２２を有し、検証者デバイス１０２に物理的に近いターゲットデバイス１０４のみが、検証者デバイス１０２からの１つまたは複数のチャレンジ１２６に対して正確に応答することができる。バウンディングシーケンス（Ｎ）１１０を作成する際に、処理時間乗数１１８のいくつかまたは全ての値がそれから選択されるランダムシーケンスは、適切な偽の処理遅延値を悪意のあるデバイスが決定することができる可能性を大幅に減らし得る。
【００８１】
[0091]  上述されるように、悪意のあるデバイスに限界（bounds）のチェックを通過させる適当な偽の時間の倍数を計算することは、アタッカにとって、計算上は困難である。しかしながら、バウンディングシーケンス１１０の知識を有しかつ含まれる全ての距離の知識を有することを目ざした進化したアタッカは、処理時間乗数１１８、所与の十分な時間およびコンピューティングリソースについての偽の値のセットを計算できる可能性がある。バウンディングシーケンス１１０が、リンクが確立されるときに決定されるランダム値またはランダム値のシーケンスである場合、偽の値を計算するために利用可能な時間は、大幅に減少する。
【００８２】
[0092]  図２は、被認証デバイスまでの距離バウンディングのための方法２００を図示するフロー図である。方法２００は、ターゲットデバイス１０４と通信状態にある検証者デバイス１０２によって行われ得る。例えば、検証者デバイス１０２はリーダデバイスであり得、ターゲットデバイス１０４はカードデバイスであり得る。検証者デバイス１０２は、ターゲットデバイス１０４までの距離上限１２０を決定するための方法２００を行い得る。
【００８３】
[0093]  検証者デバイス１０２は、ターゲットデバイス１０４を認証する（２０２）。認証は、ターゲットデバイスが、そうであると主張する実デバイスであり、かつ詐欺師デバイス（imposter device）でないことを確立するために使用され得る。
【００８４】
[0094]  ターゲットデバイス１０４を認証すると、検証者デバイス１０２は、ターゲットデバイス１０４との共有鍵１２２を確立し得る（２０４）。これは、図1に関連して上述されるように達成され得る。
【００８５】
[0095]  検証者デバイス１０２は、共有鍵１２２で暗号化されたバウンディングシーケンス１１０を、ターゲットデバイス１０４に送り得る（２０６）。ターゲットデバイス１０４を認証し、共有鍵１２２を確立すると、暗号化されたバウンディングシーケンス１２４は、ターゲットデバイス１０４にセキュアチャネルを介して送られる（２０６）。
【００８６】
[0096]  バウンディングシーケンス１１０は、ランダム値またはランダム値のシーケンスであり得る。バウンディングシーケンス１１０は、ターゲットデバイス１０４のための処理時間乗数１１８を決定するために使用され得る。処理時間乗数１１８は、検証者デバイス１０２から受信したチャレンジ１２６に応答することをターゲットデバイス１０４が遅延させる時間量を示す。
【００８７】
[0097]  検証者デバイス１０２は、バウンディングシーケンス１１０に基づいて、ターゲットデバイス１０４と距離上限１２０決定プロシージャを行い得る（２０８）。距離上限１２０は、検証者デバイス１０２とターゲットデバイス１０４との間の距離１０６における上限であり得る。
【００８８】
[0098]  検証者デバイス１０２は、チャレンジ１２６をターゲットデバイス１０４に送り、バウンディングシーケンス１１０によって決定された処理時間乗数１１８によって遅延された応答１２８を受信するための往復時間を測定し得る。検証者デバイス１０２は、測定された往復時間と処理時間乗数１１８とを使用して、距離上限１２０を計算し得る。
【００８９】
[0099]  ある実装では、検証者デバイス１０２は、ターゲットデバイス１０４に送られた第１のチャレンジ１２６に対応する、ターゲットデバイス１０４からの第１の応答１２８を受信するための第１の往復時間を測定し得る。検証者デバイス１０２は、ターゲットデバイス１０４に送られた第２のチャレンジ１２６に対応する、ターゲットデバイス１０４からの第２の応答１２８を受信するための第２の往復時間を測定し得る。ターゲットデバイス１０４は、バウンディングシーケンス１１０によって示される処理時間乗数１１８によって、第２の応答１２８のための処理時間をスケーリングし得る。
【００９０】
[00100]  検証者デバイス１０２は、第１の往復時間、第２の往復時間、および処理時間乗数１１８に基づいて、走行時間測定値を決定し得る。例えば、検証者デバイス１０２は、式（５）に従って走行時間測定値を決定し得る。検証者デバイス１０２は次に、走行時間測定値に光の速度を乗算することによって、距離上限１２０を決定し得る。
【００９１】
[00101]  図３は、被認証デバイスまでの距離バウンディングのための別の方法３００を図示するフロー図である。方法３００は、検証者デバイス１０２と通信状態にあるターゲットデバイス１０４によって行われ得る。ターゲットデバイス１０４までの距離上限１２０を決定する際に、ターゲットデバイス１０４が検証者デバイス１０２を手助けするための方法３００を行い得る。
【００９２】
[00102]  ターゲットデバイス１０４は、検証者デバイス１０２を認証し得る（３０２）。認証は、検証者デバイス１０２が、そうであると主張する実デバイスであり、かつ詐欺師デバイスでないことを確立し得る。
【００９３】
[00103]  検証者デバイス１０２を認証すると、ターゲットデバイス１０４は、検証者デバイス１０２との共有鍵１２２を確立し得る。これは、図１に関連して上述されるように達成され得る。
【００９４】
[00104]  ターゲットデバイス１０４は、共有鍵１２２で暗号化されたバウンディングシーケンス１１０を検証者デバイス１０２から受信し得る（３０６）。検証者デバイス１０２を認証し、共有鍵１２２を確立すると、暗号化されたバウンディングシーケンス１２４は、検証者デバイス１０２からセキュアチャネルを介して受信され得る（３０６）。
【００９５】
[00105]  バウンディングシーケンス１１０は、ランダム値またはランダム値のシーケンスであり得る。バウンディングシーケンス１１０は、ターゲットデバイス１０４のための処理時間乗数１１８を決定するために使用され得る。処理時間乗数１１８は、検証者デバイス１０２から受信したチャレンジ１２６に応答することをターゲットデバイス１０４が遅延させる時間量を示す。
【００９６】
[00106]  ターゲットデバイス１０４は、バウンディングシーケンス１１０に基づいて、検証者デバイス１０２と距離上限１２０決定プロシージャを行い得る（３０８）。例えば、ターゲットデバイス１０４は、チャレンジ１２６を検証者デバイス１０２から受信し得る。チャレンジ１２６は、バウンディングシーケンス１１０によって決定された処理時間乗数１１８に関連付けられ得る。ターゲットデバイス１０４は、処理時間乗数１１８によって遅延された応答１２８を検証者デバイス１０２に送り得る。検証者デバイス１０２は、図２に関連して説明されるように距離上限１２０を決定し得る。
【００９７】
[00107]  図４は、支払い取引を図示するシーケンス図である。検証者デバイス４０２は、ターゲットデバイス４０４と通信状態にあり得る。ある実装では、検証者デバイス４０２は、支払いカードリーダであり得、ターゲットデバイス４０４は、非接触型クレジットカードまたはスマートフォンであり得る。
【００９８】
[00108]  検証者デバイス１０２は、選択した支払いアプリケーションメッセージをターゲットデバイス１０４に送り得る（４０１）。検証者デバイス１０２およびターゲットデバイス１０４は、相互認証を行い得る（４０３）。相互認証を行うと、検証者デバイス１０２およびターゲットデバイス１０４は、支払いを認可し（authorize）得る（４０５）。
【００９９】
[00109]  図５は、リレー攻撃の例を図示するシーケンス図である。ある実装では、検証者デバイス５０２は、支払いカードリーダ、リーダ／ライタ、または販売時点（ＰＯＳ：point-of-sale）端末であり得る。ターゲットデバイス５０４は、非接触型クレジットカードまたはスマートフォンであり得る。
【０１００】
[00110]  第１の悪意のあるデバイス５３０ａ（例えば、スマートフォン）は、検証者デバイス５０２に接近し得る。第２の悪意のあるデバイス５３０ｂ（例えば、スマートフォン）は、ターゲットデバイス１０４に接近し得る。
【０１０１】
[00111]  検証者デバイス５０２およびターゲットデバイス５０４は、それらが互いと直接通信することができない十分な距離１０６だけ間隔をあけられ得る。例えば、検証者デバイス５０２とターゲットデバイス５０４とがＮＦＣまたはＲＦＩＤを使用して通信する場合、通信は数センチメートルに限定され得る。
【０１０２】
[00112]  この例では、アクセスまたは支払いを構築するためにターゲットデバイス５０４が使用され得る。検証者デバイス５０２によって使用されるセキュリティプロトコルは、提示されているデバイスがいくつかのチャレンジ１２６に対して正確に応答することができることのみを検証し得る。
【０１０３】
[00113]  第１の悪意のあるデバイス５３０ａおよび第２の悪意のあるデバイス５３０ｂは、これらのセキュリティプロトコルを回避し得る。悪意のあるデバイス５３０ａ、ｂのペアは、検証者デバイス１０２とターゲットデバイス１０４との間の非接触型プロトコルをリレーすることができ得る。言い換えると、悪意のあるデバイス５３０ａ、ｂは、チャレンジ１２６および応答１２８をリレーし得る。例えば、悪意のあるデバイス５３０ａ、ｂは、例えば盗まれたクレジットカードまたは支払い利用可能スマートフォンが不正な支払いを行うのに使用されていた場合に起こり得るものとして、システムに介入し得る。
【０１０４】
[00114]  第１および第２の悪意のあるデバイス５３０ａ、ｂは、検証者デバイス５０２とターゲットデバイス５０４との間の支払いアプリケーションメッセージ５０１ａ−ｃをリレーし得る。例えば、取引を開始すると、検証者デバイス５０２は、選択した支払いアプリケーションメッセージを第１の悪意のあるデバイス５３０ａに送り得る。第１の悪意のあるデバイス５３０ａは、選択した支払いアプリケーションメッセージを第２の悪意のあるデバイス５３０ｂに転送し得る（５０１ｂ）。第２の悪意のあるデバイス５３０ｂは、選択した支払いアプリケーションメッセージをターゲットデバイス５０４に転送し得る（５０１ｃ）。ターゲットデバイス５０４は、第１および第２の悪意のあるデバイス５３０ａ、ｂを介して検証者デバイス１０２に応答を返送し得る。
【０１０５】
[00115]  検証者デバイス５０２およびターゲットデバイス５０４は次に、悪意のあるデバイス５３０ａ、ｂを介して相互認証５３０を行い得る。第１および第２の悪意のあるデバイス５３０ａ、ｂは、検証者デバイス１０２とターゲットデバイス５０４との間の相互認証メッセージ５０３ａ−ｃをリレーし得る。例えば、検証者デバイス５０２は、チャレンジ１２６を第１の悪意のあるデバイス５３０ａに送り得、それは、チャレンジ１２６を第２の悪意のあるデバイス５３０ｂにリレーする。第２の悪意のあるデバイス５３０ｂは、チャレンジ１２６をターゲットデバイス５０４にリレーし得る。ターゲットデバイス５０４は、このチャレンジ１２６に応答し、応答１２８を、攻撃を受けた検証者デバイス５０２に（第１および第２の悪意のあるデバイス５３０ａ、ｂを介して）返送し得る。従って、この攻撃は、支払いカードの本物の暗号機能、および本物の承認を使用している。
【０１０６】
[00116]  検証者デバイス５０２およびターゲットデバイス５０４は次に、支払いを認可し得る。支払い認可メッセージ５０５ａ−ｃは、悪意のあるデバイス５３０ａ、ｂを介してリレーされ得る。検証者デバイス５０２が関与する限り、それはチャレンジ１２６を送った、そして正しい応答１２８を受信した、それはセキュリティプロトコルを満足させた。
【０１０７】
[00117]  図６は、被認証デバイスまでの距離バウンディングのために構成された、検証者デバイス１０２およびターゲットデバイス１０４の詳細な構成を図示するブロック図である。図６の検証者デバイス１０２とターゲットデバイス１０４とは、それぞれ、図１の検証者デバイス１０２とターゲットデバイス１０４とに従って実装され得る。
【０１０８】
[00118]  検証者デバイス６０２は、プロセッサ６０３ａ、暗号モジュール６１２ａ、バウンディングレイヤ６１６ａ、および物理レイヤ６１４ａを含み得る。ターゲットデバイス６０４はまた、プロセッサ６０３ｂ、暗号モジュール６１２ｂ、バウンディングレイヤ６１６ｂ、および物理レイヤ６１４ｂを含み得る。
【０１０９】
[00119]  検証者デバイス６０２およびターゲットデバイス６０４は、相互認証を行い得る。例えば、検証者デバイス６０２およびターゲットデバイス６０４は、共有鍵（Ｋ）６２２ａ、ｂを確立するために、公開鍵暗号、または共有シークレットを使用し得る。共有鍵６２２を確立するために検証者デバイス６０２およびターゲットデバイス６０４によって使用されるメカニズムは、中間者攻撃に耐性があり得る。
【０１１０】
[00120]  検証者デバイス６０２のプロセッサ６０３ａは、バウンディングシーケンス（Ｎ）６１０ａを生成し得る。ある実装では、バウンディングシーケンス６１０ａは、ランダムであり得るか、または実際は擬似ランダムであり得る。バウンディングシーケンス（Ｎ）６１０ａは、乱数ソース６０８から生成され得る。バウンディングシーケンス（Ｎ）６１０ａは、ランダム値（またはランダム値のシーケンス）であり得る。値Ｎ ６１０のいくつかまたは全ては、処理時間１３０への乗数として使用され得る。言い換えると、バウンディングシーケンス６１０は、ターゲットデバイス６０４のための処理時間乗数１１８を示し得る。
【０１１１】
[00121]  検証者デバイス６０２は、Ｎ ６１０をターゲットデバイス６０４に移送するために、秘密性および完全性を提供するチャネルを確立し得る。ある実装では、プロセッサ６０３ａは、バウンディングシーケンス（Ｎ）６１０ｂのいくつかまたは全てを、バウンディングレイヤ６１６ａにロードし得る。バウンディングレイヤ６１６ａは次に、バウンディングシーケンス（Ｎ）６１０ｃを暗号モジュール６１２ａに提供し得る。プロセッサ６０３はまた、共有鍵（Ｋ）６２２ｃを暗号モジュール６１２ａに提供し得、それは、共有鍵（Ｋ）６２２ｃを使用してバウンディングシーケンス６１０を暗号化し得る。
【０１１２】
[00122]  暗号モジュール６１２ａは、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）６２４ａを、検証者デバイス６０２の物理レイヤ６１４ａに提供し得る。検証者デバイス６０２は、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）６２４ｂを、ターゲットデバイス６０４の物理レイヤ６１４ｂに送り得る。ターゲットデバイス６０４の物理レイヤ６１４ｂは次に、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）６２４ｃを、ターゲットデバイス６０４の暗号モジュール６１２ｂに提供する。
【０１１３】
[00123]  ターゲットデバイス６０４のプロセッサ６０３ｂは、共有鍵（Ｋ）６２２ｄを暗号モジュール６１２ｂに提供し得る。共有鍵（Ｋ）６２２ｄを使用して、暗号モジュール６１２ｂは、バウンディングシーケンス（Ｎ）６１０ｄを解読し得る。
【０１１４】
[00124]  ターゲットデバイス６０４のプロセッサ６０３ｂは、バウンディングシーケンス（Ｎ）６１０ｄのいくつかまたは全てを、バウンディングレイヤ６１６ｂにロードし得る。この時点で、検証者デバイス６０２とターゲットデバイス６０４とは、ターゲットデバイス６０４によって使用される処理時間乗数（ｎ）１１８を決定するために使用され得る、同じバウンディングシーケンス（Ｎ）６１０を有し得る。
【０１１５】
[00125]  検証者デバイス６０２のバウンディングレイヤ６１６ａは、チャレンジ６２６をターゲットデバイス６０４のバウンディングレイヤ６１６ｂに送り得る。チャレンジ６２６は、暗号化され得るか、またはプレーンテキスト形式で送られ得る。
【０１１６】
[00126]  ターゲットデバイス６０４は、バウンディングシーケンス（Ｎ）６１０によって決定された処理時間乗数（ｎ）１１８を使用して、チャレンジ６２６への応答６２８を送り得る。検証者デバイス６０２は、バウンディングシーケンス（Ｎ）６１０によって決定された処理時間乗数（ｎ）１１８に基づいて、距離上限１２０を計算し得る。これは、図１に関連して上述されるように達成され得る。
【０１１７】
[00127]  図７は、被認証デバイスまでの距離バウンディングの実装を図示するシーケンス図である。検証者デバイス７０２は、ターゲットデバイス７０４と通信し得る。検証者デバイス７０２は、プロセッサ７０３ａ、物理レイヤ７１４ａ、およびバウンディングレイヤ７１６ｂを含み得る。ターゲットデバイス７０４はまた、プロセッサ７０３ｂ、物理レイヤ７１４ｂ、およびバウンディングレイヤ７１６ｂを含み得る。
【０１１８】
[00128]  検証者デバイス７０２のプロセッサ７０３ａと、ターゲットデバイス７０４のプロセッサ７０３ｂとは、相互認証プロシージャを行い得る（７０１）。検証者デバイス７０２およびターゲットデバイス７０４は、共有鍵（Ｋ）１２２を確立し得る（７０３）。
【０１１９】
[00129]  検証者デバイス７０２のプロセッサ７０３ａは、バウンディングシーケンス（Ｎ）１１０を生成し得る（７０５）。バウンディングシーケンス（Ｎ）１１０は、値または値のシーケンスであり得る。ある実装では、バウンディングシーケンス（Ｎ）１１０は、ランダムであり得るか、または実際は擬似ランダムであり得る。プロセッサ７０３ａは、Ｎ １１０、Ｎ １１０のいくつかの部分、またはＮ １１０の変換を、バウンディングレイヤ７１６ａに提供し得る（７０７）。
【０１２０】
[00130]  検証者デバイス７０２は、秘密性および完全性を提供するチャネルを使用して、Ｎ １１０を共有し得る。検証者デバイス７０２のプロセッサ７０３ａは、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）１２４を、検証者デバイス７０２の物理レイヤ７１４ａに送り得る（７０９）。検証者デバイス７０２の物理レイヤ７１４ａは、｛Ｎ｝Ｋ １２４をターゲットデバイス７０４の物理レイヤ７１４ｂに送り得（７１１）、それは｛Ｎ｝Ｋ １２４をターゲットデバイス７０４のプロセッサ７０３ｂに転送する。
【０１２１】
[00131]  ターゲットデバイス７０４のプロセッサ７０３ｂは、Ｎ １１０を取得するために、｛Ｎ｝Ｋ １２４を解読し得る（７１５）。ターゲットデバイス７０４上のプロセッサ７０３ｂは、解読されたＮ １１０のいくつかまたは全てを、それのバウンディングレイヤ７１６ｂにロードし得る（７１７）。従って、解読の後に、プロセッサ７０３ｂは、Ｎ １１０、Ｎ １１０のいくつかの部分、またはＮ １１０の変換を、バウンディングレイヤ７１６ｂに提供し得る。この時点で、バウンディングレイヤ７１６ａ、ｂの両方は、処理時間乗数（ｎ）１１８がそれから決定され得る、同じバウンディングシーケンス１１０を有している。
【０１２２】
[00132]  ターゲットデバイス７０４のプロセッサ７０３ｂは、ＯＫメッセージをターゲットデバイス７０４の物理レイヤ７１４ｂに（任意で）提供し得る（７１９）。ターゲットデバイス７０４の物理レイヤ７１４ｂは、ＯＫメッセージを検証者デバイス７０２の物理レイヤ７１４ａに（任意で）送り得（７２１）、それはＯＫメッセージを検証者デバイス７０２のプロセッサ７０３ａに（任意で）転送し得る（７２３）。
【０１２３】
[00133]  検証者デバイス７０２は、距離上限１２０決定プロシージャを行うことを開始し得る。検証者デバイス７０２のプロセッサ７０３ａは、チャレンジ（Ｃ）１２６を生成し得る（７２５）。プロセッサ７０３ａは、チャレンジ１２６を検証者デバイス７０２のバウンディングレイヤ７１６ａに転送し得る（７２７）。検証者デバイス７０２のバウンディングレイヤ７１６ａは、チャレンジ１２６をターゲットデバイス７０４のバウンディングレイヤ７１６ｂに送り得る（７２９）。このチャレンジ１２６は、任意でプレーンテキスト形式で送られ、それはバウンディングレイヤ７１６ａ、ｂの実装を簡略化し得る。チャレンジ１２６のコンテンツは、必要な場合、追加の情報を移送するために使用され得る。
【０１２４】
[00134]  ターゲットデバイス７０４は、応答１２８における処理遅延を変えるために、バウンディングシーケンス１１０または変換されたバウンディングシーケンス１１０を使用し得る（７３１）。例えば、ターゲットデバイス７０４は、バウンディングシーケンス１１０を使用して、処理時間乗数１１８を決定し得る。ターゲットデバイス６０４は、応答１２８を処理時間乗数（ｎ）１１８によって遅延させ得る。バウンディングレイヤ７１６ｂは、バウンディングシーケンス１１０によって決定された処理時間に関するスケーリング倍数（scaling multiples）（すなわち、処理時間乗数（ｎ）１１８）を使用して、チャレンジ１２６への応答１２８を送り得る（７３３）。応答１２８のコンテンツは、必要な場合、追加の情報を移送するために使用され得る。
【０１２５】
[00135]  検証者デバイス７０２のバウンディングレイヤ７１６ａは、応答１２８をターゲットデバイス７０４から受信し得る。バウンディングレイヤ７１６ａは、Ｎ １１０によって決定された処理時間乗数１１８を使用して、距離上限１２０を計算し得る（７３５）。バウンディングレイヤ７１６ａは、距離上限１２０を検証者デバイス７０２のプロセッサ７０３ａに提供し得る（７３７）。距離上限１２０の決定が許可された制限内である場合、次にターゲットデバイス７０４は、認証され、距離バウンディングされる。
【０１２６】
[00136]  図８は、距離バウンディングシステム８００に対するリレー攻撃の例を図示するブロック図である。検証者デバイス８０２およびターゲットデバイス８０４は、図１に関連して説明された検証者デバイス１０２およびターゲットデバイス１０４に従って実装され得る。
【０１２７】
[00137]  検証者デバイス８０２は、プロセッサ８０３ａ、暗号モジュール８１２ａ、バウンディングレイヤ８１６ａ、および物理レイヤ８１４ａを含み得る。ターゲットデバイス８０４はまた、プロセッサ８０３ｂ、暗号モジュール８１２ｂ、バウンディングレイヤ８１６ｂ、および物理レイヤ８１４ｂを含み得る。
【０１２８】
[00138]  図８では、リレー攻撃の存在下にある支払いスキームが図示される。第１の悪意のあるデバイス８３０ａは、プロセッサ８０３ｃ、暗号モジュール８１２ｃ、バウンディングレイヤ８１６ｃ、および物理レイヤ８１４ｃを含み得る。第２の悪意のあるデバイス８３０ｂもまた、プロセッサ８０３ｄ、暗号モジュール８１２ｄ、バウンディングレイヤ８１６ｄ、および物理レイヤ８１４ｄを含み得る。
【０１２９】
[00139]  検証者デバイス８０２およびターゲットデバイス８０４は、共有鍵（Ｋ）８２２ａ、ｂを確立し得る。これは、図１に関連して説明されるように達成され得る。これは、第１の悪意のあるデバイス８３０ａおよび第２の悪意のあるデバイス８３０ｂの存在下で行われ得る。
【０１３０】
[00140]  リレー攻撃の場合、２つの悪意のあるデバイス８３０ａ、ｂは、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）８２４の暗号化された値を、検証者デバイス８０２からターゲットデバイス８０４にわたし得る。このスキームは、ランダムに決定され送信の前に暗号化され得る、処理時間乗数１１８の複数の値の使用を提供するので、任意の取引のために使用され得る処理時間乗数１１８のシーケンスを悪意のあるデバイス８３０が知ることは、もはや可能ではないため、距離バウンディングをさらに強化することが可能である。
【０１３１】
[00141]  ある実装では、検証者デバイス８０２は、バウンディングシーケンス８１０ａを生成し得る。バウンディングシーケンス８１０ｂは、バウンディングレイヤ８１６ａに提供され得、それはバウンディングシーケンス８１０ｃを暗号モジュール８１２ａに提供し得る。
【０１３２】
[00142]  暗号モジュール８１２ａは、共有鍵（Ｋ）８２２ｃを使用してバウンディングシーケンス８１０を暗号化し得る。暗号モジュール８１２ａは、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）８２４ａを物理レイヤ８１４ａに提供し得る。リレー攻撃では、検証者デバイス８０２の物理レイヤ８１４ａは、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）８２４ｂを第１の悪意のあるデバイス８３０ａの物理レイヤ８１４ｃに送り得る。第１の悪意のあるデバイス８３０ａは、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）８２４ｄを第２の悪意のあるデバイス８３０の物理レイヤ８１４ｂに送り得、それは暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）８２４ｅをターゲットデバイス８０４の物理レイヤ８１４ｂに転送する。
【０１３３】
[00143]  ターゲットデバイス８０４の物理レイヤ８１４ｂは、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）８２４ｆを暗号モジュール８１２ｂに提供し得、それは共有鍵８２２ｄを使用してバウンディングシーケンス８１０ｄを解読する。
【０１３４】
[00144]  検証者デバイス８０２およびターゲットデバイス８０４がセキュリティおよび完全性を提供するチャネルを使用するので、悪意のあるデバイス８３０ａ、ｂは、これが検出されることなくチャネル上のデータを傍受または修正することはできない。
【０１３５】
[00145]  具体的には、第１の悪意のあるデバイス８３０ａは、それが共有鍵（Ｋ）８２２を有していないので、バウンディングシーケンス（Ｎ）８１０の値を決定することができない。第１の悪意のあるデバイス８３０ａは、暗号化されたバウンディングシーケンス（｛Ｎ｝Ｋ）８２４ｃをそれの暗号モジュール８１２ｃに提供し得るが、共有鍵（Ｋ）８２２なしでバウンディングシーケンス８２２を解読することはできない。悪意のあるデバイス８３０ａ、ｂがバウンディングシーケンス（Ｎ）８１０を解読することができないので、悪意のあるデバイス８３０ａ、ｂは、距離バウンディングのために使用される処理時間乗数１１８を決定することができず、距離バウンディングは失敗するだろう。
【０１３６】
[00146]  図９は、検証者デバイス９０２による走行時間９３４を計算するための１つのアプローチを図示するシーケンス図である。この例では、検証者デバイス９０２（例えば、リーダ／ライタ）は、ターゲットデバイス９０４（例えば、カード）と通信する。検証者デバイス９０２は、図１の検証者デバイス１０２に従って実装され得る。ターゲットデバイス９０４は、図１のターゲットデバイス１０４に従って実装され得る。
【０１３７】
[00147]  検証者デバイス９０２は、チャレンジ１２６をターゲットデバイス９０４に送り得る（９０１）。信号が検証者デバイス９０２とターゲットデバイス９０４との間を進むための時間量は、走行時間（Ｔｆ）９３４である。従って、チャレンジ１２６がターゲットデバイス９０４に到達するための時間量は、走行時間（Ｔｆ）９３４である。
【０１３８】
[00148]  ターゲットデバイス９０４は、チャレンジ１２６を処理する（９０３）。チャレンジ１２６を処理し、応答１２８を生成するための時間量は、処理時間（Ｔｐｒｏｃ）９３０である。ターゲットデバイス９０４は、応答１２８を検証者デバイス９０２に返送し得る（９０５）。応答１２８が検証者デバイス９０２に到達するための時間量は、走行時間（Ｔｆ）９３４ｂである。検証者デバイス９０２とターゲットデバイス９０４との間の距離１０６が変化していないと仮定すると、チャレンジ１２６のための走行時間（Ｔｆ）９３４ａと、応答１２８のための走行時間（Ｔｆ）９３４ｂとは同じである。
【０１３９】
[00149]  チャレンジ／応答交換のための往復時間（Ｔｒｏｕｎｄ，１）９３２は、上記の式（１）に従って表され得る。この例では、検証者デバイス９０２は、チャレンジ１２６が送られる時間から応答１２８が受信される時間までの、チャレンジ／応答交換のための往復時間（Ｔｒｏｕｎｄ，１）９３２を測定し得る。言い換えると、Ｔｒｏｕｎｄ，１＝Ｔｐｒｏｃ＋２・Ｔｆである。しかしながら、検証者デバイス９０２は通常、処理時間（Ｔｐｒｏｃ）９３０を知らないので、検証者デバイス９０２は、走行時間（Ｔｆ）９３４を正確に決定することができず、よって、ターゲットデバイス９０４までの距離１０６を正確に決定することができない。
【０１４０】
[00150]  図１０は、説明されたシステムおよび方法に従って走行時間１０３４を計算するためのアプローチを図示するシーケンス図である。この例では、検証者デバイス１００２は、ターゲットデバイス１００４と通信する。検証者デバイス１００２は、図１の検証者デバイス１０２に従って実装され得る。ターゲットデバイス１００４は、図１のターゲットデバイス１０４に従って実装され得る。検証者デバイス１００２は、リーダデバイス（例えば、リーダ／ライタ）であり得、ターゲットデバイス１００４は、リスニングデバイス（例えば、カード）であり得る。
【０１４１】
[00151]  検証者デバイス１００２は、第１のチャレンジ１２６と第１の応答１２８との交換のための第１の往復時間（Ｔｒｏｕｎｄ，１）１０３２を測定し得る。検証者デバイス１００２は、第１のチャレンジ１２６をターゲットデバイス１００４に送り得る（１００１）。第１のチャレンジ１２６がターゲットデバイス１００４に到達するための時間量は、走行時間（Ｔｆ）１０３４ａである。
【０１４２】
[00152]  ターゲットデバイス１００４は、チャレンジ１２６の処理を開始し得る（１００３）。チャレンジ１２６を処理し、応答を生成するための時間量は、処理時間（Ｔｐｒｏｃ）１０３０である。ターゲットデバイス１００４は、第１の応答１２８を検証者デバイス１００２に返送し得る（１００５）。第１の応答１２８が検証者デバイス１００２に到達するための時間量は、走行時間（Ｔｆ）１０３４ｂである。
【０１４３】
[00153]  検証者デバイス１００２は、第２のチャレンジ１２６と第２の応答１２８との交換のための第２の往復時間（Ｔｒｏｕｎｄ，２）１０３６を測定し得る。検証者デバイス１００２は、第２のチャレンジ１２６をターゲットデバイス１００４に送り得る（１００７）。第２のチャレンジ１２６がターゲットデバイス１００４に到達するための時間量は、走行時間（Ｔｆ）１０３４ｃである。
【０１４４】
[00154]  ターゲットデバイス１００４は、処理時間乗数（ｎ）１１８に基づいて、第２のチャレンジ１２６を処理することを遅延させ得る（１００９）。この例では、処理時間乗数（ｎ）１１８は、２に等しい。従って、ターゲットデバイス１００４は、第２のチャレンジ１２６に応答する前に、処理時間１０３０を２の倍数でスケーリングする。言い換えると、ターゲットデバイス１００４は、それの内部処理遅延の２倍によってそれの応答１２８を遅延させる。処理時間乗数（ｎ）１１８は、図１に関連して説明されるように、検証者デバイス１００２とターゲットデバイス１００４との間で交換されるバウンディングシーケンス１１０に従って決定され得る。
【０１４５】
[00155]  処理遅延の後、ターゲットデバイス１００４は、第２の応答１２８を検証者デバイス１００２に送り得る（１０１１）。第２の応答１２８が検証者デバイス１００２に到達するための時間量は、走行時間（Ｔｆ）１０３４ｄである。
【０１４６】
[00156]  繰り返しになるが、検証者デバイス１００２とターゲットデバイス１００４との間の距離１０６が変化していないと仮定すると、走行時間（Ｔｆ）１０３４ａ−ｄは同じである。
【０１４７】
[00157]  検証者デバイス１００２は、今や２つの異なる往復時間を有する。検証者デバイス１００２は、式（５）に従って走行時間測定値１０３４を決定し得る。この場合、処理時間乗数（ｎ）１１８は、２である。走行時間測定値１０３４は、ターゲットデバイス１００４の実際の処理時間１０３０を検証者デバイス１００２が知っていることを必要としないことに留意されたい。
【０１４８】
[00158]  この例では、Ｔｒｏｕｎｄ，１＝Ｔｐｒｏｃ＋２・Ｔｆ、かつＴｒｏｕｎｄ，２＝２・Ｔｐｒｏｃ＋２・Ｔｆである。よって、２・Ｔｒｏｕｎｄ，１＝２・Ｔｐｒｏｃ＋４・Ｔｆである。従って、２・Ｔｒｏｕｎｄ，１−Ｔｒｏｕｎｄ，２＝２Ｔｆである。これは、Ｔｆ＝（２・Ｔｒｏｕｎｄ，１−Ｔｒｏｕｎｄ，２）／２をもたらす。
【０１４９】
[00159]  図１１は、電子デバイス１１０２内に含まれ得るある特定のコンポーネントを示す。電子デバイス１１０２は、アクセス端末、モバイル局、ユーザ機器（ＵＥ）などであり得る。例えば、電子デバイス１１０２は、図１の検証者デバイス１０２またはターゲットデバイス１０４であり得る。
【０１５０】
[00160]  電子デバイス１１０２は、プロセッサ１１０３を含む。プロセッサ１１０３は、汎用単一またはマルチチップマイクロプロセッサ（例えば、進化型ＲＩＳＣ（縮小命令セットコンピュータ）マシン（ＡＲＭ））、特殊用途向けマイクロプロセッサ（例えば、デジタルシグナルプロセッサ（ＤＳＰ））、マイクロコントローラ、プログラマブルゲートアレイなどであり得る。プロセッサ１１０３は、中央処理ユニット（ＣＰＵ）と呼ばれ得る。図１１の電子デバイス１１０２には単一のプロセッサ１１０３だけが示されているが、代替的な構成では、プロセッサの組み合わせ（例えば、ＡＲＭとＤＳＰ）が使用され得る。
【０１５１】
[00161]  電子デバイス１１０２はまた、プロセッサと電子通信するメモリ１１０５を含む（すなわち、プロセッサは、情報をメモリから読み取るおよび／または情報をメモリに書き込むことができる）。メモリ１１０５は、電子情報を記憶することが可能な任意の電子コンポーネントであり得る。メモリ１１０５は、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、磁気ディスク記憶媒体、光学記憶媒体、ＲＡＭにおけるフラッシュメモリデバイス、プロセッサとともに含まれるオンボードメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭ（登録商標）メモリ、レジスタなど、およびそれらの組み合わせを含むものなどとして構成され得る。
【０１５２】
[00162]  データ１１０７ａおよび命令１１０９ａは、メモリ１１０５内に記憶され得る。命令は、１つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャ、コードなどを含み得る。命令は、単一のコンピュータ可読ステートメントまたは多数のコンピュータ可読ステートメントを含み得る。命令１１０９ａは、本明細書で開示される方法を実施するためにプロセッサ１１０３によって実行可能であり得る。命令１１０９ａを実行することは、メモリ１１０５内に記憶されるデータ１１０７ａの使用を含み得る。プロセッサ１１０３が命令１１０９を実行するとき、命令１１０９ｂの様々な部分がプロセッサ１１０３上にロードされ、データ１１０７ｂの様々な部分がプロセッサ１１０３上にロードされ得る。
【０１５３】
[00163]  電子デバイス１１０２はまた、アンテナ１１１７を介した、電子デバイス１１０２への信号の送信、および電子デバイス１１０２からの信号の受信を可能にするために、送信機１１１１および受信機１１１３を含み得る。送信機１１１１および受信機１１１３は、総称してトランシーバ１１１５と呼ばれ得る。電子デバイス１１０２はまた、複数の送信機、複数のアンテナ、複数の受信機、および／または複数のトランシーバを含み得る（図示されない）。
【０１５４】
[00164]  電子デバイス１１０２は、デジタルシグナルプロセッサ（ＤＳＰ）１１２１を含み得る。電子デバイス１１０２はまた、通信インターフェース１１２３を含み得る。通信インターフェース１１２３は、ユーザが電子デバイス１１０２と相互作用することを可能にし得る。
【０１５５】
[00165]  電子デバイス１１０２の様々なコンポーネントは、電力バス、制御信号バス、ステータス信号バス、データバスなどを含み得る１つまたは複数のバスによって互いに結合され得る。明確化のために、様々なバスがバスシステム１１１９として図１１に図示される。
【０１５６】
[00166]  先の説明では、参照番号は、時として様々な用語に関連して使用されている。用語が参照番号に関連して使用される場合、これは、図のうちの１または複数において示される特定のエレメントを指すことを意味し得る。用語が参照番号なしに使用される場合、これは、いずれかの特定の図に限定することなく、一般的にその用語を指すことを意味し得る。
【０１５７】
[00167]  「決定する」という用語は、多種多様な動作を包含し、従って、「決定すること」は、計算すること、演算すること、処理すること、導出すること、調査すること、ルックアップすること（例えば、表、データベース、または別のデータ構造をルックアップすること）、確認することなどを含み得る。また、「決定すること」は、受信すること（例えば、情報を受信すること）、アクセスすること（例えば、メモリ内のデータにアクセスすること）などを含み得る。また、「決定すること」は、解決すること、選択すること、選ぶこと、確立することなどを含み得る。
【０１５８】
[00168]  「〜に基づく」というフレーズは、そうではないと明確に指定されていない限り、「〜のみに基づく」ことを意味しない。言い換えると、「〜に基づく」というフレーズは、「〜のみに基づく」および「〜に少なくとも基づく」の両方を説明する。
【０１５９】
[00169]  「プロセッサ」という用語は、汎用プロセッサ、中央処理ユニット（ＣＰＵ）、マイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、コントローラ、マイクロコントローラ、ステートマシンなどを包含するように広く解釈されるべきである。いくつかの状況下では、「プロセッサ」は、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などを指し得る。「プロセッサ」という用語は、例えば、デジタルシグナルプロセッサ（ＤＳＰ）と１つのマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）コアと連結した１つまたは複数のマイクロプロセッサ、または、任意の他のこのような構成のような、処理デバイスの組み合わせを指し得る。
【０１６０】
[00170]  「メモリ」という用語は、電子情報を記憶することができる任意の電子コンポーネントを包含するように広く解釈されるべきである。メモリという用語は、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、プログラマブル読取専用メモリ（ＰＲＯＭ）、消去可能なプログラマブル読取専用メモリ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気または光学データ記憶装置、レジスタなどのような、様々なタイプのプロセッサ可読媒体を指し得る。メモリは、プロセッサが情報をメモリから読み取るおよび／または情報をメモリに書き込むことができる場合、そのプロセッサと電子通信していると考えられる。プロセッサに統合されているメモリは、そのプロセッサと電子通信している。
【０１６１】
[00171]  「命令」および「コード」という用語は、任意のタイプのコンピュータ可読ステートメントを含むように広く解釈されるべきである。例えば、「命令」および「コード」という用語は、１つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを指し得る。「命令」および「コード」は、単一のコンピュータ可読ステートメント、または多くのコンピュータ可読ステートメントを備え得る。
【０１６２】
[00172]  本明細書で説明される機能は、ハードウェアによって実行されるソフトウェアまたはファームウェア内に実装され得る。これらの機能は、コンピュータ可読媒体上で、１つまたは複数の命令として記憶され得る。「コンピュータ可読媒体」または「コンピュータプログラム製品」という用語は、コンピュータまたはプロセッサによってアクセスされ得る任意の有形の記憶媒体を指す。限定ではなく例として、コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、または他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形式で所望のプログラムコードを搬送または記憶するために使用されることができ、かつ、コンピュータによってアクセスされることができる任意の他の媒体を含み得る。本明細書で使用される場合、ディスク（disk）およびディスク（disc）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタル多目的ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルーレイ（登録商標）ディスクを含み、ここで、ディスク（disks）は通常磁気的にデータを再生し、一方ディスク（discs）はレーザーを用いて光学的にデータを再生する。コンピュータ可読媒体は、有形および非一時的であり得ることに留意されたい。「コンピュータプログラム製品」という用語は、コンピューティングデバイスまたはプロセッサによって実行、処理、または計算され得るコードまたは命令（例えば、「プログラム」）と組み合わせたコンピューティングデバイスまたはプロセッサを指す。本明細書で使用されるような「コード」という用語は、コンピューティングデバイスまたはプロセッサによって実行可能であるソフトウェア、命令、コード、またはデータを指し得る。
【０１６３】
[00173]  ソフトウェアまたは命令もまた、送信媒体上で送信され得る。例えば、ソフトウェアがウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は、送信媒体の定義に含まれる。
【０１６４】
[00174]  本明細書で開示される方法は、説明される方法を達成するための１つまたは複数のステップまたは動作を備える。方法のステップおよび／または動作は、特許請求の範囲から逸脱することなく、互いと交換可能であり得る。言い換えると、ステップまたは動作の特定の順序が、説明されている方法の正常な動作のために必要とされない限り、特定のステップおよび／または動作の順序および／または使用は、特許請求の範囲から逸脱することなく修正され得る。
【０１６５】
[00175]  さらに、図２および図３によって図示されるもののような、本明細書で説明される方法および技法を行うためのモジュールおよび／または他の適切な手段は、デバイスによってダウンロードされるおよび／またはそうでなければ取得され得ることが理解されるべきである。例えば、デバイスは、本明細書で説明される方法を実行するための手段の移送を容易にするために、サーバに結合され得る。代替的に、本明細書で説明される様々な方法は、記憶手段をデバイスに結合または提供する際に、デバイスが様々な方法を取得し得るように、記憶手段（例えば、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）またはフロッピーディスクのような物理記憶媒体など）を介して提供され得る。さらに、本明細書に説明される方法および技法をデバイスに提供するための任意の他の適切な技法が利用され得る。
【０１６６】
[00176]  特許請求の範囲は、上記に例示されたとおりの構成およびコンポーネントに限定されないことが理解されるべきである。様々な修正、変更、および変形が、本明細書で説明されるシステム、方法、および装置の配置、動作、および詳細において、特許請求の範囲から逸脱することなく行われ得る。
【図１】
2018516509.tif 000004
【図２】
2018516509.tif 000005
【図３】
2018516509.tif 000006
【図４】
2018516509.tif 000007
【図５】
2018516509.tif 000008
【図６】
2018516509.tif 000009
【図７】
2018516509.tif 000010
【図８】
2018516509.tif 000011
【図９】
2018516509.tif 000012
【図１０】
2018516509.tif 000013
【図１１】
2018516509.tif 000014
【手続補正書】
【提出日】平成30年1月30日(2018.1.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
検証者デバイスによる方法であって、
ターゲットデバイスを認証することと、
前記ターゲットデバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記ターゲットデバイスに送ることと、ここにおいて、前記バウンディングシーケンスは、前記検証者デバイスによって送られるチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す処理時間乗数を示す、
前記バウンディングシーケンスに基づいて、前記ターゲットデバイスと距離上限決定プロシージャを行うことと
を備える、方法。
【請求項２】
前記ターゲットデバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記ターゲットデバイスにセキュアチャネルを介して送られる、請求項１に記載の方法。
【請求項３】
前記バウンディングシーケンスは、ランダム値またはランダム値のシーケンスである、請求項１に記載の方法。
【請求項４】
ターゲットデバイスの応答のための前記処理時間乗数は、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって決定される、請求項１に記載の方法。
【請求項５】
前記距離上限は、前記検証者デバイスと前記ターゲットデバイスとの間の前記距離における上限である、請求項１に記載の方法。
【請求項６】
前記距離上限決定プロシージャを行うことは、
チャレンジを前記ターゲットデバイスに送り、前記バウンディングシーケンスによって示された前記処理時間乗数によって遅延された応答を受信するための往復時間を測定することと、
前記測定された往復時間と前記処理時間乗数とを使用して、前記距離上限を計算することと
を備える、請求項１に記載の方法。
【請求項７】
前記距離上限決定プロシージャを行うことは、
前記ターゲットデバイスに送られた第１のチャレンジに対応する、前記ターゲットデバイスからの第１の応答を受信するための第１の往復時間を測定することと、
前記ターゲットデバイスに送られた第２のチャレンジに対応する、前記ターゲットデバイスからの第２の応答を受信するための第２の往復時間を測定することと、ここにおいて、前記ターゲットデバイスは、前記バウンディングシーケンスによって示される前記処理時間乗数によって、前記第２の応答のための処理時間をスケーリングする、
前記第１の往復時間、前記第２の往復時間、および前記処理時間乗数に基づいて、走行時間測定値を決定することと、
前記走行時間測定値に光の速度を乗算することによって、前記距離上限を決定することと
を備える、請求項１に記載の方法。
【請求項８】
前記検証者デバイスの物理レイヤは、前記暗号化されたバウンディングシーケンスを送り、前記検証者デバイスのバウンディングレイヤは、前記距離上限決定プロシージャを行う、請求項１に記載の方法。
【請求項９】
検証者デバイスであって、
プロセッサと、
前記プロセッサと通信状態にあるメモリと、
前記メモリに記憶された命令と
を備え、前記命令は、
ターゲットデバイスを認証することと、
前記ターゲットデバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記ターゲットデバイスに送ることと、ここにおいて、前記バウンディングシーケンスは、前記検証者デバイスによって送られるチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す処理時間乗数を示す、
前記バウンディングシーケンスに基づいて、前記ターゲットデバイスと距離上限決定プロシージャを行うことと
を行うように前記プロセッサによって実行可能である、検証者デバイス。
【請求項１０】
前記ターゲットデバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記ターゲットデバイスにセキュアチャネルを介して送られる、請求項９に記載の検証者デバイス。
【請求項１１】
前記バウンディングシーケンスは、ランダム値またはランダム値のシーケンスである、請求項９に記載の検証者デバイス。
【請求項１２】
ターゲットデバイスの応答のための前記処理時間乗数は、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって決定される、請求項９に記載の検証者デバイス。
【請求項１３】
前記距離上限は、前記検証者デバイスと前記ターゲットデバイスとの間の前記距離における上限である、請求項９に記載の検証者デバイス。
【請求項１４】
前記距離上限決定プロシージャを行うように実行可能な前記命令は、
チャレンジを前記ターゲットデバイスに送り、前記バウンディングシーケンスによって示された前記処理時間乗数によって遅延された応答を受信するための往復時間を測定することと、
前記測定された往復時間と前記処理時間乗数とを使用して、前記距離上限を計算することと
を行うように実行可能な命令を備える、請求項９に記載の検証者デバイス。
【請求項１５】
前記距離上限決定プロシージャを行うように実行可能な前記命令は、
前記ターゲットデバイスに送られた第１のチャレンジに対応する、前記ターゲットデバイスからの第１の応答を受信するための第１の往復時間を測定することと、
前記ターゲットデバイスに送られた第２のチャレンジに対応する、前記ターゲットデバイスからの第２の応答を受信するための第２の往復時間を測定することと、ここにおいて、前記ターゲットデバイスは、前記バウンディングシーケンスによって示される処理時間乗数によって、前記第２の応答のための処理時間をスケーリングする、
前記第１の往復時間、前記第２の往復時間、および前記処理時間乗数に基づいて、走行時間測定値を決定することと、
前記走行時間測定値に光の速度を乗算することによって、前記距離上限を決定することと
を行うように実行可能な命令を備える、請求項９に記載の検証者デバイス。
【請求項１６】
ターゲットデバイスによる方法であって、
検証者デバイスを認証することと、
前記検証者デバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記検証者デバイスから受信することと、ここにおいて、前記バウンディングシーケンスは、前記検証者デバイスから受信したチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す処理時間乗数を示す、
前記バウンディングシーケンスに基づいて、前記検証者デバイスと距離上限決定プロシージャを行うことと
を備える、方法。
【請求項１７】
前記検証者デバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記検証者ターゲットデバイスからセキュアチャネルを介して受信される、請求項１６に記載の方法。
【請求項１８】
前記共有鍵を使用して前記バウンディングシーケンスを解読することをさらに備える、請求項１６に記載の方法。
【請求項１９】
前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換に基づいて、前記ターゲットデバイスの応答のための前記処理時間乗数を決定することをさらに備える、請求項１６に記載の方法。
【請求項２０】
前記距離上限決定プロシージャを行うことは、
前記検証者デバイスから、前記バウンディングシーケンスによって示された前記処理時間乗数に関連付けられたチャレンジを受信することと、
前記検証者デバイスに、前記処理時間乗数によって遅延された応答を送ることと
を備える、請求項１６に記載の方法。
【請求項２１】
前記ターゲットデバイスの物理レイヤは、前記暗号化されたバウンディングシーケンスを受信し、前記ターゲットデバイスのバウンディングレイヤは、前記距離上限決定プロシージャを行う、請求項１６に記載の方法。
【請求項２２】
ターゲットデバイスであって、
プロセッサと、
前記プロセッサと通信状態にあるメモリと、
前記メモリに記憶された命令と
を備え、前記命令は、
検証者デバイスを認証することと、
前記検証者デバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記検証者デバイスから受信することと、ここにおいて、前記バウンディングシーケンスは、前記検証者デバイスから受信したチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す処理時間乗数を示す、
前記バウンディングシーケンスに基づいて、前記検証者デバイスと距離上限決定プロシージャを行うことと
を行うように前記プロセッサによって実行可能である、ターゲットデバイス。
【請求項２３】
前記検証者デバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記検証者ターゲットデバイスからセキュアチャネルを介して受信される、請求項２２に記載のターゲットデバイス。
【請求項２４】
前記共有鍵を使用して前記バウンディングシーケンスを解読するように実行可能な命令をさらに備える、請求項２２に記載のターゲットデバイス。
【請求項２５】
前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換に基づいて、前記ターゲットデバイスの応答のための前記処理時間乗数を決定するように実行可能な命令をさらに備える、請求項２２に記載のターゲットデバイス。
【請求項２６】
前記距離上限決定プロシージャを行うように実行可能な前記命令は、
前記検証者デバイスから、前記バウンディングシーケンスによって示された前記処理時間乗数に関連付けられたチャレンジを受信することと、
前記検証者デバイスに、前記処理時間乗数によって遅延された応答を送ることと
を行うように実行可能な命令を備える、請求項２２に記載のターゲットデバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１６６
【補正方法】変更
【補正の内容】
【０１６６】
[00176]  特許請求の範囲は、上記に例示されたとおりの構成およびコンポーネントに限定されないことが理解されるべきである。様々な修正、変更、および変形が、本明細書で説明されるシステム、方法、および装置の配置、動作、および詳細において、特許請求の範囲から逸脱することなく行われ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
検証者デバイスによる方法であって、
ターゲットデバイスを認証することと、
前記ターゲットデバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記ターゲットデバイスに送ることと、
前記バウンディングシーケンスに基づいて、前記ターゲットデバイスと距離上限決定プロシージャを行うことと
を備える、方法。
［Ｃ２］
前記ターゲットデバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記ターゲットデバイスにセキュアチャネルを介して送られる、Ｃ１に記載の方法。 
［Ｃ３］
前記バウンディングシーケンスは、ランダム値またはランダム値のシーケンスである、Ｃ１に記載の方法。
［Ｃ４］
ターゲットデバイスの応答のための処理時間乗数は、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって決定される、Ｃ１に記載の方法。
［Ｃ５］
前記処理時間乗数は、前記検証者デバイスによって送られるチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す、Ｃ４に記載の方法。
［Ｃ６］
前記距離上限は、前記検証者デバイスと前記ターゲットデバイスとの間の前記距離における上限である、Ｃ１に記載の方法。
［Ｃ７］
前記距離上限決定プロシージャを行うことは、
チャレンジを前記ターゲットデバイスに送り、前記バウンディングシーケンスによって決定された処理時間乗数によって遅延された応答を受信するための往復時間を測定することと、
前記測定された往復時間と前記処理時間乗数とを使用して、前記距離上限を計算することと
を備える、Ｃ１に記載の方法。
［Ｃ８］
前記距離上限決定プロシージャを行うことは、
前記ターゲットデバイスに送られた第１のチャレンジに対応する、前記ターゲットデバイスからの第１の応答を受信するための第１の往復時間を測定することと、
前記ターゲットデバイスに送られた第２のチャレンジに対応する、前記ターゲットデバイスからの第２の応答を受信するための第２の往復時間を測定することと、ここにおいて、前記ターゲットデバイスは、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって示される処理時間乗数によって、前記第２の応答のための処理時間をスケーリングする、
前記第１の往復時間、前記第２の往復時間、および前記処理時間乗数に基づいて、走行時間測定値を決定することと、
前記走行時間測定値に光の速度を乗算することによって、前記距離上限を決定することと
を備える、Ｃ１に記載の方法。
［Ｃ９］
前記検証者デバイスの物理レイヤは、前記暗号化されたバウンディングシーケンスを送り、前記検証者デバイスのバウンディングレイヤは、前記距離上限決定プロシージャを行う、Ｃ１に記載の方法。
［Ｃ１０］
検証者デバイスであって、
プロセッサと、
前記プロセッサと通信状態にあるメモリと、
前記メモリに記憶された命令と
を備え、前記命令は、
ターゲットデバイスを認証することと、
前記ターゲットデバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記ターゲットデバイスに送ることと、
前記バウンディングシーケンスに基づいて、前記ターゲットデバイスと距離上限決定プロシージャを行うことと
を行うように前記プロセッサによって実行可能である、検証者デバイス。
［Ｃ１１］
前記ターゲットデバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記ターゲットデバイスにセキュアチャネルを介して送られる、Ｃ１０に記載の検証者デバイス。
［Ｃ１２］
前記バウンディングシーケンスは、ランダム値またはランダム値のシーケンスである、Ｃ１０に記載の検証者デバイス。
［Ｃ１３］
ターゲットデバイスの応答のための処理時間乗数は、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって決定される、Ｃ１０に記載の検証者デバイス。
［Ｃ１４］
前記処理時間乗数は、前記検証者デバイスによって送られるチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す、Ｃ１３に記載の検証者デバイス。
［Ｃ１５］
前記距離上限は、前記検証者デバイスと前記ターゲットデバイスとの間の前記距離における上限である、Ｃ１０に記載の検証者デバイス。
［Ｃ１６］
前記距離上限決定プロシージャを行うように実行可能な前記命令は、
チャレンジを前記ターゲットデバイスに送り、前記バウンディングシーケンスによって決定された処理時間乗数によって遅延された応答を受信するための、往復時間を測定することと、
前記測定された往復時間と前記処理時間乗数とを使用して、前記距離上限を計算することと
を行うように実行可能な命令を備える、Ｃ１０に記載の検証者デバイス。
［Ｃ１７］
前記距離上限決定プロシージャを行うように実行可能な前記命令は、
前記ターゲットデバイスに送られた第１のチャレンジに対応する、前記ターゲットデバイスからの第１の応答を受信するための第１の往復時間を測定することと、
前記ターゲットデバイスに送られた第２のチャレンジに対応する、前記ターゲットデバイスからの第２の応答を受信するための第２の往復時間を測定することと、ここにおいて、前記ターゲットデバイスは、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって示される処理時間乗数によって、前記第２の応答のための処理時間をスケーリングする、
前記第１の往復時間、前記第２の往復時間、および前記処理時間乗数に基づいて、走行時間測定値を決定することと、
前記走行時間測定値に光の速度を乗算することによって、前記距離上限を決定することと
を行うように実行可能な命令を備える、Ｃ１０に記載の検証者デバイス。
［Ｃ１８］
ターゲットデバイスによる方法であって、
検証者デバイスを認証することと、
前記検証者デバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記検証者デバイスから受信することと、
前記バウンディングシーケンスに基づいて、前記検証者デバイスと距離上限決定プロシージャを行うことと
を備える、方法。
［Ｃ１９］
前記検証者デバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記検証者ターゲットデバイスからセキュアチャネルを介して受信される、Ｃ１８に記載の方法。
［Ｃ２０］
前記共有鍵を使用して前記バウンディングシーケンスを解読することをさらに備える、Ｃ１８に記載の方法。
［Ｃ２１］
前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換に基づいて、前記ターゲットデバイスの応答のための処理時間乗数を決定することをさらに備える、Ｃ１８に記載の方法。
［Ｃ２２］
前記処理時間乗数は、前記検証者デバイスから受信したチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す、Ｃ２１に記載の方法。
［Ｃ２３］
前記距離上限決定プロシージャを行うことは、
前記検証者デバイスから、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって決定された処理時間乗数に関連付けられたチャレンジを受信することと、
前記検証者デバイスに、前記処理時間乗数によって遅延された応答を送ることと
を備える、Ｃ１８に記載の方法。
［Ｃ２４］
前記ターゲットデバイスの物理レイヤは、前記暗号化されたバウンディングシーケンスを受信し、前記ターゲットデバイスのバウンディングレイヤは、前記距離上限決定プロシージャを行う、Ｃ１８に記載の方法。
［Ｃ２５］
ターゲットデバイスであって、
プロセッサと、
前記プロセッサと通信状態にあるメモリと、
前記メモリに記憶された命令と
を備え、前記命令は、
検証者デバイスを認証することと、
前記検証者デバイスとの共有鍵を確立することと、
前記共有鍵で暗号化されたバウンディングシーケンスを前記検証者デバイスから受信することと、
前記バウンディングシーケンスに基づいて、前記検証者デバイスと距離上限決定プロシージャを行うことと
を行うように前記プロセッサによって実行可能である、ターゲットデバイス。
［Ｃ２６］
前記検証者デバイスを認証し、前記共有鍵を確立すると、前記暗号化されたバウンディングシーケンスは、前記検証者ターゲットデバイスからセキュアチャネルを介して受信される、Ｃ２５に記載のターゲットデバイス。
［Ｃ２７］
前記共有鍵を使用して前記バウンディングシーケンスを解読するように実行可能な命令をさらに備える、Ｃ２５に記載のターゲットデバイス。
［Ｃ２８］
前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換に基づいて、前記ターゲットデバイスの応答のための処理時間乗数を決定するように実行可能な命令をさらに備える、Ｃ２５に記載のターゲットデバイス。
［Ｃ２９］
前記処理時間乗数は、前記検証者デバイスから受信したチャレンジに応答することを前記ターゲットデバイスが遅延させる時間量を示す、Ｃ２８に記載のターゲットデバイス。
［Ｃ３０］
前記距離上限決定プロシージャを行うように実行可能な前記命令は、
前記検証者デバイスから、前記バウンディングシーケンスまたは前記バウンディングシーケンスの変換によって決定された処理時間乗数に関連付けられたチャレンジを受信することと、
前記検証者デバイスに、前記処理時間乗数によって遅延された応答を送ることと
を行うように実行可能な命令を備える、Ｃ２５に記載のターゲットデバイス。
【国際調査報告】
2018516509.tif 000015
2018516509.tif 000016
2018516509.tif 000017