特許第5944164号(P5944164)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クゥアルコム・インコーポレイテッドの特許一覧

特許5944164危険にさらされたコンピュータデバイスの位置についての情報を安全に通信するための方法
<>
  • 特許5944164-危険にさらされたコンピュータデバイスの位置についての情報を安全に通信するための方法 図000002
  • 特許5944164-危険にさらされたコンピュータデバイスの位置についての情報を安全に通信するための方法 図000003
  • 特許5944164-危険にさらされたコンピュータデバイスの位置についての情報を安全に通信するための方法 図000004
  • 特許5944164-危険にさらされたコンピュータデバイスの位置についての情報を安全に通信するための方法 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5944164
(24)【登録日】2016年6月3日
(45)【発行日】2016年7月5日
(54)【発明の名称】危険にさらされたコンピュータデバイスの位置についての情報を安全に通信するための方法
(51)【国際特許分類】
   G06F 21/55 20130101AFI20160621BHJP
【FI】
   G06F21/55 340
【請求項の数】18
【全頁数】14
(21)【出願番号】特願2011-526927(P2011-526927)
(86)(22)【出願日】2009年9月4日
(65)【公表番号】特表2012-502392(P2012-502392A)
(43)【公表日】2012年1月26日
(86)【国際出願番号】US2009056074
(87)【国際公開番号】WO2010030581
(87)【国際公開日】20100318
【審査請求日】2011年5月10日
【審判番号】不服2014-11441(P2014-11441/J1)
【審判請求日】2014年6月17日
(31)【優先権主張番号】12/208,626
(32)【優先日】2008年9月11日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100140176
【弁理士】
【氏名又は名称】砂川 克
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100124394
【弁理士】
【氏名又は名称】佐藤 立志
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(74)【代理人】
【識別番号】100111073
【弁理士】
【氏名又は名称】堀内 美保子
(72)【発明者】
【氏名】シャーレン、マーティン・ライアン
(72)【発明者】
【氏名】ホフマン、リチャード・ジェラード
【合議体】
【審判長】 辻本 泰隆
【審判官】 須田 勝巳
【審判官】 戸島 弘詩
(56)【参考文献】
【文献】 特開2002−232955(JP,A)
【文献】 特開2008−33583(JP,A)
【文献】 特開平9−330298(JP,A)
【文献】 特開2004−62611(JP,A)
【文献】 特開2003−228552(JP,A)
【文献】 特開2004−334330(JP,A)
【文献】 特開2008−191875(JP,A)
【文献】 特開昭63−24395(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F21/00-21/88
(57)【特許請求の範囲】
【請求項1】
コンピュータデバイスからの位置情報を安全に通信する方法であって、
a.乱数値と少なくともアタックが検出されたか否かを具現化する応答キーとに基づいて計算された値に基づいて前記コンピュータデバイスがアタックされたと判断される場合、前記コンピュータデバイスで、要求エンティティから、位置要求を受信することと、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
b.前記コンピュータデバイスで、位置情報を取得することと、
c.前記コンピュータデバイスで、前記位置情報の少なくとも一部と、ハードウェアキーの少なくとも一部とを数学的に変換することに基づいて、応答を形成することと、
d.前記要求エンティティに、前記応答を供給することと
を含む方法。
【請求項2】
前記数学的な変換は、一方向ハッシュ関数である、請求項に記載の方法。
【請求項3】
要求エンティティで、コンピュータデバイスの位置についての情報を、安全に受信する方法であって、
a.乱数値と少なくともアタックが検出されたか否かを具現化する応答キーとに基づいて計算された値に基づいて前記コンピュータデバイスがアタックされたと判断される場合、前記要求エンティティで、位置要求を形成することと、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
b.前記コンピュータデバイスに、前記位置要求を供給することと、
c.記コンピュータデバイスの位置の少なくとも一部と、ハードウェアキーの少なくとも一部との数学的な変換に基づいた、前記コンピュータデバイスからの応答を受信することと、
d.前記応答から、前記コンピュータデバイスの位置を判断することと
を含む方法。
【請求項4】
前記要求エンティティの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスへのアタックが深刻な性質のものであると判断する場合にのみ、形成される、請求項に記載の方法。
【請求項5】
前記位置は、地理的な位置である、請求項1に記載の方法。
【請求項6】
前記位置は、地理的な位置である、請求項に記載の方法。
【請求項7】
下記を備えるコンピュータデバイス、
a.乱数値と少なくともアタックが検出されたか否かを具現化する応答キーとに基づいて計算された値に基づいて前記コンピュータデバイスがアタックされたと判断される場合、要求エンティティから、位置要求を受信するように構成される論理と、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
b.前記コンピュータデバイスの位置情報を取得するように構成される論理と、
c.置情報の少なくとも一部と、ハードウェアキーの少なくとも一部との数学的な変換に基づいて、応答を形成するように構成される論理と、
d.前記要求エンティティに、前記応答を供給するように構成される論理。
【請求項8】
前記数学的な変換は、一方向ハッシュ関数である、請求項に記載のコンピュータデバイス。
【請求項9】
下記を備える要求エンティティ、
a.乱数値と少なくともアタックが検出されたか否かを具現化する応答キーとに基づいて計算された値に基づいて前記コンピュータデバイスがアタックされたと判断される場合、位置要求を形成するように構成される論理と、
b.ネットワークインターフェースを介して、コンピュータデバイスに、前記位置要求を供給するように構成される論理と、
c.記コンピュータデバイスの位置の少なくとも一部と、ハードウェアキーの少なくとも一部との数学的な変換に基づいた、前記コンピュータデバイスからの応答を受信するように構成される論理と、
d.前記応答から、前記コンピュータデバイスの位置を判断するように構成される論理。
【請求項10】
前記要求エンティティでの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスへのアタックが深刻な性質のものであると判断する場合にのみ、形成される、請求項に記載の要求エンティティ。
【請求項11】
下記を備えるコンピュータデバイス、
a.乱数値と少なくともアタックが検出されたか否かを具現化する応答キーとに基づいて計算された値に基づいて前記コンピュータデバイスがアタックされたと判断される場合、要求エンティティから、位置要求を受信するための手段と、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
b.前記コンピュータデバイスで、位置情報を取得するための手段と、
c.記位置情報の少なくとも一部と、ハードウェアキーの少なくとも一部との数学的な変換に基づいて、応答を形成するための手段と、
d.前記要求エンティティに、前記応答を供給するための手段。
【請求項12】
前記数学的な変換は、一方向ハッシュ関数である、請求項11に記載のコンピュータデバイス。
【請求項13】
下記を備える要求エンティティ、
a.乱数値と少なくともアタックが検出されたか否かを具現化する応答キーとに基づいて計算された値に基づいて前記コンピュータデバイスがアタックされたと判断される場合、前記要求エンティティで、位置要求を形成するための手段と、
b.ネットワークインターフェースを介して、コンピュータデバイスに、前記位置要求を供給するための手段と、
c.記コンピュータデバイスの位置の少なくとも一部と、ハードウェアキーの少なくとも一部の数学的な変換とに基づいた、前記コンピュータデバイスからの応答を受信するための手段と、
d.前記応答から、前記コンピュータデバイスの位置を判断するための手段。
【請求項14】
前記要求エンティティでの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスへのアタックが深刻な性質のものであると判断する場合にのみ、形成される、請求項13に記載の要求エンティティ。
【請求項15】
プロセッサによって実行されるとき、前記プロセッサに、コンピュータデバイスからの位置情報を安全に通信するための操作を行わせるコード、を備える非一時的なコンピュータ可読記憶媒体であって、前記非一時的なコンピュータ可読記憶媒体は下記を備える、
a.乱数値と少なくともアタックが検出されたか否かを具現化する応答キーとに基づいて計算された値に基づいて前記コンピュータデバイスがアタックされたと判断される場合、要求エンティティから、位置要求を受信するためのコードと、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
b.前記コンピュータデバイスで、位置情報を取得するためのコードと、
c.記位置情報の少なくとも一部と、ハードウェアキーの少なくとも一部との数学的な変換に基づいて、応答を形成するためのコードと、
d.前記要求エンティティに、前記応答を供給するためのコード。
【請求項16】
前記数学的な変換は、一方向ハッシュ関数である、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
【請求項17】
プロセッサによって実行されるとき、前記プロセッサに、要求エンティティでコンピュータデバイスの位置についての情報を安全に受信するための操作を行わせるコード、を備える非一時的なコンピュータ可読記憶媒体であって、前記非一時的なコンピュータ可読記憶媒体は下記を備える、
a.乱数値と少なくともアタックが検出されたか否かを具現化する応答キーとに基づいて計算された値に基づいて前記コンピュータデバイスがアタックされたと判断される場合、前記要求エンティティで、位置要求を形成するためのコードと、ここで前記要求エンティティは、ネットワークインターフェースを介して前記コンピュータデバイスと通信するように構成されたデバイスであり、
b.前記コンピュータデバイスに、前記位置要求を供給するためのコードと、
c.記コンピュータデバイスの位置の少なくとも一部と、ハードウェアキーの少なくとも一部との数学的な変換に基づいた、前記コンピュータデバイスからの応答を受信するためのコードと、
d.前記応答から、前記コンピュータデバイスの位置を判断するためのコード。
【請求項18】
前記要求エンティティでの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスへのアタックが深刻な性質のものであると判断する場合にのみ、形成される、請求項17に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2008年3月7日に出願された、先の米国出願番号第12/044,409号の一部継続出願である。
【0002】
開示の分野
本開示は、概して、セキュリティに関し、具体的には、危険にさらされた、またはハッキングされたコンピュータデバイスについての位置情報を安全に通信することに関する。
【背景技術】
【0003】
コンピュータデバイスは、より複合的になるにつれ、機能豊富にもなってきている。セル式電話等のデバイスは、現在、高度化したプロセッサを含み、映像およびオーディオの再生、電子バンキング、および安全な情報の記憶といったタスクを行うことができる。ハードウェア、サービス、コンテンツ、およびソフトウェアのプロバイダは、皆、権限のないアクセスまたは不正な改ざんから、自分たちの財産を守ることに、関心を抱いている。たとえば、セル式電話のプロバイダは、映像またはオーディオのコンテンツ等の、ある特定の「プレミアムな」電話の特色(features)へのアクセスの制限を望むであろう。そのような会社による多額の投資や、セル式電話等のデバイスに記憶された情報の量や種類を考えると、データに対する、権限のないコピー、配信、またはアクセスが防止可能であることが、重要である。
【0004】
コンピュータデバイスへの権限のないアクセスを得るために使用される一般的な方法は、数多くあり、不適切にディスエーブルされた、またはディスエーブルされていない、ジョイントテストアクショングループ(JTAG:Joint Test Action Group)ポート等のテストインターフェースポートを使用することや、意図された温度または電圧の耐性外でコンピュータデバイスを故意に動作させることや、コンピュータデバイスが固着されたプリント回路基板に対し、トレース(trace)を変更すること、または構成要素を追加することや、さまざまなタイプのソフトウェアのアタックを含む。これら、および他のタイプのアタックの影響を検出し、軽減するためのハードウェアおよびソフトウェアの両方を提供することが可能である。コンピュータデバイスが通信するシステムによる異なる応答を可能にするために、複数のタイプのアタックが区別可能であることは、利点がある。アタックが検出された事実をアタッカーに警告することなく、デバイスがアタックの対象になっているという通知を提供可能であることもまた、利点がある。
【発明の概要】
【0005】
当然のことながら、ここでの教示の他の実施形態は、本教示のさまざまな実施形態が例として示されて説明される以下の詳細な説明から、当業者に理解されるであろう。理解されるように、ここでの教示は、教示の精神および範囲から逸脱することなく、他の、および異なる実施形態を行うことができる。したがって、図面および詳細な説明は、事実上、例示的なものとみなされ、限定的なものとはみなされない。
【0006】
本開示の教示のさまざまな態様が、付属の図面で、限定ではなく、例として示される。
【図面の簡単な説明】
【0007】
図1】ある実施形態のブロック図である。
図2】別の実施形態のブロック図である。
図3】ある実施形態のシステム設計を示すフローチャートである。
図4】アタックの検出、およびクライアントデバイスの位置の報告を示すフローチャートである。
【詳細な説明】
【0008】
以下に記載する詳細な説明は、付属の図面に関連して、本開示の教示のさまざまな例示的な実施形態を説明することを意図し、そのような教示が実現されうる実施形態のみを表すことは意図しない。詳細な説明は、限定ではなく、例として、教示の完全な理解を提供する目的で、具体的な詳細を含む。本開示の教示がさまざまな方法で実現されうることが、当業者に理解されるであろう。いくつかの例において、周知の構造および構成要素は、本開示の概念を不明瞭にするのを避けるために、ハイレベルで説明される。
【0009】
1つ以上の例示的な実施形態において、説明される機能およびブロックは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせにおいて実現されることができる。ソフトウェアで実現される場合、機能は、コンピュータ可読媒体で、1つ以上の命令またはコードとして、記憶または伝送されることができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの移送を容易にする任意の媒体を含む、コンピュータ記憶媒体および通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスすることのできる、任意の入手可能な媒体であってもよい。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM、または他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、または、命令またはデータ構造の形態で、所望のプログラムコードを搬送または記憶するために使用されることができ、かつ、コンピュータによってアクセスすることができる、任意の他の媒体を含むことができる。また、いずれの接続も、当然のことながら、コンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、ウェブサイト、サーバー、または、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)を使用する他のリモートソース、または、赤外線、無線、および、マイクロ波といった無線技術によって伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または、赤外線、無線、および、マイクロ波といった無線技術は、伝送媒体の定義に含まれる。ディスク(disk)およびディスク(disc)は、ここに使用されるとき、コンパクトディスク(disc)(CD)、レーザー(登録商標)ディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disks)は普通、データを磁気的に再生するが、ディスク(discs)は普通、レーザーで光学的にデータを再生する。上記したものの組み合わせも、また、コンピュータ可読媒体の範囲内に含まれるべきである。
【0010】
図1は、アタック検出ブロック134を組み込んだコンピュータデバイス100の例示的な実施形態を示す。
【0011】
コンピュータデバイス100は、リバースリンク126およびフォワードリンク128を介して、要求エンティティ(Requesting Entity)116につながっている。リバースリンク126およびフォワードリンク128は、イーサネット(登録商標)、無線イーサネット、または、CDMAまたはGSM(登録商標)といったセル方式無線ネットワークプロトコルを含むが、それらに限定されない、さまざまな接続であることができる。コンピュータデバイス100は、インターフェース140によって、フォワードリンク128を介して、要求エンティティ116からの通信を受信する。
【0012】
要求エンティティ116は、要求形成ブロック152において、要求を形成する。この要求は、要求が向けられたデバイスの識別を含む。明示的な識別の代わりに、要求は、要求を受信することのできる、デバイスのグループまたは全デバイスに、向けられることができる。さらに、要求は、要求されたデバイスが報告するスケジュールを構成することもでき、特定の実装指令のニーズとして、任意の他の報告およびスケジュール化メカニズムを実装することもできる。
【0013】
要求形成ブロック152は、専用回路(dedicated circuit)、汎用プロセッサ、ソフトウェアプログラム、または任意の他の好適な処理メカニズムであってもよい。要求は、ルックアップテーブルまたは熱雑音生成器を含む、しかし、これらに限定されない、エントロピーソースによって生成された非決定論的な値(non−deterministic value)を含んでもよい。要求エンティティ116は、フォワードリンク128によって、要求を供給する。所望のセキュリティレベルによって、要求は、平文で(in the clear)送られることもできるし、マスキングまたは暗号アルゴリズムの使用を含む、しかし、これらに限定されない方法によって、数学的に変換されることもできる。
【0014】
ある実施形態において、コンピュータデバイス100は、フォワードリンク128によって、要求エンティティ116から、インターフェース140で、非決定論的な値を含む要求を受信する。インターフェース140は、暗号エンジン114に非決定論的な値を供給する。暗号エンジン114は、情報の数学的な変換を行うように適合させられており、それによって、第三者傍聴人(third−party observer)に対し、その情報をわかりにくくさせる。暗号エンジン114によって行われる数学的な変換は、(MD5、SHA−I、またはSHA−3といった)暗号のハッシュ関数、または(トリプル−DES、またはAES暗号といった)暗号アルゴリズムであることもできるが、これらに限定されない。暗号エンジン114は、専用ハードウェアブロック、暗号演算を行うことができる汎用プロセッサ、またはコンピュータ可読媒体に含まれたソフトウェアプログラムとして、実現されることができる。暗号エンジン114は、キー選択ブロック110によって供給された応答キーを非決定論的な値と組み合わせることと、応答キーと非決定論的な値の組み合わせの数学的な変換を行うことによって、変換されたキーを生成する。変換されたキーは、非決定論的な値と応答キーに基づいているため、変換に使用された応答キーの識別は、変換されたキーを観察することができるアタッカーに、ほぼ解読不能となる。変換されたキーから応答キーを判断することは、演算処理上、難題であり、それは、応答キーを、アタッカーに対し、より解読不能にさせる。要求および応答の一部として非決定論的な値を使用することは、変換されたキーが、同一のタイプのアタックを報告する場合であっても、常に同一でないことを確実にする。そして、コンピュータデバイスは、リバースリンク126によって、要求エンティティ116に、変換されたキーを送信する。
【0015】
要求エンティティ116は、以前に記憶したものであっても、コンピュータデバイス100から受信したものであってもよい、プログラムされた各ハードウェアキー102−108に基づいて、考えられる変換されたキーの値のリストを計算し、キーテーブル118に、考えられる変換されたキーの値を記憶する。要求エンティティ116は、要求を送信する前に、要求の送信と並行して、または、要求エンティティ116が、コンピュータデバイス100から返信された、変換されたキーを受信した後に、考えられる変換されたキーの値のリストを計算することができる。要求エンティティ116は、比較ブロック150で、リバースリンク126によって、コンピュータデバイス100から、変換されたキーを受信する。比較ブロック150は、専用回路、汎用プロセッサ、またはソフトウェアプログラムであってもよい。比較ブロック150において、要求エンティティ116は、変換されたキーを、キーテーブル118に記憶された、考えられる変換されたキーの値と比較する。このようにして、要求エンティティ116は、コンピュータデバイス100がアタックされたか否かを、コンピュータデバイス100から受信された特定の変換されたキーによって、判断することができる。要求エンティティ116は、さらに、コンピュータデバイス100から受信された特定の変換されたキーに基づいて、アタックのタイプについての情報を得ることもできる。
【0016】
アタッカー130が、コンピュータデバイス100にアタック132を実行した場合、アタック132は、アタック検出ブロック134によって検出される。アタック検出ブロック134は、検出されたアタックのタイプに基づいて、複数のハッキング状況インジケータ(Hack Condition Indicators)120−124のうちの少なくとも1つを設定し、デフォルトキーとして、「ノーアタック」キー102を選択するように適合させられることができる。ハッキング状況フラグブロック112は、ハッキング状況インジケータ120−124の状態に応じて、キー選択ブロック110の出力を制御する。ハッキング状況インジケータ120−124の状態に基づいて、ハッキング状況フラグブロック112は、応答キーとして複数のプログラムされたハードウェアキー102−108のうちの1つを選択することをキー選択ブロック110に可能にさせる制御信号を生成し、それを暗号エンジン114に供給する。この応答キーは、コンピュータデバイス100の識別と、アタックが検出されたか否かと、もしアタックが検出された場合には検出されたアタックのタイプと、を具現化するものである。
【0017】
コンピュータデバイス100は、複数のプログラムされたハードウェアキー102−108を含む。これらは、要求エンティティ116によってチャレンジされた(challenged)場合に、アタックのタイプを識別し、コンピュータデバイス100を認証する(authenticate)ために使用される、複数の「アタック」キー104−108と、「ノーアタック(No−Attacks)」キー102とを含む。「ノーアタック」キー102、および複数の「アタック」キー104−108は、キー選択ブロック110に結合される。ハッキング状況フラグ回路112は、複数のハッキング状況インジケータ120−124に結合され、マルチプレクサ110に結合された出力を有する。アタック検出ブロック134は、複数のハッキング状況インジケータ120−124に結合される。暗号エンジン114は、キー選択ブロック110の出力、およびインターフェース140の出力に対応する。暗号エンジン114は、キー選択ブロック110の出力に基づいて、要求エンティティ116によって供給された値を変換する。値は、それが所望されるのであれば、他の情報を含むこともできる。そして、変換されたキーは、リバースリンク126によって、要求エンティティ116に送信される。
【0018】
「ノーアタック」キー102は、アタック検出ブロック134がコンピュータデバイス100へのいずれのアタックも検出しなかった場合に、使用される。複数の「アタック」キー104−108は、特定のタイプの検出されたアタックに対応する。複数のプログラムされたハードウェアキー102−108の各々は、コンピュータデバイス100を識別することも、コンピュータデバイス100のアタック状態を通信することも、可能である。複数のハードウェアキー102−108は、さまざまな方法でプログラムされることができ、生産時の電子ヒューズ(electronic fusing)、生産時にプログラムされる不揮発性RAM、または、コンピュータデバイス100が要求エンティティ116に接続される際に要求エンティティ116によってプログラムされる不揮発性RAMを含むが、これらに限定されない。
【0019】
ハッキング状況インジケータ120−124の各々は、「アタック」キー104−108のうちの1つに関連する(correlated)。ある実施形態において、ハッキング状況インジケータ120−124は、スタティックRAMまたはラッチといった揮発性記憶要素を含むことができる。別の実施形態では、ハッキング状況インジケータ120−124は、永久的に飛んだ(permanently blown)ハードウェアヒューズといった不揮発性記憶要素を含むことができる。当業者は、揮発性および不揮発性の記憶要素を組み合わせた実施形態が可能であること、および他のタイプの揮発性および不揮発性の記憶要素もまた使用されることができることを理解するであろう。この特定の実施形態では、3つのアタックキーおよびハッキング状況インジケータのみが説明されているが、当業者は、そのような「アタック」キーおよびインジケータは任意の数だけあってもよいこと、および、それらは、検出可能なアタック、または、不明な(unknown)アタックのうちの任意のタイプに対応することができることを理解するであろう。
【0020】
特定のハッキング状況インジケータに揮発性または不揮発性の記憶要素のどちらを使用するかを選択する際に考慮すべきファクターは、特定の種類のアタックの感知された深刻さ(seriousness)である。より深刻でないと感知されたアタックのタイプは、揮発性の記憶要素を使用して示されることができる一方、より深刻であると考えられたアタックのタイプは、不揮発性の記憶要素を使用して示されることができる。例示的な実施形態において、物理的なパッケージへのアタック等のデバイスのセキュリティを標的にしたアタック、JTAGインターフェース等のテストインターフェースを使用する試み、または、既定の閾値を越える多数の認証失敗(authentication failures)は、より深刻であると考えられ、飛んだハードウェアのヒューズによって示される可能性がある一方、映像またはオーディオの再生といった制限された特色へのアクセスを得るアタックは、深刻さがより少ないと考えられ、セル式電話の電源を切ってすぐに入れ直す(power−cycled)とリセットするスタティックRAMビットを設定することにより、示される可能性がある。当業者は、データの敏感性(sensitivity)、およびアタックによる潜在的な経済損失を含む、しかし、これらに限定されない種々のファクターが、種々のタイプのコンピュータデバイスに、関連し得ることを理解するであろう。
【0021】
ある例示的な実施形態において、コンピュータデバイス100は、セル式電話に組み込まれることができる。要求エンティティ116は、セル式電話が通信するセル式ネットワークであることができる。「アタック」キーは、JTAGインターフェースにアクセスする試み、標準の温度または電圧の範囲外にデバイスを持ち出すこと、セル式電話のプロセッサに対し疑わしいコードを実行する試み、ユーザーが支払いを行っていない特色へのアクセスを得る試み、または、権限のないネットワークで電話を操作することを含む、セル式電話デバイスへの一般的なアタックを示すことができる。そして、ネットワークプロバイダは、危険にさらされた(compromised)電話のネットワークへのアクセスを拒否すること、ユーザーが支払いを行っていない特定のソフトウェアまたは特色を使用不可とすること、危険にさらされた電話の位置を記録すること、または、危険にさらされた電話のタイプについての情報を記録することといった、しかし、これらに限定されない、アタックのタイプに基づいた措置をとることができる。
【0022】
別の例示的な実施形態において、コンピュータデバイス100は、乗り物のエンジン制御コンピュータに結合されることもできる。要求エンティティ116は、乗り物の製造者または第三者によって維持されることができる。この場合、「アタック」キーは、変更されたエンジン管理ソフトウェア、特定の閾値を超えた速度、乗り物が盗まれたとの報告があったかどうか、または、義務づけられたメンテナンス検査間の長い走行マイル数間隔といった状況を示すであろう。乗り物の製造者は、いつ保証条件(warranty conditions)が違反されたかを判断するために、または、それらの点検職員に、乗り物の使用についてのより正確な情報を提供するために、その情報を使用することができる。
【0023】
図2は、アタック検出ブロック204を組み込んだコンピュータデバイス200の別の実施形態を示す。コンピュータデバイス200は、リバースリンク212とフォワードリンク214を介して、要求エンティティ202に結合されている。リバースリンク212とフォワードリンク214は、イーサネット、無線イーサネット、またはセル式無線ネットワークプロトコルを含む、しかし、これらに限定されない、さまざまな接続であることができる。コンピュータデバイス200は、インターフェース240で、フォワードリンク214を介して、要求エンティティ202からの通信を受信する。コンピュータデバイス200は、要求エンティティ202によりチャレンジされたときにコンピュータデバイス200を認証するために使用される、プログラムされたハードウェアキー206を含む。アタック検出ブロック204は、複数のハッキング状況インジケータ218−222に結合されている。プログラムされたハードウェアキー206とハッキング状況インジケータ218−222は、キー生成ブロック208に結合されている。キー生成ブロック208とインターフェース240は、暗号エンジン210に結合されている。
【0024】
アタッカー230がコンピュータデバイス200にアタック232を行うと、アタック232は、アタック検出ブロック204によって検出される。アタック232に応じて、アタック検出ブロック204は、1つ以上のハッキング状況インジケータ218−222を設定する。アタック検出ブロック204は、JTAGポートのアタック、電圧または温度のアタック、悪意のあるソフトウェアのアタック、権限のない使用、機密(sensitive)情報へのアクセスの試み、または、サービス拒否のアタックといった、しかし、これらに限定されない、アタックを検出するように構成されることができる。ハッキング状況インジケータ218−222は、スタティックRAMまたはラッチといった揮発性の記憶要素であってもよいし、または、不揮発性RAMまたはハードウェアヒューズといった不揮発性の記憶要素であってもよい。当業者は、揮発性と不揮発性の記憶要素を組み合わせた実施形態をさらに使用することもできるということを理解するであろう。この特定の実施形態では、3つのハッキング状況インジケータのみが示されているが、当業者は、そのような「アタック」インジケータの数は任意でよいこと、および、それらは、任意のタイプの検出可能なアタックに、または、不明な(unknown)アタックに、対応することができることを理解するであろう。
【0025】
キー生成ブロック208は、要求エンティティ202にコンピュータデバイス200の識別とコンピュータデバイス200に対する任意のアタックについての情報を通信する応答キーに、プログラムされたハードウェアキー206とハッキング状況インジケータ218−222を組み合わせる。たとえば、これは、プログラムされたハードウェアキーに、ハッキング状況インジケータ218−222を添付することにより、または、ハッキング状況インジケータ218−222の状態に基づいて符号化(encoding)を生成し、かつ、プログラムされたハードウェアキーに、その符号化を組み合わせることにより、達成されることができる。当業者は、各々に含まれた全情報を失わないようにする、プログラムされたハードウェアキー206とハッキング状況インジケータ218−222を組み合わせる多くの異なる方法が存在すること、および、ここでの方法は、限定ではなく例として提示されていることを理解するであろう。キー生成ブロック208が、応答キーを生成するために、プログラムされたハードウェアキー206とハッキング状況インジケータ218−222を組み合わせた後、キー生成ブロック208は、暗号エンジン210に、応答キーを供給する。
【0026】
要求エンティティ202は、要求形成ブロック252において、要求を形成する。要求形成ブロック252は、専用回路、汎用プロセッサ、またはソフトウェアプログラムであることができる。要求は、ルックアップテーブルまたは熱雑音生成器を含む、しかし、これらに限定されない、エントロピーソースによって生成された非決定論的な値を含むことができる。要求エンティティ202は、フォワードリンク214によって、要求を供給する。所望のセキュリティレベルによって、要求は、平文で送られることもできるし、マスキングまたは暗号アルゴリズムの使用を含む、しかし、これらに限定されない方法によって、数学的に変換されることもできる。
【0027】
コンピュータデバイス200は、インターフェース240で、フォワードリンク214によって、要求エンティティ202から、非決定論的な値を含む要求を受信する。インターフェース240は、暗号エンジン210に非決定論的な値を供給する。暗号エンジン210は、専用ハードウェアブロック、暗号演算を行うことができる汎用プロセッサ、または、コンピュータ可読媒体に含まれたソフトウェアプログラムであることができる。そして、暗号エンジン210は、要求エンティティ202からコンピュータデバイス200によって受信された非決定論的な値と、応答キーを組み合わせることと、その組み合わせを数学的に変換することによって、変換されたキーを生成する。暗号エンジン210は、暗号ハッシュ関数、または暗号アルゴリズムを含む、しかし、これらに限定されない、数学的な変換を使用することができる。コンピュータデバイス200は、リバースリンク212によって、要求エンティティ202に、変換されたキーを供給する。
【0028】
要求エンティティ202は、変換されたキーの考えられる値の各々に基づいて、考えられる値のリストを計算し、キーテーブル216にその値を記憶する。要求エンティティ202は、乱数値を送信する前に、乱数値を送信するのと並行して、または、要求エンティティ202が、コンピュータデバイス200から返信された、変換されたキーを受信した後に、考えられる値のリストを計算することもできる。要求エンティティ202は、比較ブロック250で、リバースリンク212によって、コンピュータデバイス200から、変換されたキーを受信する。比較ブロック250は、専用回路、汎用プロセッサ、またはソフトウェアプログラムであることができる。比較ブロック250において、要求エンティティ202は、変換されたキーを、キーテーブル216に記憶された値と比較する。このようにして、要求エンティティ202は、コンピュータデバイス200から受信された特定の変換されたキーにより、コンピュータデバイス200が、アタックされたか否かを決定することができる。要求エンティティ202は、さらに、コンピュータデバイス200から受信された特定の変換されたキーに基づいて、アタックのタイプについての情報を得ることもできる。
【0029】
図3は、どのようにしてコンピュータデバイス100が要求エンティティ116からのチャレンジに応答し得るかを示した、例示的なフロー図である。ブロック302で始まり、要求エンティティ116は、非決定論的な値を含む要求を生成する。ブロック304において、要求エンティティ116は、コンピュータデバイス100がそれによって応答することができる、暗号ハッシュ関数のすべての考えられる値を計算し、キーテーブル118にそれらの値を記憶する。要求エンティティ116は、コンピュータデバイス100に非決定論的な値を含む要求を送信する前に、コンピュータデバイス100に非決定論的な値を含む要求を送信するのと並行して、または、要求エンティティ116が、コンピュータデバイス100から返信された、変換されたキーを受信した後に、これらの値を計算することができる。
ブロック320において、要求エンティティ116は、フォワードリンク128によって、コンピュータデバイス100に、非決定論的な値を含む要求を送信する。ブロック322において、コンピュータデバイス100は、インターフェース140で、非決定論的な値を含む要求を受信する。判断ブロック324において、コンピュータデバイス100は、それが、それ自体への任意のアタックを検出したかどうかを評価する。アタックが起こらなかった場合には、ブロック326に進む。ブロック326において、コンピュータデバイス100は、要求エンティティ116から受信された非決定論的な値と「ノーアタック」キー102に基づいて、暗号ハッシュ関数の値を計算する。アタックが起こった場合には、ブロック328に進む。ブロック328で、コンピュータデバイス100は、要求エンティティ116から受信された非決定論的な値と、複数の「アタック」キー104−108のうちの1つに基づいて、暗号ハッシュ関数の値を計算する。次に、ブロック330において、コンピュータデバイス100は、リバースリンク126によって、要求エンティティ116に、暗号ハッシュ関数の値を返信する。ブロック332において、要求エンティティ116は、コンピュータデバイス100から、暗号ハッシュ関数の値を受信する。
【0030】
ブロック306において、要求エンティティ116は、ブロック304において要求エンティティ116によって計算された暗号ハッシュ関数の考えられるすべての値に対し、コンピュータデバイス100から受信された暗号ハッシュ関数の値を比較する。ブロック304からのどの値がブロック332における受信された値と一致するかによって、要求エンティティ116は、いずれの、および、どのタイプのアタックが起こったのかを判断することができ、適宜、措置をとることができる。アタックが検出されなかった場合には、ブロック310に進み、要求と応答を終了する。あるタイプのアタックが検出された場合には、ブロック312において、要求エンティティ116は、そのアタックのタイプに基づいて措置をとることができる。アタックへの応答は、危険にさらされたコンピュータデバイスのネットワークへのアクセスを拒否すること、特定のソフトウェアまたは特色を使用不可とすること、危険にさらされたコンピュータデバイスの位置を記録すること、または、危険にさらされたコンピュータデバイスのタイプについての情報を記録することを含むことができる。当業者は、多くの異なる応答が可能であること、例示的な実施形態に関してここで議論されたものは、例示目的であり、限定ではないことを理解するであろう。
【0031】
図4は、要求エンティティ116がどのようにして異なる深刻さのアタックに対応し得るかを示す例示的なフロー図である。ブロック410において、要求エンティティ116は、コンピュータデバイス100がアタックされたと判断する。ブロック412において、要求エンティティ116は、アタックの深刻さを判断する。アタックの深刻さは、危険にさらされているコンピュータデバイス100の特定の特色、アタックがハードウェアベースであったかソフトウェアベースであったか、または、デバイスに記憶されたコンピュータデバイス100のユーザーの個人情報のいずれかが危険にさらされているかどうか、を含む、しかし、これらに限定されない、ファクターに基づくことができる。アタックが深刻でないと判断された場合には、ブロック414に進み、要求エンティティ116は、アタックを記録すること、および、通常の動作を続けることを含む、しかし、これらに限定されない、措置をとることができる。アタックが深刻であると判断された場合には、ブロック416に進み、要求エンティティ116は、コンピュータデバイス100に位置要求を供給する。
【0032】
ブロック418において、コンピュータデバイス100は、要求エンティティ116からの位置要求を受信する。ブロック420において、コンピュータデバイス100は、その位置およびプログラムされたハードウェアキーの少なくとも位置に基づいて、応答を定式化する。応答は、プログラムされたハードウェアキーの一部および位置情報の少なくとも一部に、一方向ハッシュ等の数学的な変換を行うことを含む、しかし、これに限定されない、方法によって定式化されることができる。コンピュータデバイス100の位置は、たとえば、コンピュータデバイス100に組み込まれたGPS受信機の使用、仮想GPS、または信号の三角測量により、判断されることができる。当業者は、他の数学的な変換およびコンピュータデバイス100の位置を判断する方法が使用され得ることを理解するであろう。応答は、平文で送られてもよいし、またはその代わりに、それは暗号化されてもよい。一度コンピュータデバイス100が応答を定式化すると、ブロック422において、それは、要求エンティティ116に応答を返信する。
【0033】
ブロック424において、要求エンティティ116は、コンピュータデバイス100からの応答を受信する。ブロック426において、要求エンティティ116は、適宜、解読を含む応答時に受信された位置情報の処理を行うことができ、かつ、必要であれば、さらなる措置をとることができる。そのような措置とは、記録を生成すること、警告を送ること、または、コンピュータデバイス100を作動しないように遠隔操作することを含んでもよく、これらに限定されない。
【0034】
本開示の教示は、消費者コンピュータデバイスへの権限のないアクセスに関して開示されたが、ここでの教示および以下に続く特許請求の範囲に一致する、広範でさまざまな実施が、当業者によって用いられ得ることが理解されるであろう。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]コンピュータデバイスからの位置情報を安全に通信する方法であって、
a.要求エンティティから、位置要求を受信することと、
b.前記コンピュータデバイスで、位置情報を取得することと、
c.前記位置情報と、ハードウェアキーの少なくとも一部とに基づいて、応答を形成することと、
d.前記要求エンティティに、前記応答を供給することと
を含む方法。
[2]前記応答を形成することは、前記ハードウェアキーの一部と、前記位置情報の少なくとも一部とを数学的に変換することを含む、[1]に記載の方法。
[3]前記数学的な変換は、一方向ハッシュ関数である、[2]に記載の方法。
[4]要求エンティティで、コンピュータデバイスの位置についての情報を、安全に受信する方法であって、
a.前記要求エンティティで、位置要求を形成することと、
b.前記コンピュータデバイスに、前記位置要求を供給することと、
c.前記コンピュータデバイスの位置と、ハードウェアキーの少なくとも一部とに基づいた、前記コンピュータデバイスからの応答を受信することと、
d.前記応答から、前記コンピュータデバイスの位置を判断することと
を含む方法。
[5]前記要求エンティティの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスがアタックされたと判断する場合にのみ、形成される、[4]に記載の方法。
[6]前記要求エンティティの前記位置要求は、前記要求エンティティが、前記コンピュータデバイスへのアタックが深刻な性質のものであると判断する場合にのみ、形成される、[5]に記載の方法。
図1
図2
図3
図4