JP7213306B2 - 保護レンジ検出を用いたセキュリティ状態の修正 - Google Patents

保護レンジ検出を用いたセキュリティ状態の修正 Download PDF

Info

Publication number
JP7213306B2
JP7213306B2 JP2021109365A JP2021109365A JP7213306B2 JP 7213306 B2 JP7213306 B2 JP 7213306B2 JP 2021109365 A JP2021109365 A JP 2021109365A JP 2021109365 A JP2021109365 A JP 2021109365A JP 7213306 B2 JP7213306 B2 JP 7213306B2
Authority
JP
Japan
Prior art keywords
target device
trusted
ranging
devices
trusted device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021109365A
Other languages
English (en)
Other versions
JP2021168166A (ja
Inventor
ウェイド ベンソン,
マーク, ジェイ. クロフマル,
アレキサンダー, アール. レッドウィス,
ジョン イアロッチ,
ジェラルド, ヴィー. ホーク,
マイケル ブラウワー,
ミッチェル, ディー. アドラー,
ヤニック, エル. シエラ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2021168166A publication Critical patent/JP2021168166A/ja
Application granted granted Critical
Publication of JP7213306B2 publication Critical patent/JP7213306B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/086Access security using security domains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Lock And Its Accessories (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Description

安全性と利便性のバランスを提供するために、信頼できるデバイス(例えば、キーフォブ、モバイルデバイス、ウェアラブルデバイス等)を使用して、目標デバイスをアンロックする(又はセキュリティ状態を修正する)ことができる。例えば、信頼できるデバイスの存在下でロック状態の目標デバイスを自動的にアンロックしても、あるいは、ロック状態の目標デバイスが、信頼できるデバイスからのコマンドを(例えば、ユーザ入力を介して)受け入れて目標デバイスをアンロックしてもよく、ユーザは、アンロックするために目標デバイスと手動で対話する必要性を回避することが可能になる。
多くのこのようなデバイスは、様々な無線プロトコル(例えば、Bluetooth(登録商標)、Wi-Fi(登録商標)等)をアンロックする前に介して互いと通信して、目標デバイスの近接度を検証する。しかし、特に無線プロトコルの場合には、デバイス間の通信は、伝送データを捕捉し、そのような通信に通常使用される暗号化スキームを破壊する必要なく、信頼できるデバイスの近接度に成りすますために伝送データを使用することができる攻撃者の影響を受けやすい。
例えば、いくつかのデバイス又はプロトコルは、信頼できるデバイスの近接度を判定するために、受信信号強度インジケータ(received signal strength indicator:RSSI)を使用する。RSSIがより高いことは、一般に、信頼できるデバイスが特定の位置により近いことを示す。しかし、攻撃者は、信頼できるデバイスの伝送を捕捉し、信号を増幅して、デバイスが互いに対して実際よりも近くにに見えるようにすることができ、攻撃者が目標デバイスをアンロックすることが可能になる。信頼できるデバイスが目標デバイスをアンロックできるようにする前に、信頼できるデバイスのレンジを検出するための、よりセキュアな方法を提供することが望ましい。
本発明の一部の実施形態は、信頼できるデバイスを使用して目標デバイスのセキュリティ状態を修正する(例えば、デバイスをアンロックする)ための方法を提供する。目標デバイスは、アンロックすべきデバイスであり、信頼できるデバイスは、目標デバイスのセキュリティ状態を修正することを認証されたデバイスである。
一部の実施形態の目標デバイス及び信頼できるデバイス(例えば、ラップトップコンピュータ、携帯電話、タブレット等)は、信頼できるデバイスと目標デバイスとの間のサンプル距離測定値を計算するために、レンジング演算を数回実行する。サンプル距離測定値が捕捉されると、信頼できるデバイスは、サンプル距離測定値が特定の基準セットを満たすかどうか(例えば、デバイスが閾値距離内にあるかどうか)を判定し、算出された合成距離測定値が基準セットを満たすときには、目標デバイスとセキュリティトークン(又は他の認証情報)を交換して、目標デバイスにおけるセキュリティ状態を修正する(例えば、アンロックする、支払データを認証する、等)。一部の実施形態では、セキュリティ状態を修正することは、目標デバイスにおいて、制限付き動作のセットを認証すること、又はより高いセキュリティレベルのアクセスを提供することを含む。
一部の実施形態では、信頼できるデバイスは、目標デバイスとの認証(又はペアリング)プロセスを通じて、信頼できるデバイスとして確立される。認証プロセスにより、ユーザは、信頼できるデバイスに、目標デバイスをアンロックする(あるいは、そのセキュリティ状態を修正する)許可を与えることが可能になる。一部の実施形態の信頼できるデバイスは、認証プロセス中に、将来のセッションにおいて目標デバイスのセキュリティ状態を修正するために使用することができるセキュリティトークン又は他の共有シークレットを受信する。
目標デバイスが信頼できるデバイスを信頼すると、信頼できるデバイスを使用して、目標デバイスのセキュリティ状態を修正することができる。一部の実施形態では、セキュリティ状態を修正するためのプロセスは、目標デバイス又は信頼できるデバイスのいずれかによって開始され得る。プロセスを開始するデバイス(信頼できるデバイス又は目標デバイスのいずれか)を開始デバイスと呼び、他方のデバイスを非開始デバイスと呼ぶ。一部の実施形態のプロセスは、ユーザによって(例えば、開始デバイスでの入力を通じて)、又はユーザの黙示的アクションを通じて(例えば、ユーザが非開始デバイスの特定のレンジ内で非開始デバイスを所持する時)、明示的に開始され得る。
一部の実施形態では、非開始デバイス(すなわち、他方のデバイスがプロセスを開始することを待っているデバイス)は、継続的に(又は定期的に)自身の可用性を通知し、他方のデバイスが非開始デバイスを発見できるようにする。目標デバイスのセキュリティ状態を修正すべきであると判定した時(例えば、ユーザ入力を受信すると)、開始デバイスは、非開始デバイスを発見するためにスキャンを実行する。
一部の実施形態では、非開始デバイスが自身の可用性を継続的に通知せずに、非開始デバイスの可用性を通知するためにプロキシデバイスが使用される。そのような実施形態の開始デバイスは、非開始デバイスをスキャンして、(プロキシデバイスの通知を通じて)その可用性を識別する。次いで、開始デバイスは、プロキシデバイスに要求を送信する。一部の実施形態では、プロキシデバイスは次いで、僅かな時間期間にわたって非開始デバイス自身の可用性を通知させる別の要求を非開始デバイスに送信する。次いで、開始デバイスは、非開始デバイスを発見するためにスキャンを実行する。
開始デバイスが、非開始デバイスの通知された可用性を発見すると、開始デバイスは、レンジング接続情報を非開始デバイスと交換する。一部の実施形態では、レンジング接続情報(例えば、デバイス識別子、デバイス状態、ブートストラップ情報等)は、デバイス間にレンジング接続を確立するためのものである。一部の実施形態では、レンジング接続情報は、周波数スペクトルの、デバイスがレンジング接続に使用することができる部分を識別する。一部の実施形態のレンジング接続は、レンジング演算を実行して、デバイスが互いの閾値距離内にあるかどうかを判定するために使用される。
一部の実施形態では、信頼できるデバイスが目標デバイスをアンロックできるようにすべきかどうかを判定するためのセキュリティプロトコルの一部は、レンジング演算(例えば、距離、近接度等を判定すること)のセットに基づく。一部の実施形態の方法は、レンジング(例えば、距離、近接度等)情報を使用して、信頼できるデバイスが目標デバイスをアンロックできるようにする前に、信頼されたデバイス及び目標デバイスが互いの指定レンジ内にあるかどうかを判定する。一部の実施形態では、信頼できるデバイスは、(例えば、ペアリング動作を通じて)目標デバイスと共有シークレットを共有するので、信頼できるデバイスである。
一部の実施形態の共有シークレットは、レンジング演算を保護するために使用される。一部の実施形態では、共有シークレットは、デバイスの隔離された保護エリア(例えば、セキュアエンクレーブプロセッサ(Secure Enclave Processor:SEP)に記憶された高機密データのために使用される高保護キーである。一部の実施形態では、方法は、共有シークレットを直接使用するのではなく、共有シークレットから、レンジング演算に使用できる導出キーを導出する。
一部の実施形態の方法は、保護されていない接続を介してセキュアなシークレット共有動作を実行することによって、デバイス間の共有シークレットを共有する。例えば、一部の実施形態の方法は、デバイス間にセキュアで一時的な共有シークレットを提供するために、Diffie-Hellman交換を使用する。一部の実施形態の共有シークレットを使用すると、デバイス間で共有シークレットのいずれも送信する必要なく、(例えば、導出関数によって)他の共有シークレットが生成される。
他の実施形態では、様々な共有値(例えば、共有シークレット、導出キー、メッセージ等)が、クラウドサービスを介してデバイス間で共有される。一部の実施形態のクラウドサービスは、様々なデバイスに関連付けられたユーザアカウントに関連付けられている。次に、一部の実施形態のクラウドサービスは、関連するデバイスの異なる共有値を共有するために使用される。
一部の実施形態では、信頼できるデバイスと目標デバイスとの間の距離を判定するために、一部の実施形態の信頼できるデバイスは、メッセージ(又はノンス)をロック状態の目標デバイスと交換し、各デバイスにおいていつメッセージが送受信されたかについてのタイムスタンプを記録する。一部の実施形態では、デバイス間で交換されたメッセージは、新しい値を生成するために使用される異なる鍵導出関数(key derivation function:KDF)を使用して、導出キー(又は共有シークレット)から導出される。一部の実施形態のKDFは、元の値(すなわち、共有シークレット)を明らかにするためには使用できない一方向関数であり、デバイス間で予めメッセージを送信する必要なく、各デバイスが同一のメッセージを生成することが可能になる。一部の実施形態では、メッセージは、特定の帯域の周波数スペクトルで空気を介して送信される較正信号に埋め込まれる。
次いで、デバイスは、メッセージに関する記録されたタイムスタンプを交換する。一部の実施形態では、デバイス間で交換されたタイムスタンプは、(共有シークレットから導出された)導出キーを使用して暗号化され、共有シークレットを直接使用することなく、タイムスタンプに高いセキュリティレベルを提供する。
次に、一部の実施形態のデバイスは、タイムスタンプ使用して、デバイス間の距離を算出することができ、デバイスが互いの所望の近接度内にあるかどうかを判定する。例えば、一部の実施形態では、メッセージは、光速で移動する電波によって空気を介して送信される。一部のそのような実施形態のデバイスは、2つのデバイス間でメッセージが移動するためにどのくらいかかるか(例えば、メッセージの送信と受信との間の時間時間)と光速とに基づいてデバイス間の距離を算出する。
一部の実施形態では、所望の近接度内にデバイスがあることをタイムスタンプが示すことを検証することに加えて、方法は、攻撃者が一方又は両方のデバイスの位置に成りすますことを防止するために他の検証動作もまた実行する。例えば、一部の実施形態では、方法は、目標デバイスにおける第1のメッセージの受信と、目標デバイスからの第2のメッセージの送信との間の時間に制約を与える。制約は、デバイスを実際よりも互いに近くにあるように見せるために、攻撃者がクロックドリフトを利用するリプレイ攻撃を使用することを可能にするには、第1のメッセージの受信と第2のメッセージの送信との間の時間が短すぎることを保証する。
一部の実施形態では、レンジング演算を実行してレンジングデータのいくつかのサンプルを収集し、デバイスの近接度の判定をより正確かつセキュアにすることできる。一部のそのような実施形態では、複数の距離測定値サンプルを統計的に解析して合成距離測定値を生成し、次いで、それを閾値距離と比較する。代替的に又は複合的に、デバイスは、距離測定値のサンプルを解析して、デバイスが閾値距離内にある信頼度レベルを算出する。信頼度レベルが閾値を超えるとき、デバイスは、許容レンジ内にあると見なされる。
方法が、デバイスが互いに所望の近接度内にある(又は、レンジング情報が検証できない)と判定したとき、方法は、目標デバイスをアンロックするために、あるいは目標デバイスのセキュリティ状態を修正するために、(例えば、確立された接続上の保護チャネルを介して)目標デバイスと通信する。一部の実施形態では、方法は、目標デバイスにおいてマスターキーを解読するために使用できるアンロック記録(例えば、シークレット又はキー)を送信することによって、目標デバイスをアンロックする。一部の実施形態のアンロック記録は、目標デバイスによって生成され、信頼できるデバイスを認証して目標デバイスをアンロックするために使用されるプロセス中に、信頼できるデバイスに送信される。
一部の実施形態では、デバイスの可用性を通知及び発見するために使用される初期接続と、レンジング演算に使用されるレンジング接続と、アンロックデータを通信するために使用される接続とは異なる。例えば一部の実施形態では、異なる接続は異なるプロトコル又は異なる通信方法を使用する。例えば、一部の実施形態では、特定の接続上で通信されたデータは、実際には、別の帯域の周波数スペクトル又はネットワーク(例えば、インターネット)を介して送信される。
一部の実施形態では、通信(例えば、要求、レンジング情報等)は、保護チャネルを介して異なる接続上で送信される。一部の実施形態の保護チャネルは、異なる暗号キーを使用して暗号化される。複数の異なるチャネルはそれぞれ、異なる接続上で動作することができ、あるいは、全て単一の接続上で動作してもよい。本出願では、様々な接続が参照されるが、暗号チャネル上で、接続上の通信が保護され得ることを理解されたい。
一部の実施形態の本発明のセキュリティは、一方又は両方のデバイスの位置に成りすまそうとする攻撃者にはメッセージが予測不能であることを必要とする。一部の実施形態では、共有シークレット(及び、共有シークレットから導出された任意の値)は、1回のレンジング演算のためにのみ使用され、したがって、一部の実施形態の方法は、デバイスが所望の近接度内にはない(又は、レンジング情報を検証できない)と判定した時、方法は、共有シークレット及びあらゆる共有値(例えば、ノンス、導出キー等)を破棄し、プロセスを再開する前に、新しい共有シークレットを生成する。
一部の実施形態では、このレンジング演算の複数の段階を行う方法を提供する。レンジング演算を数回実行して正確な距離測定値を生成することに加えて、一部の実施形態の方法は、第1の接続を使用して予備レンジング演算を実行し、第2の接続を使用してセキュアで正確なレンジング演算を実行する。例えば、一部の実施形態では、この方法はハードウェア上の複数の帯域の周波数スペクトル上で行われるデバイスが通信することができる。一部のそのような実施形態では、(例えば、所要電力等に起因して)レンジング演算に、低周波数帯域を使用することが望ましい。しかし、低周波数帯域は、信頼できるデバイスが目標デバイスの近くにあるかどうかを判定するために要求される、必要な精度又はセキュリティを提供することができないことがある。したがって、一部のそのような実施形態の方法は、低周波数帯域を使用して第1のレンジング演算を実行し、方法が、デバイスが低周波数帯域の近接度内にあると判定したときには、方法は、高周波数帯域を使用して第2のレンジング演算を実行して、目標デバイスをアンロックするためにそのデバイスが要求されるレンジ内にあるかどうかを判定する。一部の実施形態では、第1のレンジング演算は、レンジング演算の第2のセットとは異なるレンジング演算を使用する。
以上の概要は、本発明の一部の実施形態を簡潔に紹介するためのものである。本文書で開示される全ての発明主題の、序論又は概要であることを意味するものではない。以下の「発明を実施するための形態」及び「発明を実施するための形態」で参照される「図面」は、この「発明の概要」で説明された実施形態、並びに他の実施形態を、更に説明するものである。したがって、本明細書で述べる全ての実施形態を理解するために、「発明の概要」、「発明を実施するための形態」、及び「図面」の十分な検討が必要とされる。更に、特許請求される主題は、「発明の概要」、「発明を実施するための形態」、及び「図面」での、例示的な詳細によって限定されるものではなく、むしろ、特許請求される主題は、その主題の趣旨から逸脱することなく他の特定の形態で具体化することができるため、添付の特許請求の範囲によって定義されるものである。
本発明の新規の特徴は、添付の特許請求の範囲で説明される。しかしながら、説明のため、本発明のいくつかの実施形態は、以下の図に示される。
信頼できるデバイスが、セキュアなレンジングを使用して目標デバイスのセキュリティ状態を修正するためのプロセスを概念的に示す図である。 信頼できるデバイスを用いたセキュアなレンジングを使用して目標デバイスのセキュリティ状態を修正する例を示す図である。 目標デバイスが信頼できるデバイスとの接続を確立するためのプロセスを概念的に示す図である。 信頼できるデバイスが目標デバイスとの接続を確立するためのプロセスを概念的に示す図である。 信頼できるデバイスとの接続を確立する目標デバイスの例を示す図である。 目標デバイスとの接続を確立する信頼できるデバイスの例を示す図である。 目標デバイスと信頼できるデバイスと間の接続を確立するのを支援するプロキシデバイスのプロセスを概念的に示す図である。 目標デバイスと信頼できるデバイスと間の接続を確立するのを支援するプロキシデバイスの例を示す図である。 信頼できるデバイスから目標デバイスをアンロックするときにセキュアなレンジングを行うためのシーケンス図である。 信頼できるデバイスから目標デバイスをアンロックするときにセキュアなレンジングを行う例を示す図である。 信頼できるデバイスから目標デバイスをアンロックするときにセキュアなレンジングを行う例を示す図である。 サンプル距離測定値を捕捉するためにセキュアなレンジングを行う信頼できるデバイスのプロセスを概念的に示す図である。 サンプル距離測定値を捕捉するために信頼できるデバイスを用いたセキュアなレンジングを使用する目標デバイスのプロセスを概念的に示す図である。 デバイスからのプライマリ閾値距離及びセカンダリ閾値距離の例を示す図である。 複数の周波数帯域でレンジング演算を実行するためのプロセスを概念的に示す図である。 メッセージタイムスタンプのセットに基づいて、デバイスが互いの閾値距離内にあるかどうかを判定するプロセスを概念的に示す図である。 本発明の一部の実施形態が実行される電子システムの例を概念的に示す図である。
本発明の多くの詳細、実施例及び実施形態については、下掲の発明を実施するための形態に縷々記載されている。しかしながら、本発明は、説明されている実施形態に限定されるものではないということ、並びに本発明が具体的詳細及び記載の実施例の一部なしに実施され得るということが当業者には明らかであろう。
本発明の一部の実施形態は、信頼できるデバイスを使用して目標デバイスのセキュリティ状態を修正する(例えば、デバイスをアンロックする)ための方法を提供する。目標デバイスは、アンロックすべきデバイスであり、信頼できるデバイスは、目標デバイスのセキュリティ状態を修正することを認証されたデバイスである。
一部の実施形態の目標デバイス及び信頼できるデバイス(例えば、ラップトップコンピュータ、携帯電話、タブレット等)は、信頼できるデバイスと目標デバイスとの間のサンプル距離測定値を計算するために、レンジング演算を数回実行する。サンプル距離測定値が捕捉されると、信頼できるデバイスは、サンプル距離測定値が特定の基準セットを満たすかどうか(例えば、デバイスが閾値距離内にあるかどうか)を判定し、算出された合成距離測定値が基準セットを満たすときには、目標デバイスとセキュリティトークン(又は他の認証情報)を交換して、目標デバイスにおけるセキュリティ状態を修正する(例えば、アンロックする、支払データを認証する、等)。一部の実施形態では、セキュリティ状態を修正することは、目標デバイスにおいて、制限付き動作のセットを認証すること、又はより高いセキュリティレベルのアクセスを提供することを含む。
一部の実施形態では、信頼できるデバイスは、目標デバイスとの認証(又はペアリング)プロセスを通じて、信頼できるデバイスとして確立される。認証プロセスにより、ユーザは、信頼できるデバイスに、目標デバイスをアンロックする(あるいは、そのセキュリティ状態を修正する)許可を与えることが可能になる。一部の実施形態の信頼できるデバイスは、認証プロセス中に、将来のセッションにおいて目標デバイスのセキュリティ状態を修正するために使用することができるセキュリティトークン又は他の共有シークレットを受信する。
目標デバイスが信頼できるデバイスを信頼すると、信頼できるデバイスを使用して、目標デバイスのセキュリティ状態を修正することができる。一部の実施形態では、セキュリティ状態を修正するためのプロセスは、目標デバイス又は信頼できるデバイスのいずれかによって開始され得る。プロセスを開始するデバイス(信頼できるデバイス又は目標デバイスのいずれか)を開始デバイスと呼び、他方のデバイスを非開始デバイスと呼ぶ。一部の実施形態のプロセスは、ユーザによって(例えば、開始デバイスでの入力を通じて)、明示的に又はユーザの黙示的アクションを通じて(例えば、ユーザが非開始デバイスの特定のレンジ内で非開始デバイスを所持する時)、開始され得る。
一部の実施形態では、非開始デバイス(すなわち、他方のデバイスがプロセスを開始することを待っているデバイス)は、継続的に(又は定期的に)自身の可用性を通知し、他方のデバイスが非開始デバイスを発見できるようにする。目標デバイスのセキュリティ状態を修正すべきであると判定したとき(例えば、ユーザ入力を受信すると)、開始デバイスは、非開始デバイスを発見するためにスキャンを実行する。
一部の実施形態では、非開始デバイスが自身の可用性を継続的に通知せずに、非開始デバイスの可用性を通知するためにプロキシデバイスが使用される。そのような実施形態の開始デバイスは、非開始デバイスをスキャンして、(プロキシデバイスの通知を通じて)その可用性を識別する。次いで、開始デバイスは、プロキシデバイスに要求を送信する。一部の実施形態では、プロキシデバイスは次いで、僅かな時間期間にわたって非開始デバイス自身の可用性を通知させる別の要求を非開始デバイスに送信する。次いで、開始デバイスは、非開始デバイスを発見するためにスキャンを実行する。
開始デバイスが、非開始デバイスの通知された可用性を発見すると、開始デバイスは、レンジング接続情報を非開始デバイスと交換する。一部の実施形態では、レンジング接続情報(例えば、デバイス識別子、デバイス状態、ブートストラップ情報等)は、デバイス間にレンジング接続を確立するためのものである。一部の実施形態では、レンジング接続情報は、周波数スペクトルの、デバイスがレンジング接続に使用することができる部分を識別する。一部の実施形態のレンジング接続は、レンジング演算を実行して、デバイスが互いの閾値距離内にあるかどうかを判定するために使用される。
一部の実施形態では、信頼できるデバイスが目標デバイスをアンロックできるようにすべきかどうかを判定するためのセキュリティプロトコルの一部は、レンジング演算(例えば、距離、近接度等を判定すること)のセットに基づく。一部の実施形態の方法は、レンジング(例えば、距離、近接度等)情報を使用して、信頼できるデバイスが目標デバイスをアンロックできるようにする前に、信頼されたデバイス及び目標デバイスが互いの指定レンジ内にあるかどうかを判定する。一部の実施形態では、信頼できるデバイスは、(例えば、ペアリング動作を通じて)目標デバイスと共有シークレットを共有するので、信頼できるデバイスである。
一部の実施形態の共有シークレットは、レンジング演算を保護するために使用される。一部の実施形態では、共有シークレットは、デバイスの隔離された保護エリア(例えば、セキュアエンクレーブプロセッサ(Secure Enclave Processor:SEP)に記憶された高機密データのために使用される高保護キーである。一部の実施形態では、方法は、共有シークレットを直接使用するのではなく、共有シークレットから、レンジング演算に使用できる導出キーを導出する。
一部の実施形態の方法は、保護されていない接続を介してセキュアなシークレット共有動作を実行することによって、デバイス間の共有シークレットを共有する。例えば、一部の実施形態の方法は、デバイス間にセキュアで一時的な共有シークレットを提供するために、Diffie-Hellman交換を使用する。一部の実施形態の共有シークレットを使用して、デバイス間で共有シークレットのいずれも送信する必要なく、(例えば、導出関数によって)他の共有シークレットが生成される。
他の実施形態では、様々な共有値(例えば、共有シークレット、導出キー、メッセージ等)が、クラウドサービスを介してデバイス間で共有される。一部の実施形態のクラウドサービスは、様々なデバイスに関連付けられたユーザアカウントに関連付けられている。次に、一部の実施形態のクラウドサービスは、関連するデバイスの異なる共有値を共有するために使用される。
一部の実施形態では、信頼できるデバイスと目標デバイスとの間の距離を判定するために、一部の実施形態の信頼できるデバイスは、メッセージ(又はノンス)をロック状態の目標デバイスと交換し、各デバイスにおいていつメッセージが送受信されたかについてのタイムスタンプを記録する。一部の実施形態では、デバイス間で交換されたメッセージは、新しい値を生成するために使用される異なる鍵導出関数(key derivation function:KDF)を使用して、導出キー(又は共有シークレット)から導出される。一部の実施形態のKDFは、元の値(すなわち、共有シークレット)を明らかにするためには使用できない一方向関数であり、デバイス間で予めメッセージを送信する必要なく、各デバイスが同一のメッセージを生成することが可能になる。一部の実施形態では、メッセージは、特定の帯域の周波数スペクトルで空気を介して送信される較正信号に埋め込まれる。
次いで、デバイスは、メッセージに関する記録されたタイムスタンプを交換する。一部の実施形態では、デバイス間で交換されたタイムスタンプは、(共有シークレットから導出された)導出キーを使用して暗号化され、共有シークレットを直接使用することなく、タイムスタンプに高いセキュリティレベルを提供する。
次に、一部の実施形態のデバイスは、タイムスタンプ使用して、デバイス間の距離を算出することができ、デバイスが互いの所望の近接度内にあるかどうかを判定する。例えば、一部の実施形態では、メッセージは、光速で移動する電波によって空気を介して送信される。一部のそのような実施形態のデバイスは、2つのデバイス間でメッセージが移動するためにどのくらいかかるか(例えば、メッセージの送信と受信との間の時間時間)と光速とに基づいてデバイス間の距離を算出する。
一部の実施形態では、所望の近接度内にデバイスがあることをタイムスタンプが示すことを検証することに加えて、方法は、攻撃者が一方又は両方のデバイスの位置に成りすますことを防止するために他の検証動作もまた実行する。例えば、一部の実施形態では、方法は、目標デバイスにおける第1のメッセージの受信と、目標デバイスからの第2のメッセージの送信との間の時間に制約を与える。制約は、デバイスを実際よりも互いに近くにあるように見せるために、攻撃者がクロックドリフトを利用するリプレイ攻撃を使用することを可能にするには、第1のメッセージの受信と第2のメッセージの送信との間の時間が短すぎることを保証する。
一部の実施形態では、レンジング演算を実行してレンジングデータのいくつかのサンプルを収集し、デバイスの近接度の判定をより正確かつセキュアにすることできる。一部のそのような実施形態では、複数の距離測定値サンプルを統計的に解析して合成距離測定値を生成し、次いで、それを閾値距離と比較する。代替的に又は複合的に、デバイスは、距離測定値のサンプルを解析して、デバイスが閾値距離内にある信頼度レベルを算出する。信頼度レベルが閾値を超えるとき、デバイスは、許容レンジ内にあると見なされる。
方法が、デバイスが互いに所望の近接度内にある(又は、レンジング情報が検証できない)と判定したとき、方法は、(例えば、確立された接続上の保護チャネルを介して)目標デバイスと通信する。一部の実施形態では、方法は、目標デバイスにおいてマスターキーを解読するために使用できるアンロック記録(例えば、シークレット又はキー)を送信することによって、目標デバイスをアンロックする。一部の実施形態のアンロック記録は、目標デバイスによって生成され、信頼できるデバイスを認証して目標デバイスをアンロックするために使用されるプロセス中に、信頼できるデバイスに送信される。
一部の実施形態では、デバイスの可用性を通知及び発見するために使用される初期接続と、レンジング演算に使用されるレンジング接続と、アンロックデータを通信するために使用される接続とは異なり、別個の通信である。例えば一部の実施形態では、異なるプロトコル又は異なる通信方法に対して異なる接続が使用される。例えば、一部の実施形態では、特定の接続上で通信されたデータは、実際には、別の帯域の周波数スペクトル又はネットワーク(例えば、インターネット)を介して送信される。
一部の実施形態では、通信(例えば、要求、レンジング情報等)は、保護チャネルを介して異なる接続上で送信される。一部の実施形態の保護チャネルは、異なる暗号キーを使用して暗号化される。複数の異なるチャネルはそれぞれ、異なる接続上で動作することができ、あるいは、全て単一の接続上で動作してもよい。本出願では、様々な接続が参照されるが、暗号チャネルを通じて、接続上の通信が保護され得ることを理解されたい。
一部の実施形態の本発明のセキュリティは、一方又は両方のデバイスの位置に成りすまそうとする攻撃者にはメッセージが予測不能であることを必要とする。一部の実施形態では、共有シークレット(及び、共有シークレットから導出された任意の値)は、1回のレンジング演算のためにのみ使用され、したがって、一部の実施形態の方法は、デバイスが所望の近接度内にはない(又は、レンジング情報を検証できない)と判定するとき、方法は、共有シークレット及びあらゆる共有値(例えば、ノンス、導出キー等)を破棄し、プロセスを再開する前に、新しい共有シークレットを生成する。
一部の実施形態では、このレンジング演算の複数の段階を行う方法を提供する。レンジング演算を数回実行して正確な距離測定値を生成することに加えて、一部の実施形態の方法は、第1の接続を使用して予備レンジング演算を実行し、第2の接続を使用してセキュアで正確なレンジング演算を実行する。例えば、一部の実施形態では、この方法は複数の帯域の周波数スペクトル上で通信できるハードウェアを有するデバイスで行われる。一部のそのような実施形態では、(例えば、所要電力等に起因して)レンジング演算に、低周波数帯域を使用することが望ましい。しかし、低周波数帯域は、信頼できるデバイスが目標デバイスの近くにあるかどうかを判定するために要求される、必要な精度又はセキュリティを提供することができないことがある。したがって、一部のそのような実施形態の方法は、低周波数帯域を使用して第1のレンジング演算を実行し、方法が、デバイスが低周波数帯域の近接度内にあると判定した時には、方法は、高周波数帯域を使用して第2のレンジング演算を実行して、目標デバイスをアンロックするためにそのデバイスが要求されるレンジ内にあるかどうかを判定する。一部の実施形態では、第1のレンジング演算は、レンジング演算の第2のセットとは異なるレンジング演算を使用する。
認証、セキュアなレンジング、及びアンロックの多くの例について以下に説明する。セクションIは、一対のデバイス間でセキュアなレンジングを行うための方法について説明する。セクションIIは、レンジング接続の確立について説明する。セクションIIIは、セキュアなレンジングプロセスについて説明する。セクションIVは、本明細書に記載される一部の実施形態を実行する電子システムの例について説明する。
I.セキュアなレンジングを使用したセキュリティ状態の修正
一部の実施形態は、ユーザが、信頼できるデバイスとの関係(例えば、近接度、ペアリングされたデバイス等)に基づいて、目標デバイスのセキュリティ状態を修正すること(例えば、アンロックすること)を可能にする。図1は、信頼できるデバイスが、セキュアなレンジングを使用して目標デバイスのセキュリティ状態を修正するためのプロセスを概念的に示している。一部の実施形態のプロセス100は、目標デバイス(例えば、セキュリティ状態を修正すべきデバイス)及び信頼できるデバイス(例えば、セキュリティ状態を修正することを認証されたデバイス)のうちの1つによって実行される。一部の実施形態では、プロセス100は、信頼できるデバイス及び目標デバイスが互いを発見するように支援するプロキシデバイスにおいて開始される。開始デバイス(例えば、目標デバイス又は信頼できるデバイス)は、目標デバイスのセキュリティ状態を修正するために、非開始デバイス(例えば、信頼できるデバイス又は目標デバイス)を用いてプロセス100を開始する。
一部の実施形態では、プロセス100は、(105において)目標デバイスのセキュリティ状態変更を開始することによって始まる。一部の実施形態のセキュリティ状態変更の開始は、目標デバイス(すなわち、アンロックすべきデバイス)によって実行されるが、他の実施形態では、信頼できるデバイスによって状態変更が開始される。一部の実施形態では、開始デバイスは、セキュリティ状態変更を開始する要求を非開始デバイスに送信する。一部の実施形態では、明示的なユーザ対話(例えば、キーボード入力、音声コマンド、ラップトップコンピュータの蓋を開く、等)を通じてセキュリティ状態変更が開始されるが、他の実施形態では、目標デバイスと信頼できるデバイスとの間の黙示的な対話(例えば、発見可能なレンジ内で移動する、開始デバイスにおいて、ロック状態からアンロック状態に状態を変更する、等)を通じてセキュリティ状態変更が変更される。一部の実施形態の明示的なユーザ対話は、ユーザに、デバイスを用いて(例えば、パスワード、生体データ(Apple(登録商標)のTouchID(登録商標)によって)自身を認証するように要求する。一部の実施形態では、セキュリティ状態変更の開始は、他のデバイス(例えば、カメラ及び/又はセンサに基づく位置検出)によって開始され、当該デバイスは、開始デバイスと通信してセキュリティ状態変更を開始する。
プロセス100が(105において)セキュリティ状態変更を開始した後、プロセス100は、(110において)信頼できるデバイスと目標デバイスとの間に初期接続を確立する。一部の実施形態の初期接続は、セキュアで規格化された無線プロトコル(例えば、Bluetooth)を使用して、他のデバイスを発見し、初期接続を確立する。
一部の実施形態100のプロセスは、初期接続を使用して(115において)デバイス間の(例えば、WiFiを介した)レンジング接続情報をセットアップするために使用されるレンジング接続情報(例えば、ブートストラップ情報)を交換する。120において、プロセス100は、信頼できるデバイスと目標デバイスとの間にレンジング接続を確立する。一部の実施形態では、レンジング接続は、目標デバイス及び信頼できるデバイスが特定のレンジ内にあるかどうかを判定するために(例えば、一連のレンジング演算を通じて)レンジング情報を交換するために使用される無線チャネルである。一部の実施形態のレンジング接続は、交換されたレンジング情報を潜在的な攻撃者から保護するために暗号化される。
プロセス100は、(125において)レンジング演算を実行して、信頼できるデバイスと目標デバイスとの間のサンプル距離測定値を捕捉する。好ましい実施形態では、プロセス100は、いくつかのサンプル距離測定値を使用して、デバイスが互いのレンジ内にあるかどうかを判定し、デバイスの近接度をより正確かつセキュアに判定することが可能になる。130では、プロセス100は、より多くのサンプルを捕捉すべきかどうかを判定する。(130において)より多くのサンプルが必要であるとプロセス100が判定したとき、プロセスは、ステップ110に戻って、もう一度レンジング演算を実行して別のサンプル距離測定値を捕捉する。
一部の実施形態では、レンジング演算が十分に正確かつセキュアであるときには、プロセス100は、(125において)レンジング演算を1回だけ実行する。例えば、信頼できるデバイスのクロックと目標デバイスとのクロックを同期させるとき、多くのサンプルを収集する必要がないことがある。しかし、そのような場合であっても、複数のサンプルの捕捉により、デバイスは、デバイス間の距離をより正確に判定することができるようになる。例えば、一部の実施形態では、複数の距離測定値サンプルを使用すると、精度を±1メートルとすることができる。
(130において)それ以上のサンプルは必要でないとプロセス100が判定すると、一部の実施形態のプロセス100は、(例えば、セキュリティプロトコルの一部として)試験のセットを実行して、目標デバイスのセキュリティ状態の変更を認証すべきどうかを判定する。一部の実施形態では、プロセス100は、デバイスがレンジ内にあるかどうか、デバイスの一方又は両方がセキュリティ状態変更の同意を受信したかどうか等を判定する。
この例では、プロセス100は、(135において)捕捉されたサンプル距離測定値に基づいて、デバイスが所望のレンジ内にあるかどうかを判定する。一部の実施形態では、複数の距離測定値サンプルを統計的に解析して、合成距離測定値を生成し、次いで、合成距離測定値を閾値距離と比較する。代替的に又は複合的に、デバイスは、距離測定値のサンプルを解析して、デバイスが閾値距離内にある信頼度レベルを算出する。信頼度レベルが閾値を超える時、デバイスは、許容レンジ内にあると見なされる。
(135において)デバイスが所望のレンジ内にないと判定されたときには、プロセスは終了する。(135において)デバイスが所望のレンジ内にあるとプロセス100が判定したときには、プロセス100は(140において)ユーザが同意を示したかどうかを判定する。例えば、一部の実施形態では、プロセス100は、デバイスのうちの1つにおいてユーザに目標デバイスのセキュリティ状態を修正する同意を要求するプロンプトを提供する。ユーザ同意は、(例えば、直接的なユーザ対話を介した)明示的であっても、又は黙示的(例えば、信頼できるデバイスがアンロック状態である)であってもよい。一部の実施形態では、明示的同意は、単純な承認(例えば、プロンプトへの応答)を要求するが、他の実施形態では、明示的同意は、あるデバイスにおいてユーザの認証(例えば、パスキー、生体データ(例えば、AppleのTouchID等)を要求する。
セキュリティ状態変更の開始がユーザからの明示的な入力(例えば、目標デバイスにおけるタップ操作)に基づくような時など、好ましい一部の実施形態では、(105における)セキュリティ状態変更の開始は、開始デバイスに対する同意として機能する。次に、プロセス100は、(140において)ユーザが非開始デバイスに対する同意を示したかどうかを判定する。
一部の実施形態では、プロセス100は、レンジング演算が完了した後に(140において)開始デバイスと非開始デバイスの両方に対するユーザ同意が示されるかどうかを判定する。明示的同意が要求される時、レンジングの後に同意を判定することにより、あらゆるユーザ同意を要求する前にレンジングが既に完了しているので、セキュリティ状態変更の応答性がより高いとみなすことができるようになる。
しかし、ユーザ同意がレンジング演算の後に判定され、ユーザからの明示的応答を要求するときには、レンジング情報に対してキャッシュ状態を維持する(すなわち、短い時間ウィンドウにわたってレンジング決定を有効なまま維持できるようにする)ことが必要なことがある。一部の実施形態では、プロセス100は、レンジング演算を実行した後にユーザ同意をチェックするのではなく、レンジング演算のうちのいずれかが実行される前にユーザ同意をチェックする。これにより、デバイスは、あらゆる不必要なレンジング演算の実行も回避できるようになる。
プロセス100が(135及び140において)、デバイスがレンジ内にあり、認証情報を交換するための同意を取得済みであると判定すると、プロセス100は、(145において)保護(例えば、暗号化)チャネルを介して認証情報を交換する。一部の実施形態の保護チャネルは、認証情報を保護するために、高保護暗号キーを使用して通信を暗号化する。認証情報(例えば、アンロック情報、セキュリティキー、支払データ等)は、目標デバイスにおけるセキュリティ状態を修正するために使用される。一部の実施形態では、保護チャネルは、ステップ110で確立された初期接続上に確立される。他の実施形態では、保護チャネルは、別個の異なる接続上に確立される。
一部の実施形態では、デバイスの可用性を通知及び発見するために使用される初期接続と、レンジング演算に使用されるレンジング接続と、認証データを通信するために使用される接続とは、異なる別個の接続である。例えば、一部の実施形態では、異なる接続は、異なるプロトコル又は異なる通信方法(例えば、周波数スペクトルの帯域、無線プロトコル等)を使用する。例えば、一部の実施形態では、特定の接続上で通信されたデータは、実際には、別の帯域の周波数スペクトル又はネットワーク(例えば、インターネット)を介して送信される。
異なる接続は、異なる利点を提供することができる。例えば、一部の実施形態では、初期接続は第1の無線プロトコルを使用して、発見を容易にし、かつ、所要電力を低減するが、レンジング接続は、無線周波数及びセキュリティ機能の精細度のために第2の無線プロトコルを使用する。
図2は、信頼できるデバイスを用いたセキュアなレンジングを使用して目標デバイスのセキュリティ状態を修正する例を示している。第1の段階201は、信頼できるデバイス210(例えば、スマートウォッチ、ウェアラブルデバイス、携帯電話、タブレット等)、及び目標デバイス220(例えば、ラップトップコンピュータ、携帯電話、タブレット等)を示す。一部の実施形態の信頼できるデバイス210は、目標デバイス220のセキュリティ状態の変更を行うように認証されたデバイスである。第1の段階201において、目標デバイス220は、(実線で示された)初期接続を介して、信頼できるデバイス210に要求250を送信する。一部の実施形態の要求250は、ユーザがセキュリティプロセスを(明示的又は黙示的のいずれかで)開始した時に目標デバイス220から送信される。一部の実施形態では、要求250は、レンジング情報を交換するために使用されるレンジング接続をセットアップするためのブートストラップ情報を含む。
第2の段階202において、信頼できるデバイス210と目標デバイス220との間に、(点線で描かれた)レンジング接続がセットアップされる。第2の段階202はまた、レンジング情報255がレンジング接続を介してデバイス間で交換されることを示している。レンジング情報255により、デバイス210及び220の一方又は両方が、2つのデバイス間の距離を計算することが可能になる。一部の実施形態では、レンジング情報は、2つのデバイス間の距離を判定するために更に解析される、複数のサンプル距離測定値を含む。
第3の段階203は、目標デバイス220と信頼できるデバイス210の両方が、レンジ算出部228及び218を使用して、交換されたレンジング情報222及び212を解析することを示している。一部の実施形態では、信頼できるデバイス及び目標デバイスは、算出されたレンジに基づいて、セキュリティ状態変更動作を継続すべきかどうかを判定する。レンジング情報255の交換と、レンジ算出とついて、セクションIIIにおいて更に詳細に説明する。
第4の段階204は、信頼できるデバイス210が、デバイスが許容レンジ内にあると判定した後に、アンロックキー260を送信することを示す。目標デバイス220をアンロックするために、一部の実施形態のアンロック情報260が使用される。アンロックキーを用いたアンロック動作を参照して、本出願の様々な例を説明するが、当業者には、本発明の新規性はそのようなアンロック動作には限定されないことを理解されたい。アンロック動作は、信頼できるデバイスとの関係に基づく目標デバイスにおけるセキュリティ状態のあらゆるシフトを参照することができる。また、認証情報は、キーと呼ばれる場合があるが、認証情報は、様々な異なる種類の情報を含んでもよい。一部の実施形態の認証情報は、目標デバイスに記憶された情報(例えば、機密情報、マスターキー等)を解読するために使用されるキーであるが、他の実施形態では、認証情報は、暗号化された機密データ(例えば、支払いデータ、ユーザデータ等)である。これにより、機密情報を、信頼できるデバイスに単に記憶することが可能になり、信頼できるデバイスがレンジ内にあるときには、目標デバイスに単に提供することが可能になる。
一部の実施形態では、動作は、デバイスをアンロックするのではなく、目標デバイスを高レベルのセキュリティ状態から低レベルのセキュリティ状態にすることができる。いくつかの場合には、目標デバイスは、シフト中、ロックされたままであるが、低レベルのセキュリティ状態は、目標デバイス上の情報への追加アクセスを提供する。例えば、一部の実施形態では、目標デバイスは、ロックスクリーン(すなわち、デバイスがロックされている時の表示スクリーン)上に高レベルのセキュリティ状態で最小限度の通知を提供し、あらゆる潜在機密情報は、デバイスがアンロックされるまで隠される。(例えば、信頼できるデバイスの存在下で)より低いレベルのセキュリティ状態にシフトすることによって、一部の実施形態の目標デバイスは、目標デバイスのユーザに、通知に関するより機密性の高い情報(例えば、テキストの抜粋、発信者等)へのアクセスを提供する。
他の実施形態では、ロック状態で追加情報を提供するのではなく、異なるセキュリティ状態により、信頼できるデバイスは、目標デバイスにアクセスするためのセキュリティ要件を低くすることが可能になる。例えば、一部の実施形態では、通常は英数字パスワードを要求する目標デバイスを、より単純なピンコードを要求するように構成することができる。一部の実施形態では、目標デバイスが既にアンロックされているときであっても、信頼できるデバイスが特定のレンジ内にある時にアプリケーション又はアプリケーション内の機密データ(例えば、ブラウザ履歴、オートフィルデータ、クレジットカード情報等)へのアクセスを提供するために、信頼できるデバイス及びセキュリティ状態シフトが使用される。
II.レンジング接続の確立
一部の実施形態では、目標デバイス又は信頼できるデバイスのいずれかによって、セキュリティ状態のシフトを開始することができる。レンジング演算を実行してデバイスを認証するために、一部の実施形態のシフトは、初期接続を使用してレンジング接続を確立することによって始まる。一部の実施形態の初期接続は、ユビキタスで効率的であるセキュアで標準化された無線接続法(例えば、Bluetoothペアリング)である。次いで、確立された初期接続を使用して、レンジング接続情報を交換し、レンジング接続情報はレンジング接続を確立するために使用される。一部の実施形態では、レンジング情報を交換して目標デバイス及び信頼できるデバイスの特定のレンジ内にあるかどうかを判定するために、レンジング接続が使用される。
図3は、目標デバイスが信頼できるデバイスとのレンジング接続を確立するためのプロセスを概念的に示している。プロセス300は、(305において)自身の可用性を通知する信頼できるデバイスで始まる。一部の実施形態のプロセス300は、信頼できるデバイスの識別子をブロードキャストすることによってデバイスの可用性を通知し、それにより、目標デバイスは、信頼できるデバイスのセキュリティ状態を修正することができるかどうかを判定することができる。
次いで、目標デバイスは任意選択で、(310において)セキュリティ状態変更を(明示的又は黙示的に)要求する入力を受信する。上記のように、一部の実施形態では、セキュリティ状態変更についての要求(又は同意)は、レンジング接続が確立され、レンジング演算が完了するまで取得されない。
次いで、目標デバイスは、(315において)信頼できるデバイスをスキャンする。目標デバイスは、スキャンにより信頼できるデバイスを識別すると、(320において)目標デバイスが自身のセキュリティ状態を修正できるようにする認証情報についての要求(例えば、アンロック、セキュリティ状態変更等)を送信する。一部の実施形態では、目標デバイスはまた、(320において)目標デバイスと信頼できるデバイスとの間のレンジング演算を実行するためのレンジング接続をセットアップするためにブートストラップ情報を送信する。信頼できるデバイスは、(325において)ブートストラップ情報と共にセキュアな状態変更要求を受信し、(330において)目標デバイスにてブートストラップ情報を返信する。一部の実施形態では、ブートストラップ情報は、各デバイスについての状態情報(例えば、無線周波数スペクトルの利用可能帯域)を含む。
335において、目標デバイスは、信頼できるデバイスのブートストラップ情報を受信する。次いで、目標デバイス及び信頼できるデバイスは、(340及び345において)デバイス間にレンジング接続を確立する。次いで、以下更に詳細に説明するようなレンジングプロセスのために、レンジング接続が使用される。
図4は、信頼できるデバイスが目標デバイスとのレンジング接続を確立するためのプロセスを概念的に示している。プロセス400は、(405において)自身の可用性を通知する目標デバイスで始まる。一部の実施形態のプロセス400は、目標デバイスの識別子をブロードキャストすることによってデバイスの可用性を通知し、それにより、信頼できるデバイスは、目標デバイスのセキュリティ状態を修正することができるかどうかを判定することができる。
次いで、信頼できるデバイスは、(410において)目標デバイスをスキャンする。信頼できるデバイスは、スキャンにより目標デバイスを識別すると、(415において)目標デバイスのセキュリティ状態変更(例えば、アンロック、セキュリティレベルの変更等)のための要求を送信する。一部の実施形態では、信頼できるデバイスはまた、(415において)信頼できるデバイスと目標デバイスとの間のレンジング演算を実行するためのレンジング接続をセットアップするためにブートストラップ情報を送信する。目標デバイスは、(420において)ブートストラップ情報と共にセキュアな状態変更要求を受信し、(425において)信頼できるデバイスにてブートストラップ情報を返信する。一部の実施形態では、ブートストラップ情報は、各デバイスについての状態情報(例えば、無線周波数スペクトルの利用可能帯域)を含む。
430において、信頼できるデバイスは、目標デバイスのブートストラップ情報を受信する。次いで、信頼できるデバイス及び目標デバイスは、(435及び440において)デバイス間にレンジング接続を確立する。次いで、以下更に詳細に説明するようなレンジングプロセスのために、レンジング接続が使用される。
図5及び図6は、目標デバイス及び信頼できるデバイスからレンジング接続を開始する例をそれぞれ示している。図5は、2つの段階501及び502で信頼できるデバイスとの接続を確立する目標デバイスの例を示している。第1の段階501は、ラップトップコンピュータ510(すなわち、目標デバイス)及び携帯時計520(すなわち、信頼できるデバイス)を示している。第1の段階501では、自身の可用性を通知している携帯時計520が示されている。第1の段階501はまた、ユーザがレンジングプロセスを開始するために入力(例えば、キーをタップ操作すること、ラップトップ510の蓋を開けること等)を提供することを示す。第2の段階502は、デバイスが(図3及び図4を参照して上述したようなプロセスを通じて)無線レンジング接続を確立済みであることを示している。
図6は、2つの段階601及び602で目標デバイスとのレンジング接続を確立する信頼できるデバイスの例を示している。この図の例は、図5のラップトップコンピュータ510(すなわち、目標デバイス)及び携帯時計520(すなわち、信頼できるデバイス)を示す。この例では、携帯時計520ではなく、ラップトップコンピュータ510が自身の可用性を通知する。また、携帯時計520は、ユーザからの入力を受信するのではなく、いかなる入力も受信せずに、ラップトップコンピュータ510の近くに移動する。第2の段階602は、(図3及び図4を参照して上述したようなプロセスを通じて)無線レンジング接続が確立済みであることを示している。
一部の実施形態では、信頼できるデバイスの可用性を継続的に通知すると、信頼できるデバイスは相当の電力を要求される。一部の実施形態では、初期接続(及び信頼できるデバイスの可用性の通知)は、プロキシデバイスを使用して支援され、これは、信頼できるデバイスの可用性を継続的に通知するのにより適している場合がある。
図7は、目標デバイスと信頼できるデバイスとの間に初期接続を確立するのを支援するプロキシデバイスのプロセスを概念的に示している。プロセス700は、(705において)信頼できるデバイスとの接続を確立することによって始まる。この接続がプロキシデバイスと信頼できるデバイスとの間であるのに対し、初期接続は、信頼できるデバイスと目標デバイスとの間の接続であるので、この接続は、上記例で説明された初期接続とは異なる。この図のプロセスは、目標デバイス及び信頼できるデバイスを準備して初期接続をセットアップするために使用される。一部の実施形態のプロキシデバイスと信頼できるデバイスとの間の接続は、デバイス間の連続通信のために維持される長寿命接続である。例えば、一部の実施形態では、接続は、携帯電話と携帯時計との間のBluetooth接続(又はチャネル)であり、デバイスが互いのレンジ内にとどまっている限り、デバイス間の通信のために接続が維持される。
次いで、ステップ710において、プロセス700は、信頼できるデバイス可用性を検出する。一部の実施形態では、プロセス700は単に、デバイスとの接続が依然としてアクティブであるかどうかを検出するだけであるが、他の実施形態では、プロセス700は、セキュリティ状態等の追加情報(例えば、ロックされている、アンロックされている、認証されている、等)を検出する。信頼できるデバイスが利用可能であるとプロセス700が判定すると、プロセス700は、(715において)目標デバイスが信頼できるデバイスの可用性を識別することができるように、信頼できるデバイスの可用性をブロードキャストする。次いで、プロセス700は、(720において)目標デバイスと信頼できるデバイスとの間の接続についての第1の要求を目標デバイスから受信する。
次いで、プロセス700は、(725において)図1及び図2を参照して上述したように、初期接続を確立する第2の要求を信頼できるデバイスに送信する。一部の実施形態では、第2の要求は、信頼できるデバイスに、短い時間期間にわたって自身の可用性のブロードキャストを開始させる要求である。他の実施形態では、プロキシデバイスは、(ブートストラップ情報と共に、又はブートストラップ情報なしに)第1の要求を信頼できるデバイスに転送する。一部のそのような実施形態の信頼できるデバイスは、第2の要求のブートストラップ情報を使用するか、あるいは自身の可用性をブロードキャストすることによって、目標デバイスとの接続を開始する。この例には、信頼できるデバイスのプロキシに関するプロセスを説明しているが、同様のプロセスが、目標デバイスのプロキシに当てはまることを理解されたい。
図8は、目標デバイスと信頼できるデバイスと間の接続を確立するのを支援するプロキシデバイスの例を示している。第1の段階801は、図5の目標デバイス510及び信頼できるデバイス520を示している。この例はまた、プロキシデバイス830を示している。この例では、目標デバイス510はラップトップコンピュータであり、信頼できるデバイス520は携帯時計であり、プロキシデバイス830は携帯電話である。第1の段階801はまた、信頼できるデバイス520及びプロキシデバイス830が、(破線で示される)接続を維持していることを示している。この例では、目標デバイス又は信頼できるデバイスが自身の可用性を通知するのではなく、プロキシデバイス830が、信頼できるデバイス520の可用性を通知する。
また、第1の段階801はまた、ユーザがアンロック動作を開始し、要求850がプロキシデバイス830に送信されることを示す。第2の段階802では、プロキシデバイス830は、別の要求855をデバイスに送信する。一部の実施形態では、要求855を使用して、信頼できるデバイスに、短い時間期間にわたって自身の可用性を通知し始めさせるが、他の実施形態では、要求855は、目標デバイス510とのレンジング接続を確立するために信頼できるデバイスが必要とする情報を含む。
第3の段階803は、目標デバイス510と信頼できるデバイス520との間にレンジング接続が確立済みであることを示している。第3の段階803はまた、デバイスが、レンジングプロセスの一部としてレンジデータ860を交換することを示している。レンジングプロセスについては、図9~図12を参照して以下に更に詳細に説明する。最後に、第4の段階804において、目標デバイス510は、信頼できるデバイス520が許容レンジ内にあり、アンロック済みであると判定する。デバイスが許容レンジ内にあることを判定するためのセキュア方法について以下に説明する。
III.セキュアなレンジ判定
一部の実施形態では、目標デバイス及び信頼できるデバイスは、デバイスが所望のレンジ内にあるかどうかを判定するために、セキュアなレンジング演算を使用する。レンジング演算は、攻撃者がデバイスに成りすまして、デバイスを実際よりも近くにあるように見せることを防止するために保護されなければならない。一部の実施形態のセキュリティプロトコルは、信頼できるデバイスと目標デバイスとの間のセキュアなレンジング情報を提供するためにメッセージを使用し、デバイスは、信頼できるデバイスが目標デバイスをアンロックできるようにする前に互いの指定レンジ内にあるかどうかを判定する。
A.セキュアなレンジング
図9は、信頼できるデバイスから目標デバイスをアンロックする時にセキュアなレンジングを行うための概説を説明するシーケンス図を示している。セキュアなレンジングを行うための様々な要素及びステップのより詳細な説明を、図10~図12を参照して記載する。この図のシーケンス900は、信頼できるデバイスと目標デバイスとの間の通信のシーケンスを示している。シーケンス900は、信頼できるデバイスと目標デバイスとの間に(例えば、暗号キーを用いて暗号化される)共有シークレットチャネル905を確立することによって始まる。
シーケンス900は、共有シークレットチャネル905が確立されると、信頼できるデバイスがメッセージ(例えば、ノンス又は他の短寿命トークン)N1を目標デバイスに送信することを示している。目標デバイスはN1を処理して、N1の値が、信頼できるデバイスから受信することが期待される目標の値であることを検証する。目標デバイスはまた、信号を解読しても、又は受信したメッセージに対して他の演算(例えば、フーリエ変換)を行ってもよい。次いで、目標デバイスは、時刻T3に、第2の異なるノンスN2を信頼できるデバイスに返信することによって応答する。
ノンスの交換について、シーケンス900はまた、ノンスN1及びN2が送受信される時刻を示している。より具体的には、ノンスN1は、時刻T1に信頼できるデバイスによって送信され、時刻T2に目標デバイスによって受信される。ノンスN2は、時刻T3に目標デバイスによって送信され、時刻T4に信頼できるデバイスによって受信される。一部の実施形態では、信頼できるデバイス及び目標デバイスは、各デバイスによってノンスN1及びN2が送受信されるタイムスタンプを記録する。
一部の実施形態では、特定のノンスは、受信側デバイスにおいて複数回受信される。これは、無線信号が他の表面で、又は障害物の周囲で反射したときに生じ得る。信号は、障害物を通過する際に強度を損失することがあるが、反射した信号は、大幅には妨げられない。このような場合、デバイスへの最も強い信号は、必ずしも、デバイスで受信される最初の信号ではない。しかし、デバイスの近接度を最も正確に判定するために、一部の実施形態の受信側デバイスは、最も強い信号ではなく、最初に受信した信号のタイムスタンプを識別する。
次いで、デバイスは、デバイス間でのノンスN1及びN2の飛行時間を算出するために、各デバイスに記録されたタイムスタンプを交換する。信頼できるデバイスは、タイムスタンプT1及びT4を目標に送信し、目標は、タイムスタンプT2及びT3を信頼できるデバイスに返信する。この例では、ノンスの交換後に1回の動作でタイムスタンプが交換されるが、一部の実施形態は、タイムスタンプが記録されると直ぐに、タイムスタンプを他のデバイスに送信する。例えば、一部の実施形態では、目標は、ノンスN2を送信する前に、タイムスタンプT2を信頼できるデバイスに返信する。
次いで、信頼できるデバイス及び目標デバイスは、交換されたタイムスタンプを検証して、デバイスが互いの特定の近接度内にあるかどうか、及び交換されたタイムスタンプが信頼できるかどうかを判定する。一部の実施形態では、デバイスのうちの一方のみが検証プロセスを実行する。しかし、好ましい実施形態では、信頼できるデバイスと目標の両方が、目標デバイスをアンロックできるようにする前に検証プロセスを実行する。
シーケンス900は、目標デバイスが要求される近接度内にあると信頼できるデバイスが判定すると、信頼できるデバイスが、共有シークレットチャネル905を介してアンロックメッセージ960を目標デバイスに送信することを示している。アンロックメッセージ960により、目標デバイスをアンロックすることが可能になる。
一部の実施形態では、アンロックメッセージ960は、ペアリング動作又は信頼できるデバイスに目標デバイスをアンロックする権限を付与する認証動作中に、信頼できるデバイスと共有されるシークレットである。一部のそのような実施形態では、一部の実施形態のアンロックメッセージ960は、ペアリング動作中に目標デバイスが信頼できるデバイスに送信したキーである。一部の実施形態では、目標デバイスによって、目標デバイスをアンロックするために使用されるパスコード(又は他の認証情報)から、マスターキーが導出される。目標デバイスは、アンロックメッセージを用いてマスターキーを暗号化することによってトークンを構築することができ、それにより、信頼できるデバイスが(セキュアなレンジング演算後に)目標デバイスにアンロックメッセージを戻すときに、目標デバイスは、トークンを解読して、マスターキーを取り出し、目標デバイスをアンロックするために、アンロックメッセージを使用することができる。別のデバイスをアンロックするためにデバイス使用することは、2015年7月27日に出願された「Method of Using One Device to Unlock Another Device」と題する米国特許出願第14/810,395号に更に記載されている。米国特許出願第14/810,395号は、参照により本明細書に組み込まれる。
シーケンス900には、異なる種類のレンジングデータ(例えば、タイムスタンプ、ノンス、アンロックコード等)を伝送するための様々なチャネルが(太線、実線、及び点線で)示されている。一部の実施形態では、異なるチャネルは、チャネル上の通信を暗号化するための異なる暗号キーを使用してもよいが、一部のチャネルは、全くキーを使用しないことがある。一部の実施形態では、チャネルの各々は、複数の異なる接続上で動作する。一部の実施形態では、複数の異なるチャネルは、レンジングプロセスに使用される。
例えば、一部の実施形態のプロセスは、アンロックメッセージ960を通信するために、高セキュリティの共有シークレットチャネル905を使用するが、異なるノンスのタイムスタンプを通信するために、共有シークレットから導出されたキーに基づいて、別個のレンジングチャネル915を使用する。一部の実施形態のレンジングチャネル915は、上述の確立されたレンジング接続上に確立された保護チャネルである。一部の実施形態では、アンロックメッセージ960とタイムスタンプ950及び955とは、同一チャネルを介して送信される。
一部の実施形態におけるノンスは、レンジングチャネル915を介して送信される(すなわち、導出キーを用いて暗号化される)が、他の実施形態では、ノンスは、特定の接続910(例えば、特定の帯域の無線周波数)を介して空気によって暗号化されずに送信される。一部の実施形態では、特定の接続910は、デバイスの近接度の正確な判定を可能にする高周波接続である。
図10A~図10Bは、7つの段階1001~1007で信頼できるデバイスから目標デバイスをアンロックする(あるいは、そのセキュリティ状態を修正する)ときにセキュアなレンジングを行う例を示している。第1の段階1001は、信頼できるデバイス1010及び目標デバイス1020を示している。デバイス1010及び1020は、保護チャネル1030と接続される。この例では、保護チャネル1030とは、デバイス間で共有される共有シークレットSSを用いて暗号化されたデバイス間の通信を表す。
一部の実施形態では、共有シークレットは、信頼できるデバイス1010と1020との間で通信される高機密データを保護するために使用される高保護システムシークレットである。例えば、一部の実施形態は、デバイスのハードウェア及び/又はソフトウェアの隔離されたセキュアエリア内の機密データのセキュリティレベルを高めるプロセッサアーキテクチャ内にセキュアエンクレーブプロセッサ(secure enclave processor:SEP)を提供する。システムシークレットのセキュリティを維持するために、一部の実施形態のレンジング演算に使用されるレンジングデータは、共有シークレットを直接使用せずに(すなわち、保護チャネル1030を介して送信して)、レンジングデータの暗号化及びレンジングデータのソースの検証に使用される他の共有値を(例えば、導出関数によって)生成するために共有シークレットを使用する。
一部の実施形態では、保護チャネル1030の共有シークレットは、保護されていないチャネルを介してセキュアなシークレット共有動作を実行することによって、デバイス間で共有される。例えば、一部の実施形態の方法は、デバイス間にセキュアで一時的な共有シークレットを提供するために、Diffie-Hellman交換を使用する。他の実施形態では、共有シークレット及び/又は様々な共有値(例えば、共有シークレット、導出キー、メッセージ等)は、クラウドサービス(例えば、iCloud(登録商標))を介してデバイス間で共有される。一部の実施形態のクラウドサービスは、様々なデバイスに関連付けられたユーザアカウントに関連付けられている。次に、一部の実施形態のクラウドサービスは、関連するデバイスの異なる共有値を共有するために使用される。以下に、シークレットを共有するためのクラウドサービスの使用について更に説明する。
第2の段階1002は、キー導出部1015及び1025をそれぞれ備えるデバイス1010及び1020を示している。一部の実施形態のキー導出部は、一般的な入力を仮定した場合に、(例えば、鍵導出関数を使用して)別の擬似ランダムキー又は擬似ランダム値を生成するモジュールを表す。一部の実施形態では、キー導出部は、元に戻して、元の入力を明らかにすることができない一方向関数を入力に適用する。
第2の段階1002では、キー導出部1015及び1025はそれぞれ、共有シークレットを入力として、導出キーDK1を生成する。キー導出部1015及び1025は、両デバイス1010及び1020において同一の導出関数を使用するので、同一の導出キーDK1が両デバイスに記憶される。このようにすると、デバイス間で共有値を送信する必要なく、デバイスの各々において共有値を生成することできる。
一部の実施形態では、導出キーに加えて、ノンスN1及びN2を導出するためにキー導出部1015及び1025が使用される。一部の実施形態では、キー導出部は、導出キーを導出するために共有シークレットのみを使用し、次いで、導出キーDK1から任意の他の値(例えば、ノンス)が導出される。しかし、一部の実施形態では、ノンスは、共有シークレットSSから直接導出される。パケットが捕捉され、リプレイされることを保証するために、一部の実施形態は、異なる導出関数を使用して異なるノンスを生成する。このようにすると、ノンスは、攻撃者には予測できず、攻撃者は、偽のレンジング信号を生成することができない。
一部の実施形態のノンスN1及びN2は、デバイス間で伝送される信号上で送信される。一部の実施形態では、ノンスの送信者が通信の信頼できるパートナーであることを検証するために、受信側デバイスによってノンスN1及びN2が使用される。攻撃者は、高セキュリティの共有シークレットにアクセスせずに独立してノンスN1及びN2を生成することができない。この例は、キー導出部1015及び1025が、導出キーDK1とノンスN1及びN2とを単一のステップで導出することを示しているが、一部の実施形態のキー導出部は、必要に応じて(例えば、暗号化、送信、検証等のために)導出キー及びノンスを生成する。
第3の段階1003は、導出キーDK1を使用してレンジングチャネル1040のセットアップすることを示している。一部の実施形態のレンジングチャネルは、デバイス間のレンジング演算に使用される様々なデータ(例えば、ノンス、タイムスタンプ等)を送信するために使用される。信頼できるデバイス1010は、レンジングチャネル1040を介して、ノンスN1を目標デバイス1020に送信する。信頼できるデバイス1010は、ノンスN1が送信される時刻にタイムスタンプT1を記録する。
この例では、ノンスは、レンジングチャネル上で送信される(すなわち、導出キーDK1を用いて暗号化される)ように示されているが、一部の実施形態では、ノンスは、デバイス間の通信とは別個に設定された特定の周波数で空気によって暗号化されずに送信される。一部のそのような実施形態では、信号は、デバイス間の通信(方向、帯域等)をセットアップするために使用される較正信号であり、ノンス(例えば、53ビットノンス)は、解析及び復号することができる周波数形状で符号化される。符号化された信号は、ノンスをバイナリ出力として取り出すために受信側が(例えば、フーリエ変換を使用して)解析することができる正弦波の累積を表している。
第4の段階1004では、目標デバイス1020は、ノンスN1を受信しており、受信したノンスN1を、キー導出部1025を用いて導出され、目標デバイス1020のメモリ1012に記憶されたノンスN1に対して検証済みである。また、目標デバイス1020は、タイムスタンプT2及びT3を記録している。タイムスタンプT2は、目標デバイス1020におけるN1の受信時刻をマーキングするが、タイムスタンプT3は、目標デバイス1020から信頼できるデバイス1010へのN2の送信時刻をマーキングする。この例では、ノンスN2は、ノンスN1及び導出キーDK1と共に導出されるが、一部の実施形態では、ノンスN2は、信頼できるデバイス1010から受信されたノンスN1が検証されるまで導出されない。
第5の段階1005は、デバイス1010及び1020が、レンジングチャネル1040を介してタイムスタンプT1~T4を交換することを示している。信頼できるデバイス1010は、タイムスタンプT1及びT4(N1が送信された時刻及びN2が受信された時刻)を目標デバイス1020に送信する。目標デバイス1020は、タイムスタンプT2及びT3(ノンスN1が受信された時刻及びノンスN2が送信された時刻)を信頼できるデバイス1010に送信する。
第6の段階1006は、デバイス1010及び1020が、タイムスタンプT1~T4を使用して、デバイスの互いに対するレンジ又は近接度を算出することを示している。次に、一部の実施形態のデバイスは、タイムスタンプ使用して、デバイス間の距離を算出することができ、デバイスが互いの所望の近接度内にあるかどうかを判定する。例えば、一部の実施形態では、メッセージは、光速で移動する電波によって空気を介して送信される。一部のそのような実施形態のデバイスは、2つのデバイス間でメッセージが移動するためにどのくらいかかるか(例えば、メッセージの送信と受信との間の時間時間)と光速とに基づいてデバイス間の距離を算出する。一部の実施形態では、レンジ算出部1018は、ノンスN1及びN2のレンジを以下のように算出する。
レンジ(N1)=(T2-T1)c、かつ
レンジ(N2)=(T4-T3)c、式中、cは光速である。
一部の実施形態では、レンジ算出部1018は、ノンスN1とN2の両方のレンジを算出し、最小レンジ値に基づいて他のデバイスがレンジ内にあるどうかを判定する。他の実施形態では、レンジ算出部1018は、デバイスが所望の近接度内にあるかどうかを判定するときに、最大レンジ値及び平均レンジ値を使用する。一部の実施形態では、レンジ算出部1018は、各デバイスにおける測定時刻に基づいてレンジを算出する。例えば、一部の実施形態では、レンジ算出部1018は、デバイス間のレンジを以下のように算出する。
レンジ=1/2((t4-t1)-(t3-t2))c、式中、cは光速である。
このようなレンジング技術を採用することによって、(t4-t1)及び(t3-t2)を、ローカルなタイムベースを使用する各デバイスにおいて独立して測定することができる。つまり、2つのクロックを同期させる必要はない。
しかし、一部の実施形態では、レンジ算出は更に、2つのデバイス間の通信周波数のオフセットを識別することによって、レンジ算出の精度を向上させるために、応答側周波数と開始側周波数の比(ratio of Responder frequency to Initiator frequency:rRI)を算出する。そのような実施形態のレンジ算出部1018は、デバイス間の飛行時間を以下のように算出する。
飛行時間=1/2((t4-t1)-(t3-t2))rRI
デバイスにおける(製造公差内の)僅かな製造ばらつきからオフセットが生じることがあり、オフセットは、デバイスがデバイス間の実際の距離を見誤る原因になり得るので、rRIが使用される。一部の実施形態は、受信信号をローカル信号と比較して(存在する場合には)オフセットを識別することによってrRIを算出する。しかし、rRIを使用してレンジを算出する時には、アクティブなリレーアンドリピート(relay-and-repeat)の中間者(man in the middle:MITM)攻撃は、デバイスのうちの1つによって伝送された全てのプロトコルのパケット及びレンジング波形をサンプリングし、それらを、より低い頻度で他の認証デバイスにそのまま伝えることができる。これにより、rRIが人工的に増大され、デバイスが互いに対して実際よりも近くに見えるようにすることができる。したがって、一部の実施形態では、このレンジ算出部は、rRIが特定のレンジ内(例えば、製造ばらつきの合理的な公差範囲内)にあることを保証することができる。他の実施形態では、レンジ算出部は、そのような攻撃を使用して攻撃者が捕捉することができるTOF利得量を制限する時間(t3-t2)を制限することができる。
いくつかの実施形態では、尤度比(例えば、対数尤度比)試験が採用される。そのような試験は、レンジ分布の可能な2つのケース(1つは、アンロックされているデバイスに対応するレンジセット、1つは、ロックされたままのデバイスに対応するレンジセット)に関するモデルを使用する。尤度比は、入力されたレンジセット(例えば、レンジ測定値)とモデル化された分布とに基づいて、近接度の内側又は外側のいずれかにある複合確率比を計算する。次いで、複合確率比を閾値と比較して、アンロック決定の結果を判定することができる。そのような実施形態では、2つのデバイス間の距離は直接的に計算されなくてもよい。したがって、距離に関する閾値を提示しなくてもよい。デバイスがレンジ内にあるかどうかを無線信号に基づいて判定することは、2016年6月12日に出願された「Unlocking a Device」と題する米国仮特許出願第62/348,995号に更に記載されている。米国仮特許出願第62/348,995号は、参照により本明細書に組み込まれる。
一部の実施形態では、所望の近接度内にデバイスがあることをタイムスタンプが示すことを検証することに加えて、方法は、攻撃者が一方又は両方のデバイスの位置に成りすますことを防止するために他の検証動作もまた実行する。例えば、一部の実施形態では、方法は、目標デバイス(T2)における第1のメッセージの受信と、目標デバイス(T3)からの第2のメッセージの送信との間の時間に制約を与える。制約は、デバイスを実際よりも互いに近くにあるように見せるために、攻撃者がクロックドリフトを利用するリプレイ攻撃を使用することを可能にするには、第1のメッセージの受信と第2のメッセージの送信との間の時間が短すぎることを保証する。一部の実施形態では、デバイス間で通信されるべき通信信号に対するクロック周波数の要求された精度の割合が制約される。
最後に、第7の段階1007は、信頼できるデバイス1010が保護チャネル1030を介してアンロック記録1070を送信することを示している。アンロック記録1070は、目標デバイスにおけるはマスターキーをセキュアに回復する(例えば、解読する)ために使用できるシークレット又はキーである。一部の実施形態のマスターキーは、目標デバイス1020をアンロックして目標デバイス1020へのアクセスを提供するために使用できる他のキー又はセキュアなデータをアンロックするために、目標デバイス1020により使用される。一部の実施形態のアンロック記録1070は、目標デバイス1020によって生成され、信頼できるデバイス1010を認証して目標デバイスをアンロックするために使用されるペアリングプロセス又は認証プロセス中に、信頼できるデバイスに送信される。
上記のように、一部の実施形態における共有シークレット及び/又は様々な共有値は、クラウドサービス(例えば、iCloud(登録商標))を介してデバイス間で共有される。例えば、一部の実施形態では、信頼できるデバイス(例えば、携帯時計)と目標デバイス(例えば、コンピュータ)の両方が、クラウドベースのストレージアカウント(例えば、iCloudアカウント)に関連付けられている。2ファクタ認証(two factor authorization:TFA)を使用すると、これらのデバイスの各々は、自身の公開オートアンロックアイデンティをクラウド同期キーチェーンに記録する。目標デバイスをアンロックするために信頼できるデバイスをプロビジョニングする(すなわち、イネーブルする)ときには、オートアンロックアイデンティを使用することによってセキュアなリンクが確立される。目標デバイスは、ランダムなワンタイムアンロックシークレットを作成し、リンクを介してワンタイムアンロックシークレットを信頼できるデバイスに伝送する。シークレットは、信頼できるデバイスに記憶され、信頼できるデバイスをアンロックする時にのみシークレットにアクセスすることができる。一部の実施形態では、ユーザのパスワードは、マスターエントロピーでも新しいシークレットでもない。
アンロック動作中、目標デバイスは、信頼できるデバイスへの接続を作成するために、Bluetoothローエネジーを使用する。次いで、目標デバイスをアンロックするために信頼できるデバイスを最初にプロビジョニングしたときに使用される共通キーを使用して、2つのデバイス間にセキュアなリンクが確立される。次いで、2つのデバイスは、ピアツーピアWi-Fi及びセキュアなリンクから導出されたセキュアキーを使用して、2つのデバイス間の距離を判定する。デバイスがレンジ内にある場合、予め共有されたシークレットを転送して目標デバイスをアンロックするために、セキュアなリンクが使用される。アンロックが成功した後、目標デバイスは、現在のアンロックシークレットを新たなワンタイムアンロックシークレットと置換し、リンクを介して新たなアンロックシークレットを信頼できるデバイスに伝送する。
本出願に記載される例の多くは、導出キー及びノンスを利用する。このような導出は、プロセスをよりセキュアかつ効率的にすることが可能であるが、本発明には必要ではない。一部の実施形態では、ノンスは、キーから導出されるのでなく、一方のデバイスともう一方のデバイスとに共有されている。例えば、一部の実施形態では、ノンスは、両方のデバイスに関連付けられている共通のユーザアカウントに基づいて、クラウドストレージを介して共有される。他の実施形態では、ノンスは、レンジング演算の前に、保護チャネルを介してデバイス間で共有される。同様に、上記の例におけるレンジングチャネルについての導出キーは、共有シークレットから導出される必要はないが、他の手段(例えば、Diffie-Hellman)によって共有することができ、あるいは、全くキーを使用しなくてもよい。
図11は、サンプル距離測定値を捕捉するためにセキュアなレンジングを行う信頼できるデバイスのプロセスを概念的に示している。一部の実施形態のプロセス1100は、別のデバイス(例えば、ラップトップ、デスクトップコンピュータ、タブレット等)をアンロックするために使用される信頼できるデバイス(例えば、携帯時計、携帯電話、キーフォブ等)によって実行される。一部の実施形態では、特定のデバイスは、デバイスの第1のセットに対する信頼できるデバイスと、デバイスの第2のセットに対する目標デバイスとの両方として動作する。
プロセス1100は、(1105において)共有シークレットを共有することによって始まる。次いで、プロセス1100は、(1110において)レンジングデータを暗号化し、交換することによって、導出キーを導出する。一部の実施形態のレンジングデータは、いつデバイス間で異なるノンスが送信されるかについてのタイムスタンプを含む。代替的に又は複合的に、一部の実施形態のレンジングデータは、受信側デバイスがレンジング信号の送信元の識別情報を確認することを可能にするためにデバイス間でレンジング信号と共に送信されるノンスのセットを含む。
次いで、プロセス1100は、(1115において)信頼できるデバイスのノンスを導出することできる。信頼できるデバイスのノンスにより、目標デバイスは、(例えば、同一のノンスを生成したので)ノンスが信頼できるデバイスに由来することを検証できるようになる。次いで、プロセス1100は、(1120において)信頼できるデバイスのノンスを目標デバイスも送信し、送信時刻(T1)を記録する。
1125において、プロセス1100は、目標デバイスから目標ノンスを受信し、受信時刻(T4)を記録する。次いで、プロセス1100は、(1130において)目標ノンスが有効な目標ノンスであるかどうかを判定する。例えば、一部の実施形態では、プロセス1100は、(1130において)信頼できるデバイスにおいて生成されたノンスと目標ノンスが一致する(例えば、共通の導出キーから導出される)ときに有効であることを判定する。
(1130において)目標ノンスが有効でないとプロセス1100が判定したとき、プロセス1100は、ステップ1105に戻り、(1105において)レンジングプロセスを再開するために新たなシークレットを共有する。特定のノンスを一度だけ送信することが重要なので、一部の実施形態のプロセス1100は、(1105において)レンジング演算が失敗するたびに新しい共有シークレットを共有する。一部の実施形態は、2回以上のレンジング演算に共有シークレットを使用することを可能にするが、これにより、攻撃者は、ノンスを捕捉し、ノンスをリプレイしてデバイスが実際よりも近くにあるとデバイスが信じるようにだますことができるようになる。
一部の実施形態では、共有シークレット(及び、共有シークレットから導出された任意の値)は、1回のレンジング演算のためにのみ使用され、したがって、一部の実施形態の方法は、デバイスが所望の近接度内にはない(又は、レンジング情報を検証できない)と判定し、方法は、共有シークレット及びあらゆる共有値(例えば、ノンス、導出キー等)を破棄し、プロセスを再開する前に、新しい共有シークレットを生成する。プロセス1100は、(1130において)目標ノンスが有効であると判定し、プロセス1100は、(1135において)サンプル距離測定値を記録し、終了する。
図12は、サンプル距離測定値を捕捉するために信頼できるデバイスを用いたセキュアなレンジングを使用する目標デバイスのプロセスを概念的に示している。一部の実施形態のプロセス1200は、目標デバイス(例えば、ラップトップ、デスクトップコンピュータ、タブレット等)をアンロックするために信頼できるデバイス(例えば、携帯時計、携帯電話、キーフォブ等)が使用されるときに、目標デバイスによって実行される。一部の実施形態では、特定のデバイスは、デバイスの第1のセットに対する信頼できるデバイスと、デバイスの第2のセットに対する目標デバイスとの両方として動作する。
プロセス1200は、(1205において)信頼できるデバイスと共有シークレットを共有することによって始まる。次いで、プロセス1200は、(1210において)レンジングデータを暗号化し、交換するための導出キーを導出する。一部の実施形態のレンジングデータは、いつデバイス間で異なるノンスが送信されるかについてのタイムスタンプを含む。代替的に又は複合的に、一部の実施形態のレンジングデータは、受信側デバイスがレンジング信号の送信元の識別情報を確認することを可能にするためにデバイス間でレンジング信号と共に送信されるノンスのセットを含む。
次いで、プロセス1200は、(1215において)信頼できるデバイスからノンスを受信し、受信時刻(T2)を記録する。信頼できるデバイスのノンスにより、目標デバイスは、(例えば、同一のノンスを生成したので)ノンスが信頼できるデバイスに由来することを検証できるようになる。次いで、プロセス1200は、(1220において)信頼できるデバイスのノンスが有効であるかどうかを判定する。例えば、一部の実施形態では、プロセス1200は、(1220において)信頼できるデバイスにおいて生成された対応するノンスと信頼できるデバイスのノンスが一致する(例えば、共通の導出キーから同一の導出関数を使用して導出される)ときに有効であることを判定する。
(1220において)信頼できるデバイスのノンスが有効でないとプロセス1200が判定したとき、プロセス1200は、ステップ1205に戻り、(1205において)レンジングプロセスを再開するために新たなシークレットを共有する。特定のノンスを一度だけ送信することが重要なので、一部の実施形態のプロセス1200は、(1205において)レンジング演算が失敗するたびに新しい共有シークレットを共有する。一部の実施形態は、2回以上のレンジング演算に共有シークレットを使用することを可能にするが、これにより、攻撃者は、ノンスを捕捉し、ノンスをリプレイしてデバイスが実際よりも近くにあるとデバイスが信じるようにだますことができるようになる。
プロセス1200は、(1220において)信頼できるデバイスのノンスが有効であると判定し、プロセス1200は、(1225において)目標ノンスを生成する。目標ノンスにより、信頼できるデバイスは、(例えば、同一のノンスを生成したので)生成されたノンスが目標デバイスに由来することを検証できるようになる。1230において、プロセス1200は、生成した目標ノンスを信頼できるデバイスに送信し、送信時刻(T3)を記録する。次いで、プロセス1200は、(1235において)サンプル距離測定値を記録する。次いで、プロセス1200は、終了する。
一部の実施形態では、複数のサンプル距離測定値を収集するために、プロセスを複数回繰り返す。一部の実施形態のプロセス1100及び1200は、各サンプル距離測定値について新たな共有シークレットを生成するのに対し、他の実施形態では、全てのサンプル距離測定値に対して同一の共有シークレットを使用し、各サンプルについて、新たなキー及びノンスは導出されない。次いで、図15を参照して以下に説明するように、収集されたサンプル測定値を使用して、2つのデバイスが要求されるレンジ内にあるかどうかを判定する。
B.デュアルバンドレンジング
一部の実施形態では、レンジング演算は、複数の段階で実行される。例えば、一部の実施形態のデバイスは、複数の帯域の周波数スペクトルで通信することができるハードウェアを有する。一部のそのような実施形態では、(例えば、所要電力に起因して)低周波数帯域を使用することが望ましいが、低周波数帯域は、信頼できるデバイスが目標デバイスの近くにあるかどうかを判定するために要求される必要な精度を提供することが可能でないことがある。異なる帯域は、異なる閾値距離に異なる最小閾値分解能差を提供し得る。
図13は、デバイスからのプライマリ閾値値距離及びセカンダリ閾値距離の例を示している。この図は、アンロックすべき目標デバイス1305を示している。この図は、デュアルバンドレンジング演算に使用される異なる距離を示すために使用され、図14を参照して説明される。図14は、複数の周波数帯域でレンジング演算を実行するためのプロセスを概念的に示している。
プロセス1400は、(1405において)第1の低周波数帯域でレンジング演算を実行することによって始まる。低周波数帯域は、(1410において)信頼できるデバイスが(例えば、デバイスが互いに必要な近接度にあるかどうかを判定する使用されるプライマリ閾値距離ではなく)セカンダリ閾値距離1315内にあるかどうかを判定するために使用され得るが、信頼できるデバイスがセカンダリ閾値距離1315内のどこにあるかを具体的に見分けなくてもよい。一部の実施形態のレンジング演算は、上記の演算と同様であるが、他のデバイスがプライマリ閾値距離1310内にあるかどうかを未だ判定できないので、プロセス1400は、デバイスを未だアンロックしない。
一部の実施形態では、低周波数帯域で実行されるレンジング演算は、上記の演算と同様であるが、他の実施形態では、低周波数帯域は、高周波数帯域とは異なるレンジング演算を使用する。一部の実施形態の予備レンジング演算は、無線プロトコル標準の一部として利用可能である。例えば、低周波数帯域のレンジング演算は、デバイスがセカンダリ閾値距離1315内にあると判定するために、受信信号強度インジケータ(received signal strength indicator:RSSI)を使用する。RSSIが信号強度を使用すると、距離測定値は不正確になる。しかし、RSSIは、正規の信号を増幅して、デバイスが互いに対して本当にあるよりも近くに見えるようにする成りすまし攻撃に対して脆弱なことがある。RSSIは、ノンスの交換よりもセキュア性が乏しいが、同時に、実装をより単純にし、消費電力を少なくもする。一部の実施形態では、よりセキュアなセカンダリレンジング演算を実行すべきかどうかを判定するために、セキュア性が乏しい予備レンジング演算が使用される。
(1410において)他のデバイスが第1の(セカンダリ)閾値距離内にはないとプロセス1400が判定したとき、プロセス1400が終了する。(1410において)他のデバイスがセカンダリ閾値距離内にあるとプロセス1400が判定したとき、プロセス1400は、(1415において)第2の周波数帯域で、(図9~図12を参照して上述したような)2回目のより正確でセキュアなレンジング演算を実行する。一部の実施形態の第2の周波数帯域は、デバイスがプライマリ閾値距離内にあるかどうかを(1420において)判定するのに必須の精度を提供する高周波数帯域である。一部の実施形態では、セカンダリ閾値距離1315及びプライマリ閾値距離1310は、異なる帯域の周波数に基づいて判定される。
(1420において)他のデバイスがプライマリ閾値距離内にはないとプロセス1400が判定したとき、プロセス1400が終了する。(1420において)他のデバイスがプライマリ閾値距離内にあるとプロセス1400が判定したとき、プロセス1400は、上記の例のように、保護チャネルを介してアンロックメッセージを送信する。次いで、プロセス1400は、終了する。このようにすると、一部の実施形態のデバイスは、セキュアなレンジング情報を使用して、信頼できるデバイスが目標デバイスをアンロックできるようにする前に、信頼されたデバイス及び目標デバイスが互いの指定レンジ内にあるかどうかを判定する。デバイスが特定の近接度内にあるかどうかを実際に算出するプロセスの例について以下に説明する。
C.近接度算出
一部の実施形態では、信頼できるデバイス及び目標デバイスは、デバイス間で交換されるレンジングデータのセットに基づいて、別のデバイスが特定のレンジ又は近接度内にあるかどうかを判定する。図15は、メッセージタイムスタンプ(上述のように導出チャネル上で交換されるタイムスタンプ)のセットに基づいて、デバイスが互いの閾値距離内にあるかどうかを判定するプロセスを概念的に示している。一部の実施形態では、プロセス1500は、セキュリティシフトプロセス中に、目標デバイスと信頼できるデバイスの両方によって実行される。
プロセス1500は、(1505において)ノンスをレンジングするために送受信されたタイムスタンプを記録する。図11及び図12を参照して、ノンスを送受信し、送受信された時刻のタイムスタンプを記録するプロセスについて説明する。
プロセス1500は、(1510において)いつノンスが送受信されたかについてのタイムスタンプを他のデバイスと交換する。例えば、上記例では、信頼できるデバイスは、第1のノンスを送信した時刻及び第2のノンスを受信した時刻を送信し、目標デバイスは、第1のノンスを受信した時刻及び第2のノンスを送信した時刻を送信する。一部の実施形態では、送受信されたタイムスタンプは、(例えば、導出キーを用いて)レンジングチャネル上で暗号化される。
1515において、プロセス1500は、タイムスタンプが、レンジング演算のセキュリティポリシーのために設定された時間的制約のセット内となるかどうかを判定する。例えば、一部の実施形態では、プロセス1500は、(1515において)第1のノンスの受信と第2のノンスの送信との間の時間が許容時間範囲内となるかどうかを判定する。ノンスの受信と送信との間の許容時間範囲を制約することによって、デバイスは、デバイスのクロックシステムにおけるドリフトを利用しようと試み得るクロックドリフト攻撃を防止することができる。
プロセス1500は、(1515において)タイムスタンプが指定された時間的制約内に適合しないと判定すると、以下に説明する次のステップ1545に進む。(1515において)タイムスタンプが指定された時間的制約内に適合するとプロセス1500が判定したとき、プロセス1500は、(1520において)デバイス間で送信されるノンスの送信時刻と受信時刻との間の時間範囲を算出する。算出された範囲は、ノンスがデバイス間を移動するのに必要な時間量を示す。一部の実施形態では、いくつかのサンプル距離測定値は、距離測定値のうちのいずれかを算出する前に捕捉される。
1525において、プロセス1500は、より多くのサンプルを捕捉すべきかどうかを判定する。(1525において)より多くのサンプルが必要であるとプロセス1500が判定したとき、プロセスは、ステップ1505に戻って、別のサンプル距離測定値を捕捉するために別のレンジング演算を実行する。次いで、プロセス1500は、(1530において)サンプルレンジング演算からサンプル距離測定値(又はタイムスタンプ)を解析して、デバイスが特定のレンジ内にあるかどうかを判定する。一部の実施形態の解析は、図10のレンジ算出部1018を参照して説明されたような算出に基づく。
次いで、プロセス1500は、(1535において)サンプル距離測定値の解析が、他のデバイスが閾値距離内にあることを示すかどうかを判定する。一部の実施形態の閾値距離は、ノンスを通信する帯域の周波数に基づいて識別される。例えば、一部の実施形態では、閾値距離は最小分解能距離の倍数である。
(1535において)他のデバイスが閾値距離内にはないとプロセス1500が判定したとき、プロセス1500は、(1545において)デバイスが所望のレンジ内にはない可能性があると判定し、終了する。
(1535において)他のデバイスが閾値距離内にあるとプロセス1500が判定したとき、プロセス1500は、(1540において)デバイスが特定のレンジ内にあることを確立し、プロセス1500は、次いで終了する。
上記のように、デバイスがレンジ内にあると判定すると、デバイスは、認証情報情報(例えば、アンロックキー、シークレット等)を交換することができる。一部の実施形態では、信頼できるデバイスをセキュアに使用して目標デバイスのセキュリティ状態を修正するために、セキュリティプロトコルの他の側面に関連してセキュアなレンジングが使用される。
IV.電子システム
上述の機能及びアプリケーションのうちの多くは、コンピュータ可読記憶媒体(コンピュータ可読媒体とも称される)上に記録される命令のセットとして指定される、ソフトウェアプロセスとして実装される。これらの命令が、1つ以上の計算ユニット又は処理ユニット(単数又は複数)(例えば、1つ以上のプロセッサ、プロセッサのコア、又は他の処理ユニット)によって実行される場合、それらの命令は、処理ユニット(単数又は複数)に、それらの命令で指示されるアクションを実行させる。コンピュータ可読媒体の例としては、CD-ROM、フラッシュドライブ、ランダムアクセスメモリ(RAM)チップ、ハードドライブ、消去可能プログラム可能な読出し専用メモリ(EPROM)、電気的消去可能プログラム可能な読み出し専用メモリ(EEPROM)などが挙げられるが、これらに限定されない。コンピュータ可読媒体は、無線で、若しくは有線接続を介して伝達される、搬送波及び電子信号を含まない。
本明細書では、用語「ソフトウェア」は、プロセッサによって処理するためにメモリ内に読み込むことが可能な、読み出し専用メモリ内に存在するファームウェア、又は磁気記憶装置内に記憶されたアプリケーションを含むものとする。また、一部の実施形態では、複数のソフトウェア発明は、別個のソフトウェア発明のまま維持しつつ、より大きいプログラムの下位区分として実装することもできる。一部の実施形態では、複数のソフトウェア発明はまた、個別のプログラムとして実装することもできる。最後に、本明細書で説明されるソフトウェア発明を一体となって実装する、個別のプログラムのいずれの組み合わせも、本発明の範囲内である。一部の実施形態では、ソフトウェアプログラムは、1つ以上の電子システムで動作するようにインストールされる場合、そのソフトウェアプログラムの動作を実行及び遂行する、1つ以上の特定のマシン実装を定義する。
図16は、本発明の一部の実施形態が実施される電子システム1600の別の例を概念的に示す。電子システム1600は、コンピュータ(例えば、デスクトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータ等)、電話、PDA、又は他の種類の電子デバイス若しくはコンピューティングデバイスでよい。そのような電子システムは、様々な種類のコンピュータ可読媒体、及び様々な他の種類のコンピュータ可読媒体のためのインターフェースを含む。電子システム1600は、バス1605、処理ユニット(単数又は複数)1610、グラフィック処理ユニット(GPU)1615、システムメモリ1620、ネットワーク1625、読み出し専用メモリ1630、永久記憶装置1635、入力デバイス1640、及び出力デバイス1645を含む。
バス1605は、電子システム1600の多数の内部デバイスを通信可能に接続する全てのシステム、周辺機器、及びチップセットバスを集合的に表す。例えば、バス1605は、処理ユニット(単数又は複数)1610を、読み出し専用メモリ1630、GPU1615、システムメモリ1620、及び永久記憶装置1635と通信可能に接続する。
これらの様々なメモリユニットから、処理ユニット(単数又は複数)1610は、本発明のプロセスを実行するために、実行すべき命令及び処理すべきデータを取得する。この処理ユニット(単数又は複数)は、異なる実施形態では、シングルプロセッサ又はマルチコアプロセッサとすることができる。一部の命令は、GPU1615に渡され、実行される。GPU1615は、処理ユニット(単数又は複数)1610によって提供される、様々な計算をオフロードするか、又は画像処理を補完することができる。一部の実施形態では、そのような機能性は、CoreImageのカーネルシェーディング言語を使用して提供することができる。
読み出し専用メモリ(ROM)1630は、処理ユニット(単数又は複数)1610及び電子システムの他のモジュールによって必要とされる静的データ及び命令を記憶する。一方で、永久記憶装置1635は、読み出し及び書き込みメモリデバイスである。このデバイスは、電子システム1600がオフのときであっても、命令及びデータを記憶する不揮発性メモリユニットである。本発明の一部の実施形態は、永久記憶装置1635として、大容量記憶デバイス(磁気ディスク若しくは光ディスク、及びその対応するディスクドライブなど)を使用する。
他の実施形態は、永久記憶装置として、リムーバブル記憶装置(フロッピディスク、フラッシュメモリ装置など、及びその対応するドライブ)を使用する。永久記憶装置1635と同様に、システムメモリ1620は、読み出し及び書き込みメモリデバイスである。しかしながら、記憶デバイス1635とは異なり、システムメモリ1620は、ランダムアクセスメモリ等の、揮発性の読み出し及び書き込みメモリである。システムメモリ1620は、実行時にプロセッサが必要とする、命令及びデータのうちの一部を記憶する。一部の実施形態では、本発明のプロセスは、システムメモリ1620、永久記憶装置1635、及び/又は読み出し専用メモリ1630内に記憶される。例えば、一部の実施形態によれば、様々なメモリユニットは、マルチメディアクリップを処理する命令を含む。これらの様々なメモリユニットから、処理ユニット(単数又は複数)1610は、一部の実施形態のプロセスを実行するために実行する命令及び処理するデータを取り出す。
バス1605はまた、入力デバイス1640及び出力デバイス1645に接続する。入力デバイス1640により、ユーザは、この電子システムに対して、情報を通信し、コマンドを選択することが可能となる。入力デバイス1640としては、英数字キーボード及びポインティングデバイス(「カーソル制御デバイス」とも称される)、カメラ(例えば、ウェブカメラ)、音声コマンドを受信するためのマイクロホン又は同様のデバイスなどが挙げられる。出力デバイス1645は、この電子システムによって生成された画像を表示するか、又は他の方式でデータを出力する。出力デバイス1645には、プリンタ、陰極線管(CRT)又は液晶ディスプレイ(LCD)などのディスプレイデバイス、並びにスピーカ又は同様のオーディオ出力デバイスが挙げられる。一部の実施形態には、入力デバイス及び出力デバイスの両方として機能するタッチスクリーンなどの装置を含む。
最後に、図16に示したとおり、バス1605はまた、ネットワークアダプタ(図示せず)を通じて、電子システム1600をネットワーク1625にも結合する。このようにして、コンピュータは、コンピュータのネットワーク(ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、若しくはイントラネットなど)の一部、又はインターネットなどの複数のネットワークのネットワークであり得る。電子システム1600のいずれか又は全ての構成要素を、本発明と共に使用することができる。
一部の実施形態は、マイクロプロセッサ、機械可読若しくはコンピュータ可読媒体(あるいは、コンピュータ可読記憶媒体、機械可読媒体、又は機械可読記憶媒体とも称される)内にコンピュータプログラム命令を記憶する記憶装置及びメモリなどの、電子構成要素を含む。そのようなコンピュータ可読媒体のいくつかの例には、RAM、ROM、読み出し専用コンパクトディスク(CD-ROM)、追記型コンパクトディスク(CD-R)、書き換え可能コンパクトディスク(CD-RW)、読み出し専用多目的ディスク(例えば、DVD-ROM、2層DVD-ROM)、様々な記録可能/書き換え可能DVD(例えば、DVD-RAM、DVD-RW、DVD+RWなど)、フラッシュメモリ(例えば、SDカード、ミニSDカード、マイクロSDカードなど)、磁気及び/又はソリッドステートハードディスク、読み出し専用記録可能Blu-Ray(登録商標)ディスク、超高密度光ディスク、任意の他の光学又は磁気メディア、及びフロッピディスクが挙げられる。コンピュータ可読媒体は、少なくとも1つの処理ユニットによって実行可能であり、かつ様々な操作を実行する命令セットを含む、コンピュータプログラムを記憶することができる。コンピュータプログラム又はコンピュータコードの例としては、コンパイラによって作成されるような機械コード、及び、インタープリタを使用して、コンピュータ、電子構成要素、若しくはマイクロプロセッサによって実行される高レベルコードを含むファイルが挙げられる。
上記の考察は、主に、ソフトウェアを実行するマイクロプロセッサ又はマルチコアプロセッサに言及しているが、一部の実施形態は、特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)などの、1つ以上の集積回路によって実行される。一部の実施形態では、そのような集積回路は、その回路自体に記憶されている命令を実行する。更には、一部の実施形態は、プログラマブルロジックデバイス(PLD)、ROM、又はRAMデバイス内に記憶されたソフトウェアを実行する。
本出願の本明細書及びいずれかの特許請求の範囲で使用されるとき、用語「コンピュータ」、「サーバ」、「プロセッサ」、及び「メモリ」は全て、電子デバイス又は他の技術装置を指す。これらの用語は、人又は人のグループを除外する。本明細書の目的上、用語「表示」又は「表示すること」は、電子デバイス上に表示することを意味する。本出願の本明細書及びいずれかの特許請求の範囲で使用されるとき、用語「コンピュータ可読媒体」及び「機械可読媒体」は、コンピュータによって読み出し可能な形式で情報を記憶する、有形の物理的実体に完全に限定される。これらの用語は、あらゆる無線信号、有線でダウンロードされる信号、及びあらゆる他の一過性の信号を除外する。
本発明は、数多くの特定の詳細を参照して説明されているが、当業者は、本発明の趣旨から逸脱することなく、他の特定の形式で本発明を具体化することができる点を認識するであろう。更に、(図1、図3、図4、図7、図11、図12、図14、及び図15を含めた)いくつかの図は、プロセスを概念的に示す。これらのプロセスの具体的な操作は、図示及び説明された厳密な順序では、実行されない場合がある。特定の動作は、連続した一連の動作としては実行されず、異なる特定の動作は、異なる実施形態で実行できる。更に、このプロセスは、いくつかのサブプロセスを使用して、又はより大きいマクロプロセスの一部として、実施することが可能であろう。したがって、本発明は、前述の例示的な詳細によって限定されるものではなく、むしろ、添付の特許請求の範囲によって定義されるものであることが、当業者には理解されるであろう。

Claims (20)

  1. 方法であって、
    プロキシデバイスが、信頼できるデバイスの可用性を通知することと、
    前記プロキシデバイスが、前記通知された可用性に応じて、目標デバイスからの第1の要求を受信することと、
    前記プロキシデバイスが、前記目標デバイスから前記第1の要求を受信すると、第2の要求を前記信頼できるデバイスに送信することであって、前記信頼できるデバイスは、前記第2の要求に基づいて前記目標デバイスとの通信接続を確立し、前記目標デバイスと前記信頼できるデバイスとの間の前記通信接続は、認証情報を交換して前記目標デバイスのセキュリティ状態を修正する前に、レンジング情報を交換して、前記目標デバイス及び前記信頼できるデバイスが特定のレンジ内にあるかどうかを判定するためのものである、ことと、
    を含む、方法。
  2. 前記プロキシデバイスは、第1の無線プロトコルを使用して、前記信頼できるデバイスの前記可用性を通知し、前記目標デバイスと前記信頼できるデバイスとの間に確立された前記通信接続は、異なる第2の無線プロトコルを使用する、請求項1に記載の方法。
  3. 前記信頼できるデバイスに対する前記第2の要求は、前記信頼できるデバイスが自身の可用性を前記目標デバイスに通知することを求める要求を含む、請求項2に記載の方法。
  4. 前記プロキシデバイスは、前記第1の無線プロトコルを使用して、前記信頼できるデバイスとの接続を維持する、請求項2又は3に記載の方法。
  5. 前記可用性を通知することは、前記目標デバイスの識別子をブロードキャストすることを含む、請求項2から4のいずれか1項に記載の方法。
  6. 1つ以上のプロセッサによって実行されると当該1つ以上のプロセッサに動作を実行させるプログラムであって、前記動作は、
    目標デバイスが、信頼できるデバイスの可用性をスキャンすることと、
    前記目標デバイスが、前記スキャンに基づいて、特定の信頼できるデバイスを識別することと、
    前記目標デバイスが、前記特定の信頼できるデバイスに対する第1の要求を、前記目標デバイスからの前記第1の要求の受信に応じて前記特定の信頼できるデバイスに第2の要求を送信するように構成されたプロキシデバイスに送信することと、
    前記目標デバイスが、前記プロキシデバイスによって前記特定の信頼できるデバイスに送信された前記第2の要求に基づいて、前記特定の信頼できるデバイスとの通信接続を確立することであって、前記通信接続は、認証情報を交換して前記目標デバイスのセキュリティ状態を修正する前に、レンジング情報を交換して、前記目標デバイス及び前記信頼できるデバイスが特定のレンジ内にあるかどうかを判定するためのものである、ことと、
    を含む、プログラム。
  7. 前記スキャンすること、前記送信すること、及び前記交換することは、第1の無線プロトコルを使用して実行され、前記通信接続は、異なる第2の無線プロトコルを使用するために確立される、請求項6に記載のプログラム。
  8. 前記第1の要求を受信すると、前記プロキシデバイスは、前記特定の信頼できるデバイスに自身の可用性のブロードキャストを開始するように命令する、請求項6又は7に記載のプログラム。
  9. 前記プロキシデバイスはロック状態にあり、前記信頼できるデバイスはアンロック状態にある、請求項6から8のいずれか1項に記載のプログラム。
  10. 前記通信接続を確立することは、前記特定の信頼できるデバイスとブートストラップ情報を交換することを含み、前記ブートストラップ情報は、周波数スペクトルの、前記通信接続のための部分を識別する、請求項6から9のいずれか1項に記載のプログラム。
  11. 前記動作は更に、
    前記目標デバイスにおけるセキュリティ状態の変更を開始するための入力を受信することと、
    前記確立された通信接続を使用して、認証情報のセットを前記目標デバイスが受信することを可能にするためのレンジング演算のセットを実行することと、
    前記認証情報のセットを使用して、前記目標デバイスにおける前記セキュリティ状態を変更することと、
    を含む、請求項6から10のいずれか1項に記載のプログラム。
  12. セキュリティ状態の前記変更は、前記目標デバイスをロック状態からアンロック状態に移行させる、請求項11に記載のプログラム。
  13. 前記目標デバイスは、前記レンジング演算のセットに基づいて、前記信頼できるデバイスが特定の閾値距離内にあると判定されると、前記認証情報のセットを受信することが可能になる、請求項11又は12に記載のプログラム。
  14. 前記信頼できるデバイスは、前記レンジング演算のセットに基づいて、前記目標デバイスが特定の閾値距離内にあると判定されると、前記認証情報のセットを送信する、請求項11から13のいずれか1項に記載のプログラム。
  15. プロキシデバイスであって、
    メモリと、
    少なくとも1つのプロセッサと、を備え、当該少なくとも1つのプロセッサは、
    信頼できるデバイスの可用性を通知することと、
    前記通知された可用性に応じて、目標デバイスからの第1の要求を受信することと、
    前記目標デバイスから前記第1の要求を受信すると、第2の要求を前記信頼できるデバイスに送信することであって、前記信頼できるデバイスは、前記第2の要求に基づいて前記目標デバイスとの通信接続を確立し、前記目標デバイスと前記信頼できるデバイスとの間の前記通信接続は、認証情報を交換して前記目標デバイスのセキュリティ状態を修正する前に、レンジング情報を交換して、前記目標デバイス及び前記信頼できるデバイスが特定のレンジ内にあるかどうかを判定するためのものである、ことと、
    を行うように構成される、プロキシデバイス。
  16. 前記少なくとも1つのプロセッサは、第1の無線プロトコルを使用して、前記信頼できるデバイスの前記可用性を通知するように構成されており、前記目標デバイスと前記信頼できるデバイスとの間に確立された前記通信接続は、異なる第2の無線プロトコルを使用する、請求項15に記載のプロキシデバイス。
  17. 前記信頼できるデバイスに対する前記第2の要求は、前記信頼できるデバイスが自身の可用性を前記目標デバイスに通知することを求める要求を含む、請求項16に記載のプロキシデバイス。
  18. 前記少なくとも1つのプロセッサは更に、前記第1の無線プロトコルを使用して、前記信頼できるデバイスとの接続を維持するように構成されている、請求項16又は17に記載のプロキシデバイス。
  19. 前記少なくとも1つのプロセッサは、前記目標デバイスの識別子をブロードキャストすることによって前記可用性を通知するように構成されている、請求項16から18のいずれか1項に記載のプロキシデバイス。
  20. 前記プロキシデバイスはロック状態にあり、前記信頼できるデバイスはアンロック状態にある、請求項15から19のいずれか1項に記載のプロキシデバイス。
JP2021109365A 2016-06-12 2021-06-30 保護レンジ検出を用いたセキュリティ状態の修正 Active JP7213306B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662349029P 2016-06-12 2016-06-12
US62/349,029 2016-06-12
US15/275,203 2016-09-23
US15/275,203 US11582215B2 (en) 2016-06-12 2016-09-23 Modifying security state with secured range detection
US15/497,203 2017-04-26
US15/497,203 US11178127B2 (en) 2016-06-12 2017-04-26 Modifying security state with secured range detection
JP2018562555A JP6907241B2 (ja) 2016-06-12 2017-06-02 保護レンジ検出を用いたセキュリティ状態の修正

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018562555A Division JP6907241B2 (ja) 2016-06-12 2017-06-02 保護レンジ検出を用いたセキュリティ状態の修正

Publications (2)

Publication Number Publication Date
JP2021168166A JP2021168166A (ja) 2021-10-21
JP7213306B2 true JP7213306B2 (ja) 2023-01-26

Family

ID=60573133

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018562555A Active JP6907241B2 (ja) 2016-06-12 2017-06-02 保護レンジ検出を用いたセキュリティ状態の修正
JP2021109365A Active JP7213306B2 (ja) 2016-06-12 2021-06-30 保護レンジ検出を用いたセキュリティ状態の修正

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018562555A Active JP6907241B2 (ja) 2016-06-12 2017-06-02 保護レンジ検出を用いたセキュリティ状態の修正

Country Status (7)

Country Link
US (4) US11582215B2 (ja)
EP (2) EP3449611B1 (ja)
JP (2) JP6907241B2 (ja)
KR (1) KR102298480B1 (ja)
CN (3) CN109196840A (ja)
AU (2) AU2017286140B2 (ja)
WO (1) WO2017218208A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11176237B2 (en) 2016-06-12 2021-11-16 Apple Inc. Modifying security state with secured range detection
US11250118B2 (en) 2016-06-12 2022-02-15 Apple Inc. Remote interaction with a device using secure range detection
US11582215B2 (en) 2016-06-12 2023-02-14 Apple Inc. Modifying security state with secured range detection
US10599587B2 (en) * 2016-11-29 2020-03-24 The Government Of The United States, As Represented By The Secretary Of The Army High latency channel and low latency channel
US11405185B2 (en) 2017-09-28 2022-08-02 Apple Inc. Methods and architectures for secure ranging
US20210071440A1 (en) * 2018-01-10 2021-03-11 Gate Labs Inc. Lock system and method for using
CN108471425A (zh) * 2018-06-12 2018-08-31 甘肃民族师范学院 基于网络的信息安全服务系统及方法
KR102661628B1 (ko) * 2018-09-13 2024-05-02 삼성전자주식회사 IoT 기기 제어 서비스를 제공하는 전자 장치 및 그 제어 방법
KR20240136465A (ko) 2018-09-28 2024-09-13 애플 인크. 모바일 디바이스들 사이의 레인징
EP3694172B1 (en) * 2019-02-07 2021-10-27 AO Kaspersky Lab System and method for controlling access to a cyber-physical system
EP3700234A1 (en) * 2019-02-19 2020-08-26 Koninklijke Philips N.V. System for trusted distance measurement
US11540137B2 (en) 2019-04-17 2022-12-27 Apple Inc. Pairing devices based on distance
WO2020214833A1 (en) * 2019-04-18 2020-10-22 Apple Inc. Remote interaction with a device using secure range detection
US11048810B2 (en) * 2019-04-26 2021-06-29 Motorola Mobility Llc Electronic device that scans for wearable device with access key
US10917756B2 (en) * 2019-05-01 2021-02-09 Powch, LLC Identification verification and authentication system
US10735900B1 (en) 2019-05-06 2020-08-04 Apple Inc. Ranging measurements for spatially-aware user interface of a mobile device
US11652617B1 (en) * 2019-06-21 2023-05-16 Dialog Semiconductor B.V. Two way authenticated time-of-flight
WO2021077218A1 (en) * 2019-10-21 2021-04-29 Innerspace Technology Inc. Stable and accurate indoor localization based on predictive hyperbolic location fingerprinting
US10721224B1 (en) * 2020-01-31 2020-07-21 Lowe's Companies, Inc. System and techniques for trans-account device key transfer in benefit denial system
JP7441116B2 (ja) * 2020-05-26 2024-02-29 株式会社東海理化電機製作所 制御装置およびプログラム
CN115443665A (zh) * 2020-06-30 2022-12-06 Oppo广东移动通信有限公司 用于测距的方法和终端设备
CN113114548B (zh) * 2020-07-07 2022-10-14 德能森智能科技(成都)有限公司 一种基于隐私管理的终端管理方法及系统
US11824866B2 (en) * 2021-02-05 2023-11-21 Cisco Technology, Inc. Peripheral landscape and context monitoring for user-identify verification
US11431838B1 (en) * 2021-05-05 2022-08-30 Amazon Technologies, Inc. Interaction with mobile application-based item lists via lock screen notifications
KR20240012544A (ko) 2021-06-30 2024-01-29 다이킨 고교 가부시키가이샤 적층체의 제조 방법 및 적층체
US20230171819A1 (en) * 2021-11-30 2023-06-01 Cisco Technology, Inc. Shared lock screen across paired devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065346A (ja) 2007-09-05 2009-03-26 Panasonic Corp 無線中継装置、携帯端末装置、キー、及び認証エリア拡張システム
JP2009533990A (ja) 2006-04-14 2009-09-17 クゥアルコム・インコーポレイテッド 距離に基づくアソシエーション
WO2013153925A1 (ja) 2012-04-10 2013-10-17 ソニー株式会社 通信装置、通信制御方法及びプログラム

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539479B1 (en) 1997-07-15 2003-03-25 The Board Of Trustees Of The Leland Stanford Junior University System and method for securely logging onto a remotely located computer
JPH11241539A (ja) 1998-02-25 1999-09-07 Alpha Corp キーレスエントリーシステム
US7039392B2 (en) * 2000-10-10 2006-05-02 Freescale Semiconductor System and method for providing device authentication in a wireless network
US6981144B2 (en) 2001-04-06 2005-12-27 International Business Machines Corporation System console device authentication in a network environment
US20030099362A1 (en) 2001-11-27 2003-05-29 Doug Rollins Method and apparatus for WEP key management and propagation in a wireless system
US6961541B2 (en) 2002-05-24 2005-11-01 Aeroscout, Inc. Method and apparatus for enhancing security in a wireless network using distance measurement techniques
EP1487224A1 (en) 2003-06-11 2004-12-15 Sony France S.A. Wireless communication system and method for facilitating wireless communication
US7231041B2 (en) 2003-08-19 2007-06-12 General Motors Corporation Method, device, and system for secure motor vehicle remote keyless entry
JP2005117430A (ja) 2003-10-08 2005-04-28 Nec Saitama Ltd 携帯端末紛失時の不正使用防止方法及び携帯端末
US7646872B2 (en) 2004-04-02 2010-01-12 Research In Motion Limited Systems and methods to securely generate shared keys
EP1761861A4 (en) * 2004-06-28 2009-12-16 Nds Ltd PROXIMITY DETERMINATION SYSTEM
FR2882839A1 (fr) 2005-03-07 2006-09-08 Laurent Michel Dispositif de protection d'acces a un ordinateur
US20060288209A1 (en) 2005-06-20 2006-12-21 Vogler Dean H Method and apparatus for secure inter-processor communications
JP2007019892A (ja) 2005-07-07 2007-01-25 Matsushita Electric Ind Co Ltd 携帯端末装置、無線通信ユニット、無線認証距離測定方法及び無線認証距離測定プログラム
US20080201768A1 (en) 2005-07-08 2008-08-21 Hong-Sik Koo Method For Managing A Large Number Of Passwords, Portable Apparatus And Certification Information Storing Device Using The Same, And Certification Information Management Method Using The Same
US20070248232A1 (en) 2006-04-10 2007-10-25 Honeywell International Inc. Cryptographic key sharing method
CN101390350B (zh) * 2006-04-18 2013-04-17 高通股份有限公司 经验证的距离测距
US20090076911A1 (en) 2007-06-20 2009-03-19 Dang Minh Vo Mobile coupons utilizing peer to peer ranging
WO2009022192A1 (en) 2007-08-14 2009-02-19 Nokia Corporation Distance estimation
US20090288079A1 (en) 2008-05-13 2009-11-19 Google Inc. Automatic installation of a software product on a device
US20090325573A1 (en) 2008-05-20 2009-12-31 Symbol Technologies, Inc. Methods and apparatus for roaming in a wireless network
US7515048B1 (en) 2008-05-20 2009-04-07 International Business Machines Corporation Method and system for using RFID to automatically lock and unlock a mobile computing device
US8045961B2 (en) 2009-06-22 2011-10-25 Mourad Ben Ayed Systems for wireless authentication based on bluetooth proximity
US8838332B2 (en) 2009-10-15 2014-09-16 Airbiquity Inc. Centralized management of motor vehicle software applications and services
EP2315465A1 (en) 2009-10-20 2011-04-27 ETH Zurich Method for secure communication between devices
US9134897B2 (en) 2010-04-26 2015-09-15 Via Technologies, Inc. Electronic system and method for operating touch screen thereof
US9443071B2 (en) 2010-06-18 2016-09-13 At&T Intellectual Property I, L.P. Proximity based device security
US20120240191A1 (en) 2011-03-14 2012-09-20 Jordan Husney Wireless device nearfield security configuration
CN102184352A (zh) 2011-03-16 2011-09-14 东南大学 基于蓝牙设备认证的计算机系统自动防护方法
US9867221B2 (en) 2011-03-16 2018-01-09 Koninklijke Philips N.V. Pairing between wireless devices
US9787670B2 (en) 2011-08-16 2017-10-10 Ictk Co., Ltd Apparatus and method for authentication between devices based on PUF over machine-to-machine communications
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US9419444B2 (en) 2011-10-05 2016-08-16 Blackberry Limited Wireless charging and communication with power source devices and power charge devices in a communication system
US10212588B2 (en) 2011-10-25 2019-02-19 Salesforce.Com, Inc. Preemptive authorization automation
US20130335193A1 (en) 2011-11-29 2013-12-19 1556053 Alberta Ltd. Electronic wireless lock
CN103378876A (zh) 2012-04-16 2013-10-30 上海博路信息技术有限公司 一种基于蓝牙的终端解锁方法
US9445267B2 (en) 2012-08-31 2016-09-13 Apple Inc. Bump or close proximity triggered wireless technology
US9326239B2 (en) * 2012-09-28 2016-04-26 Broadcom Corporation Managing connectivity between wireless devices
JP5939126B2 (ja) 2012-10-17 2016-06-22 株式会社デンソー 車載装置および車両盗難防止システム
WO2014071564A1 (en) * 2012-11-07 2014-05-15 Nokia Corporation Proxy connection method and apparatus
US9549323B2 (en) 2012-12-03 2017-01-17 Samsung Electronics Co., Ltd. Method and mobile terminal for controlling screen lock
JP2014123204A (ja) 2012-12-20 2014-07-03 Casio Comput Co Ltd 情報処理システム、及び携帯情報端末と無線端末、ロック解除方法
RU2523113C1 (ru) 2012-12-25 2014-07-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ целевой установки сконфигурированного программного обеспечения
SG11201505362WA (en) 2013-01-09 2015-08-28 Evernym Inc Systems and methods for access-controlled interactions
US9942750B2 (en) 2013-01-23 2018-04-10 Qualcomm Incorporated Providing an encrypted account credential from a first device to a second device
US8938558B2 (en) * 2013-03-04 2015-01-20 Microsoft Corporation Modifying functionality based on distances between devices
WO2014165230A1 (en) 2013-03-13 2014-10-09 Lookout, Inc. System and method for changing security behavior of a device based on proximity to another device
US9565181B2 (en) 2013-03-28 2017-02-07 Wendell D. Brown Method and apparatus for automated password entry
US9294922B2 (en) 2013-06-07 2016-03-22 Blackberry Limited Mobile wireless communications device performing device unlock based upon near field communication (NFC) and related methods
US9094800B2 (en) 2013-06-11 2015-07-28 Cellco Partnership System and method for preventing driver use of a mobile device
US9563755B2 (en) * 2013-06-18 2017-02-07 Google Inc. NFC triggered two factor protected parental controls
US9749134B2 (en) 2013-06-20 2017-08-29 Qualcomm Incorporated Wireless configuration using passive near field communication
CN103442120A (zh) 2013-08-09 2013-12-11 北京纽曼腾飞科技有限公司 一种智能电话加解锁方法
US9686369B2 (en) 2013-09-13 2017-06-20 Qualcomm Incorporated System and method for multihop service discovery with member station proxy service advertisements
KR102021058B1 (ko) 2013-10-30 2019-09-11 삼성전자주식회사 보안 시스템 제어 방법 및 그 전자 장치
US9230430B2 (en) 2013-11-27 2016-01-05 Google Inc. Detecting removal of wearable authentication device
KR102061913B1 (ko) 2013-12-12 2020-01-02 삼성전자주식회사 전자 장치의 동작을 제어하기 위한 방법 및 장치
US9684778B2 (en) 2013-12-28 2017-06-20 Intel Corporation Extending user authentication across a trust group of smart devices
CN106233241B (zh) 2014-01-23 2020-03-31 苹果公司 虚拟计算机键盘
CN103841198B (zh) 2014-03-07 2017-03-29 中南大学 一种净室云计算数据处理方法及系统
JP2015172884A (ja) 2014-03-12 2015-10-01 株式会社東芝 電子機器、システム及び方法
EP3127032A1 (en) 2014-04-01 2017-02-08 Sony Corporation Authentication with ultrasound
US9392104B2 (en) 2014-04-15 2016-07-12 Google Inc. Limiting user interaction with a computing device based on proximity of a user
US9747433B2 (en) 2014-06-24 2017-08-29 Google Technology Holdings, LLC Wearable electronic device and method for securing same
CN104092817B (zh) 2014-06-24 2018-04-06 惠州Tcl移动通信有限公司 一种移动终端近距离自动解锁的方法及系统
CN104158946B (zh) * 2014-07-21 2016-08-17 小米科技有限责任公司 一种控制终端的方法及装置
US20160058133A1 (en) 2014-08-28 2016-03-03 Joseph Fournier Analog watch with digital wearable system
US10082892B2 (en) 2014-09-02 2018-09-25 Apple Inc. Button functionality
US20160065374A1 (en) 2014-09-02 2016-03-03 Apple Inc. Method of using one device to unlock another device
KR102192419B1 (ko) 2014-09-11 2020-12-17 삼성전자주식회사 웨어러블 장치를 사용하여 전자 장치를 제어하는 방법 및 전자 장치의 동작 방법
US9729522B2 (en) 2014-12-08 2017-08-08 Sony Corporation System and method for device authentication
US9565187B2 (en) 2015-02-05 2017-02-07 Google Inc. Systems and methods for mutual authentication of electronic devices
US10485032B2 (en) 2015-02-27 2019-11-19 Verizon Patent And Licensing Inc. Providing a network gateway for user devices
US9660984B2 (en) 2015-04-01 2017-05-23 Dell Products, L.P. Method of automatically unlocking an electronic device via a wearable device
US10701067B1 (en) 2015-04-24 2020-06-30 Microstrategy Incorporated Credential management using wearable devices
US10097353B1 (en) 2015-09-22 2018-10-09 Amazon Technologies, Inc. Digital unlocking of secure containers
CN105245542B (zh) 2015-10-28 2020-06-23 腾讯科技(深圳)有限公司 账号授权方法、服务器及客户端
WO2017083853A1 (en) 2015-11-13 2017-05-18 Yaana Technologies Llc System and method for providing secure and anonymous device-to-device communication
US9936385B2 (en) * 2015-12-04 2018-04-03 Lenovo (Singapore) Pte. Ltd. Initial access to network that is permitted from within a threshold distance
US10181021B2 (en) 2016-02-01 2019-01-15 Fitbit, Inc. Method and apparatus for off-body detection for wearable device
US10861019B2 (en) * 2016-03-18 2020-12-08 Visa International Service Association Location verification during dynamic data transactions
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
US11176237B2 (en) 2016-06-12 2021-11-16 Apple Inc. Modifying security state with secured range detection
US10440574B2 (en) 2016-06-12 2019-10-08 Apple Inc. Unlocking a device
US11582215B2 (en) 2016-06-12 2023-02-14 Apple Inc. Modifying security state with secured range detection
WO2018112713A1 (en) 2016-12-19 2018-06-28 Arris Enterprises Llc System and method for mobile device to automatically disable fingerpring unlock when user is sleeping
US10486646B2 (en) 2017-09-29 2019-11-26 Apple Inc. Mobile device for communicating and ranging with access control system for automatic functionality
US11176224B2 (en) 2018-11-13 2021-11-16 Bank Of America Corporation Security tool

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009533990A (ja) 2006-04-14 2009-09-17 クゥアルコム・インコーポレイテッド 距離に基づくアソシエーション
JP2009065346A (ja) 2007-09-05 2009-03-26 Panasonic Corp 無線中継装置、携帯端末装置、キー、及び認証エリア拡張システム
WO2013153925A1 (ja) 2012-04-10 2013-10-17 ソニー株式会社 通信装置、通信制御方法及びプログラム

Also Published As

Publication number Publication date
US20190171465A1 (en) 2019-06-06
EP4284046A3 (en) 2024-01-17
CN116094831A (zh) 2023-05-09
EP3449611B1 (en) 2023-10-11
CN109196840A (zh) 2019-01-11
AU2017286140A1 (en) 2018-12-20
CN114466361A (zh) 2022-05-10
US11582215B2 (en) 2023-02-14
AU2017286140B2 (en) 2020-10-22
JP2019521425A (ja) 2019-07-25
US20170359169A1 (en) 2017-12-14
JP6907241B2 (ja) 2021-07-21
WO2017218208A1 (en) 2017-12-21
KR102298480B1 (ko) 2021-09-06
US11178127B2 (en) 2021-11-16
EP3449611A1 (en) 2019-03-06
US12113784B2 (en) 2024-10-08
US11438322B2 (en) 2022-09-06
AU2021200451B2 (en) 2022-09-29
US20170357523A1 (en) 2017-12-14
EP4284046A2 (en) 2023-11-29
JP2021168166A (ja) 2021-10-21
AU2021200451A1 (en) 2021-02-25
US20230300122A1 (en) 2023-09-21
KR20190003977A (ko) 2019-01-10

Similar Documents

Publication Publication Date Title
JP7213306B2 (ja) 保護レンジ検出を用いたセキュリティ状態の修正
US11250118B2 (en) Remote interaction with a device using secure range detection
US11176237B2 (en) Modifying security state with secured range detection
CN112970236B (zh) 协作风险感知认证
US10268811B2 (en) System and method for delegating trust to a new authenticator
US12041039B2 (en) System and method for endorsing a new authenticator
US20160286393A1 (en) Method and apparatus for seamless out-of-band authentication
WO2021009644A1 (en) System and method for proximity-based authentication
AU2017323547A1 (en) Systems and methods for device authentication
GB2547472A (en) Method and system for authentication
US10021092B1 (en) Systems and methods for device authentication
US20170289159A1 (en) Security support for free wi-fi and sponsored connectivity for paid wi-fi
US20180288092A1 (en) Protection from relay attacks in wireless communication systems
US10944571B2 (en) Device re-activation
US20220377065A1 (en) Single-exchange authentication of a communications device
CN113692584A (zh) 使用安全范围检测与设备进行远程交互

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230116

R150 Certificate of patent or registration of utility model

Ref document number: 7213306

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150