(57)【要約】  本発明の一部の実施形態は、信頼できる（又は発信元）デバイスが、（例えば、距離、近接度等を判定する）セキュアなレンジング演算に基づいて、目標デバイスのセキュリティ状態を修正する（例えば、デバイスをアンロックする）ための方法を提供する。一部の実施形態の方法は、信頼できるデバイスが目標デバイスのセキュリティ状態を修正できるようにする前に、信頼されたデバイス及び目標デバイスが互いの指定レンジ内にあるかどうかを判定するために、レンジング演算の一部としてメッセージを交換する。一部の実施形態では、メッセージは、共有シークレットに基づいて両デバイスによって導出され、レンジング演算に用いられるレンジング信号のソースを検証するために使用される。一部の実施形態では、方法は、複数の異なる周波数帯域を用いて実行される。
2019521425.tif 000002
【特許請求の範囲】
【請求項１】
第１のデバイスが第２のデバイスにおけるセキュリティ状態を修正するための方法であって、
前記第１のデバイスと前記第２のデバイスとの間の複数のサンプル距離測定値を計算するために、複数回のレンジング演算を実行することと、
前記複数のサンプル距離測定値が基準セットを満たすかどうかを判定することと、
前記算出された合成距離測定値が前記基準セットを満たすとき、セキュリティトークンを前記第２のデバイスと交換して、前記第２のデバイスにおける前記セキュリティ状態を修正することと、
を含む、方法。
【請求項２】
前記セキュリティ状態を修正することは、前記第２のデバイスをロック状態からアンロック状態にすることを含む、請求項１に記載の方法。
【請求項３】
前記セキュリティ状態を修正することは、前記第２のデバイスにおいて実行すべき制限付き動作のセットを認証することを含む、請求項１に記載の方法。
【請求項４】
前記複数回のレンジング演算を実行することは、
前記第１のデバイスと前記第２のデバイスとの間でコードを交換することと、
前記コードの送受信に対応するタイムスタンプを識別することと、
前記識別されたタイムスタンプからサンプル距離測定値を計算することと、
を含む、請求項１に記載の方法。
【請求項５】
前記第２のデバイスから、前記第２のデバイスにおける前記セキュリティ状態を修正する要求を受信することを更に含む、請求項１に記載の方法。
【請求項６】
前記第２のデバイスは、前記第２のデバイスにおいてユーザ入力を受信すると前記要求を送信する、請求項５に記載の方法。
【請求項７】
前記第２のデバイスは、前記第１のデバイスが前記第２のデバイスから特定の距離にあることを検出すると前記要求を送信する、請求項５に記載の方法。
【請求項８】
前記第１のデバイスがアンロックモードであるときには、前記第１のデバイスが前記セキュリティトークンを前記第２のデバイスと交換すべきであると判定することを更に含む、請求項１に記載の方法。
【請求項９】
前記第１のデバイスにおいてユーザ入力を受信すると、前記第１のデバイスが前記セキュリティトークンを前記第２のデバイスと交換すべきであると判定することを更に含む、請求項１に記載の方法。
【請求項１０】
前記複数のサンプル距離測定値が前記基準セットを満たすかどうかを判定することは、
前記複数のサンプル距離測定値に基づいて、前記第１のデバイスが前記第２のデバイスの閾値距離内にある信頼度レベルを算出することと、
前記信頼度レベルが閾値を超えるときに、前記複数のサンプル距離測定値が前記基準セットを満たすと判定することと、
を含む、請求項１に記載の方法。
【請求項１１】
前記複数のサンプル距離測定値が前記基準セットを満たすかどうかを判定することは、
前記複数のサンプル距離測定値に基づいて、合成距離測定値を算出することと、
前記合成距離測定値が閾値距離内にあるときに、前記複数のサンプル距離測定値が前記基準セットを満たすと判定することと、
を含む、請求項１に記載の方法。
【請求項１２】
前記第１のデバイスは、前記第２のデバイスを用いた認証プロセスを通じて、信頼できるデバイスとして確立され、前記第１のデバイスは、前記認証プロセス中に、前記第２のデバイスから前記セキュリティトークンを受信する、請求項１に記載の方法。
【請求項１３】
前記第１のデバイスと前記第２のデバイスとの間に、第１のチャネル及び異なる第２のチャネルを確立することを更に含み、前記セキュリティトークンは、前記第１のチャネル上で交換され、前記複数のレンジング演算は、前記第２のチャネル上で実行される、請求項１に記載の方法。
【請求項１４】
前記第１のチャネルは第１のキーを用いて暗号化され、前記第２のチャネルは異なる第２のキーを用いて暗号化される、請求項１３に記載の方法。
【請求項１５】
前記第２のキーは、前記第１のキーから導出される、請求項１４に記載の方法。
【請求項１６】
前記第１のチャネルは第１の無線プロトコルを使用し、前記第２のチャネルは異なる第２の無線プロトコルを使用する、請求項１３に記載の方法。
【請求項１７】
前記第１の無線プロトコルはＢｌｕｅｔｏｏｔｈ（登録商標）プロトコルであり、前記第２の無線プロトコルはＷｉ−Ｆｉ（登録商標）プロトコルである、請求項１６に記載の方法。
【請求項１８】
プロキシデバイスについて、目標デバイスと信頼できるデバイスとの間に通信接続を確立するための方法であって、
前記信頼できるデバイスの可用性を通知することと、
前記通知された可用性に応じて、前記目標デバイスからの第１の要求を受信することと、
前記目標デバイスから前記第１の要求を受信すると、第２の要求を前記信頼できるデバイスに送信することであって、前記信頼できるデバイスは、前記第２の要求に基づいて前記通信接続を確立する、ことと、
を含む、方法。
【請求項１９】
前記目標デバイスと前記信頼できるデバイスとの間の前記通信接続は、認証情報を交換して前記目標デバイスのセキュリティ状態を修正する前に、レンジング情報を交換して、前記目標デバイス及び前記信頼できるデバイスが特定のレンジ内にあるかどうかを判定するためのものである、請求項１８に記載の方法。
【請求項２０】
前記プロキシデバイスは、第１の無線プロトコルを使用して、前記信頼できるデバイスの前記可用性を通知し、前記目標デバイスと前記信頼できるデバイスとの間に確立された前記通信接続は、異なる第２の無線プロトコルを使用する、請求項１８に記載の方法。
【請求項２１】
前記信頼できるデバイスに対する前記第２の要求は、前記信頼できるデバイスが自身の可用性を前記目標デバイスに通知する要求を含む、請求項２０に記載の方法。
【請求項２２】
前記プロキシデバイスは、前記第１の無線プロトコルを使用して、前記信頼できるデバイスとの接続を維持する、請求項２０に記載の方法。
【請求項２３】
前記可用性を通知することは、前記目標デバイスの識別子をブロードキャストすることを含む、請求項１８に記載の方法。
【請求項２４】
プログラムを記憶する非一時的可読媒体であって、前記プログラムは、目標デバイスの処理ユニットのセットによって実行されたときに、前記目標デバイスと信頼できるデバイスとの間に通信接続を確立し、前記プログラムは、
信頼できるデバイスの可用性をスキャンし、
前記スキャンに基づいて、特定の信頼できるデバイスを識別し、
前記特定の信頼できるデバイスに対する要求を、前記特定の信頼できるデバイスに要求を送信するプロキシデバイスに送信し、
前記特定の信頼できるデバイスとの通信接続を確立する、
ための命令セットを含む、非一時的可読媒体。
【請求項２５】
スキャンし、送信し、交換するための前記命令セットは、第１の無線プロトコルを使用して実行され、前記通信接続は、異なる第２の無線プロトコルを使用するために確立される、請求項２４に記載の非一時的可読媒体。
【請求項２６】
前記要求を受信すると、前記プロキシデバイスは、前記特定の信頼できるデバイスに自身の可用性のブロードキャストを開始するように命令する、請求項２４に記載の非一時的可読媒体。
【請求項２７】
前記プロキシデバイスはロック状態にあり、前記信頼できるデバイスはアンロック状態にある、請求項２４に記載の非一時的機械可読媒体。
【請求項２８】
前記通信接続を確立するための前記命令セットは、前記特定の信頼できるデバイスとブートストラップ情報を交換するための命令セットを含み、前記ブートストラップ情報は、周波数スペクトルの、前記通信接続のための部分を識別する、請求項２４に記載の非一時的可読媒体。
【請求項２９】
前記プログラムが、
前記目標デバイスにおけるセキュリティ状態の変更を開始するための入力を受信し、
前記確立された通信接続を使用してレンジング演算のセットを実行して、前記目標デバイスが認証情報のセットを受信できるようにし、
前記認証情報のセットを使用して、前記目標デバイスにおける前記セキュリティ状態を変更する、
ための命令セットを更に含む、請求項２４に記載の非一時的可読媒体。
【請求項３０】
前記セキュリティ状態の前記変更は、前記目標デバイスをロック状態からアンロック状態に移行させる、請求項２９に記載の非一時的機械可読媒体。
【請求項３１】
前記目標デバイスは、前記レンジング演算のセットに基づいて、前記信頼できるデバイスが特定の閾値距離内にあると判定されたときに、前記認証情報のセットを受信することが可能になる、請求項２４に記載の非一時的機械可読媒体。
【請求項３２】
前記信頼できるデバイスは、前記レンジング演算のセットに基づいて、前記目標デバイスが特定の閾値距離内にあると判定されたときに、前記認証情報のセットを送信する、請求項２４に記載の非一時的機械可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
安全性と利便性のバランスを提供するために、信頼できるデバイス（例えば、キーフォブ、モバイルデバイス、ウェアラブルデバイス等）を使用して、目標デバイスをアンロックする（又はセキュリティ状態を修正する）ことができる。例えば、信頼できるデバイスの存在下でロック状態の目標デバイスを自動的にアンロックしても、あるいは、ロック状態の目標デバイスが、信頼できるデバイスからのコマンドを（例えば、ユーザ入力を介して）受け入れて目標デバイスをアンロックしてもよく、ユーザは、アンロックするために目標デバイスと手動で対話する必要性を回避することが可能になる。
【０００２】
多くのこのようなデバイスは、様々な無線プロトコル（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ（登録商標）等）をアンロックする前に介して互いと通信して、目標デバイスの近接度を検証する。しかし、特に無線プロトコルの場合には、デバイス間の通信は、伝送データを捕捉し、そのような通信に通常使用される暗号化スキームを破壊する必要なく、信頼できるデバイスの近接度に成りすますために伝送データを使用することができる攻撃者の影響を受けやすい。
【０００３】
例えば、いくつかのデバイス又はプロトコルは、信頼できるデバイスの近接度を判定するために、受信信号強度インジケータ（received signal strength indicator：ＲＳＳＩ）を使用する。ＲＳＳＩがより高いことは、一般に、信頼できるデバイスが特定の位置により近いことを示す。しかし、攻撃者は、信頼できるデバイスの伝送を捕捉し、信号を増幅して、デバイスが互いに対して実際よりも近くにに見えるようにすることができ、攻撃者が目標デバイスをアンロックすることが可能になる。信頼できるデバイスが目標デバイスをアンロックできるようにする前に、信頼できるデバイスのレンジを検出するための、よりセキュアな方法を提供することが望ましい。
【発明の概要】
【０００４】
本発明の一部の実施形態は、信頼できるデバイスを使用して目標デバイスのセキュリティ状態を修正する（例えば、デバイスをアンロックする）ための方法を提供する。目標デバイスは、アンロックすべきデバイスであり、信頼できるデバイスは、目標デバイスのセキュリティ状態を修正することを認証されたデバイスである。
【０００５】
一部の実施形態の目標デバイス及び信頼できるデバイス（例えば、ラップトップコンピュータ、携帯電話、タブレット等）は、信頼できるデバイスと目標デバイスとの間のサンプル距離測定値を計算するために、レンジング演算を数回実行する。サンプル距離測定値が捕捉されると、信頼できるデバイスは、サンプル距離測定値が特定の基準セットを満たすかどうか（例えば、デバイスが閾値距離内にあるかどうか）を判定し、算出された合成距離測定値が基準セットを満たすときには、目標デバイスとセキュリティトークン（又は他の認証情報）を交換して、目標デバイスにおけるセキュリティ状態を修正する（例えば、アンロックする、支払データを認証する、等）。一部の実施形態では、セキュリティ状態を修正することは、目標デバイスにおいて、制限付き動作のセットを認証すること、又はより高いセキュリティレベルのアクセスを提供することを含む。
【０００６】
一部の実施形態では、信頼できるデバイスは、目標デバイスとの認証（又はペアリング）プロセスを通じて、信頼できるデバイスとして確立される。認証プロセスにより、ユーザは、信頼できるデバイスに、目標デバイスをアンロックする（あるいは、そのセキュリティ状態を修正する）許可を与えることが可能になる。一部の実施形態の信頼できるデバイスは、認証プロセス中に、将来のセッションにおいて目標デバイスのセキュリティ状態を修正するために使用することができるセキュリティトークン又は他の共有シークレットを受信する。
【０００７】
目標デバイスが信頼できるデバイスを信頼すると、信頼できるデバイスを使用して、目標デバイスのセキュリティ状態を修正することができる。一部の実施形態では、セキュリティ状態を修正するためのプロセスは、目標デバイス又は信頼できるデバイスのいずれかによって開始され得る。プロセスを開始するデバイス（信頼できるデバイス又は目標デバイスのいずれか）を開始デバイスと呼び、他方のデバイスを非開始デバイスと呼ぶ。一部の実施形態のプロセスは、ユーザによって（例えば、開始デバイスでの入力を通じて）、又はユーザの黙示的アクションを通じて（例えば、ユーザが非開始デバイスの特定のレンジ内で非開始デバイスを所持する時）、明示的に開始され得る。
【０００８】
一部の実施形態では、非開始デバイス（すなわち、他方のデバイスがプロセスを開始することを待っているデバイス）は、継続的に（又は定期的に）自身の可用性を通知し、他方のデバイスが非開始デバイスを発見できるようにする。目標デバイスのセキュリティ状態を修正すべきであると判定した時（例えば、ユーザ入力を受信すると）、開始デバイスは、非開始デバイスを発見するためにスキャンを実行する。
【０００９】
一部の実施形態では、非開始デバイスが自身の可用性を継続的に通知せずに、非開始デバイスの可用性を通知するためにプロキシデバイスが使用される。そのような実施形態の開始デバイスは、非開始デバイスをスキャンして、（プロキシデバイスの通知を通じて）その可用性を識別する。次いで、開始デバイスは、プロキシデバイスに要求を送信する。一部の実施形態では、プロキシデバイスは次いで、僅かな時間期間にわたって非開始デバイス自身の可用性を通知させる別の要求を非開始デバイスに送信する。次いで、開始デバイスは、非開始デバイスを発見するためにスキャンを実行する。
【００１０】
開始デバイスが、非開始デバイスの通知された可用性を発見すると、開始デバイスは、レンジング接続情報を非開始デバイスと交換する。一部の実施形態では、レンジング接続情報（例えば、デバイス識別子、デバイス状態、ブートストラップ情報等）は、デバイス間にレンジング接続を確立するためのものである。一部の実施形態では、レンジング接続情報は、周波数スペクトルの、デバイスがレンジング接続に使用することができる部分を識別する。一部の実施形態のレンジング接続は、レンジング演算を実行して、デバイスが互いの閾値距離内にあるかどうかを判定するために使用される。
【００１１】
一部の実施形態では、信頼できるデバイスが目標デバイスをアンロックできるようにすべきかどうかを判定するためのセキュリティプロトコルの一部は、レンジング演算（例えば、距離、近接度等を判定すること）のセットに基づく。一部の実施形態の方法は、レンジング（例えば、距離、近接度等）情報を使用して、信頼できるデバイスが目標デバイスをアンロックできるようにする前に、信頼されたデバイス及び目標デバイスが互いの指定レンジ内にあるかどうかを判定する。一部の実施形態では、信頼できるデバイスは、（例えば、ペアリング動作を通じて）目標デバイスと共有シークレットを共有するので、信頼できるデバイスである。
【００１２】
一部の実施形態の共有シークレットは、レンジング演算を保護するために使用される。一部の実施形態では、共有シークレットは、デバイスの隔離された保護エリア（例えば、セキュアエンクレーブプロセッサ（Secure Enclave Processor：ＳＥＰ）に記憶された高機密データのために使用される高保護キーである。一部の実施形態では、方法は、共有シークレットを直接使用するのではなく、共有シークレットから、レンジング演算に使用できる導出キーを導出する。
【００１３】
一部の実施形態の方法は、保護されていない接続を介してセキュアなシークレット共有動作を実行することによって、デバイス間の共有シークレットを共有する。例えば、一部の実施形態の方法は、デバイス間にセキュアで一時的な共有シークレットを提供するために、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ交換を使用する。一部の実施形態の共有シークレットを使用すると、デバイス間で共有シークレットのいずれも送信する必要なく、（例えば、導出関数によって）他の共有シークレットが生成される。
【００１４】
他の実施形態では、様々な共有値（例えば、共有シークレット、導出キー、メッセージ等）が、クラウドサービスを介してデバイス間で共有される。一部の実施形態のクラウドサービスは、様々なデバイスに関連付けられたユーザアカウントに関連付けられている。次に、一部の実施形態のクラウドサービスは、関連するデバイスの異なる共有値を共有するために使用される。
【００１５】
一部の実施形態では、信頼できるデバイスと目標デバイスとの間の距離を判定するために、一部の実施形態の信頼できるデバイスは、メッセージ（又はノンス）をロック状態の目標デバイスと交換し、各デバイスにおいていつメッセージが送受信されたかについてのタイムスタンプを記録する。一部の実施形態では、デバイス間で交換されたメッセージは、新しい値を生成するために使用される異なる鍵導出関数（key derivation function：ＫＤＦ）を使用して、導出キー（又は共有シークレット）から導出される。一部の実施形態のＫＤＦは、元の値（すなわち、共有シークレット）を明らかにするためには使用できない一方向関数であり、デバイス間で予めメッセージを送信する必要なく、各デバイスが同一のメッセージを生成することが可能になる。一部の実施形態では、メッセージは、特定の帯域の周波数スペクトルで空気を介して送信される較正信号に埋め込まれる。
【００１６】
次いで、デバイスは、メッセージに関する記録されたタイムスタンプを交換する。一部の実施形態では、デバイス間で交換されたタイムスタンプは、（共有シークレットから導出された）導出キーを使用して暗号化され、共有シークレットを直接使用することなく、タイムスタンプに高いセキュリティレベルを提供する。
【００１７】
次に、一部の実施形態のデバイスは、タイムスタンプ使用して、デバイス間の距離を算出することができ、デバイスが互いの所望の近接度内にあるかどうかを判定する。例えば、一部の実施形態では、メッセージは、光速で移動する電波によって空気を介して送信される。一部のそのような実施形態のデバイスは、２つのデバイス間でメッセージが移動するためにどのくらいかかるか（例えば、メッセージの送信と受信との間の時間時間）と光速とに基づいてデバイス間の距離を算出する。
【００１８】
一部の実施形態では、所望の近接度内にデバイスがあることをタイムスタンプが示すことを検証することに加えて、方法は、攻撃者が一方又は両方のデバイスの位置に成りすますことを防止するために他の検証動作もまた実行する。例えば、一部の実施形態では、方法は、目標デバイスにおける第１のメッセージの受信と、目標デバイスからの第２のメッセージの送信との間の時間に制約を与える。制約は、デバイスを実際よりも互いに近くにあるように見せるために、攻撃者がクロックドリフトを利用するリプレイ攻撃を使用することを可能にするには、第１のメッセージの受信と第２のメッセージの送信との間の時間が短すぎることを保証する。
【００１９】
一部の実施形態では、レンジング演算を実行してレンジングデータのいくつかのサンプルを収集し、デバイスの近接度の判定をより正確かつセキュアにすることできる。一部のそのような実施形態では、複数の距離測定値サンプルを統計的に解析して合成距離測定値を生成し、次いで、それを閾値距離と比較する。代替的に又は複合的に、デバイスは、距離測定値のサンプルを解析して、デバイスが閾値距離内にある信頼度レベルを算出する。信頼度レベルが閾値を超えるとき、デバイスは、許容レンジ内にあると見なされる。
【００２０】
方法が、デバイスが互いに所望の近接度内にある（又は、レンジング情報が検証できない）と判定したとき、方法は、目標デバイスをアンロックするために、あるいは目標デバイスのセキュリティ状態を修正するために、（例えば、確立された接続上の保護チャネルを介して）目標デバイスと通信する。一部の実施形態では、方法は、目標デバイスにおいてマスターキーを解読するために使用できるアンロック記録（例えば、シークレット又はキー）を送信することによって、目標デバイスをアンロックする。一部の実施形態のアンロック記録は、目標デバイスによって生成され、信頼できるデバイスを認証して目標デバイスをアンロックするために使用されるプロセス中に、信頼できるデバイスに送信される。
【００２１】
一部の実施形態では、デバイスの可用性を通知及び発見するために使用される初期接続と、レンジング演算に使用されるレンジング接続と、アンロックデータを通信するために使用される接続とは異なる。例えば一部の実施形態では、異なる接続は異なるプロトコル又は異なる通信方法を使用する。例えば、一部の実施形態では、特定の接続上で通信されたデータは、実際には、別の帯域の周波数スペクトル又はネットワーク（例えば、インターネット）を介して送信される。
【００２２】
一部の実施形態では、通信（例えば、要求、レンジング情報等）は、保護チャネルを介して異なる接続上で送信される。一部の実施形態の保護チャネルは、異なる暗号キーを使用して暗号化される。複数の異なるチャネルはそれぞれ、異なる接続上で動作することができ、あるいは、全て単一の接続上で動作してもよい。本出願では、様々な接続が参照されるが、暗号チャネル上で、接続上の通信が保護され得ることを理解されたい。
【００２３】
一部の実施形態の本発明のセキュリティは、一方又は両方のデバイスの位置に成りすまそうとする攻撃者にはメッセージが予測不能であることを必要とする。一部の実施形態では、共有シークレット（及び、共有シークレットから導出された任意の値）は、１回のレンジング演算のためにのみ使用され、したがって、一部の実施形態の方法は、デバイスが所望の近接度内にはない（又は、レンジング情報を検証できない）と判定した時、方法は、共有シークレット及びあらゆる共有値（例えば、ノンス、導出キー等）を破棄し、プロセスを再開する前に、新しい共有シークレットを生成する。
【００２４】
一部の実施形態では、このレンジング演算の複数の段階を行う方法を提供する。レンジング演算を数回実行して正確な距離測定値を生成することに加えて、一部の実施形態の方法は、第１の接続を使用して予備レンジング演算を実行し、第２の接続を使用してセキュアで正確なレンジング演算を実行する。例えば、一部の実施形態では、この方法はハードウェア上の複数の帯域の周波数スペクトル上で行われるデバイスが通信することができる。一部のそのような実施形態では、（例えば、所要電力等に起因して）レンジング演算に、低周波数帯域を使用することが望ましい。しかし、低周波数帯域は、信頼できるデバイスが目標デバイスの近くにあるかどうかを判定するために要求される、必要な精度又はセキュリティを提供することができないことがある。したがって、一部のそのような実施形態の方法は、低周波数帯域を使用して第１のレンジング演算を実行し、方法が、デバイスが低周波数帯域の近接度内にあると判定したときには、方法は、高周波数帯域を使用して第２のレンジング演算を実行して、目標デバイスをアンロックするためにそのデバイスが要求されるレンジ内にあるかどうかを判定する。一部の実施形態では、第１のレンジング演算は、レンジング演算の第２のセットとは異なるレンジング演算を使用する。
【００２５】
以上の概要は、本発明の一部の実施形態を簡潔に紹介するためのものである。本文書で開示される全ての発明主題の、序論又は概要であることを意味するものではない。以下の「発明を実施するための形態」及び「発明を実施するための形態」で参照される「図面」は、この「発明の概要」で説明された実施形態、並びに他の実施形態を、更に説明するものである。したがって、本明細書で述べる全ての実施形態を理解するために、「発明の概要」、「発明を実施するための形態」、及び「図面」の十分な検討が必要とされる。更に、特許請求される主題は、「発明の概要」、「発明を実施するための形態」、及び「図面」での、例示的な詳細によって限定されるものではなく、むしろ、特許請求される主題は、その主題の趣旨から逸脱することなく他の特定の形態で具体化することができるため、添付の特許請求の範囲によって定義されるものである。
【図面の簡単な説明】
【００２６】
本発明の新規の特徴は、添付の特許請求の範囲で説明される。しかしながら、説明のため、本発明のいくつかの実施形態は、以下の図に示される。
【図１】信頼できるデバイスが、セキュアなレンジングを使用して目標デバイスのセキュリティ状態を修正するためのプロセスを概念的に示す図である。
【図２】信頼できるデバイスを用いたセキュアなレンジングを使用して目標デバイスのセキュリティ状態を修正する例を示す図である。
【図３】目標デバイスが信頼できるデバイスとの接続を確立するためのプロセスを概念的に示す図である。
【図４】信頼できるデバイスが目標デバイスとの接続を確立するためのプロセスを概念的に示す図である。
【図５】信頼できるデバイスとの接続を確立する目標デバイスの例を示す図である。
【図６】目標デバイスとの接続を確立する信頼できるデバイスの例を示す図である。
【図７】目標デバイスと信頼できるデバイスと間の接続を確立するのを支援するプロキシデバイスのプロセスを概念的に示す図である。
【図８】目標デバイスと信頼できるデバイスと間の接続を確立するのを支援するプロキシデバイスの例を示す図である。
【図９】信頼できるデバイスから目標デバイスをアンロックするときにセキュアなレンジングを行うためのシーケンス図である。
【図１０Ａ】信頼できるデバイスから目標デバイスをアンロックするときにセキュアなレンジングを行う例を示す図である。
【図１０Ｂ】信頼できるデバイスから目標デバイスをアンロックするときにセキュアなレンジングを行う例を示す図である。
【図１１】サンプル距離測定値を捕捉するためにセキュアなレンジングを行う信頼できるデバイスのプロセスを概念的に示す図である。
【図１２】サンプル距離測定値を捕捉するために信頼できるデバイスを用いたセキュアなレンジングを使用する目標デバイスのプロセスを概念的に示す図である。
【図１３】デバイスからのプライマリ閾値距離及びセカンダリ閾値距離の例を示す図である。
【図１４】複数の周波数帯域でレンジング演算を実行するためのプロセスを概念的に示す図である。
【図１５】メッセージタイムスタンプのセットに基づいて、デバイスが互いの閾値距離内にあるかどうかを判定するプロセスを概念的に示す図である。
【図１６】本発明の一部の実施形態が実行される電子システムの例を概念的に示す図である。
【発明を実施するための形態】
【００２７】
本発明の多くの詳細、実施例及び実施形態については、下掲の発明を実施するための形態に縷々記載されている。しかしながら、本発明は、説明されている実施形態に限定されるものではないということ、並びに本発明が具体的詳細及び記載の実施例の一部なしに実施され得るということが当業者には明らかであろう。
【００２８】
本発明の一部の実施形態は、信頼できるデバイスを使用して目標デバイスのセキュリティ状態を修正する（例えば、デバイスをアンロックする）ための方法を提供する。目標デバイスは、アンロックすべきデバイスであり、信頼できるデバイスは、目標デバイスのセキュリティ状態を修正することを認証されたデバイスである。
【００２９】
一部の実施形態の目標デバイス及び信頼できるデバイス（例えば、ラップトップコンピュータ、携帯電話、タブレット等）は、信頼できるデバイスと目標デバイスとの間のサンプル距離測定値を計算するために、レンジング演算を数回実行する。サンプル距離測定値が捕捉されると、信頼できるデバイスは、サンプル距離測定値が特定の基準セットを満たすかどうか（例えば、デバイスが閾値距離内にあるかどうか）を判定し、算出された合成距離測定値が基準セットを満たすときには、目標デバイスとセキュリティトークン（又は他の認証情報）を交換して、目標デバイスにおけるセキュリティ状態を修正する（例えば、アンロックする、支払データを認証する、等）。一部の実施形態では、セキュリティ状態を修正することは、目標デバイスにおいて、制限付き動作のセットを認証すること、又はより高いセキュリティレベルのアクセスを提供することを含む。
【００３０】
一部の実施形態では、信頼できるデバイスは、目標デバイスとの認証（又はペアリング）プロセスを通じて、信頼できるデバイスとして確立される。認証プロセスにより、ユーザは、信頼できるデバイスに、目標デバイスをアンロックする（あるいは、そのセキュリティ状態を修正する）許可を与えることが可能になる。一部の実施形態の信頼できるデバイスは、認証プロセス中に、将来のセッションにおいて目標デバイスのセキュリティ状態を修正するために使用することができるセキュリティトークン又は他の共有シークレットを受信する。
【００３１】
目標デバイスが信頼できるデバイスを信頼すると、信頼できるデバイスを使用して、目標デバイスのセキュリティ状態を修正することができる。一部の実施形態では、セキュリティ状態を修正するためのプロセスは、目標デバイス又は信頼できるデバイスのいずれかによって開始され得る。プロセスを開始するデバイス（信頼できるデバイス又は目標デバイスのいずれか）を開始デバイスと呼び、他方のデバイスを非開始デバイスと呼ぶ。一部の実施形態のプロセスは、ユーザによって（例えば、開始デバイスでの入力を通じて）、明示的に又はユーザの黙示的アクションを通じて（例えば、ユーザが非開始デバイスの特定のレンジ内で非開始デバイスを所持する時）、開始され得る。
【００３２】
一部の実施形態では、非開始デバイス（すなわち、他方のデバイスがプロセスを開始することを待っているデバイス）は、継続的に（又は定期的に）自身の可用性を通知し、他方のデバイスが非開始デバイスを発見できるようにする。目標デバイスのセキュリティ状態を修正すべきであると判定したとき（例えば、ユーザ入力を受信すると）、開始デバイスは、非開始デバイスを発見するためにスキャンを実行する。
【００３３】
一部の実施形態では、非開始デバイスが自身の可用性を継続的に通知せずに、非開始デバイスの可用性を通知するためにプロキシデバイスが使用される。そのような実施形態の開始デバイスは、非開始デバイスをスキャンして、（プロキシデバイスの通知を通じて）その可用性を識別する。次いで、開始デバイスは、プロキシデバイスに要求を送信する。一部の実施形態では、プロキシデバイスは次いで、僅かな時間期間にわたって非開始デバイス自身の可用性を通知させる別の要求を非開始デバイスに送信する。次いで、開始デバイスは、非開始デバイスを発見するためにスキャンを実行する。
【００３４】
開始デバイスが、非開始デバイスの通知された可用性を発見すると、開始デバイスは、レンジング接続情報を非開始デバイスと交換する。一部の実施形態では、レンジング接続情報（例えば、デバイス識別子、デバイス状態、ブートストラップ情報等）は、デバイス間にレンジング接続を確立するためのものである。一部の実施形態では、レンジング接続情報は、周波数スペクトルの、デバイスがレンジング接続に使用することができる部分を識別する。一部の実施形態のレンジング接続は、レンジング演算を実行して、デバイスが互いの閾値距離内にあるかどうかを判定するために使用される。
【００３５】
一部の実施形態では、信頼できるデバイスが目標デバイスをアンロックできるようにすべきかどうかを判定するためのセキュリティプロトコルの一部は、レンジング演算（例えば、距離、近接度等を判定すること）のセットに基づく。一部の実施形態の方法は、レンジング（例えば、距離、近接度等）情報を使用して、信頼できるデバイスが目標デバイスをアンロックできるようにする前に、信頼されたデバイス及び目標デバイスが互いの指定レンジ内にあるかどうかを判定する。一部の実施形態では、信頼できるデバイスは、（例えば、ペアリング動作を通じて）目標デバイスと共有シークレットを共有するので、信頼できるデバイスである。
【００３６】
一部の実施形態の共有シークレットは、レンジング演算を保護するために使用される。一部の実施形態では、共有シークレットは、デバイスの隔離された保護エリア（例えば、セキュアエンクレーブプロセッサ（Secure Enclave Processor：ＳＥＰ）に記憶された高機密データのために使用される高保護キーである。一部の実施形態では、方法は、共有シークレットを直接使用するのではなく、共有シークレットから、レンジング演算に使用できる導出キーを導出する。
【００３７】
一部の実施形態の方法は、保護されていない接続を介してセキュアなシークレット共有動作を実行することによって、デバイス間の共有シークレットを共有する。例えば、一部の実施形態の方法は、デバイス間にセキュアで一時的な共有シークレットを提供するために、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ交換を使用する。一部の実施形態の共有シークレットを使用して、デバイス間で共有シークレットのいずれも送信する必要なく、（例えば、導出関数によって）他の共有シークレットが生成される。
【００３８】
他の実施形態では、様々な共有値（例えば、共有シークレット、導出キー、メッセージ等）が、クラウドサービスを介してデバイス間で共有される。一部の実施形態のクラウドサービスは、様々なデバイスに関連付けられたユーザアカウントに関連付けられている。次に、一部の実施形態のクラウドサービスは、関連するデバイスの異なる共有値を共有するために使用される。
【００３９】
一部の実施形態では、信頼できるデバイスと目標デバイスとの間の距離を判定するために、一部の実施形態の信頼できるデバイスは、メッセージ（又はノンス）をロック状態の目標デバイスと交換し、各デバイスにおいていつメッセージが送受信されたかについてのタイムスタンプを記録する。一部の実施形態では、デバイス間で交換されたメッセージは、新しい値を生成するために使用される異なる鍵導出関数（key derivation function：ＫＤＦ）を使用して、導出キー（又は共有シークレット）から導出される。一部の実施形態のＫＤＦは、元の値（すなわち、共有シークレット）を明らかにするためには使用できない一方向関数であり、デバイス間で予めメッセージを送信する必要なく、各デバイスが同一のメッセージを生成することが可能になる。一部の実施形態では、メッセージは、特定の帯域の周波数スペクトルで空気を介して送信される較正信号に埋め込まれる。
【００４０】
次いで、デバイスは、メッセージに関する記録されたタイムスタンプを交換する。一部の実施形態では、デバイス間で交換されたタイムスタンプは、（共有シークレットから導出された）導出キーを使用して暗号化され、共有シークレットを直接使用することなく、タイムスタンプに高いセキュリティレベルを提供する。
【００４１】
次に、一部の実施形態のデバイスは、タイムスタンプ使用して、デバイス間の距離を算出することができ、デバイスが互いの所望の近接度内にあるかどうかを判定する。例えば、一部の実施形態では、メッセージは、光速で移動する電波によって空気を介して送信される。一部のそのような実施形態のデバイスは、２つのデバイス間でメッセージが移動するためにどのくらいかかるか（例えば、メッセージの送信と受信との間の時間時間）と光速とに基づいてデバイス間の距離を算出する。
【００４２】
一部の実施形態では、所望の近接度内にデバイスがあることをタイムスタンプが示すことを検証することに加えて、方法は、攻撃者が一方又は両方のデバイスの位置に成りすますことを防止するために他の検証動作もまた実行する。例えば、一部の実施形態では、方法は、目標デバイスにおける第１のメッセージの受信と、目標デバイスからの第２のメッセージの送信との間の時間に制約を与える。制約は、デバイスを実際よりも互いに近くにあるように見せるために、攻撃者がクロックドリフトを利用するリプレイ攻撃を使用することを可能にするには、第１のメッセージの受信と第２のメッセージの送信との間の時間が短すぎることを保証する。
【００４３】
一部の実施形態では、レンジング演算を実行してレンジングデータのいくつかのサンプルを収集し、デバイスの近接度の判定をより正確かつセキュアにすることできる。一部のそのような実施形態では、複数の距離測定値サンプルを統計的に解析して合成距離測定値を生成し、次いで、それを閾値距離と比較する。代替的に又は複合的に、デバイスは、距離測定値のサンプルを解析して、デバイスが閾値距離内にある信頼度レベルを算出する。信頼度レベルが閾値を超えるとき、デバイスは、許容レンジ内にあると見なされる。
【００４４】
方法が、デバイスが互いに所望の近接度内にある（又は、レンジング情報が検証できない）と判定したとき、方法は、（例えば、確立された接続上の保護チャネルを介して）目標デバイスと通信する。一部の実施形態では、方法は、目標デバイスにおいてマスターキーを解読するために使用できるアンロック記録（例えば、シークレット又はキー）を送信することによって、目標デバイスをアンロックする。一部の実施形態のアンロック記録は、目標デバイスによって生成され、信頼できるデバイスを認証して目標デバイスをアンロックするために使用されるプロセス中に、信頼できるデバイスに送信される。
【００４５】
一部の実施形態では、デバイスの可用性を通知及び発見するために使用される初期接続と、レンジング演算に使用されるレンジング接続と、アンロックデータを通信するために使用される接続とは異なり、別個の通信である。例えば一部の実施形態では、異なるプロトコル又は異なる通信方法に対して異なる接続が使用される。例えば、一部の実施形態では、特定の接続上で通信されたデータは、実際には、別の帯域の周波数スペクトル又はネットワーク（例えば、インターネット）を介して送信される。
【００４６】
一部の実施形態では、通信（例えば、要求、レンジング情報等）は、保護チャネルを介して異なる接続上で送信される。一部の実施形態の保護チャネルは、異なる暗号キーを使用して暗号化される。複数の異なるチャネルはそれぞれ、異なる接続上で動作することができ、あるいは、全て単一の接続上で動作してもよい。本出願では、様々な接続が参照されるが、暗号チャネルを通じて、接続上の通信が保護され得ることを理解されたい。
【００４７】
一部の実施形態の本発明のセキュリティは、一方又は両方のデバイスの位置に成りすまそうとする攻撃者にはメッセージが予測不能であることを必要とする。一部の実施形態では、共有シークレット（及び、共有シークレットから導出された任意の値）は、１回のレンジング演算のためにのみ使用され、したがって、一部の実施形態の方法は、デバイスが所望の近接度内にはない（又は、レンジング情報を検証できない）と判定するとき、方法は、共有シークレット及びあらゆる共有値（例えば、ノンス、導出キー等）を破棄し、プロセスを再開する前に、新しい共有シークレットを生成する。
【００４８】
一部の実施形態では、このレンジング演算の複数の段階を行う方法を提供する。レンジング演算を数回実行して正確な距離測定値を生成することに加えて、一部の実施形態の方法は、第１の接続を使用して予備レンジング演算を実行し、第２の接続を使用してセキュアで正確なレンジング演算を実行する。例えば、一部の実施形態では、この方法は複数の帯域の周波数スペクトル上で通信できるハードウェアを有するデバイスで行われる。一部のそのような実施形態では、（例えば、所要電力等に起因して）レンジング演算に、低周波数帯域を使用することが望ましい。しかし、低周波数帯域は、信頼できるデバイスが目標デバイスの近くにあるかどうかを判定するために要求される、必要な精度又はセキュリティを提供することができないことがある。したがって、一部のそのような実施形態の方法は、低周波数帯域を使用して第１のレンジング演算を実行し、方法が、デバイスが低周波数帯域の近接度内にあると判定した時には、方法は、高周波数帯域を使用して第２のレンジング演算を実行して、目標デバイスをアンロックするためにそのデバイスが要求されるレンジ内にあるかどうかを判定する。一部の実施形態では、第１のレンジング演算は、レンジング演算の第２のセットとは異なるレンジング演算を使用する。
【００４９】
認証、セキュアなレンジング、及びアンロックの多くの例について以下に説明する。セクションＩは、一対のデバイス間でセキュアなレンジングを行うための方法について説明する。セクションＩＩは、レンジング接続の確立について説明する。セクションＩＩＩは、セキュアなレンジングプロセスについて説明する。セクションＩＶは、本明細書に記載される一部の実施形態を実行する電子システムの例について説明する。
【００５０】
Ｉ．セキュアなレンジングを使用したセキュリティ状態の修正
一部の実施形態は、ユーザが、信頼できるデバイスとの関係（例えば、近接度、ペアリングされたデバイス等）に基づいて、目標デバイスのセキュリティ状態を修正すること（例えば、アンロックすること）を可能にする。図１は、信頼できるデバイスが、セキュアなレンジングを使用して目標デバイスのセキュリティ状態を修正するためのプロセスを概念的に示している。一部の実施形態のプロセス１００は、目標デバイス（例えば、セキュリティ状態を修正すべきデバイス）及び信頼できるデバイス（例えば、セキュリティ状態を修正することを認証されたデバイス）のうちの１つによって実行される。一部の実施形態では、プロセス１００は、信頼できるデバイス及び目標デバイスが互いを発見するように支援するプロキシデバイスにおいて開始される。開始デバイス（例えば、目標デバイス又は信頼できるデバイス）は、目標デバイスのセキュリティ状態を修正するために、非開始デバイス（例えば、信頼できるデバイス又は目標デバイス）を用いてプロセス１００を開始する。
【００５１】
一部の実施形態では、プロセス１００は、（１０５において）目標デバイスのセキュリティ状態変更を開始することによって始まる。一部の実施形態のセキュリティ状態変更の開始は、目標デバイス（すなわち、アンロックすべきデバイス）によって実行されるが、他の実施形態では、信頼できるデバイスによって状態変更が開始される。一部の実施形態では、開始デバイスは、セキュリティ状態変更を開始する要求を非開始デバイスに送信する。一部の実施形態では、明示的なユーザ対話（例えば、キーボード入力、音声コマンド、ラップトップコンピュータの蓋を開く、等）を通じてセキュリティ状態変更が開始されるが、他の実施形態では、目標デバイスと信頼できるデバイスとの間の黙示的な対話（例えば、発見可能なレンジ内で移動する、開始デバイスにおいて、ロック状態からアンロック状態に状態を変更する、等）を通じてセキュリティ状態変更が変更される。一部の実施形態の明示的なユーザ対話は、ユーザに、デバイスを用いて（例えば、パスワード、生体データ（Ａｐｐｌｅ（登録商標）のＴｏｕｃｈＩＤ（登録商標）によって）自身を認証するように要求する。一部の実施形態では、セキュリティ状態変更の開始は、他のデバイス（例えば、カメラ及び／又はセンサに基づく位置検出）によって開始され、当該デバイスは、開始デバイスと通信してセキュリティ状態変更を開始する。
【００５２】
プロセス１００が（１０５において）セキュリティ状態変更を開始した後、プロセス１００は、（１１０において）信頼できるデバイスと目標デバイスとの間に初期接続を確立する。一部の実施形態の初期接続は、セキュアで規格化された無線プロトコル（例えば、Ｂｌｕｅｔｏｏｔｈ）を使用して、他のデバイスを発見し、初期接続を確立する。
【００５３】
一部の実施形態１００のプロセスは、初期接続を使用して（１１５において）デバイス間の（例えば、ＷｉＦｉを介した）レンジング接続情報をセットアップするために使用されるレンジング接続情報（例えば、ブートストラップ情報）を交換する。１２０において、プロセス１００は、信頼できるデバイスと目標デバイスとの間にレンジング接続を確立する。一部の実施形態では、レンジング接続は、目標デバイス及び信頼できるデバイスが特定のレンジ内にあるかどうかを判定するために（例えば、一連のレンジング演算を通じて）レンジング情報を交換するために使用される無線チャネルである。一部の実施形態のレンジング接続は、交換されたレンジング情報を潜在的な攻撃者から保護するために暗号化される。
【００５４】
プロセス１００は、（１２５において）レンジング演算を実行して、信頼できるデバイスと目標デバイスとの間のサンプル距離測定値を捕捉する。好ましい実施形態では、プロセス１００は、いくつかのサンプル距離測定値を使用して、デバイスが互いのレンジ内にあるかどうかを判定し、デバイスの近接度をより正確かつセキュアに判定することが可能になる。１３０では、プロセス１００は、より多くのサンプルを捕捉すべきかどうかを判定する。（１３０において）より多くのサンプルが必要であるとプロセス１００が判定したとき、プロセスは、ステップ１１０に戻って、もう一度レンジング演算を実行して別のサンプル距離測定値を捕捉する。
【００５５】
一部の実施形態では、レンジング演算が十分に正確かつセキュアであるときには、プロセス１００は、（１２５において）レンジング演算を１回だけ実行する。例えば、信頼できるデバイスのクロックと目標デバイスとのクロックを同期させるとき、多くのサンプルを収集する必要がないことがある。しかし、そのような場合であっても、複数のサンプルの捕捉により、デバイスは、デバイス間の距離をより正確に判定することができるようになる。例えば、一部の実施形態では、複数の距離測定値サンプルを使用すると、精度を±１メートルとすることができる。
【００５６】
（１３０において）それ以上のサンプルは必要でないとプロセス１００が判定すると、一部の実施形態のプロセス１００は、（例えば、セキュリティプロトコルの一部として）試験のセットを実行して、目標デバイスのセキュリティ状態の変更を認証すべきどうかを判定する。一部の実施形態では、プロセス１００は、デバイスがレンジ内にあるかどうか、デバイスの一方又は両方がセキュリティ状態変更の同意を受信したかどうか等を判定する。
【００５７】
この例では、プロセス１００は、（１３５において）捕捉されたサンプル距離測定値に基づいて、デバイスが所望のレンジ内にあるかどうかを判定する。一部の実施形態では、複数の距離測定値サンプルを統計的に解析して、合成距離測定値を生成し、次いで、合成距離測定値を閾値距離と比較する。代替的に又は複合的に、デバイスは、距離測定値のサンプルを解析して、デバイスが閾値距離内にある信頼度レベルを算出する。信頼度レベルが閾値を超える時、デバイスは、許容レンジ内にあると見なされる。
【００５８】
（１３５において）デバイスが所望のレンジ内にないと判定されたときには、プロセスは終了する。（１３５において）デバイスが所望のレンジ内にあるとプロセス１００が判定したときには、プロセス１００は（１４０において）ユーザが同意を示したかどうかを判定する。例えば、一部の実施形態では、プロセス１００は、デバイスのうちの１つにおいてユーザに目標デバイスのセキュリティ状態を修正する同意を要求するプロンプトを提供する。ユーザ同意は、（例えば、直接的なユーザ対話を介した）明示的であっても、又は黙示的（例えば、信頼できるデバイスがアンロック状態である）であってもよい。一部の実施形態では、明示的同意は、単純な承認（例えば、プロンプトへの応答）を要求するが、他の実施形態では、明示的同意は、あるデバイスにおいてユーザの認証（例えば、パスキー、生体データ（例えば、ＡｐｐｌｅのＴｏｕｃｈＩＤ等）を要求する。
【００５９】
セキュリティ状態変更の開始がユーザからの明示的な入力（例えば、目標デバイスにおけるタップ操作）に基づくような時など、好ましい一部の実施形態では、（１０５における）セキュリティ状態変更の開始は、開始デバイスに対する同意として機能する。次に、プロセス１００は、（１４０において）ユーザが非開始デバイスに対する同意を示したかどうかを判定する。
【００６０】
一部の実施形態では、プロセス１００は、レンジング演算が完了した後に（１４０において）開始デバイスと非開始デバイスの両方に対するユーザ同意が示されるかどうかを判定する。明示的同意が要求される時、レンジングの後に同意を判定することにより、あらゆるユーザ同意を要求する前にレンジングが既に完了しているので、セキュリティ状態変更の応答性がより高いとみなすことができるようになる。
【００６１】
しかし、ユーザ同意がレンジング演算の後に判定され、ユーザからの明示的応答を要求するときには、レンジング情報に対してキャッシュ状態を維持する（すなわち、短い時間ウィンドウにわたってレンジング決定を有効なまま維持できるようにする）ことが必要なことがある。一部の実施形態では、プロセス１００は、レンジング演算を実行した後にユーザ同意をチェックするのではなく、レンジング演算のうちのいずれかが実行される前にユーザ同意をチェックする。これにより、デバイスは、あらゆる不必要なレンジング演算の実行も回避できるようになる。
【００６２】
プロセス１００が（１３５及び１４０において）、デバイスがレンジ内にあり、認証情報を交換するための同意を取得済みであると判定すると、プロセス１００は、（１４５において）保護（例えば、暗号化）チャネルを介して認証情報を交換する。一部の実施形態の保護チャネルは、認証情報を保護するために、高保護暗号キーを使用して通信を暗号化する。認証情報（例えば、アンロック情報、セキュリティキー、支払データ等）は、目標デバイスにおけるセキュリティ状態を修正するために使用される。一部の実施形態では、保護チャネルは、ステップ１１０で確立された初期接続上に確立される。他の実施形態では、保護チャネルは、別個の異なる接続上に確立される。
【００６３】
一部の実施形態では、デバイスの可用性を通知及び発見するために使用される初期接続と、レンジング演算に使用されるレンジング接続と、認証データを通信するために使用される接続とは、異なる別個の接続である。例えば、一部の実施形態では、異なる接続は、異なるプロトコル又は異なる通信方法（例えば、周波数スペクトルの帯域、無線プロトコル等）を使用する。例えば、一部の実施形態では、特定の接続上で通信されたデータは、実際には、別の帯域の周波数スペクトル又はネットワーク（例えば、インターネット）を介して送信される。
【００６４】
異なる接続は、異なる利点を提供することができる。例えば、一部の実施形態では、初期接続は第１の無線プロトコルを使用して、発見を容易にし、かつ、所要電力を低減するが、レンジング接続は、無線周波数及びセキュリティ機能の精細度のために第２の無線プロトコルを使用する。
【００６５】
図２は、信頼できるデバイスを用いたセキュアなレンジングを使用して目標デバイスのセキュリティ状態を修正する例を示している。第１の段階２０１は、信頼できるデバイス２１０（例えば、スマートウォッチ、ウェアラブルデバイス、携帯電話、タブレット等）、及び目標デバイス２２０（例えば、ラップトップコンピュータ、携帯電話、タブレット等）を示す。一部の実施形態の信頼できるデバイス２１０は、目標デバイス２２０のセキュリティ状態の変更を行うように認証されたデバイスである。第１の段階２０１において、目標デバイス２２０は、（実線で示された）初期接続を介して、信頼できるデバイス２１０に要求２５０を送信する。一部の実施形態の要求２５０は、ユーザがセキュリティプロセスを（明示的又は黙示的のいずれかで）開始した時に目標デバイス２２０から送信される。一部の実施形態では、要求２５０は、レンジング情報を交換するために使用されるレンジング接続をセットアップするためのブートストラップ情報を含む。
【００６６】
第２の段階２０２において、信頼できるデバイス２１０と目標デバイス２２０との間に、（点線で描かれた）レンジング接続がセットアップされる。第２の段階２０２はまた、レンジング情報２５５がレンジング接続を介してデバイス間で交換されることを示している。レンジング情報２５５により、デバイス２１０及び２２０の一方又は両方が、２つのデバイス間の距離を計算することが可能になる。一部の実施形態では、レンジング情報は、２つのデバイス間の距離を判定するために更に解析される、複数のサンプル距離測定値を含む。
【００６７】
第３の段階２０３は、目標デバイス２２０と信頼できるデバイス２１０の両方が、レンジ算出部２２８及び２１８を使用して、交換されたレンジング情報２２２及び２１２を解析することを示している。一部の実施形態では、信頼できるデバイス及び目標デバイスは、算出されたレンジに基づいて、セキュリティ状態変更動作を継続すべきかどうかを判定する。レンジング情報２５５の交換と、レンジ算出とついて、セクションＩＩＩにおいて更に詳細に説明する。
【００６８】
第４の段階２０４は、信頼できるデバイス２１０が、デバイスが許容レンジ内にあると判定した後に、アンロックキー２６０を送信することを示す。目標デバイス２２０をアンロックするために、一部の実施形態のアンロック情報２６０が使用される。アンロックキーを用いたアンロック動作を参照して、本出願の様々な例を説明するが、当業者には、本発明の新規性はそのようなアンロック動作には限定されないことを理解されたい。アンロック動作は、信頼できるデバイスとの関係に基づく目標デバイスにおけるセキュリティ状態のあらゆるシフトを参照することができる。また、認証情報は、キーと呼ばれる場合があるが、認証情報は、様々な異なる種類の情報を含んでもよい。一部の実施形態の認証情報は、目標デバイスに記憶された情報（例えば、機密情報、マスターキー等）を解読するために使用されるキーであるが、他の実施形態では、認証情報は、暗号化された機密データ（例えば、支払いデータ、ユーザデータ等）である。これにより、機密情報を、信頼できるデバイスに単に記憶することが可能になり、信頼できるデバイスがレンジ内にあるときには、目標デバイスに単に提供することが可能になる。
【００６９】
一部の実施形態では、動作は、デバイスをアンロックするのではなく、目標デバイスを高レベルのセキュリティ状態から低レベルのセキュリティ状態にすることができる。いくつかの場合には、目標デバイスは、シフト中、ロックされたままであるが、低レベルのセキュリティ状態は、目標デバイス上の情報への追加アクセスを提供する。例えば、一部の実施形態では、目標デバイスは、ロックスクリーン（すなわち、デバイスがロックされている時の表示スクリーン）上に高レベルのセキュリティ状態で最小限度の通知を提供し、あらゆる潜在機密情報は、デバイスがアンロックされるまで隠される。（例えば、信頼できるデバイスの存在下で）より低いレベルのセキュリティ状態にシフトすることによって、一部の実施形態の目標デバイスは、目標デバイスのユーザに、通知に関するより機密性の高い情報（例えば、テキストの抜粋、発信者等）へのアクセスを提供する。
【００７０】
他の実施形態では、ロック状態で追加情報を提供するのではなく、異なるセキュリティ状態により、信頼できるデバイスは、目標デバイスにアクセスするためのセキュリティ要件を低くすることが可能になる。例えば、一部の実施形態では、通常は英数字パスワードを要求する目標デバイスを、より単純なピンコードを要求するように構成することができる。一部の実施形態では、目標デバイスが既にアンロックされているときであっても、信頼できるデバイスが特定のレンジ内にある時にアプリケーション又はアプリケーション内の機密データ（例えば、ブラウザ履歴、オートフィルデータ、クレジットカード情報等）へのアクセスを提供するために、信頼できるデバイス及びセキュリティ状態シフトが使用される。
【００７１】
ＩＩ．レンジング接続の確立
一部の実施形態では、目標デバイス又は信頼できるデバイスのいずれかによって、セキュリティ状態のシフトを開始することができる。レンジング演算を実行してデバイスを認証するために、一部の実施形態のシフトは、初期接続を使用してレンジング接続を確立することによって始まる。一部の実施形態の初期接続は、ユビキタスで効率的であるセキュアで標準化された無線接続法（例えば、Ｂｌｕｅｔｏｏｔｈペアリング）である。次いで、確立された初期接続を使用して、レンジング接続情報を交換し、レンジング接続情報はレンジング接続を確立するために使用される。一部の実施形態では、レンジング情報を交換して目標デバイス及び信頼できるデバイスの特定のレンジ内にあるかどうかを判定するために、レンジング接続が使用される。
【００７２】
図３は、目標デバイスが信頼できるデバイスとのレンジング接続を確立するためのプロセスを概念的に示している。プロセス３００は、（３０５において）自身の可用性を通知する信頼できるデバイスで始まる。一部の実施形態のプロセス３００は、信頼できるデバイスの識別子をブロードキャストすることによってデバイスの可用性を通知し、それにより、目標デバイスは、信頼できるデバイスのセキュリティ状態を修正することができるかどうかを判定することができる。
【００７３】
次いで、目標デバイスは任意選択で、（３１０において）セキュリティ状態変更を（明示的又は黙示的に）要求する入力を受信する。上記のように、一部の実施形態では、セキュリティ状態変更についての要求（又は同意）は、レンジング接続が確立され、レンジング演算が完了するまで取得されない。
【００７４】
次いで、目標デバイスは、（３１５において）信頼できるデバイスをスキャンする。目標デバイスは、スキャンにより信頼できるデバイスを識別すると、（３２０において）目標デバイスが自身のセキュリティ状態を修正できるようにする認証情報についての要求（例えば、アンロック、セキュリティ状態変更等）を送信する。一部の実施形態では、目標デバイスはまた、（３２０において）目標デバイスと信頼できるデバイスとの間のレンジング演算を実行するためのレンジング接続をセットアップするためにブートストラップ情報を送信する。信頼できるデバイスは、（３２５において）ブートストラップ情報と共にセキュアな状態変更要求を受信し、（３３０において）目標デバイスにてブートストラップ情報を返信する。一部の実施形態では、ブートストラップ情報は、各デバイスについての状態情報（例えば、無線周波数スペクトルの利用可能帯域）を含む。
【００７５】
３３５において、目標デバイスは、信頼できるデバイスのブートストラップ情報を受信する。次いで、目標デバイス及び信頼できるデバイスは、（３４０及び３４５において）デバイス間にレンジング接続を確立する。次いで、以下更に詳細に説明するようなレンジングプロセスのために、レンジング接続が使用される。
【００７６】
図４は、信頼できるデバイスが目標デバイスとのレンジング接続を確立するためのプロセスを概念的に示している。プロセス４００は、（４０５において）自身の可用性を通知する目標デバイスで始まる。一部の実施形態のプロセス４００は、目標デバイスの識別子をブロードキャストすることによってデバイスの可用性を通知し、それにより、信頼できるデバイスは、目標デバイスのセキュリティ状態を修正することができるかどうかを判定することができる。
【００７７】
次いで、信頼できるデバイスは、（４１０において）目標デバイスをスキャンする。信頼できるデバイスは、スキャンにより目標デバイスを識別すると、（４１５において）目標デバイスのセキュリティ状態変更（例えば、アンロック、セキュリティレベルの変更等）のための要求を送信する。一部の実施形態では、信頼できるデバイスはまた、（４１５において）信頼できるデバイスと目標デバイスとの間のレンジング演算を実行するためのレンジング接続をセットアップするためにブートストラップ情報を送信する。目標デバイスは、（４２０において）ブートストラップ情報と共にセキュアな状態変更要求を受信し、（４２５において）信頼できるデバイスにてブートストラップ情報を返信する。一部の実施形態では、ブートストラップ情報は、各デバイスについての状態情報（例えば、無線周波数スペクトルの利用可能帯域）を含む。
【００７８】
４３０において、信頼できるデバイスは、目標デバイスのブートストラップ情報を受信する。次いで、信頼できるデバイス及び目標デバイスは、（４３５及び４４０において）デバイス間にレンジング接続を確立する。次いで、以下更に詳細に説明するようなレンジングプロセスのために、レンジング接続が使用される。
【００７９】
図５及び図６は、目標デバイス及び信頼できるデバイスからレンジング接続を開始する例をそれぞれ示している。図５は、２つの段階５０１及び５０２で信頼できるデバイスとの接続を確立する目標デバイスの例を示している。第１の段階５０１は、ラップトップコンピュータ５１０（すなわち、目標デバイス）及び携帯時計５２０（すなわち、信頼できるデバイス）を示している。第１の段階５０１では、自身の可用性を通知している携帯時計５２０が示されている。第１の段階５０１はまた、ユーザがレンジングプロセスを開始するために入力（例えば、キーをタップ操作すること、ラップトップ５１０の蓋を開けること等）を提供することを示す。第２の段階５０２は、デバイスが（図３及び図４を参照して上述したようなプロセスを通じて）無線レンジング接続を確立済みであることを示している。
【００８０】
図６は、２つの段階６０１及び６０２で目標デバイスとのレンジング接続を確立する信頼できるデバイスの例を示している。この図の例は、図５のラップトップコンピュータ５１０（すなわち、目標デバイス）及び携帯時計５２０（すなわち、信頼できるデバイス）を示す。この例では、携帯時計５２０ではなく、ラップトップコンピュータ５１０が自身の可用性を通知する。また、携帯時計５２０は、ユーザからの入力を受信するのではなく、いかなる入力も受信せずに、ラップトップコンピュータ５１０の近くに移動する。第２の段階６０２は、（図３及び図４を参照して上述したようなプロセスを通じて）無線レンジング接続が確立済みであることを示している。
【００８１】
一部の実施形態では、信頼できるデバイスの可用性を継続的に通知すると、信頼できるデバイスは相当の電力を要求される。一部の実施形態では、初期接続（及び信頼できるデバイスの可用性の通知）は、プロキシデバイスを使用して支援され、これは、信頼できるデバイスの可用性を継続的に通知するのにより適している場合がある。
【００８２】
図７は、目標デバイスと信頼できるデバイスとの間に初期接続を確立するのを支援するプロキシデバイスのプロセスを概念的に示している。プロセス７００は、（７０５において）信頼できるデバイスとの接続を確立することによって始まる。この接続がプロキシデバイスと信頼できるデバイスとの間であるのに対し、初期接続は、信頼できるデバイスと目標デバイスとの間の接続であるので、この接続は、上記例で説明された初期接続とは異なる。この図のプロセスは、目標デバイス及び信頼できるデバイスを準備して初期接続をセットアップするために使用される。一部の実施形態のプロキシデバイスと信頼できるデバイスとの間の接続は、デバイス間の連続通信のために維持される長寿命接続である。例えば、一部の実施形態では、接続は、携帯電話と携帯時計との間のＢｌｕｅｔｏｏｔｈ接続（又はチャネル）であり、デバイスが互いのレンジ内にとどまっている限り、デバイス間の通信のために接続が維持される。
【００８３】
次いで、ステップ７１０において、プロセス７００は、信頼できるデバイス可用性を検出する。一部の実施形態では、プロセス７００は単に、デバイスとの接続が依然としてアクティブであるかどうかを検出するだけであるが、他の実施形態では、プロセス７００は、セキュリティ状態等の追加情報（例えば、ロックされている、アンロックされている、認証されている、等）を検出する。信頼できるデバイスが利用可能であるとプロセス７００が判定すると、プロセス７００は、（７１５において）目標デバイスが信頼できるデバイスの可用性を識別することができるように、信頼できるデバイスの可用性をブロードキャストする。次いで、プロセス７００は、（７２０において）目標デバイスと信頼できるデバイスとの間の接続についての第１の要求を目標デバイスから受信する。
【００８４】
次いで、プロセス７００は、（７２５において）図１及び図２を参照して上述したように、初期接続を確立する第２の要求を信頼できるデバイスに送信する。一部の実施形態では、第２の要求は、信頼できるデバイスに、短い時間期間にわたって自身の可用性のブロードキャストを開始させる要求である。他の実施形態では、プロキシデバイスは、（ブートストラップ情報と共に、又はブートストラップ情報なしに）第１の要求を信頼できるデバイスに転送する。一部のそのような実施形態の信頼できるデバイスは、第２の要求のブートストラップ情報を使用するか、あるいは自身の可用性をブロードキャストすることによって、目標デバイスとの接続を開始する。この例には、信頼できるデバイスのプロキシに関するプロセスを説明しているが、同様のプロセスが、目標デバイスのプロキシに当てはまることを理解されたい。
【００８５】
図８は、目標デバイスと信頼できるデバイスと間の接続を確立するのを支援するプロキシデバイスの例を示している。第１の段階８０１は、図５の目標デバイス５１０及び信頼できるデバイス５２０を示している。この例はまた、プロキシデバイス８３０を示している。この例では、目標デバイス５１０はラップトップコンピュータであり、信頼できるデバイス５２０は携帯時計であり、プロキシデバイス８３０は携帯電話である。第１の段階８０１はまた、信頼できるデバイス５２０及びプロキシデバイス８３０が、（破線で示される）接続を維持していることを示している。この例では、目標デバイス又は信頼できるデバイスが自身の可用性を通知するのではなく、プロキシデバイス８３０が、信頼できるデバイス５２０の可用性を通知する。
【００８６】
また、第１の段階８０１はまた、ユーザがアンロック動作を開始し、要求８５０がプロキシデバイス８３０に送信されることを示す。第２の段階８０２では、プロキシデバイス８３０は、別の要求８５５をデバイスに送信する。一部の実施形態では、要求８５５を使用して、信頼できるデバイスに、短い時間期間にわたって自身の可用性を通知し始めさせるが、他の実施形態では、要求８５５は、目標デバイス５１０とのレンジング接続を確立するために信頼できるデバイスが必要とする情報を含む。
【００８７】
第３の段階８０３は、目標デバイス５１０と信頼できるデバイス５２０との間にレンジング接続が確立済みであることを示している。第３の段階８０３はまた、デバイスが、レンジングプロセスの一部としてレンジデータ８６０を交換することを示している。レンジングプロセスについては、図９〜図１２を参照して以下に更に詳細に説明する。最後に、第４の段階８０４において、目標デバイス５１０は、信頼できるデバイス５２０が許容レンジ内にあり、アンロック済みであると判定する。デバイスが許容レンジ内にあることを判定するためのセキュア方法について以下に説明する。
【００８８】
ＩＩＩ．セキュアなレンジ判定
一部の実施形態では、目標デバイス及び信頼できるデバイスは、デバイスが所望のレンジ内にあるかどうかを判定するために、セキュアなレンジング演算を使用する。レンジング演算は、攻撃者がデバイスに成りすまして、デバイスを実際よりも近くにあるように見せることを防止するために保護されなければならない。一部の実施形態のセキュリティプロトコルは、信頼できるデバイスと目標デバイスとの間のセキュアなレンジング情報を提供するためにメッセージを使用し、デバイスは、信頼できるデバイスが目標デバイスをアンロックできるようにする前に互いの指定レンジ内にあるかどうかを判定する。
【００８９】
Ａ．セキュアなレンジング
図９は、信頼できるデバイスから目標デバイスをアンロックする時にセキュアなレンジングを行うための概説を説明するシーケンス図を示している。セキュアなレンジングを行うための様々な要素及びステップのより詳細な説明を、図１０〜図１２を参照して記載する。この図のシーケンス９００は、信頼できるデバイスと目標デバイスとの間の通信のシーケンスを示している。シーケンス９００は、信頼できるデバイスと目標デバイスとの間に（例えば、暗号キーを用いて暗号化される）共有シークレットチャネル９０５を確立することによって始まる。
【００９０】
シーケンス９００は、共有シークレットチャネル９０５が確立されると、信頼できるデバイスがメッセージ（例えば、ノンス又は他の短寿命トークン）Ｎ１を目標デバイスに送信することを示している。目標デバイスはＮ１を処理して、Ｎ１の値が、信頼できるデバイスから受信することが期待される目標の値であることを検証する。目標デバイスはまた、信号を解読しても、又は受信したメッセージに対して他の演算（例えば、フーリエ変換）を行ってもよい。次いで、目標デバイスは、時刻Ｔ３に、第２の異なるノンスＮ２を信頼できるデバイスに返信することによって応答する。
【００９１】
ノンスの交換について、シーケンス９００はまた、ノンスＮ１及びＮ２が送受信される時刻を示している。より具体的には、ノンスＮ１は、時刻Ｔ１に信頼できるデバイスによって送信され、時刻Ｔ２に目標デバイスによって受信される。ノンスＮ２は、時刻Ｔ３に目標デバイスによって送信され、時刻Ｔ４に信頼できるデバイスによって受信される。一部の実施形態では、信頼できるデバイス及び目標デバイスは、各デバイスによってノンスＮ１及びＮ２が送受信されるタイムスタンプを記録する。
【００９２】
一部の実施形態では、特定のノンスは、受信側デバイスにおいて複数回受信される。これは、無線信号が他の表面で、又は障害物の周囲で反射したときに生じ得る。信号は、障害物を通過する際に強度を損失することがあるが、反射した信号は、大幅には妨げられない。このような場合、デバイスへの最も強い信号は、必ずしも、デバイスで受信される最初の信号ではない。しかし、デバイスの近接度を最も正確に判定するために、一部の実施形態の受信側デバイスは、最も強い信号ではなく、最初に受信した信号のタイムスタンプを識別する。
【００９３】
次いで、デバイスは、デバイス間でのノンスＮ１及びＮ２の飛行時間を算出するために、各デバイスに記録されたタイムスタンプを交換する。信頼できるデバイスは、タイムスタンプＴ１及びＴ４を目標に送信し、目標は、タイムスタンプＴ２及びＴ３を信頼できるデバイスに返信する。この例では、ノンスの交換後に１回の動作でタイムスタンプが交換されるが、一部の実施形態は、タイムスタンプが記録されると直ぐに、タイムスタンプを他のデバイスに送信する。例えば、一部の実施形態では、目標は、ノンスＮ２を送信する前に、タイムスタンプＴ２を信頼できるデバイスに返信する。
【００９４】
次いで、信頼できるデバイス及び目標デバイスは、交換されたタイムスタンプを検証して、デバイスが互いの特定の近接度内にあるかどうか、及び交換されたタイムスタンプが信頼できるかどうかを判定する。一部の実施形態では、デバイスのうちの一方のみが検証プロセスを実行する。しかし、好ましい実施形態では、信頼できるデバイスと目標の両方が、目標デバイスをアンロックできるようにする前に検証プロセスを実行する。
【００９５】
シーケンス９００は、目標デバイスが要求される近接度内にあると信頼できるデバイスが判定すると、信頼できるデバイスが、共有シークレットチャネル９０５を介してアンロックメッセージ９６０を目標デバイスに送信することを示している。アンロックメッセージ９６０により、目標デバイスをアンロックすることが可能になる。
【００９６】
一部の実施形態では、アンロックメッセージ９６０は、ペアリング動作又は信頼できるデバイスに目標デバイスをアンロックする権限を付与する認証動作中に、信頼できるデバイスと共有されるシークレットである。一部のそのような実施形態では、一部の実施形態のアンロックメッセージ９６０は、ペアリング動作中に目標デバイスが信頼できるデバイスに送信したキーである。一部の実施形態では、目標デバイスによって、目標デバイスをアンロックするために使用されるパスコード（又は他の認証情報）から、マスターキーが導出される。目標デバイスは、アンロックメッセージを用いてマスターキーを暗号化することによってトークンを構築することができ、それにより、信頼できるデバイスが（セキュアなレンジング演算後に）目標デバイスにアンロックメッセージを戻すときに、目標デバイスは、トークンを解読して、マスターキーを取り出し、目標デバイスをアンロックするために、アンロックメッセージを使用することができる。別のデバイスをアンロックするためにデバイス使用することは、２０１５年７月２７日に出願された「Ｍｅｔｈｏｄ  ｏｆ  Ｕｓｉｎｇ  Ｏｎｅ  Ｄｅｖｉｃｅ  ｔｏ  Ｕｎｌｏｃｋ  Ａｎｏｔｈｅｒ  Ｄｅｖｉｃｅ」と題する米国特許出願第１４／８１０，３９５号に更に記載されている。米国特許出願第１４／８１０，３９５号は、参照により本明細書に組み込まれる。
【００９７】
シーケンス９００には、異なる種類のレンジングデータ（例えば、タイムスタンプ、ノンス、アンロックコード等）を伝送するための様々なチャネルが（太線、実線、及び点線で）示されている。一部の実施形態では、異なるチャネルは、チャネル上の通信を暗号化するための異なる暗号キーを使用してもよいが、一部のチャネルは、全くキーを使用しないことがある。一部の実施形態では、チャネルの各々は、複数の異なる接続上で動作する。一部の実施形態では、複数の異なるチャネルは、レンジングプロセスに使用される。
【００９８】
例えば、一部の実施形態のプロセスは、アンロックメッセージ９６０を通信するために、高セキュリティの共有シークレットチャネル９０５を使用するが、異なるノンスのタイムスタンプを通信するために、共有シークレットから導出されたキーに基づいて、別個のレンジングチャネル９１５を使用する。一部の実施形態のレンジングチャネル９１５は、上述の確立されたレンジング接続上に確立された保護チャネルである。一部の実施形態では、アンロックメッセージ９６０とタイムスタンプ９５０及び９５５とは、同一チャネルを介して送信される。
【００９９】
一部の実施形態におけるノンスは、レンジングチャネル９１５を介して送信される（すなわち、導出キーを用いて暗号化される）が、他の実施形態では、ノンスは、特定の接続９１０（例えば、特定の帯域の無線周波数）を介して空気によって暗号化されずに送信される。一部の実施形態では、特定の接続９１０は、デバイスの近接度の正確な判定を可能にする高周波接続である。
【０１００】
図１０Ａ〜図１０Ｂは、７つの段階１００１〜１００７で信頼できるデバイスから目標デバイスをアンロックする（あるいは、そのセキュリティ状態を修正する）ときにセキュアなレンジングを行う例を示している。第１の段階１００１は、信頼できるデバイス１０１０及び目標デバイス１０２０を示している。デバイス１０１０及び１０２０は、保護チャネル１０３０と接続される。この例では、保護チャネル１０３０とは、デバイス間で共有される共有シークレットＳＳを用いて暗号化されたデバイス間の通信を表す。
【０１０１】
一部の実施形態では、共有シークレットは、信頼できるデバイス１０１０と１０２０との間で通信される高機密データを保護するために使用される高保護システムシークレットである。例えば、一部の実施形態は、デバイスのハードウェア及び／又はソフトウェアの隔離されたセキュアエリア内の機密データのセキュリティレベルを高めるプロセッサアーキテクチャ内にセキュアエンクレーブプロセッサ（secure enclave processor：ＳＥＰ）を提供する。システムシークレットのセキュリティを維持するために、一部の実施形態のレンジング演算に使用されるレンジングデータは、共有シークレットを直接使用せずに（すなわち、保護チャネル１０３０を介して送信して）、レンジングデータの暗号化及びレンジングデータのソースの検証に使用される他の共有値を（例えば、導出関数によって）生成するために共有シークレットを使用する。
【０１０２】
一部の実施形態では、保護チャネル１０３０の共有シークレットは、保護されていないチャネルを介してセキュアなシークレット共有動作を実行することによって、デバイス間で共有される。例えば、一部の実施形態の方法は、デバイス間にセキュアで一時的な共有シークレットを提供するために、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ交換を使用する。他の実施形態では、共有シークレット及び／又は様々な共有値（例えば、共有シークレット、導出キー、メッセージ等）は、クラウドサービス（例えば、ｉＣｌｏｕｄ（登録商標））を介してデバイス間で共有される。一部の実施形態のクラウドサービスは、様々なデバイスに関連付けられたユーザアカウントに関連付けられている。次に、一部の実施形態のクラウドサービスは、関連するデバイスの異なる共有値を共有するために使用される。以下に、シークレットを共有するためのクラウドサービスの使用について更に説明する。
【０１０３】
第２の段階１００２は、キー導出部１０１５及び１０２５をそれぞれ備えるデバイス１０１０及び１０２０を示している。一部の実施形態のキー導出部は、一般的な入力を仮定した場合に、（例えば、鍵導出関数を使用して）別の擬似ランダムキー又は擬似ランダム値を生成するモジュールを表す。一部の実施形態では、キー導出部は、元に戻して、元の入力を明らかにすることができない一方向関数を入力に適用する。
【０１０４】
第２の段階１００２では、キー導出部１０１５及び１０２５はそれぞれ、共有シークレットを入力として、導出キーＤＫ１を生成する。キー導出部１０１５及び１０２５は、両デバイス１０１０及び１０２０において同一の導出関数を使用するので、同一の導出キーＤＫ１が両デバイスに記憶される。このようにすると、デバイス間で共有値を送信する必要なく、デバイスの各々において共有値を生成することできる。
【０１０５】
一部の実施形態では、導出キーに加えて、ノンスＮ１及びＮ２を導出するためにキー導出部１０１５及び１０２５が使用される。一部の実施形態では、キー導出部は、導出キーを導出するために共有シークレットのみを使用し、次いで、導出キーＤＫ１から任意の他の値（例えば、ノンス）が導出される。しかし、一部の実施形態では、ノンスは、共有シークレットＳＳから直接導出される。パケットが捕捉され、リプレイされることを保証するために、一部の実施形態は、異なる導出関数を使用して異なるノンスを生成する。このようにすると、ノンスは、攻撃者には予測できず、攻撃者は、偽のレンジング信号を生成することができない。
【０１０６】
一部の実施形態のノンスＮ１及びＮ２は、デバイス間で伝送される信号上で送信される。一部の実施形態では、ノンスの送信者が通信の信頼できるパートナーであることを検証するために、受信側デバイスによってノンスＮ１及びＮ２が使用される。攻撃者は、高セキュリティの共有シークレットにアクセスせずに独立してノンスＮ１及びＮ２を生成することができない。この例は、キー導出部１０１５及び１０２５が、導出キーＤＫ１とノンスＮ１及びＮ２とを単一のステップで導出することを示しているが、一部の実施形態のキー導出部は、必要に応じて（例えば、暗号化、送信、検証等のために）導出キー及びノンスを生成する。
【０１０７】
第３の段階１００３は、導出キーＤＫ１を使用してレンジングチャネル１０４０のセットアップすることを示している。一部の実施形態のレンジングチャネルは、デバイス間のレンジング演算に使用される様々なデータ（例えば、ノンス、タイムスタンプ等）を送信するために使用される。信頼できるデバイス１０１０は、レンジングチャネル１０４０を介して、ノンスＮ１を目標デバイス１０２０に送信する。信頼できるデバイス１０１０は、ノンスＮ１が送信される時刻にタイムスタンプＴ１を記録する。
【０１０８】
この例では、ノンスは、レンジングチャネル上で送信される（すなわち、導出キーＤＫ１を用いて暗号化される）ように示されているが、一部の実施形態では、ノンスは、デバイス間の通信とは別個に設定された特定の周波数で空気によって暗号化されずに送信される。一部のそのような実施形態では、信号は、デバイス間の通信（方向、帯域等）をセットアップするために使用される較正信号であり、ノンス（例えば、５３ビットノンス）は、解析及び復号することができる周波数形状で符号化される。符号化された信号は、ノンスをバイナリ出力として取り出すために受信側が（例えば、フーリエ変換を使用して）解析することができる正弦波の累積を表している。
【０１０９】
第４の段階１００４では、目標デバイス１０２０は、ノンスＮ１を受信しており、受信したノンスＮ１を、キー導出部１０２５を用いて導出され、目標デバイス１０２０のメモリ１０１２に記憶されたノンスＮ１に対して検証済みである。また、目標デバイス１０２０は、タイムスタンプＴ２及びＴ３を記録している。タイムスタンプＴ２は、目標デバイス１０２０におけるＮ１の受信時刻をマーキングするが、タイムスタンプＴ３は、目標デバイス１０２０から信頼できるデバイス１０１０へのＮ２の送信時刻をマーキングする。この例では、ノンスＮ２は、ノンスＮ１及び導出キーＤＫ１と共に導出されるが、一部の実施形態では、ノンスＮ２は、信頼できるデバイス１０１０から受信されたノンスＮ１が検証されるまで導出されない。
【０１１０】
第５の段階１００５は、デバイス１０１０及び１０２０が、レンジングチャネル１０４０を介してタイムスタンプＴ１〜Ｔ４を交換することを示している。信頼できるデバイス１０１０は、タイムスタンプＴ１及びＴ４（Ｎ１が送信された時刻及びＮ２が受信された時刻）を目標デバイス１０２０に送信する。目標デバイス１０２０は、タイムスタンプＴ２及びＴ３（ノンスＮ１が受信された時刻及びノンスＮ２が送信された時刻）を信頼できるデバイス１０１０に送信する。
【０１１１】
第６の段階１００６は、デバイス１０１０及び１０２０が、タイムスタンプＴ１〜Ｔ４を使用して、デバイスの互いに対するレンジ又は近接度を算出することを示している。次に、一部の実施形態のデバイスは、タイムスタンプ使用して、デバイス間の距離を算出することができ、デバイスが互いの所望の近接度内にあるかどうかを判定する。例えば、一部の実施形態では、メッセージは、光速で移動する電波によって空気を介して送信される。一部のそのような実施形態のデバイスは、２つのデバイス間でメッセージが移動するためにどのくらいかかるか（例えば、メッセージの送信と受信との間の時間時間）と光速とに基づいてデバイス間の距離を算出する。一部の実施形態では、レンジ算出部１０１８は、ノンスＮ１及びＮ２のレンジを以下のように算出する。
レンジ（Ｎ１）＝（Ｔ２−Ｔ１）＊ｃ、かつ
レンジ（Ｎ２）＝（Ｔ４−Ｔ３）＊ｃ、式中、ｃは光速である。
【０１１２】
一部の実施形態では、レンジ算出部１０１８は、ノンスＮ１とＮ２の両方のレンジを算出し、最小レンジ値に基づいて他のデバイスがレンジ内にあるどうかを判定する。他の実施形態では、レンジ算出部１０１８は、デバイスが所望の近接度内にあるかどうかを判定するときに、最大レンジ値及び平均レンジ値を使用する。一部の実施形態では、レンジ算出部１０１８は、各デバイスにおける測定時刻に基づいてレンジを算出する。例えば、一部の実施形態では、レンジ算出部１０１８は、デバイス間のレンジを以下のように算出する。
レンジ＝１／２（（ｔ４−ｔ１）−（ｔ３−ｔ２））＊ｃ、式中、ｃは光速である。
【０１１３】
このようなレンジング技術を採用することによって、（ｔ４−ｔ１）及び（ｔ３−ｔ２）を、ローカルなタイムベースを使用する各デバイスにおいて独立して測定することができる。つまり、２つのクロックを同期させる必要はない。
【０１１４】
しかし、一部の実施形態では、レンジ算出は更に、２つのデバイス間の通信周波数のオフセットを識別することによって、レンジ算出の精度を向上させるために、応答側周波数と開始側周波数の比（ratio of Responder frequency to Initiator frequency：ｒＲＩ）を算出する。そのような実施形態のレンジ算出部１０１８は、デバイス間の飛行時間を以下のように算出する。
飛行時間＝１／２（（ｔ４−ｔ１）−（ｔ３−ｔ２））＊ｒＲＩ
【０１１５】
デバイスにおける（製造公差内の）僅かな製造ばらつきからオフセットが生じることがあり、オフセットは、デバイスがデバイス間の実際の距離を見誤る原因になり得るので、ｒＲＩが使用される。一部の実施形態は、受信信号をローカル信号と比較して（存在する場合には）オフセットを識別することによってｒＲＩを算出する。しかし、ｒＲＩを使用してレンジを算出する時には、アクティブなリレーアンドリピート（relay-and-repeat）の中間者（man in the middle：ＭＩＴＭ）攻撃は、デバイスのうちの１つによって伝送された全てのプロトコルのパケット及びレンジング波形をサンプリングし、それらを、より低い頻度で他の認証デバイスにそのまま伝えることができる。これにより、ｒＲＩが人工的に増大され、デバイスが互いに対して実際よりも近くに見えるようにすることができる。したがって、一部の実施形態では、このレンジ算出部は、ｒＲＩが特定のレンジ内（例えば、製造ばらつきの合理的な公差範囲内）にあることを保証することができる。他の実施形態では、レンジ算出部は、そのような攻撃を使用して攻撃者が捕捉することができるＴＯＦ利得量を制限する時間（ｔ３−ｔ２）を制限することができる。
【０１１６】
いくつかの実施形態では、尤度比（例えば、対数尤度比）試験が採用される。そのような試験は、レンジ分布の可能な２つのケース（１つは、アンロックされているデバイスに対応するレンジセット、１つは、ロックされたままのデバイスに対応するレンジセット）に関するモデルを使用する。尤度比は、入力されたレンジセット（例えば、レンジ測定値）とモデル化された分布とに基づいて、近接度の内側又は外側のいずれかにある複合確率比を計算する。次いで、複合確率比を閾値と比較して、アンロック決定の結果を判定することができる。そのような実施形態では、２つのデバイス間の距離は直接的に計算されなくてもよい。したがって、距離に関する閾値を提示しなくてもよい。デバイスがレンジ内にあるかどうかを無線信号に基づいて判定することは、２０１６年６月１２日に出願された「Ｕｎｌｏｃｋｉｎｇ  ａ  Ｄｅｖｉｃｅ」と題する米国仮特許出願第６２／３４８，９９５号に更に記載されている。米国仮特許出願第６２／３４８，９９５号は、参照により本明細書に組み込まれる。
【０１１７】
一部の実施形態では、所望の近接度内にデバイスがあることをタイムスタンプが示すことを検証することに加えて、方法は、攻撃者が一方又は両方のデバイスの位置に成りすますことを防止するために他の検証動作もまた実行する。例えば、一部の実施形態では、方法は、目標デバイス（Ｔ２）における第１のメッセージの受信と、目標デバイス（Ｔ３）からの第２のメッセージの送信との間の時間に制約を与える。制約は、デバイスを実際よりも互いに近くにあるように見せるために、攻撃者がクロックドリフトを利用するリプレイ攻撃を使用することを可能にするには、第１のメッセージの受信と第２のメッセージの送信との間の時間が短すぎることを保証する。一部の実施形態では、デバイス間で通信されるべき通信信号に対するクロック周波数の要求された精度の割合が制約される。
【０１１８】
最後に、第７の段階１００７は、信頼できるデバイス１０１０が保護チャネル１０３０を介してアンロック記録１０７０を送信することを示している。アンロック記録１０７０は、目標デバイスにおけるはマスターキーをセキュアに回復する（例えば、解読する）ために使用できるシークレット又はキーである。一部の実施形態のマスターキーは、目標デバイス１０２０をアンロックして目標デバイス１０２０へのアクセスを提供するために使用できる他のキー又はセキュアなデータをアンロックするために、目標デバイス１０２０により使用される。一部の実施形態のアンロック記録１０７０は、目標デバイス１０２０によって生成され、信頼できるデバイス１０１０を認証して目標デバイスをアンロックするために使用されるペアリングプロセス又は認証プロセス中に、信頼できるデバイスに送信される。
【０１１９】
上記のように、一部の実施形態における共有シークレット及び／又は様々な共有値は、クラウドサービス（例えば、ｉＣｌｏｕｄ（登録商標））を介してデバイス間で共有される。例えば、一部の実施形態では、信頼できるデバイス（例えば、携帯時計）と目標デバイス（例えば、コンピュータ）の両方が、クラウドベースのストレージアカウント（例えば、ｉＣｌｏｕｄアカウント）に関連付けられている。２ファクタ認証（two factor authorization：ＴＦＡ）を使用すると、これらのデバイスの各々は、自身の公開オートアンロックアイデンティをクラウド同期キーチェーンに記録する。目標デバイスをアンロックするために信頼できるデバイスをプロビジョニングする（すなわち、イネーブルする）ときには、オートアンロックアイデンティを使用することによってセキュアなリンクが確立される。目標デバイスは、ランダムなワンタイムアンロックシークレットを作成し、リンクを介してワンタイムアンロックシークレットを信頼できるデバイスに伝送する。シークレットは、信頼できるデバイスに記憶され、信頼できるデバイスをアンロックする時にのみシークレットにアクセスすることができる。一部の実施形態では、ユーザのパスワードは、マスターエントロピーでも新しいシークレットでもない。
【０１２０】
アンロック動作中、目標デバイスは、信頼できるデバイスへの接続を作成するために、Ｂｌｕｅｔｏｏｔｈローエネジーを使用する。次いで、目標デバイスをアンロックするために信頼できるデバイスを最初にプロビジョニングしたときに使用される共通キーを使用して、２つのデバイス間にセキュアなリンクが確立される。次いで、２つのデバイスは、ピアツーピアＷｉ−Ｆｉ及びセキュアなリンクから導出されたセキュアキーを使用して、２つのデバイス間の距離を判定する。デバイスがレンジ内にある場合、予め共有されたシークレットを転送して目標デバイスをアンロックするために、セキュアなリンクが使用される。アンロックが成功した後、目標デバイスは、現在のアンロックシークレットを新たなワンタイムアンロックシークレットと置換し、リンクを介して新たなアンロックシークレットを信頼できるデバイスに伝送する。
【０１２１】
本出願に記載される例の多くは、導出キー及びノンスを利用する。このような導出は、プロセスをよりセキュアかつ効率的にすることが可能であるが、本発明には必要ではない。一部の実施形態では、ノンスは、キーから導出されるのでなく、一方のデバイスともう一方のデバイスとに共有されている。例えば、一部の実施形態では、ノンスは、両方のデバイスに関連付けられている共通のユーザアカウントに基づいて、クラウドストレージを介して共有される。他の実施形態では、ノンスは、レンジング演算の前に、保護チャネルを介してデバイス間で共有される。同様に、上記の例におけるレンジングチャネルについての導出キーは、共有シークレットから導出される必要はないが、他の手段（例えば、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）によって共有することができ、あるいは、全くキーを使用しなくてもよい。
【０１２２】
図１１は、サンプル距離測定値を捕捉するためにセキュアなレンジングを行う信頼できるデバイスのプロセスを概念的に示している。一部の実施形態のプロセス１１００は、別のデバイス（例えば、ラップトップ、デスクトップコンピュータ、タブレット等）をアンロックするために使用される信頼できるデバイス（例えば、携帯時計、携帯電話、キーフォブ等）によって実行される。一部の実施形態では、特定のデバイスは、デバイスの第１のセットに対する信頼できるデバイスと、デバイスの第２のセットに対する目標デバイスとの両方として動作する。
【０１２３】
プロセス１１００は、（１１０５において）共有シークレットを共有することによって始まる。次いで、プロセス１１００は、（１１１０において）レンジングデータを暗号化し、交換することによって、導出キーを導出する。一部の実施形態のレンジングデータは、いつデバイス間で異なるノンスが送信されるかについてのタイムスタンプを含む。代替的に又は複合的に、一部の実施形態のレンジングデータは、受信側デバイスがレンジング信号の送信元の識別情報を確認することを可能にするためにデバイス間でレンジング信号と共に送信されるノンスのセットを含む。
【０１２４】
次いで、プロセス１１００は、（１１１５において）信頼できるデバイスのノンスを導出することできる。信頼できるデバイスのノンスにより、目標デバイスは、（例えば、同一のノンスを生成したので）ノンスが信頼できるデバイスに由来することを検証できるようになる。次いで、プロセス１１００は、（１１２０において）信頼できるデバイスのノンスを目標デバイスも送信し、送信時刻（Ｔ１）を記録する。
【０１２５】
１１２５において、プロセス１１００は、目標デバイスから目標ノンスを受信し、受信時刻（Ｔ４）を記録する。次いで、プロセス１１００は、（１１３０において）目標ノンスが有効な目標ノンスであるかどうかを判定する。例えば、一部の実施形態では、プロセス１１００は、（１１３０において）信頼できるデバイスにおいて生成されたノンスと目標ノンスが一致する（例えば、共通の導出キーから導出される）ときに有効であることを判定する。
【０１２６】
（１１３０において）目標ノンスが有効でないとプロセス１１００が判定したとき、プロセス１１００は、ステップ１１０５に戻り、（１１０５において）レンジングプロセスを再開するために新たなシークレットを共有する。特定のノンスを一度だけ送信することが重要なので、一部の実施形態のプロセス１１００は、（１１０５において）レンジング演算が失敗するたびに新しい共有シークレットを共有する。一部の実施形態は、２回以上のレンジング演算に共有シークレットを使用することを可能にするが、これにより、攻撃者は、ノンスを捕捉し、ノンスをリプレイしてデバイスが実際よりも近くにあるとデバイスが信じるようにだますことができるようになる。
【０１２７】
一部の実施形態では、共有シークレット（及び、共有シークレットから導出された任意の値）は、１回のレンジング演算のためにのみ使用され、したがって、一部の実施形態の方法は、デバイスが所望の近接度内にはない（又は、レンジング情報を検証できない）と判定し、方法は、共有シークレット及びあらゆる共有値（例えば、ノンス、導出キー等）を破棄し、プロセスを再開する前に、新しい共有シークレットを生成する。プロセス１１００は、（１１３０において）目標ノンスが有効であると判定し、プロセス１１００は、（１１３５において）サンプル距離測定値を記録し、終了する。
【０１２８】
図１２は、サンプル距離測定値を捕捉するために信頼できるデバイスを用いたセキュアなレンジングを使用する目標デバイスのプロセスを概念的に示している。一部の実施形態のプロセス１２００は、目標デバイス（例えば、ラップトップ、デスクトップコンピュータ、タブレット等）をアンロックするために信頼できるデバイス（例えば、携帯時計、携帯電話、キーフォブ等）が使用されるときに、目標デバイスによって実行される。一部の実施形態では、特定のデバイスは、デバイスの第１のセットに対する信頼できるデバイスと、デバイスの第２のセットに対する目標デバイスとの両方として動作する。
【０１２９】
プロセス１２００は、（１２０５において）信頼できるデバイスと共有シークレットを共有することによって始まる。次いで、プロセス１２００は、（１２１０において）レンジングデータを暗号化し、交換するための導出キーを導出する。一部の実施形態のレンジングデータは、いつデバイス間で異なるノンスが送信されるかについてのタイムスタンプを含む。代替的に又は複合的に、一部の実施形態のレンジングデータは、受信側デバイスがレンジング信号の送信元の識別情報を確認することを可能にするためにデバイス間でレンジング信号と共に送信されるノンスのセットを含む。
【０１３０】
次いで、プロセス１２００は、（１２１５において）信頼できるデバイスからノンスを受信し、受信時刻（Ｔ２）を記録する。信頼できるデバイスのノンスにより、目標デバイスは、（例えば、同一のノンスを生成したので）ノンスが信頼できるデバイスに由来することを検証できるようになる。次いで、プロセス１２００は、（１２２０において）信頼できるデバイスのノンスが有効であるかどうかを判定する。例えば、一部の実施形態では、プロセス１２００は、（１２２０において）信頼できるデバイスにおいて生成された対応するノンスと信頼できるデバイスのノンスが一致する（例えば、共通の導出キーから同一の導出関数を使用して導出される）ときに有効であることを判定する。
【０１３１】
（１２２０において）信頼できるデバイスのノンスが有効でないとプロセス１２００が判定したとき、プロセス１２００は、ステップ１２０５に戻り、（１２０５において）レンジングプロセスを再開するために新たなシークレットを共有する。特定のノンスを一度だけ送信することが重要なので、一部の実施形態のプロセス１２００は、（１２０５において）レンジング演算が失敗するたびに新しい共有シークレットを共有する。一部の実施形態は、２回以上のレンジング演算に共有シークレットを使用することを可能にするが、これにより、攻撃者は、ノンスを捕捉し、ノンスをリプレイしてデバイスが実際よりも近くにあるとデバイスが信じるようにだますことができるようになる。
【０１３２】
プロセス１２００は、（１２２０において）信頼できるデバイスのノンスが有効であると判定し、プロセス１２００は、（１２２５において）目標ノンスを生成する。目標ノンスにより、信頼できるデバイスは、（例えば、同一のノンスを生成したので）生成されたノンスが目標デバイスに由来することを検証できるようになる。１２３０において、プロセス１２００は、生成した目標ノンスを信頼できるデバイスに送信し、送信時刻（Ｔ３）を記録する。次いで、プロセス１２００は、（１２３５において）サンプル距離測定値を記録する。次いで、プロセス１２００は、終了する。
【０１３３】
一部の実施形態では、複数のサンプル距離測定値を収集するために、プロセスを複数回繰り返す。一部の実施形態のプロセス１１００及び１２００は、各サンプル距離測定値について新たな共有シークレットを生成するのに対し、他の実施形態では、全てのサンプル距離測定値に対して同一の共有シークレットを使用し、各サンプルについて、新たなキー及びノンスは導出されない。次いで、図１５を参照して以下に説明するように、収集されたサンプル測定値を使用して、２つのデバイスが要求されるレンジ内にあるかどうかを判定する。
【０１３４】
Ｂ．デュアルバンドレンジング
一部の実施形態では、レンジング演算は、複数の段階で実行される。例えば、一部の実施形態のデバイスは、複数の帯域の周波数スペクトルで通信することができるハードウェアを有する。一部のそのような実施形態では、（例えば、所要電力に起因して）低周波数帯域を使用することが望ましいが、低周波数帯域は、信頼できるデバイスが目標デバイスの近くにあるかどうかを判定するために要求される必要な精度を提供することが可能でないことがある。異なる帯域は、異なる閾値距離に異なる最小閾値分解能差を提供し得る。
【０１３５】
図１３は、デバイスからのプライマリ閾値値距離及びセカンダリ閾値距離の例を示している。この図は、アンロックすべき目標デバイス１３０５を示している。この図は、デュアルバンドレンジング演算に使用される異なる距離を示すために使用され、図１４を参照して説明される。図１４は、複数の周波数帯域でレンジング演算を実行するためのプロセスを概念的に示している。
【０１３６】
プロセス１４００は、（１４０５において）第１の低周波数帯域でレンジング演算を実行することによって始まる。低周波数帯域は、（１４１０において）信頼できるデバイスが（例えば、デバイスが互いに必要な近接度にあるかどうかを判定する使用されるプライマリ閾値距離ではなく）セカンダリ閾値距離１３１５内にあるかどうかを判定するために使用され得るが、信頼できるデバイスがセカンダリ閾値距離１３１５内のどこにあるかを具体的に見分けなくてもよい。一部の実施形態のレンジング演算は、上記の演算と同様であるが、他のデバイスがプライマリ閾値距離１３１０内にあるかどうかを未だ判定できないので、プロセス１４００は、デバイスを未だアンロックしない。
【０１３７】
一部の実施形態では、低周波数帯域で実行されるレンジング演算は、上記の演算と同様であるが、他の実施形態では、低周波数帯域は、高周波数帯域とは異なるレンジング演算を使用する。一部の実施形態の予備レンジング演算は、無線プロトコル標準の一部として利用可能である。例えば、低周波数帯域のレンジング演算は、デバイスがセカンダリ閾値距離１３１５内にあると判定するために、受信信号強度インジケータ（received signal strength indicator：ＲＳＳＩ）を使用する。ＲＳＳＩが信号強度を使用すると、距離測定値は不正確になる。しかし、ＲＳＳＩは、正規の信号を増幅して、デバイスが互いに対して本当にあるよりも近くに見えるようにする成りすまし攻撃に対して脆弱なことがある。ＲＳＳＩは、ノンスの交換よりもセキュア性が乏しいが、同時に、実装をより単純にし、消費電力を少なくもする。一部の実施形態では、よりセキュアなセカンダリレンジング演算を実行すべきかどうかを判定するために、セキュア性が乏しい予備レンジング演算が使用される。
【０１３８】
（１４１０において）他のデバイスが第１の（セカンダリ）閾値距離内にはないとプロセス１４００が判定したとき、プロセス１４００が終了する。（１４１０において）他のデバイスがセカンダリ閾値距離内にあるとプロセス１４００が判定したとき、プロセス１４００は、（１４１５において）第２の周波数帯域で、（図９〜図１２を参照して上述したような）２回目のより正確でセキュアなレンジング演算を実行する。一部の実施形態の第２の周波数帯域は、デバイスがプライマリ閾値距離内にあるかどうかを（１４２０において）判定するのに必須の精度を提供する高周波数帯域である。一部の実施形態では、セカンダリ閾値距離１３１５及びプライマリ閾値距離１３１０は、異なる帯域の周波数に基づいて判定される。
【０１３９】
（１４２０において）他のデバイスがプライマリ閾値距離内にはないとプロセス１４００が判定したとき、プロセス１４００が終了する。（１４２０において）他のデバイスがプライマリ閾値距離内にあるとプロセス１４００が判定したとき、プロセス１４００は、上記の例のように、保護チャネルを介してアンロックメッセージを送信する。次いで、プロセス１４００は、終了する。このようにすると、一部の実施形態のデバイスは、セキュアなレンジング情報を使用して、信頼できるデバイスが目標デバイスをアンロックできるようにする前に、信頼されたデバイス及び目標デバイスが互いの指定レンジ内にあるかどうかを判定する。デバイスが特定の近接度内にあるかどうかを実際に算出するプロセスの例について以下に説明する。
【０１４０】
Ｃ．近接度算出
一部の実施形態では、信頼できるデバイス及び目標デバイスは、デバイス間で交換されるレンジングデータのセットに基づいて、別のデバイスが特定のレンジ又は近接度内にあるかどうかを判定する。図１５は、メッセージタイムスタンプ（上述のように導出チャネル上で交換されるタイムスタンプ）のセットに基づいて、デバイスが互いの閾値距離内にあるかどうかを判定するプロセスを概念的に示している。一部の実施形態では、プロセス１５００は、セキュリティシフトプロセス中に、目標デバイスと信頼できるデバイスの両方によって実行される。
【０１４１】
プロセス１５００は、（１５０５において）ノンスをレンジングするために送受信されたタイムスタンプを記録する。図１１及び図１２を参照して、ノンスを送受信し、送受信された時刻のタイムスタンプを記録するプロセスについて説明する。
【０１４２】
プロセス１５００は、（１５１０において）いつノンスが送受信されたかについてのタイムスタンプを他のデバイスと交換する。例えば、上記例では、信頼できるデバイスは、第１のノンスを送信した時刻及び第２のノンスを受信した時刻を送信し、目標デバイスは、第１のノンスを受信した時刻及び第２のノンスを送信した時刻を送信する。一部の実施形態では、送受信されたタイムスタンプは、（例えば、導出キーを用いて）レンジングチャネル上で暗号化される。
【０１４３】
１５１５において、プロセス１５００は、タイムスタンプが、レンジング演算のセキュリティポリシーのために設定された時間的制約のセット内となるかどうかを判定する。例えば、一部の実施形態では、プロセス１５００は、（１５１５において）第１のノンスの受信と第２のノンスの送信との間の時間が許容時間範囲内となるかどうかを判定する。ノンスの受信と送信との間の許容時間範囲を制約することによって、デバイスは、デバイスのクロックシステムにおけるドリフトを利用しようと試み得るクロックドリフト攻撃を防止することができる。
【０１４４】
プロセス１５００は、（１５１５において）タイムスタンプが指定された時間的制約内に適合しないと判定すると、以下に説明する次のステップ１５４５に進む。（１５１５において）タイムスタンプが指定された時間的制約内に適合するとプロセス１５００が判定したとき、プロセス１５００は、（１５２０において）デバイス間で送信されるノンスの送信時刻と受信時刻との間の時間範囲を算出する。算出された範囲は、ノンスがデバイス間を移動するのに必要な時間量を示す。一部の実施形態では、いくつかのサンプル距離測定値は、距離測定値のうちのいずれかを算出する前に捕捉される。
【０１４５】
１５２５において、プロセス１５００は、より多くのサンプルを捕捉すべきかどうかを判定する。（１５２５において）より多くのサンプルが必要であるとプロセス１５００が判定したとき、プロセスは、ステップ１５０５に戻って、別のサンプル距離測定値を捕捉するために別のレンジング演算を実行する。次いで、プロセス１５００は、（１５３０において）サンプルレンジング演算からサンプル距離測定値（又はタイムスタンプ）を解析して、デバイスが特定のレンジ内にあるかどうかを判定する。一部の実施形態の解析は、図１０のレンジ算出部１０１８を参照して説明されたような算出に基づく。
【０１４６】
次いで、プロセス１５００は、（１５３５において）サンプル距離測定値の解析が、他のデバイスが閾値距離内にあることを示すかどうかを判定する。一部の実施形態の閾値距離は、ノンスを通信する帯域の周波数に基づいて識別される。例えば、一部の実施形態では、閾値距離は最小分解能距離の倍数である。
【０１４７】
（１５３５において）他のデバイスが閾値距離内にはないとプロセス１５００が判定したとき、プロセス１５００は、（１５４５において）デバイスが所望のレンジ内にはない可能性があると判定し、終了する。
【０１４８】
（１５３５において）他のデバイスが閾値距離内にあるとプロセス１５００が判定したとき、プロセス１５００は、（１５４０において）デバイスが特定のレンジ内にあることを確立し、プロセス１５００は、次いで終了する。
【０１４９】
上記のように、デバイスがレンジ内にあると判定すると、デバイスは、認証情報情報（例えば、アンロックキー、シークレット等）を交換することができる。一部の実施形態では、信頼できるデバイスをセキュアに使用して目標デバイスのセキュリティ状態を修正するために、セキュリティプロトコルの他の側面に関連してセキュアなレンジングが使用される。
【０１５０】
ＩＶ．電子システム
上述の機能及びアプリケーションのうちの多くは、コンピュータ可読記憶媒体（コンピュータ可読媒体とも称される）上に記録される命令のセットとして指定される、ソフトウェアプロセスとして実装される。これらの命令が、１つ以上の計算ユニット又は処理ユニット（単数又は複数）（例えば、１つ以上のプロセッサ、プロセッサのコア、又は他の処理ユニット）によって実行される場合、それらの命令は、処理ユニット（単数又は複数）に、それらの命令で指示されるアクションを実行させる。コンピュータ可読媒体の例としては、ＣＤ−ＲＯＭ、フラッシュドライブ、ランダムアクセスメモリ（ＲＡＭ）チップ、ハードドライブ、消去可能プログラム可能な読出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）などが挙げられるが、これらに限定されない。コンピュータ可読媒体は、無線で、若しくは有線接続を介して伝達される、搬送波及び電子信号を含まない。
【０１５１】
本明細書では、用語「ソフトウェア」は、プロセッサによって処理するためにメモリ内に読み込むことが可能な、読み出し専用メモリ内に存在するファームウェア、又は磁気記憶装置内に記憶されたアプリケーションを含むものとする。また、一部の実施形態では、複数のソフトウェア発明は、別個のソフトウェア発明のまま維持しつつ、より大きいプログラムの下位区分として実装することもできる。一部の実施形態では、複数のソフトウェア発明はまた、個別のプログラムとして実装することもできる。最後に、本明細書で説明されるソフトウェア発明を一体となって実装する、個別のプログラムのいずれの組み合わせも、本発明の範囲内である。一部の実施形態では、ソフトウェアプログラムは、１つ以上の電子システムで動作するようにインストールされる場合、そのソフトウェアプログラムの動作を実行及び遂行する、１つ以上の特定のマシン実装を定義する。
【０１５２】
図１６は、本発明の一部の実施形態が実施される電子システム１６００の別の例を概念的に示す。電子システム１６００は、コンピュータ（例えば、デスクトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータ等）、電話、ＰＤＡ、又は他の種類の電子デバイス若しくはコンピューティングデバイスでよい。そのような電子システムは、様々な種類のコンピュータ可読媒体、及び様々な他の種類のコンピュータ可読媒体のためのインターフェースを含む。電子システム１６００は、バス１６０５、処理ユニット（単数又は複数）１６１０、グラフィック処理ユニット（ＧＰＵ）１６１５、システムメモリ１６２０、ネットワーク１６２５、読み出し専用メモリ１６３０、永久記憶装置１６３５、入力デバイス１６４０、及び出力デバイス１６４５を含む。
【０１５３】
バス１６０５は、電子システム１６００の多数の内部デバイスを通信可能に接続する全てのシステム、周辺機器、及びチップセットバスを集合的に表す。例えば、バス１６０５は、処理ユニット（単数又は複数）１６１０を、読み出し専用メモリ１６３０、ＧＰＵ１６１５、システムメモリ１６２０、及び永久記憶装置１６３５と通信可能に接続する。
【０１５４】
これらの様々なメモリユニットから、処理ユニット（単数又は複数）１６１０は、本発明のプロセスを実行するために、実行すべき命令及び処理すべきデータを取得する。この処理ユニット（単数又は複数）は、異なる実施形態では、シングルプロセッサ又はマルチコアプロセッサとすることができる。一部の命令は、ＧＰＵ１６１５に渡され、実行される。ＧＰＵ１６１５は、処理ユニット（単数又は複数）１６１０によって提供される、様々な計算をオフロードするか、又は画像処理を補完することができる。一部の実施形態では、そのような機能性は、ＣｏｒｅＩｍａｇｅのカーネルシェーディング言語を使用して提供することができる。
【０１５５】
読み出し専用メモリ（ＲＯＭ）１６３０は、処理ユニット（単数又は複数）１６１０及び電子システムの他のモジュールによって必要とされる静的データ及び命令を記憶する。一方で、永久記憶装置１６３５は、読み出し及び書き込みメモリデバイスである。このデバイスは、電子システム１６００がオフのときであっても、命令及びデータを記憶する不揮発性メモリユニットである。本発明の一部の実施形態は、永久記憶装置１６３５として、大容量記憶デバイス（磁気ディスク若しくは光ディスク、及びその対応するディスクドライブなど）を使用する。
【０１５６】
他の実施形態は、永久記憶装置として、リムーバブル記憶装置（フロッピディスク、フラッシュメモリ装置など、及びその対応するドライブ）を使用する。永久記憶装置１６３５と同様に、システムメモリ１６２０は、読み出し及び書き込みメモリデバイスである。しかしながら、記憶デバイス１６３５とは異なり、システムメモリ１６２０は、ランダムアクセスメモリ等の、揮発性の読み出し及び書き込みメモリである。システムメモリ１６２０は、実行時にプロセッサが必要とする、命令及びデータのうちの一部を記憶する。一部の実施形態では、本発明のプロセスは、システムメモリ１６２０、永久記憶装置１６３５、及び／又は読み出し専用メモリ１６３０内に記憶される。例えば、一部の実施形態によれば、様々なメモリユニットは、マルチメディアクリップを処理する命令を含む。これらの様々なメモリユニットから、処理ユニット（単数又は複数）１６１０は、一部の実施形態のプロセスを実行するために実行する命令及び処理するデータを取り出す。
【０１５７】
バス１６０５はまた、入力デバイス１６４０及び出力デバイス１６４５に接続する。入力デバイス１６４０により、ユーザは、この電子システムに対して、情報を通信し、コマンドを選択することが可能となる。入力デバイス１６４０としては、英数字キーボード及びポインティングデバイス（「カーソル制御デバイス」とも称される）、カメラ（例えば、ウェブカメラ）、音声コマンドを受信するためのマイクロホン又は同様のデバイスなどが挙げられる。出力デバイス１６４５は、この電子システムによって生成された画像を表示するか、又は他の方式でデータを出力する。出力デバイス１６４５には、プリンタ、陰極線管（ＣＲＴ）又は液晶ディスプレイ（ＬＣＤ）などのディスプレイデバイス、並びにスピーカ又は同様のオーディオ出力デバイスが挙げられる。一部の実施形態には、入力デバイス及び出力デバイスの両方として機能するタッチスクリーンなどの装置を含む。
【０１５８】
最後に、図１６に示したとおり、バス１６０５はまた、ネットワークアダプタ（図示せず）を通じて、電子システム１６００をネットワーク１６２５にも結合する。このようにして、コンピュータは、コンピュータのネットワーク（ローカルエリアネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ」）、若しくはイントラネットなど）の一部、又はインターネットなどの複数のネットワークのネットワークであり得る。電子システム１６００のいずれか又は全ての構成要素を、本発明と共に使用することができる。
【０１５９】
一部の実施形態は、マイクロプロセッサ、機械可読若しくはコンピュータ可読媒体（あるいは、コンピュータ可読記憶媒体、機械可読媒体、又は機械可読記憶媒体とも称される）内にコンピュータプログラム命令を記憶する記憶装置及びメモリなどの、電子構成要素を含む。そのようなコンピュータ可読媒体のいくつかの例には、ＲＡＭ、ＲＯＭ、読み出し専用コンパクトディスク（ＣＤ−ＲＯＭ）、追記型コンパクトディスク（ＣＤ−Ｒ）、書き換え可能コンパクトディスク（ＣＤ−ＲＷ）、読み出し専用多目的ディスク（例えば、ＤＶＤ−ＲＯＭ、２層ＤＶＤ−ＲＯＭ）、様々な記録可能／書き換え可能ＤＶＤ（例えば、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷなど）、フラッシュメモリ（例えば、ＳＤカード、ミニＳＤカード、マイクロＳＤカードなど）、磁気及び／又はソリッドステートハードディスク、読み出し専用記録可能Ｂｌｕ−Ｒａｙ（登録商標）ディスク、超高密度光ディスク、任意の他の光学又は磁気メディア、及びフロッピディスクが挙げられる。コンピュータ可読媒体は、少なくとも１つの処理ユニットによって実行可能であり、かつ様々な操作を実行する命令セットを含む、コンピュータプログラムを記憶することができる。コンピュータプログラム又はコンピュータコードの例としては、コンパイラによって作成されるような機械コード、及び、インタープリタを使用して、コンピュータ、電子構成要素、若しくはマイクロプロセッサによって実行される高レベルコードを含むファイルが挙げられる。
【０１６０】
上記の考察は、主に、ソフトウェアを実行するマイクロプロセッサ又はマルチコアプロセッサに言及しているが、一部の実施形態は、特定用途向け集積回路（ＡＳＩＣ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの、１つ以上の集積回路によって実行される。一部の実施形態では、そのような集積回路は、その回路自体に記憶されている命令を実行する。更には、一部の実施形態は、プログラマブルロジックデバイス（ＰＬＤ）、ＲＯＭ、又はＲＡＭデバイス内に記憶されたソフトウェアを実行する。
【０１６１】
本出願の本明細書及びいずれかの特許請求の範囲で使用されるとき、用語「コンピュータ」、「サーバ」、「プロセッサ」、及び「メモリ」は全て、電子デバイス又は他の技術装置を指す。これらの用語は、人又は人のグループを除外する。本明細書の目的上、用語「表示」又は「表示すること」は、電子デバイス上に表示することを意味する。本出願の本明細書及びいずれかの特許請求の範囲で使用されるとき、用語「コンピュータ可読媒体」及び「機械可読媒体」は、コンピュータによって読み出し可能な形式で情報を記憶する、有形の物理的実体に完全に限定される。これらの用語は、あらゆる無線信号、有線でダウンロードされる信号、及びあらゆる他の一過性の信号を除外する。
【０１６２】
本発明は、数多くの特定の詳細を参照して説明されているが、当業者は、本発明の趣旨から逸脱することなく、他の特定の形式で本発明を具体化することができる点を認識するであろう。更に、（図１、図３、図４、図７、図１１、図１２、図１４、及び図１５を含めた）いくつかの図は、プロセスを概念的に示す。これらのプロセスの具体的な操作は、図示及び説明された厳密な順序では、実行されない場合がある。特定の動作は、連続した一連の動作としては実行されず、異なる特定の動作は、異なる実施形態で実行できる。更に、このプロセスは、いくつかのサブプロセスを使用して、又はより大きいマクロプロセスの一部として、実施することが可能であろう。したがって、本発明は、前述の例示的な詳細によって限定されるものではなく、むしろ、添付の特許請求の範囲によって定義されるものであることが、当業者には理解されるであろう。
【図１】
2019521425.tif 000003
【図２】
2019521425.tif 000004
【図３】
2019521425.tif 000005
【図４】
2019521425.tif 000006
【図５】
2019521425.tif 000007
【図６】
2019521425.tif 000008
【図７】
2019521425.tif 000009
【図８】
2019521425.tif 000010
【図９】
2019521425.tif 000011
【図１０Ａ】
2019521425.tif 000012
【図１０Ｂ】
2019521425.tif 000013
【図１１】
2019521425.tif 000014
【図１２】
2019521425.tif 000015
【図１３】
2019521425.tif 000016
【図１４】
2019521425.tif 000017
【図１５】
2019521425.tif 000018
【図１６】
2019521425.tif 000019
【手続補正書】
【提出日】平成30年4月12日(2018.4.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のデバイスが、第２のデバイスを用いて、前記第１のデバイスと前記第２のデバイスとの間の少なくとも１つの距離測定値を計算するための少なくとも１回のレンジング演算を実行することと、
前記少なくとも１つの距離測定値が基準セットを満たすかどうかを判定することと、
前記少なくとも１つの距離測定値が前記基準セットを満たすとき、前記第２のデバイスに認証情報を送信して、前記第２のデバイスにおけるセキュリティ状態を修正することであって、前記認証情報は、前記第２のデバイスから前記第１のデバイスによって予め受信済みである、ことと、
を含む、方法。
【請求項２】
前記セキュリティ状態を修正することは、前記第２のデバイスをロック状態からアンロック状態にすることを含む、請求項１に記載の方法。
【請求項３】
前記セキュリティ状態を修正することは、前記第２のデバイスにおいて実行すべき制限付き動作のセットを認証することを含む、請求項１に記載の方法。
【請求項４】
前記少なくとも１つのレンジング演算を実行することは、
前記第１のデバイスと前記第２のデバイスとの間でコードを交換することであって、前記コードの各々は、前記第１のデバイスと前記第２のデバイスとの間で予め共有された共有シークレットから導出される、ことと、
前記コードを受信すると、前記コードの各々を検証することと、
前記コードの送受信に対応するタイムスタンプを識別することと、
前記識別されたタイムスタンプからサンプル距離測定値を計算することと、
を含む、請求項１に記載の方法。
【請求項５】
前記第２のデバイスから、前記第２のデバイスにおける前記セキュリティ状態を修正する要求を受信することを更に含む、請求項１に記載の方法。
【請求項６】
前記第２のデバイスは、前記第２のデバイスにおいてユーザ入力を受信すると前記要求を送信する、請求項５に記載の方法。
【請求項７】
前記第２のデバイスは、前記第１のデバイスが前記第２のデバイスから特定の距離にあることを検出すると前記要求を送信する、請求項５に記載の方法。
【請求項８】
前記第１のデバイスがアンロックモードにあるときには、前記第１のデバイスが前記認証情報を前記第２のデバイスに送信すべきであると判定することを更に含む、請求項１に記載の方法。
【請求項９】
前記第１のデバイスにおいてユーザ入力を受信すると、前記第１のデバイスが前記第２のデバイスに前記認証情報を送信すべきであると判定することを更に含む、請求項１に記載の方法。
【請求項１０】
前記少なくとも１つの距離測定値が前記基準セットを満たすかどうかを判定することは、
前記少なくとも１つの距離測定値に基づいて、前記第１のデバイスが前記第２のデバイスの閾値距離内にある信頼度レベルを算出することと、
前記信頼度レベルが閾値を超えるときに、前記少なくとも１つの距離測定値が前記基準セットを満たすと判定することと、
を含む、請求項１に記載の方法。
【請求項１１】
前記少なくとも１つの距離測定値が複数の距離測定値を含み、前記少なくとも１つの距離測定値が前記基準セットを満たすかどうかを判定することは、
前記複数の距離測定値に基づいて、合成距離測定値を算出することと、
前記合成距離測定値が閾値距離内にあるときに、前記複数の距離測定値が前記基準セットを満たすと判定することと、
を含む、請求項１に記載の方法。
【請求項１２】
前記第１のデバイスは、前記第２のデバイスを用いた認証プロセスを通じて信頼できるデバイスとして確立され、前記第１のデバイスは、前記認証プロセス中に、前記第２のデバイスから前記認証情報を受信する、請求項１に記載の方法。
【請求項１３】
前記第１のデバイスと前記第２のデバイスとの間に、第１のチャネル及び異なる第２のチャネルを確立することを更に含み、前記認証情報は、前記第１のチャネル上で送信され、前記少なくとも１つのレンジング演算は、前記第２のチャネル上で実行される、請求項１に記載の方法。
【請求項１４】
前記第１のチャネルは第１のキーを用いて暗号化され、前記第２のチャネルは異なる第２のキーを用いて暗号化される、請求項１３に記載の方法。
【請求項１５】
前記第２のキーは、前記第１のキーから導出される、請求項１４に記載の方法。
【請求項１６】
前記第１のチャネルは第１の無線プロトコルを使用し、前記第２のチャネルは異なる第２の無線プロトコルを使用する、請求項１３に記載の方法。
【請求項１７】
前記第１の無線プロトコルはＢｌｕｅｔｏｏｔｈ（登録商標）プロトコルであり、前記第２の無線プロトコルはＷｉ−Ｆｉ（登録商標）プロトコルである、請求項１６に記載の方法。
【請求項１８】
プロキシデバイスについて、目標デバイスと信頼できるデバイスとの間に通信接続を確立するための方法であって、
前記信頼できるデバイスの可用性を通知することと、
前記通知された可用性に応じて、前記目標デバイスからの第１の要求を受信することと、
前記目標デバイスから前記第１の要求を受信すると、第２の要求を前記信頼できるデバイスに送信することであって、前記信頼できるデバイスは、前記第２の要求に基づいて前記通信接続を確立する、ことと、
を含む、方法。
【請求項１９】
前記目標デバイスと前記信頼できるデバイスとの間の前記通信接続は、認証情報を交換して前記目標デバイスのセキュリティ状態を修正する前に、レンジング情報を交換して、前記目標デバイス及び前記信頼できるデバイスが特定のレンジ内にあるかどうかを判定するためのものである、請求項１８に記載の方法。
【請求項２０】
前記プロキシデバイスは、第１の無線プロトコルを使用して、前記信頼できるデバイスの前記可用性を通知し、前記目標デバイスと前記信頼できるデバイスとの間に確立された前記通信接続は、異なる第２の無線プロトコルを使用する、請求項１８に記載の方法。
【請求項２１】
前記信頼できるデバイスに対する前記第２の要求は、前記信頼できるデバイスが自身の可用性を前記目標デバイスに通知する要求を含む、請求項２０に記載の方法。
【請求項２２】
前記プロキシデバイスは、前記第１の無線プロトコルを使用して、前記信頼できるデバイスとの接続を維持する、請求項２０に記載の方法。
【請求項２３】
前記可用性を通知することは、前記目標デバイスの識別子をブロードキャストすることを含む、請求項１８に記載の方法。
【請求項２４】
プログラムを記憶する非一時的可読媒体であって、前記プログラムは、目標デバイスの処理ユニットのセットによって実行されたときに、前記目標デバイスと信頼できるデバイスとの間に通信接続を確立し、前記プログラムは、
信頼できるデバイスの可用性をスキャンし、
前記スキャンに基づいて、特定の信頼できるデバイスを識別し、
前記特定の信頼できるデバイスに対する要求を、前記特定の信頼できるデバイスに要求を送信するプロキシデバイスに送信し、
前記特定の信頼できるデバイスとの通信接続を確立する、
ための命令セットを含む、非一時的可読媒体。
【請求項２５】
スキャンし、送信し、交換するための前記命令セットは、第１の無線プロトコルを使用して実行され、前記通信接続は、異なる第２の無線プロトコルを使用するために確立される、請求項２４に記載の非一時的可読媒体。
【請求項２６】
前記要求を受信すると、前記プロキシデバイスは、前記特定の信頼できるデバイスに自身の可用性のブロードキャストを開始するように命令する、請求項２４に記載の非一時的可読媒体。
【請求項２７】
前記プロキシデバイスはロック状態にあり、前記信頼できるデバイスはアンロック状態にある、請求項２４に記載の非一時的機械可読媒体。
【請求項２８】
前記通信接続を確立するための前記命令セットは、前記特定の信頼できるデバイスとブートストラップ情報を交換するための命令セットを含み、前記ブートストラップ情報は、周波数スペクトルの、前記通信接続のための部分を識別する、請求項２４に記載の非一時的可読媒体。
【請求項２９】
前記プログラムが、
前記目標デバイスにおけるセキュリティ状態の変更を開始するための入力を受信し、
前記確立された通信接続を使用してレンジング演算のセットを実行して、前記目標デバイスが認証情報のセットを受信できるようにし、
前記認証情報のセットを使用して、前記目標デバイスにおける前記セキュリティ状態を変更する、
ための命令セットを更に含む、請求項２４に記載の非一時的可読媒体。
【請求項３０】
前記セキュリティ状態の前記変更は、前記目標デバイスをロック状態からアンロック状態に移行させる、請求項２９に記載の非一時的機械可読媒体。
【請求項３１】
前記目標デバイスは、前記レンジング演算のセットに基づいて、前記信頼できるデバイスが特定の閾値距離内にあると判定されたときに、前記認証情報のセットを受信することが可能になる、請求項２９に記載の非一時的機械可読媒体。
【請求項３２】
前記信頼できるデバイスは、前記レンジング演算のセットに基づいて、前記目標デバイスが特定の閾値距離内にあると判定されたときに、前記認証情報のセットを送信する、請求項２９に記載の非一時的機械可読媒体。
【手続補正書】
【提出日】平成30年11月29日(2018.11.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のデバイスが、第２のデバイスを用いて、前記第１のデバイスと前記第２のデバイスとの間の少なくとも１つの距離測定値を計算するための少なくとも１回のレンジング演算を実行することと、
前記少なくとも１つの距離測定値が基準セットを満たすかどうかを判定することと、
前記少なくとも１つの距離測定値が前記基準セットを満たすとき、前記第２のデバイスに認証情報を送信して、前記第２のデバイスにおけるセキュリティ状態を修正することであって、前記認証情報は、前記第２のデバイスから前記第１のデバイスによって予め受信済みである、ことと、
を含む、方法。
【請求項２】
前記セキュリティ状態を修正することは、前記第２のデバイスをロック状態からアンロック状態にすること、又は前記第２のデバイスにおいて実行すべき制限付き動作のセットを認証することのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのレンジング演算を実行することは、
前記第１のデバイスと前記第２のデバイスとの間でコードを交換することであって、前記コードの各々は、前記第１のデバイスと前記第２のデバイスとの間で予め共有された共有シークレットから導出される、ことと、
前記コードを受信すると、前記コードの各々を検証することと、
前記コードの送受信に対応するタイムスタンプを識別することと、
前記識別されたタイムスタンプからサンプル距離測定値を計算することと、
を含む、請求項１又は２に記載の方法。
【請求項４】
前記第２のデバイスは、前記第２のデバイスにおいてユーザ入力を受信すること、又は前記第１のデバイスが前記第２のデバイスから特定の距離にあることを検出することの少なくとも１つをすると、前記第２のデバイスにおける前記セキュリティ状態を修正する要求を送信する、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記第１のデバイスがアンロックモードにあるときに、及び／又は前記第１のデバイスにおいてユーザ入力を受信すると、前記第１のデバイスが前記第２のデバイスに前記認証情報を送信すべきであると判定することを更に含む、請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記少なくとも１つの距離測定値が前記基準セットを満たすかどうかを判定することは、
前記少なくとも１つの距離測定値に基づいて、前記第１のデバイスが前記第２のデバイスの閾値距離内にある信頼度レベルを算出することと、
前記信頼度レベルが閾値を超えるときに、前記少なくとも１つの距離測定値が前記基準セットを満たすと判定することと、
を含む、請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記少なくとも１つの距離測定値が複数の距離測定値を含み、前記少なくとも１つの距離測定値が前記基準セットを満たすかどうかを判定することは、
前記複数の距離測定値に基づいて、合成距離測定値を算出することと、
前記合成距離測定値が閾値距離内にあるときに、前記複数の距離測定値が前記基準セットを満たすと判定することと、
を含む、請求項１から５のいずれか１項に記載の方法。
【請求項８】
前記第１のデバイスは、前記第２のデバイスを用いた認証プロセスを通じて信頼できるデバイスとして確立され、前記第１のデバイスは、前記認証プロセス中に、前記第２のデバイスから前記認証情報を受信する、請求項１から７のいずれか１項に記載の方法。
【請求項９】
前記第１のデバイスと前記第２のデバイスとの間に、第１のチャネル及び異なる第２のチャネルを確立することを更に含み、前記認証情報は前記第１のチャネル上で送信され、前記少なくとも１つのレンジング演算は前記第２のチャネル上で実行され、前記第１のチャネルは第１のキーを用いて暗号化され、かつ、前記第２のチャネルは異なる第２のキーを用いて暗号化される、及び／又は前記第２のキーは前記第１のキーから導出される、請求項１から８のいずれか１項に記載の方法。
【請求項１０】
前記第１のチャネルは第１の無線プロトコルを使用し、前記第２のチャネルは異なる第２の無線プロトコルを使用する、請求項９に記載の方法。
【請求項１１】
プロキシデバイスについて、目標デバイスと信頼できるデバイスとの間に通信接続を確立するための方法であって、
前記信頼できるデバイスの可用性を通知することと、
前記通知された可用性に応じて、前記目標デバイスからの第１の要求を受信することと、
前記目標デバイスから前記第１の要求を受信すると、第２の要求を前記信頼できるデバイスに送信することであって、前記信頼できるデバイスは、前記第２の要求に基づいて前記通信接続を確立し、前記目標デバイスと前記信頼できるデバイスとの間の前記通信接続は、認証情報を交換して前記目標デバイスのセキュリティ状態を修正する前に、レンジング情報を交換して、前記目標デバイス及び前記信頼できるデバイスが特定のレンジ内にあるかどうかを判定するためのものである、ことと、
を含む、方法。
【請求項１２】
前記プロキシデバイスは、第１の無線プロトコルを使用して、前記信頼できるデバイスの前記可用性を通知し、前記目標デバイスと前記信頼できるデバイスとの間に確立された前記通信接続は、異なる第２の無線プロトコルを使用する、請求項１１に記載の方法。
【請求項１３】
前記信頼できるデバイスに対する前記第２の要求は、前記信頼できるデバイスが自身の可用性を前記目標デバイスに通知する要求を含む、請求項１２に記載の方法。
【請求項１４】
前記プロキシデバイスは、前記第１の無線プロトコルを使用して、前記信頼できるデバイスとの接続を維持する、請求項１２又は１３に記載の方法。
【請求項１５】
前記可用性を通知することは、前記目標デバイスの識別子をブロードキャストすることを含む、請求項１２から１４のいずれか１項に記載の方法。
【請求項１６】
目標デバイスの処理ユニットのセットによって実行された時に、前記目標デバイスと信頼できるデバイスとの間に通信接続を確立するプログラムであって、前記プログラムは、
信頼できるデバイスの可用性をスキャンし、
前記スキャンに基づいて、特定の信頼できるデバイスを識別し、
前記特定の信頼できるデバイスに対する要求を、前記特定の信頼できるデバイスに要求を送信するプロキシデバイスに送信し、
前記特定の信頼できるデバイスとの通信接続を確立する、ための命令セットを含み、前記通信接続は、認証情報を交換して前記目標デバイスのセキュリティ状態を修正する前に、レンジング情報を交換して、前記目標デバイス及び前記信頼できるデバイスが特定のレンジ内にあるかどうかを判定するためのものである、プログラム。
【請求項１７】
スキャンし、送信し、交換するための前記命令セットは、第１の無線プロトコルを使用して実行され、前記通信接続は、異なる第２の無線プロトコルを使用するために確立される、請求項１６に記載のプログラム。
【請求項１８】
前記要求を受信すると、前記プロキシデバイスは、前記特定の信頼できるデバイスに自身の可用性のブロードキャストを開始するように命令する、請求項１６又は１７に記載のプログラム。
【請求項１９】
前記プロキシデバイスはロック状態にあり、前記信頼できるデバイスはアンロック状態にある、請求項１６から１８のいずれか１項に記載のプログラム。
【請求項２０】
前記通信接続を確立するための前記命令セットは、前記特定の信頼できるデバイスとブートストラップ情報を交換するための命令セットを含み、前記ブートストラップ情報は、周波数スペクトルの、前記通信接続のための部分を識別する、請求項１６から１９のいずれか１項に記載のプログラム。
【国際調査報告】
2019521425.tif 000020
2019521425.tif 000021
2019521425.tif 000022
2019521425.tif 000023