(57)【要約】      （修正有）【課題】コンピュータデバイスへのアタック後に位置情報を安全に報告する方法を提供する。【解決手段】コンピュータデバイス１００は、要求エンティティ１１６から、非決定論的な値を含む要求を受信する。インターフェース１４０は、暗号エンジン１１４に非決定論的な値を供給する。暗号エンジン１１４は、情報の数学的な変換を行う。それによって、第三者に対し、その情報をわかりにくくさせる。暗号エンジン１１４は、キー選択ブロック１１０によって供給された応答キーを非決定論的な値と組み合わせ、それに数学的な変換を行うことによって、変換されたキーを生成する。変換されたキーは、非決定論的な値と応答キーに基づいているため、変換に使用された応答キーの識別は、アタッカーに、ほぼ解読不能となる。アタックが深刻であると判断された場合には、要求エンティティ１１６は、コンピュータデバイス１００に位置要求を行う。【選択図】図１
2014222890.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータデバイスからの位置情報を安全に通信する方法であって、
ａ．要求エンティティから、位置要求を受信することと、
ｂ．前記コンピュータデバイスで、位置情報を取得することと、
ｃ．前記位置情報と、ハードウェアキーの少なくとも一部とに基づいて、応答を形成することと、
ｄ．前記要求エンティティに、前記応答を供給することと
を含む方法。
【請求項２】
前記応答を形成することは、前記ハードウェアキーの一部と、前記位置情報の少なくとも一部とを数学的に変換することを含む、請求項１に記載の方法。
【請求項３】
前記数学的な変換は、一方向ハッシュ関数である、請求項２に記載の方法。
【請求項４】
要求エンティティで、コンピュータデバイスの位置についての情報を、安全に受信する方法であって、
ａ．前記要求エンティティで、位置要求を形成することと、
ｂ．前記コンピュータデバイスに、前記位置要求を供給することと、
ｃ．前記コンピュータデバイスの位置と、ハードウェアキーの少なくとも一部とに基づいた、前記コンピュータデバイスからの応答を受信することと、
ｄ．前記応答から、前記コンピュータデバイスの位置を判断することと
を含む方法。
【請求項５】
前記要求エンティティの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスがアタックされたと判断する場合にのみ、形成される、請求項４に記載の方法。
【請求項６】
前記要求エンティティの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスへのアタックが深刻な性質のものであると判断する場合にのみ、形成される、請求項５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２００８年３月７日に出願された、先の米国出願番号第１２／０４４，４０９号の一部継続出願である。
【０００２】
開示の分野
本開示は、概して、セキュリティに関し、具体的には、危険にさらされた、またはハッキングされたコンピュータデバイスについての位置情報を安全に通信することに関する。
【背景技術】
【０００３】
コンピュータデバイスは、より複合的になるにつれ、機能豊富にもなってきている。セル式電話等のデバイスは、現在、高度化したプロセッサを含み、映像およびオーディオの再生、電子バンキング、および安全な情報の記憶といったタスクを行うことができる。ハードウェア、サービス、コンテンツ、およびソフトウェアのプロバイダは、皆、権限のないアクセスまたは不正な改ざんから、自分たちの財産を守ることに、関心を抱いている。たとえば、セル式電話のプロバイダは、映像またはオーディオのコンテンツ等の、ある特定の「プレミアムな」電話の特色（features）へのアクセスの制限を望むであろう。そのような会社による多額の投資や、セル式電話等のデバイスに記憶された情報の量や種類を考えると、データに対する、権限のないコピー、配信、またはアクセスが防止可能であることが、重要である。
【０００４】
コンピュータデバイスへの権限のないアクセスを得るために使用される一般的な方法は、数多くあり、不適切にディスエーブルされた、またはディスエーブルされていない、ジョイントテストアクショングループ（ＪＴＡＧ：Joint Test Action Group）ポート等のテストインターフェースポートを使用することや、意図された温度または電圧の耐性外でコンピュータデバイスを故意に動作させることや、コンピュータデバイスが固着されたプリント回路基板に対し、トレース（trace）を変更すること、または構成要素を追加することや、さまざまなタイプのソフトウェアのアタックを含む。これら、および他のタイプのアタックの影響を検出し、軽減するためのハードウェアおよびソフトウェアの両方を提供することが可能である。コンピュータデバイスが通信するシステムによる異なる応答を可能にするために、複数のタイプのアタックが区別可能であることは、利点がある。アタックが検出された事実をアタッカーに警告することなく、デバイスがアタックの対象になっているという通知を提供可能であることもまた、利点がある。
【発明の概要】
【０００５】
当然のことながら、ここでの教示の他の実施形態は、本教示のさまざまな実施形態が例として示されて説明される以下の詳細な説明から、当業者に理解されるであろう。理解されるように、ここでの教示は、教示の精神および範囲から逸脱することなく、他の、および異なる実施形態を行うことができる。したがって、図面および詳細な説明は、事実上、例示的なものとみなされ、限定的なものとはみなされない。
【０００６】
本開示の教示のさまざまな態様が、付属の図面で、限定ではなく、例として示される。
【図面の簡単な説明】
【０００７】
【図１】ある実施形態のブロック図である。
【図２】別の実施形態のブロック図である。
【図３】ある実施形態のシステム設計を示すフローチャートである。
【図４】アタックの検出、およびクライアントデバイスの位置の報告を示すフローチャートである。
【詳細な説明】
【０００８】
以下に記載する詳細な説明は、付属の図面に関連して、本開示の教示のさまざまな例示的な実施形態を説明することを意図し、そのような教示が実現されうる実施形態のみを表すことは意図しない。詳細な説明は、限定ではなく、例として、教示の完全な理解を提供する目的で、具体的な詳細を含む。本開示の教示がさまざまな方法で実現されうることが、当業者に理解されるであろう。いくつかの例において、周知の構造および構成要素は、本開示の概念を不明瞭にするのを避けるために、ハイレベルで説明される。
【０００９】
１つ以上の例示的な実施形態において、説明される機能およびブロックは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせにおいて実現されることができる。ソフトウェアで実現される場合、機能は、コンピュータ可読媒体で、１つ以上の命令またはコードとして、記憶または伝送されることができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの移送を容易にする任意の媒体を含む、コンピュータ記憶媒体および通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスすることのできる、任意の入手可能な媒体であってもよい。限定ではなく、例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、または他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、または、命令またはデータ構造の形態で、所望のプログラムコードを搬送または記憶するために使用されることができ、かつ、コンピュータによってアクセスすることができる、任意の他の媒体を含むことができる。また、いずれの接続も、当然のことながら、コンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、ウェブサイト、サーバー、または、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）を使用する他のリモートソース、または、赤外線、無線、および、マイクロ波といった無線技術によって伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または、赤外線、無線、および、マイクロ波といった無線技術は、伝送媒体の定義に含まれる。ディスク（disk）およびディスク（disc）は、ここに使用されるとき、コンパクトディスク（disc）（ＣＤ）、レーザー（登録商標）ディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disks）は普通、データを磁気的に再生するが、ディスク（discs）は普通、レーザーで光学的にデータを再生する。上記したものの組み合わせも、また、コンピュータ可読媒体の範囲内に含まれるべきである。
【００１０】
図１は、アタック検出ブロック１３４を組み込んだコンピュータデバイス１００の例示的な実施形態を示す。
【００１１】
コンピュータデバイス１００は、リバースリンク１２６およびフォワードリンク１２８を介して、要求エンティティ（Requesting Entity）１１６につながっている。リバースリンク１２６およびフォワードリンク１２８は、イーサネット（登録商標）、無線イーサネット、または、ＣＤＭＡまたはＧＳＭ（登録商標）といったセル方式無線ネットワークプロトコルを含むが、それらに限定されない、さまざまな接続であることができる。コンピュータデバイス１００は、インターフェース１４０によって、フォワードリンク１２８を介して、要求エンティティ１１６からの通信を受信する。
【００１２】
要求エンティティ１１６は、要求形成ブロック１５２において、要求を形成する。この要求は、要求が向けられたデバイスの識別を含む。明示的な識別の代わりに、要求は、要求を受信することのできる、デバイスのグループまたは全デバイスに、向けられることができる。さらに、要求は、要求されたデバイスが報告するスケジュールを構成することもでき、特定の実装指令のニーズとして、任意の他の報告およびスケジュール化メカニズムを実装することもできる。
【００１３】
要求形成ブロック１５２は、専用回路（dedicated circuit）、汎用プロセッサ、ソフトウェアプログラム、または任意の他の好適な処理メカニズムであってもよい。要求は、ルックアップテーブルまたは熱雑音生成器を含む、しかし、これらに限定されない、エントロピーソースによって生成された非決定論的な値（non−deterministic value）を含んでもよい。要求エンティティ１１６は、フォワードリンク１２８によって、要求を供給する。所望のセキュリティレベルによって、要求は、平文で（in the clear）送られることもできるし、マスキングまたは暗号アルゴリズムの使用を含む、しかし、これらに限定されない方法によって、数学的に変換されることもできる。
【００１４】
ある実施形態において、コンピュータデバイス１００は、フォワードリンク１２８によって、要求エンティティ１１６から、インターフェース１４０で、非決定論的な値を含む要求を受信する。インターフェース１４０は、暗号エンジン１１４に非決定論的な値を供給する。暗号エンジン１１４は、情報の数学的な変換を行うように適合させられており、それによって、第三者傍聴人（third−party observer）に対し、その情報をわかりにくくさせる。暗号エンジン１１４によって行われる数学的な変換は、（ＭＤ５、ＳＨＡ−Ｉ、またはＳＨＡ−３といった）暗号のハッシュ関数、または（トリプル−ＤＥＳ、またはＡＥＳ暗号といった）暗号アルゴリズムであることもできるが、これらに限定されない。暗号エンジン１１４は、専用ハードウェアブロック、暗号演算を行うことができる汎用プロセッサ、またはコンピュータ可読媒体に含まれたソフトウェアプログラムとして、実現されることができる。暗号エンジン１１４は、キー選択ブロック１１０によって供給された応答キーを非決定論的な値と組み合わせることと、応答キーと非決定論的な値の組み合わせの数学的な変換を行うことによって、変換されたキーを生成する。変換されたキーは、非決定論的な値と応答キーに基づいているため、変換に使用された応答キーの識別は、変換されたキーを観察することができるアタッカーに、ほぼ解読不能となる。変換されたキーから応答キーを判断することは、演算処理上、難題であり、それは、応答キーを、アタッカーに対し、より解読不能にさせる。要求および応答の一部として非決定論的な値を使用することは、変換されたキーが、同一のタイプのアタックを報告する場合であっても、常に同一でないことを確実にする。そして、コンピュータデバイスは、リバースリンク１２６によって、要求エンティティ１１６に、変換されたキーを送信する。
【００１５】
要求エンティティ１１６は、以前に記憶したものであっても、コンピュータデバイス１００から受信したものであってもよい、プログラムされた各ハードウェアキー１０２−１０８に基づいて、考えられる変換されたキーの値のリストを計算し、キーテーブル１１８に、考えられる変換されたキーの値を記憶する。要求エンティティ１１６は、要求を送信する前に、要求の送信と並行して、または、要求エンティティ１１６が、コンピュータデバイス１００から返信された、変換されたキーを受信した後に、考えられる変換されたキーの値のリストを計算することができる。要求エンティティ１１６は、比較ブロック１５０で、リバースリンク１２６によって、コンピュータデバイス１００から、変換されたキーを受信する。比較ブロック１５０は、専用回路、汎用プロセッサ、またはソフトウェアプログラムであってもよい。比較ブロック１５０において、要求エンティティ１１６は、変換されたキーを、キーテーブル１１８に記憶された、考えられる変換されたキーの値と比較する。このようにして、要求エンティティ１１６は、コンピュータデバイス１００がアタックされたか否かを、コンピュータデバイス１００から受信された特定の変換されたキーによって、判断することができる。要求エンティティ１１６は、さらに、コンピュータデバイス１００から受信された特定の変換されたキーに基づいて、アタックのタイプについての情報を得ることもできる。
【００１６】
アタッカー１３０が、コンピュータデバイス１００にアタック１３２を実行した場合、アタック１３２は、アタック検出ブロック１３４によって検出される。アタック検出ブロック１３４は、検出されたアタックのタイプに基づいて、複数のハッキング状況インジケータ（Hack Condition Indicators）１２０−１２４のうちの少なくとも１つを設定し、デフォルトキーとして、「ノーアタック」キー１０２を選択するように適合させられることができる。ハッキング状況フラグブロック１１２は、ハッキング状況インジケータ１２０−１２４の状態に応じて、キー選択ブロック１１０の出力を制御する。ハッキング状況インジケータ１２０−１２４の状態に基づいて、ハッキング状況フラグブロック１１２は、応答キーとして複数のプログラムされたハードウェアキー１０２−１０８のうちの１つを選択することをキー選択ブロック１１０に可能にさせる制御信号を生成し、それを暗号エンジン１１４に供給する。この応答キーは、コンピュータデバイス１００の識別と、アタックが検出されたか否かと、もしアタックが検出された場合には検出されたアタックのタイプと、を具現化するものである。
【００１７】
コンピュータデバイス１００は、複数のプログラムされたハードウェアキー１０２−１０８を含む。これらは、要求エンティティ１１６によってチャレンジされた（challenged）場合に、アタックのタイプを識別し、コンピュータデバイス１００を認証する（authenticate）ために使用される、複数の「アタック」キー１０４−１０８と、「ノーアタック（No−Attacks）」キー１０２とを含む。「ノーアタック」キー１０２、および複数の「アタック」キー１０４−１０８は、キー選択ブロック１１０に結合される。ハッキング状況フラグ回路１１２は、複数のハッキング状況インジケータ１２０−１２４に結合され、マルチプレクサ１１０に結合された出力を有する。アタック検出ブロック１３４は、複数のハッキング状況インジケータ１２０−１２４に結合される。暗号エンジン１１４は、キー選択ブロック１１０の出力、およびインターフェース１４０の出力に対応する。暗号エンジン１１４は、キー選択ブロック１１０の出力に基づいて、要求エンティティ１１６によって供給された値を変換する。値は、それが所望されるのであれば、他の情報を含むこともできる。そして、変換されたキーは、リバースリンク１２６によって、要求エンティティ１１６に送信される。
【００１８】
「ノーアタック」キー１０２は、アタック検出ブロック１３４がコンピュータデバイス１００へのいずれのアタックも検出しなかった場合に、使用される。複数の「アタック」キー１０４−１０８は、特定のタイプの検出されたアタックに対応する。複数のプログラムされたハードウェアキー１０２−１０８の各々は、コンピュータデバイス１００を識別することも、コンピュータデバイス１００のアタック状態を通信することも、可能である。複数のハードウェアキー１０２−１０８は、さまざまな方法でプログラムされることができ、生産時の電子ヒューズ（electronic fusing）、生産時にプログラムされる不揮発性ＲＡＭ、または、コンピュータデバイス１００が要求エンティティ１１６に接続される際に要求エンティティ１１６によってプログラムされる不揮発性ＲＡＭを含むが、これらに限定されない。
【００１９】
ハッキング状況インジケータ１２０−１２４の各々は、「アタック」キー１０４−１０８のうちの１つに関連する（correlated）。ある実施形態において、ハッキング状況インジケータ１２０−１２４は、スタティックＲＡＭまたはラッチといった揮発性記憶要素を含むことができる。別の実施形態では、ハッキング状況インジケータ１２０−１２４は、永久的に飛んだ（permanently blown）ハードウェアヒューズといった不揮発性記憶要素を含むことができる。当業者は、揮発性および不揮発性の記憶要素を組み合わせた実施形態が可能であること、および他のタイプの揮発性および不揮発性の記憶要素もまた使用されることができることを理解するであろう。この特定の実施形態では、３つのアタックキーおよびハッキング状況インジケータのみが説明されているが、当業者は、そのような「アタック」キーおよびインジケータは任意の数だけあってもよいこと、および、それらは、検出可能なアタック、または、不明な（unknown）アタックのうちの任意のタイプに対応することができることを理解するであろう。
【００２０】
特定のハッキング状況インジケータに揮発性または不揮発性の記憶要素のどちらを使用するかを選択する際に考慮すべきファクターは、特定の種類のアタックの感知された深刻さ（seriousness）である。より深刻でないと感知されたアタックのタイプは、揮発性の記憶要素を使用して示されることができる一方、より深刻であると考えられたアタックのタイプは、不揮発性の記憶要素を使用して示されることができる。例示的な実施形態において、物理的なパッケージへのアタック等のデバイスのセキュリティを標的にしたアタック、ＪＴＡＧインターフェース等のテストインターフェースを使用する試み、または、既定の閾値を越える多数の認証失敗（authentication failures）は、より深刻であると考えられ、飛んだハードウェアのヒューズによって示される可能性がある一方、映像またはオーディオの再生といった制限された特色へのアクセスを得るアタックは、深刻さがより少ないと考えられ、セル式電話の電源を切ってすぐに入れ直す（power−cycled）とリセットするスタティックＲＡＭビットを設定することにより、示される可能性がある。当業者は、データの敏感性（sensitivity）、およびアタックによる潜在的な経済損失を含む、しかし、これらに限定されない種々のファクターが、種々のタイプのコンピュータデバイスに、関連し得ることを理解するであろう。
【００２１】
ある例示的な実施形態において、コンピュータデバイス１００は、セル式電話に組み込まれることができる。要求エンティティ１１６は、セル式電話が通信するセル式ネットワークであることができる。「アタック」キーは、ＪＴＡＧインターフェースにアクセスする試み、標準の温度または電圧の範囲外にデバイスを持ち出すこと、セル式電話のプロセッサに対し疑わしいコードを実行する試み、ユーザーが支払いを行っていない特色へのアクセスを得る試み、または、権限のないネットワークで電話を操作することを含む、セル式電話デバイスへの一般的なアタックを示すことができる。そして、ネットワークプロバイダは、危険にさらされた（compromised）電話のネットワークへのアクセスを拒否すること、ユーザーが支払いを行っていない特定のソフトウェアまたは特色を使用不可とすること、危険にさらされた電話の位置を記録すること、または、危険にさらされた電話のタイプについての情報を記録することといった、しかし、これらに限定されない、アタックのタイプに基づいた措置をとることができる。
【００２２】
別の例示的な実施形態において、コンピュータデバイス１００は、乗り物のエンジン制御コンピュータに結合されることもできる。要求エンティティ１１６は、乗り物の製造者または第三者によって維持されることができる。この場合、「アタック」キーは、変更されたエンジン管理ソフトウェア、特定の閾値を超えた速度、乗り物が盗まれたとの報告があったかどうか、または、義務づけられたメンテナンス検査間の長い走行マイル数間隔といった状況を示すであろう。乗り物の製造者は、いつ保証条件（warranty conditions）が違反されたかを判断するために、または、それらの点検職員に、乗り物の使用についてのより正確な情報を提供するために、その情報を使用することができる。
【００２３】
図２は、アタック検出ブロック２０４を組み込んだコンピュータデバイス２００の別の実施形態を示す。コンピュータデバイス２００は、リバースリンク２１２とフォワードリンク２１４を介して、要求エンティティ２０２に結合されている。リバースリンク２１２とフォワードリンク２１４は、イーサネット、無線イーサネット、またはセル式無線ネットワークプロトコルを含む、しかし、これらに限定されない、さまざまな接続であることができる。コンピュータデバイス２００は、インターフェース２４０で、フォワードリンク２１４を介して、要求エンティティ２０２からの通信を受信する。コンピュータデバイス２００は、要求エンティティ２０２によりチャレンジされたときにコンピュータデバイス２００を認証するために使用される、プログラムされたハードウェアキー２０６を含む。アタック検出ブロック２０４は、複数のハッキング状況インジケータ２１８−２２２に結合されている。プログラムされたハードウェアキー２０６とハッキング状況インジケータ２１８−２２２は、キー生成ブロック２０８に結合されている。キー生成ブロック２０８とインターフェース２４０は、暗号エンジン２１０に結合されている。
【００２４】
アタッカー２３０がコンピュータデバイス２００にアタック２３２を行うと、アタック２３２は、アタック検出ブロック２０４によって検出される。アタック２３２に応じて、アタック検出ブロック２０４は、１つ以上のハッキング状況インジケータ２１８−２２２を設定する。アタック検出ブロック２０４は、ＪＴＡＧポートのアタック、電圧または温度のアタック、悪意のあるソフトウェアのアタック、権限のない使用、機密（sensitive）情報へのアクセスの試み、または、サービス拒否のアタックといった、しかし、これらに限定されない、アタックを検出するように構成されることができる。ハッキング状況インジケータ２１８−２２２は、スタティックＲＡＭまたはラッチといった揮発性の記憶要素であってもよいし、または、不揮発性ＲＡＭまたはハードウェアヒューズといった不揮発性の記憶要素であってもよい。当業者は、揮発性と不揮発性の記憶要素を組み合わせた実施形態をさらに使用することもできるということを理解するであろう。この特定の実施形態では、３つのハッキング状況インジケータのみが示されているが、当業者は、そのような「アタック」インジケータの数は任意でよいこと、および、それらは、任意のタイプの検出可能なアタックに、または、不明な（unknown）アタックに、対応することができることを理解するであろう。
【００２５】
キー生成ブロック２０８は、要求エンティティ２０２にコンピュータデバイス２００の識別とコンピュータデバイス２００に対する任意のアタックについての情報を通信する応答キーに、プログラムされたハードウェアキー２０６とハッキング状況インジケータ２１８−２２２を組み合わせる。たとえば、これは、プログラムされたハードウェアキーに、ハッキング状況インジケータ２１８−２２２を添付することにより、または、ハッキング状況インジケータ２１８−２２２の状態に基づいて符号化（encoding）を生成し、かつ、プログラムされたハードウェアキーに、その符号化を組み合わせることにより、達成されることができる。当業者は、各々に含まれた全情報を失わないようにする、プログラムされたハードウェアキー２０６とハッキング状況インジケータ２１８−２２２を組み合わせる多くの異なる方法が存在すること、および、ここでの方法は、限定ではなく例として提示されていることを理解するであろう。キー生成ブロック２０８が、応答キーを生成するために、プログラムされたハードウェアキー２０６とハッキング状況インジケータ２１８−２２２を組み合わせた後、キー生成ブロック２０８は、暗号エンジン２１０に、応答キーを供給する。
【００２６】
要求エンティティ２０２は、要求形成ブロック２５２において、要求を形成する。要求形成ブロック２５２は、専用回路、汎用プロセッサ、またはソフトウェアプログラムであることができる。要求は、ルックアップテーブルまたは熱雑音生成器を含む、しかし、これらに限定されない、エントロピーソースによって生成された非決定論的な値を含むことができる。要求エンティティ２０２は、フォワードリンク２１４によって、要求を供給する。所望のセキュリティレベルによって、要求は、平文で送られることもできるし、マスキングまたは暗号アルゴリズムの使用を含む、しかし、これらに限定されない方法によって、数学的に変換されることもできる。
【００２７】
コンピュータデバイス２００は、インターフェース２４０で、フォワードリンク２１４によって、要求エンティティ２０２から、非決定論的な値を含む要求を受信する。インターフェース２４０は、暗号エンジン２１０に非決定論的な値を供給する。暗号エンジン２１０は、専用ハードウェアブロック、暗号演算を行うことができる汎用プロセッサ、または、コンピュータ可読媒体に含まれたソフトウェアプログラムであることができる。そして、暗号エンジン２１０は、要求エンティティ２０２からコンピュータデバイス２００によって受信された非決定論的な値と、応答キーを組み合わせることと、その組み合わせを数学的に変換することによって、変換されたキーを生成する。暗号エンジン２１０は、暗号ハッシュ関数、または暗号アルゴリズムを含む、しかし、これらに限定されない、数学的な変換を使用することができる。コンピュータデバイス２００は、リバースリンク２１２によって、要求エンティティ２０２に、変換されたキーを供給する。
【００２８】
要求エンティティ２０２は、変換されたキーの考えられる値の各々に基づいて、考えられる値のリストを計算し、キーテーブル２１６にその値を記憶する。要求エンティティ２０２は、乱数値を送信する前に、乱数値を送信するのと並行して、または、要求エンティティ２０２が、コンピュータデバイス２００から返信された、変換されたキーを受信した後に、考えられる値のリストを計算することもできる。要求エンティティ２０２は、比較ブロック２５０で、リバースリンク２１２によって、コンピュータデバイス２００から、変換されたキーを受信する。比較ブロック２５０は、専用回路、汎用プロセッサ、またはソフトウェアプログラムであることができる。比較ブロック２５０において、要求エンティティ２０２は、変換されたキーを、キーテーブル２１６に記憶された値と比較する。このようにして、要求エンティティ２０２は、コンピュータデバイス２００から受信された特定の変換されたキーにより、コンピュータデバイス２００が、アタックされたか否かを決定することができる。要求エンティティ２０２は、さらに、コンピュータデバイス２００から受信された特定の変換されたキーに基づいて、アタックのタイプについての情報を得ることもできる。
【００２９】
図３は、どのようにしてコンピュータデバイス１００が要求エンティティ１１６からのチャレンジに応答し得るかを示した、例示的なフロー図である。ブロック３０２で始まり、要求エンティティ１１６は、非決定論的な値を含む要求を生成する。ブロック３０４において、要求エンティティ１１６は、コンピュータデバイス１００がそれによって応答することができる、暗号ハッシュ関数のすべての考えられる値を計算し、キーテーブル１１８にそれらの値を記憶する。要求エンティティ１１６は、コンピュータデバイス１００に非決定論的な値を含む要求を送信する前に、コンピュータデバイス１００に非決定論的な値を含む要求を送信するのと並行して、または、要求エンティティ１１６が、コンピュータデバイス１００から返信された、変換されたキーを受信した後に、これらの値を計算することができる。 
ブロック３２０において、要求エンティティ１１６は、フォワードリンク１２８によって、コンピュータデバイス１００に、非決定論的な値を含む要求を送信する。ブロック３２２において、コンピュータデバイス１００は、インターフェース１４０で、非決定論的な値を含む要求を受信する。判断ブロック３２４において、コンピュータデバイス１００は、それが、それ自体への任意のアタックを検出したかどうかを評価する。アタックが起こらなかった場合には、ブロック３２６に進む。ブロック３２６において、コンピュータデバイス１００は、要求エンティティ１１６から受信された非決定論的な値と「ノーアタック」キー１０２に基づいて、暗号ハッシュ関数の値を計算する。アタックが起こった場合には、ブロック３２８に進む。ブロック３２８で、コンピュータデバイス１００は、要求エンティティ１１６から受信された非決定論的な値と、複数の「アタック」キー１０４−１０８のうちの１つに基づいて、暗号ハッシュ関数の値を計算する。次に、ブロック３３０において、コンピュータデバイス１００は、リバースリンク１２６によって、要求エンティティ１１６に、暗号ハッシュ関数の値を返信する。ブロック３３２において、要求エンティティ１１６は、コンピュータデバイス１００から、暗号ハッシュ関数の値を受信する。
【００３０】
ブロック３０６において、要求エンティティ１１６は、ブロック３０４において要求エンティティ１１６によって計算された暗号ハッシュ関数の考えられるすべての値に対し、コンピュータデバイス１００から受信された暗号ハッシュ関数の値を比較する。ブロック３０４からのどの値がブロック３３２における受信された値と一致するかによって、要求エンティティ１１６は、いずれの、および、どのタイプのアタックが起こったのかを判断することができ、適宜、措置をとることができる。アタックが検出されなかった場合には、ブロック３１０に進み、要求と応答を終了する。あるタイプのアタックが検出された場合には、ブロック３１２において、要求エンティティ１１６は、そのアタックのタイプに基づいて措置をとることができる。アタックへの応答は、危険にさらされたコンピュータデバイスのネットワークへのアクセスを拒否すること、特定のソフトウェアまたは特色を使用不可とすること、危険にさらされたコンピュータデバイスの位置を記録すること、または、危険にさらされたコンピュータデバイスのタイプについての情報を記録することを含むことができる。当業者は、多くの異なる応答が可能であること、例示的な実施形態に関してここで議論されたものは、例示目的であり、限定ではないことを理解するであろう。
【００３１】
図４は、要求エンティティ１１６がどのようにして異なる深刻さのアタックに対応し得るかを示す例示的なフロー図である。ブロック４１０において、要求エンティティ１１６は、コンピュータデバイス１００がアタックされたと判断する。ブロック４１２において、要求エンティティ１１６は、アタックの深刻さを判断する。アタックの深刻さは、危険にさらされているコンピュータデバイス１００の特定の特色、アタックがハードウェアベースであったかソフトウェアベースであったか、または、デバイスに記憶されたコンピュータデバイス１００のユーザーの個人情報のいずれかが危険にさらされているかどうか、を含む、しかし、これらに限定されない、ファクターに基づくことができる。アタックが深刻でないと判断された場合には、ブロック４１４に進み、要求エンティティ１１６は、アタックを記録すること、および、通常の動作を続けることを含む、しかし、これらに限定されない、措置をとることができる。アタックが深刻であると判断された場合には、ブロック４１６に進み、要求エンティティ１１６は、コンピュータデバイス１００に位置要求を供給する。
【００３２】
ブロック４１８において、コンピュータデバイス１００は、要求エンティティ１１６からの位置要求を受信する。ブロック４２０において、コンピュータデバイス１００は、その位置およびプログラムされたハードウェアキーの少なくとも位置に基づいて、応答を定式化する。応答は、プログラムされたハードウェアキーの一部および位置情報の少なくとも一部に、一方向ハッシュ等の数学的な変換を行うことを含む、しかし、これに限定されない、方法によって定式化されることができる。コンピュータデバイス１００の位置は、たとえば、コンピュータデバイス１００に組み込まれたＧＰＳ受信機の使用、仮想ＧＰＳ、または信号の三角測量により、判断されることができる。当業者は、他の数学的な変換およびコンピュータデバイス１００の位置を判断する方法が使用され得ることを理解するであろう。応答は、平文で送られてもよいし、またはその代わりに、それは暗号化されてもよい。一度コンピュータデバイス１００が応答を定式化すると、ブロック４２２において、それは、要求エンティティ１１６に応答を返信する。
【００３３】
ブロック４２４において、要求エンティティ１１６は、コンピュータデバイス１００からの応答を受信する。ブロック４２６において、要求エンティティ１１６は、適宜、解読を含む応答時に受信された位置情報の処理を行うことができ、かつ、必要であれば、さらなる措置をとることができる。そのような措置とは、記録を生成すること、警告を送ること、または、コンピュータデバイス１００を作動しないように遠隔操作することを含んでもよく、これらに限定されない。
【００３４】
本開示の教示は、消費者コンピュータデバイスへの権限のないアクセスに関して開示されたが、ここでの教示および以下に続く特許請求の範囲に一致する、広範でさまざまな実施が、当業者によって用いられ得ることが理解されるであろう。
【図１】
2014222890.tif 000003
【図２】
2014222890.tif 000004
【図３】
2014222890.tif 000005
【図４】
2014222890.tif 000006
【手続補正書】
【提出日】平成26年7月17日(2014.7.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータデバイスからの位置情報を安全に通信する方法であって、
前記コンピュータデバイスで、前記コンピュータデバイスがアタックされたと判断される場合、要求エンティティから位置要求を受信することと、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
前記コンピュータデバイスで、位置情報を取得することと、
前記コンピュータデバイスで、非決定論的な値と、前記位置情報の少なくとも一部と、ハードウェアキーの少なくとも一部との組み合わせを数学的に変換することに基づいて、応答を形成することと、
前記要求エンティティに前記応答を供給することと
を備える方法。
【請求項２】
要求エンティティで、コンピュータデバイスの位置についての情報を安全に受信する方法であって、
前記コンピュータデバイスがアタックされたと判断される場合、前記要求エンティティで位置要求を形成することと、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
前記コンピュータデバイスに前記位置要求を供給することと、
非決定論的な値と、前記コンピュータデバイスの位置の少なくとも一部と、ハードウェアキーの少なくとも一部との組み合わせの数学的な変換に基づいて、前記コンピュータデバイスからの応答を受信することと、
前記応答から前記コンピュータデバイスの位置を判断することと
を備える方法。
【請求項３】
前記コンピュータデバイスがアタックされたと判断される場合、要求エンティティから位置要求を受信するように構成される論理と、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
前記コンピュータデバイスの位置情報を取得するように構成される論理と、
非決定論的な値と、前記位置情報の少なくとも一部と、ハードウェアキーの少なくとも一部との組み合わせの数学的な変換に基づいて、応答を形成するように構成される論理と、
前記要求エンティティに前記応答を供給するように構成される論理と、
を備えるコンピュータデバイス。
【請求項４】
位置要求を形成するように構成される論理と、
前記コンピュータデバイスがアタックされたと判断される場合、ネットワークインターフェースを介してコンピュータデバイスに前記位置要求を供給するように構成される論理と、
非決定論的な値と、前記コンピュータデバイスの位置の少なくとも一部と、ハードウェアキーの少なくとも一部との組み合わせの数学的な変換に基づいて、前記コンピュータデバイスからの応答を受信するように構成される論理と、
前記応答から前記コンピュータデバイスの位置を判断するように構成される論理と、
を備える要求エンティティ。
【請求項５】
請求項１乃至２のいずれかに従う方法を実行するための手段を備える装置。
【請求項６】
コンピュータ可読媒体を備えるコンピュータプログラム製品であって、
前記コンピュータ可読媒体は、コンピュータまたはプロセッサに、請求項１乃至２のいずれかに従う方法を実行させるための少なくとも１つの命令を備える、コンピュータプログラム製品。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
本開示の教示は、消費者コンピュータデバイスへの権限のないアクセスに関して開示されたが、ここでの教示および以下に続く特許請求の範囲に一致する、広範でさまざまな実施が、当業者によって用いられ得ることが理解されるであろう。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］コンピュータデバイスからの位置情報を安全に通信する方法であって、
ａ．要求エンティティから、位置要求を受信することと、
ｂ．前記コンピュータデバイスで、位置情報を取得することと、
ｃ．前記位置情報と、ハードウェアキーの少なくとも一部とに基づいて、応答を形成することと、
ｄ．前記要求エンティティに、前記応答を供給することと
を含む方法。
［２］前記応答を形成することは、前記ハードウェアキーの一部と、前記位置情報の少なくとも一部とを数学的に変換することを含む、［１］に記載の方法。
［３］前記数学的な変換は、一方向ハッシュ関数である、［２］に記載の方法。
［４］要求エンティティで、コンピュータデバイスの位置についての情報を、安全に受信する方法であって、
ａ．前記要求エンティティで、位置要求を形成することと、
ｂ．前記コンピュータデバイスに、前記位置要求を供給することと、
ｃ．前記コンピュータデバイスの位置と、ハードウェアキーの少なくとも一部とに基づいた、前記コンピュータデバイスからの応答を受信することと、
ｄ．前記応答から、前記コンピュータデバイスの位置を判断することと
を含む方法。
［５］前記要求エンティティの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスがアタックされたと判断する場合にのみ、形成される、［４］に記載の方法。
［６］前記要求エンティティの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスへのアタックが深刻な性質のものであると判断する場合にのみ、形成される、［５］に記載の方法。
【手続補正書】
【提出日】平成26年10月6日(2014.10.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータデバイスからの位置情報を安全に通信する方法であって、
前記コンピュータデバイスで、前記コンピュータデバイスがアタックされたと判断される場合、要求エンティティから位置要求を受信することと、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
前記コンピュータデバイスで、位置情報を取得することと、
前記コンピュータデバイスで、非決定論的な値と、前記位置情報の少なくとも一部と、ハードウェアキーの少なくとも一部との組み合わせを数学的に変換することに基づいて、応答を形成することと、
前記要求エンティティに前記応答を供給することと、
を備える方法。
【請求項２】
前記応答を形成することは、ハードウェアキーの前記一部と前記位置情報の少なくとも一部とを数学的に変換することを備える、請求項１に記載の方法。
【請求項３】
前記数学的な変換は、一方向ハッシュ関数である、請求項２に記載の方法。
【請求項４】
前記位置は、地理的な位置である、請求項１に記載の方法。
【請求項５】
要求エンティティで、コンピュータデバイスの位置についての情報を安全に受信する方法であって、
前記コンピュータデバイスがアタックされたと判断される場合、前記要求エンティティで位置要求を形成することと、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
前記コンピュータデバイスに前記位置要求を供給することと、
非決定論的な値と、前記コンピュータデバイスの前記位置の少なくとも一部と、ハードウェアキーの少なくとも一部との組み合わせの数学的な変換に基づいて、前記コンピュータデバイスからの応答を受信することと、
前記応答から前記コンピュータデバイスの前記位置を判断することと、
を備える方法。
【請求項６】
前記要求エンティティでの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスへのアタックが深刻な性質のものであると判断する場合にのみ、形成される、請求項５に記載の方法。
【請求項７】
前記位置は、地理的な位置である、請求項５に記載の方法。
【請求項８】
要求エンティティから、前記コンピュータデバイスがアタックされたとの判断に基づく位置要求を受信するように構成される論理と、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
前記コンピュータデバイスの位置情報を取得するように構成される論理と、
非決定論的な値と、前記位置情報の少なくとも一部と、ハードウェアキーの少なくとも一部との組み合わせの数学的な変換に基づいて、応答を形成するように構成される論理と、
前記要求エンティティに前記応答を供給するように構成される論理と、
を備えるコンピュータデバイス。
【請求項９】
前記応答は、ハードウェアキーの前記一部と前記位置情報の少なくとも一部との数学的な変換を備える、請求項８に記載のコンピュータデバイス。
【請求項１０】
前記数学的な変換は、一方向ハッシュ関数である、請求項９に記載のコンピュータデバイス。
【請求項１１】
コンピュータデバイスがアタックされたとの判断に基づく位置要求を形成するように構成される論理と、
ネットワークインターフェースを介して前記コンピュータデバイスに前記位置要求を供給するように構成される論理と、
非決定論的な値と、前記コンピュータデバイスの前記位置の少なくとも一部と、ハードウェアキーの少なくとも一部との組み合わせの数学的な変換に基づいて、前記コンピュータデバイスからの応答を受信するように構成される論理と、
前記応答から前記コンピュータデバイスの前記位置を判断するように構成される論理と、
を備える要求デバイス。
【請求項１２】
前記要求エンティティでの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスへのアタックが深刻な性質のものであると判断する場合にのみ、形成される、請求項１１に記載の方法。
【請求項１３】
要求エンティティから、非決定論的な値と、前記コンピュータデバイスがアタックされたとの判断の少なくとも一部との組み合わせの数学的な変換に基づく位置要求を受信するための手段と、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
前記コンピュータデバイスで、位置情報を取得するための手段と、
前記位置情報と、ハードウェアキーの少なくとも一部とに基づいて、応答を形成するための手段と、
前記要求エンティティに前記応答を供給するための手段と、
を備えるコンピュータデバイス。
【請求項１４】
前記応答を形成するための前記手段は、ハードウェアキーの前記一部と前記位置情報の少なくとも一部とを数学的に変換するための手段を備える、請求項１３に記載のコンピュータデバイス。
【請求項１５】
前記数学的な変換は、一方向ハッシュ関数である、請求項１４に記載のコンピュータデバイス。
【請求項１６】
要求デバイスで、コンピュータデバイスがアタックされたとの判断に基づく位置要求を形成するための手段と、
ネットワークインターフェースを介して前記コンピュータデバイスに前記位置要求を供給するための手段と、
非決定論的な値と、前記コンピュータデバイスの前記位置の少なくとも一部と、ハードウェアキーの少なくとも一部との組み合わせの数学的な変換に基づいて、前記コンピュータデバイスからの応答を受信するための手段と、
前記応答から、前記コンピュータデバイスの前記位置を判断するための手段と、
を備える要求デバイス。
【請求項１７】
前記要求エンティティでの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスへのアタックが深刻な性質のものであると判断する場合にのみ、形成される、請求項１６に記載の要求エンティティ。
【請求項１８】
プロセッサによって実行されるとき、前記プロセッサに、コンピュータデバイスから位置情報を安全に通信するための操作を行わせるコード、を備える非一時的なコンピュータ可読記憶媒体であって、前記非一時的なコンピュータ可読記憶媒体は、
要求エンティティから、前記コンピュータデバイスがアタックされたとの判断に基づく位置要求を受信するためのコードと、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
前記コンピュータデバイスで、位置情報を取得するためのコードと、
非決定論的な値と、前記位置情報の少なくとも一部と、ハードウェアキーの少なくとも一部との組み合わせの数学的な変換に基づいて、応答を形成するためのコードと、
前記要求エンティティに前記応答を供給するためのコードと、
を備える非一時的なコンピュータ可読記憶媒体。
【請求項１９】
前記応答を形成するための前記コードは、ハードウェアキーの前記一部と前記位置情報の少なくとも一部とを数学的に変換するためのコードを備える、請求項１８に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２０】
前記数学的な変換は、一方向ハッシュ関数である、請求項１９に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２１】
プロセッサによって実行されるとき、前記プロセッサに、要求エンティティで、コンピュータデバイスの位置についての情報を安全に受信するための操作を行わせるコード、を備える非一時的なコンピュータ可読記憶媒体であって、前記非一時的なコンピュータ可読記憶媒体は、
要求エンティティで、前記コンピュータデバイスがアタックされたとの判断に基づく位置要求を形成するためのコードと、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
前記コンピュータデバイスに前記位置要求を供給するためのコードと、
非決定論的な値と、前記コンピュータデバイスの前記位置の少なくとも一部と、ハードウェアキーの少なくとも一部との組み合わせの数学的な変換に基づいて、前記コンピュータデバイスからの応答を受信するためのコードと、
前記応答から前記コンピュータデバイスの前記位置を判断するためのコードと、
を備える非一時的なコンピュータ可読記憶媒体。
【請求項２２】
前記要求エンティティでの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスへのアタックが深刻な性質のものであると判断する場合にのみ、形成される、請求項２１に記載の非一時的なコンピュータ可読記憶媒体。
【外国語明細書】
2014222890000001.pdf