(57)【特許請求の範囲】
【請求項１】
セキュア位置情報を提供する方法であって、
セキュアロケーションプロセッサ（ＳＬＰ）が、前記ＳＬＰの外部の位置要求エンティティからセキュリティ鍵を含むセキュリティ鍵交換情報を受け取るステップと、
前記ＳＬＰが、位置決定測定結果を取得するステップと、
前記ＳＬＰが、前記位置決定測定結果に基づいて位置情報を決定するステップと、
前記ＳＬＰが、前記セキュリティ鍵に基づいて前記位置情報を暗号化するステップと、
前記暗号化された位置情報を前記ＳＬＰから前記位置要求エンティティに送信するステップと、を有し、
前記ＳＬＰはプロセッサとメモリとを有するトラステッド実行環境（ＴＥＥ）を提供し、前記ＴＥＥは前記ＳＬＰの外部のエンティティからの前記ＳＬＰ内のコントロール及びデータへのアクセスを制限し、
前記ＳＬＰが、前記位置決定測定結果は期限切れ閾値を超えていないことを確かめるステップと、
前記ＳＬＰが、前記位置要求エンティティの認証情報に基づいて前記位置決定測定結果の正確性を調整するステップと、
前記ＳＬＰが、前記セキュリティ鍵に基づいて前記位置決定測定結果を暗号化するステップと、
前記暗号化された位置決定測定結果を前記ＳＬＰから前記位置要求エンティティに送信するステップと、を有し、
前記位置要求エンティティはトラステッドアプリケーションであり、
前記ＳＬＰと前記位置要求エンティティとの間に、トラステッドアプリケーションのみに見えるアプリケーションプログラミングインタフェース（ＡＰＩ）を設けるステップをさらに有し、前記ＡＰＩは標準化された要求・応答メッセージフォーマットを提供する、
方法。
【請求項２】
前記暗号化は、前記位置情報のセキュリティと前記位置情報の信頼性とを提供する、
請求項１に記載の方法。
【請求項３】
前記位置決定測定結果は、グローバルポジショニングシステム（ＧＰＳ）受信器、ワイヤレスフィデリティ（ＷｉＦｉ）アクセスポイント、及び／または無線センサから得られる、請求項１に記載の方法。
【請求項４】
前記暗号化は、前記位置決定測定結果のセキュリティと前記位置決定測定結果の信頼性とを提供する、請求項１に記載の方法。
【請求項５】
セキュアロケーション機能を有するモバイルプラットフォームであって、
プロセッサとメモリとを有し、オペレーティングシステムと一以上のアプリケーションとを実行するように構成されたホストと、
セキュアロケーションプロセッサ（ＳＬＰ）の外部にある位置要求エンティティからセキュリティ鍵を含むセキュリティ鍵交換情報を受け取るように構成された前記ＳＬＰとを有し、前記ＳＬＰは、
位置測定データを提供するように構成された受信器と、
前記位置測定データに基づいて位置情報を生成するように構成された、前記受信器に結合したロケーションエンジンと、
トラステッド実行環境（ＴＥＥ）であって、
前記ホストと前記オペレーティングシステムと前記アプリケーションからの前記ＳＬＰ内のコントロール及びデータへのアクセスを制約し、
位置測定データが期限切れ閾値を超えていないことを確かめ、
前記位置要求エンティティの認証情報に基づいて前記位置測定データの正確性を調整し、
前記位置要求エンティティへの送信のため、前記調整された位置測定データを暗号化し、前記位置情報を暗号化するように構成されている、トラステッド実行環境とを有し、
前記ＳＬＰは、トラステッドアプリケーションのみに見えるアプリケーションプログラミングインターフェース（ＡＰＩ）により前記ホストと結合されている、
モバイルプラットフォーム。
【請求項６】
前記暗号化は前記セキュリティ鍵に基づく、請求項５に記載のプラットフォーム。
【請求項７】
前記制約されたアクセスは、メモリプロテクションメカニズム、プロセッサ特権モード実行メカニズム、及び／またはハードウェアの物理的分離を含む、
請求項５に記載のプラットフォーム。
【請求項８】
プロセッサに、請求項１ないし４いずれか一項に記載の方法のステップを実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロケーション（位置）サービスの保護と認証とに関し、より具体的には、分散セキュリティシステムを有するロケーションサービスの保護と認証とに関する。
【背景技術】
【０００２】
スマートフォンなどのモバイルデバイスは位置決定機能を有するものが多い。こうした機能はグローバルポジショニングシステム（ＧＰＳ）技術その他の方法に基づいている。決定された位置をそのデバイス上で実行されているアプリケーションに送ったり、その位置（ロケーション）を無線ネットワーク接続を介してリモートサーバに送ったりして、その位置を用いてそのモバイルデバイスのユーザにサービスやその他の高度な機能を提供できるようにできると便利なことがある。幾つかの例では、地図サービスやナビゲーションサービスがユーザに提供される。他の一例として、近くのレストランやお店のリストが提供されてもよい。さらに他の一例として、位置情報が緊急時対応要因に提供されてもよい。
【０００３】
しかし、セキュリティとプライバシーの問題がますます重要になっており、モバイルデバイスのユーザは権限の無い者に自分の位置を利用されたくないと考えるかも知れない。一般的には、無線ネットワークを介して、モバイルデバイス上で実行されているオペレーティングシステム（またはアプリケーション）とリモートサーバとの間に暗号ベースのセキュアチャネルを確立する。しかし、この方法は「ｍａｎ−ｉｎ−ｔｈｅ−ｍｉｄｄｌｅ」攻撃として知られているあるタイプの攻撃に対して弱い。これは、悪意のアプリケーションデバイスのコントロールを得て、位置情報が暗号化される前にその位置情報にアクセスしてしまうものである。悪意のあるアプリケーションは、位置情報を権限の無い者にリダイレクトしたり（スヌーピングと呼ばれることもある）、意図された宛先への送信前にその位置情報を変更したり（スプーフィングと呼ばれることもある）するおそれがある。幾つかの場合には、変更された位置を用いて位置に関する制約を回避することもある。
【図面の簡単な説明】
【０００４】
特許請求の範囲に記載した主題の実施形態の特徴と利点は、図面を参照しつつ以下の詳細な説明を読めば明らかになる。図面では同じ数字は同じパーツを示す。
【図１】本開示に沿った実施形態の一例を示す最高レベルのシステム図である。
【図２】本開示に沿った実施形態の一例を示すブロック図である。
【図３】本開示に沿った実施形態の他の一例を示すブロック図である。
【図４】本開示に沿った実施形態の一例を示すフローチャートである。
【図５】本開示に沿った実施形態の他の一例を示すフローチャートである。
【図６】本開示の実施形態の一例に沿った、ネットワーク中のプラットフォームを示すシステム図である。  以下の詳細な説明では例示の実施形態を参照するが、当業者には多数の代替案、修正案、変形案が明らかになるだろう。
【発明を実施するための形態】
【０００５】
一般的に、この開示は、分散セキュリティシステムに基づいてロケーションサービスの保護と認証とを行う方法と装置とを提供する。トラステッド実行環境（ｔｒｕｓｔｅｄ  ｅｘｅｃｕｔｉｏｎ  ｅｎｖｉｒｏｎｍｅｎｔ、ＴＥＥ）を有するセキュアロケーションプロセッサ（ＳＬＰ）が、位置情報そのものまたは位置情報を計算できる測定情報を生成し、その情報を暗号化またはさもなければセキュア（ｓｅｃｕｒｅ）する。ＳＬＰはセルフロケーション機能を有するモバイルデバイスなどのホストプラットフォームの一部である。ＳＬＰは、トラステッドアプリケーションまたはサーバとのセキュリティ鍵の交換に基づく暗号化を行い、例えば、トラステッドアプリケーションからセキュリティ鍵を受け取り、及びトラステッドアプリケーションにセキュリティ鍵を送ることができる。情報は、ホストプラットフォーム上で実行されているオペレーティングシステム（ＯＳ）やその他のアプリケーションソフトウェアに送信され、またはそれらを通して送信される時に、ＳＬＰを離れる前にセキュア（ｓｅｃｕｒｅ）されているので、権限のないアクセス及び改ざんの両方から保護できる。暗号化された位置情報を正当に受信するトラステッドアプリケーションまたはサーバは、提供される位置情報が真正なものであるとの保証のレベルが高ければそれだけ恩恵を受け、一方悪意のあるアプリケーションは、その情報を復号または変更したりできない。
【０００６】
ここで用いるアクセスポイント（ＡＰ）との用語は、ステーション（ＳＴＡ）機能を有し、関連ＳＴＡのために無線媒体（ＷＭ）を介して配信サービスへのアクセスを提供する任意のエンティティとして定義される。
【０００７】
ここで用いるパーソナルベーシックサービスセット・コントロール・ポイント（ＰＣＰ）との用語は、ｍｍ波ネットワークのコントロールポイントとして動作するＳＴＡとして定義される。
【０００８】
ここで用いる無線ネットワークコントローラとの用語は、無線ネットワークのＰＣＰ及び／またはＡＰとして動作するステーションとして定義される。
【０００９】
ここで用いる「トラフィック」及び／または「トラフィックストリーム」との用語は、ＳＴＡなどの無線デバイス間のデータフロー及び／またはストリームとして定義される。ここで用いる「セッション」との用語は、確立された直接的物理リンクを有する（例えば、転送を除く）ステーションのペアに保存または記憶された状態情報として定義される。状態情報はセッションを記述または確定する。
【００１０】
ここで、「無線デバイス」との用語は、例えば、無線通信が可能なデバイス、無線通信が可能な通信デバイス、無線通信が可能な通信局、無線通信が可能なポータブル又は非ポータブルデバイスなどを含む。幾つかの実施形態では、無線デバイスはコンピュータと一体となった周辺デバイス、又はコンピュータに取り付けられた周辺デバイスであっても、それを含んでいてもよい。幾つかの実施形態では、「無線デバイス」との用語は、任意的に無線サービスを含む。
【００１１】
言うまでもなく、本発明はいろいろなアプリケーションで用いることができる。本発明はこの点に限定されないが、ここに開示する回路や技術は無線システムのステーションなど多くの装置に用いることができる。本発明の範囲内に含まれるステーションは、例えば、無線ローカルエリアネットワーク（ＷＬＡＮ）ステーション、無線パーソナルネットワーク（ＷＰＡＮ）などを含む。
【００１２】
幾つかの実施形態は、いろいろなデバイスやシステムと共に用いることができる。例えば、ビデオデバイス、オーディオデバイス、オーディオビデオ（Ａ／Ｖ）デバイス、セットトップボックス（ＳＴＢ）、ブルーレイディスク（ＢＤ）プレーヤ、ＢＤレコーダ、デジタルビデオディスク（ＤＶＤ）プレーヤ、ハイデフィニション（ＨＤ）ＤＶＤプレーヤ、ＤＶＤレコーダ、ＨＤ  ＤＶＤレコーダ、パーソナルビデオレコーダ（ＰＶＲ）、ブロードキャストＨＤレシーバ、ビデオソース、オーディオソース、ビデオシンク、オーディオシンク、ステレオチューナ、ブロードキャスト無線レシーバ、ディスプレイ、フラットパネルディスプレイ、パーソナルメディアプレーヤ（ＰＭＰ）、デジタルビデオカメラ（ＤＶＣ）、デジタルオーディオプレーヤ、スピーカ、オーディオレシーバ、オーディオアンプ、データソース、データシンク、デジタルスチルカメラ（ＤＳＣ）、パーソナルコンピュータ（ＰＣ）、デスクトップコンピュータ、モバイルコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、スマートフォン、デジタルテレビジョン、サーバコンピュータ、ハンドヘルドコンピュータ、ハンドヘルドデバイス、パーソナルデジタルアシスタント（ＰＤＡ）デバイス、ハンドヘルドＰＤＡデバイス、オンボードデバイス、オフボードデバイス、ハイブリッドデバイス、自動車用デバイス、非自動車用デバイス、モバイルまたはポータブルデバイス、コンシューマデバイス、非モバイルまたは非ポータブルデバイス、無線通信ステーション、無線通信デバイス、無線ＡＰ、有線または無線ルータ、有線または無線モデム、有線または無線ネットワーク、無線エリアネットワーク、無線ビデオエリアネットワーク（ＷＶＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ＷＬＡＮ、ＰＡＮ、ＷＰＡＮ、既存の無線ＨＤＴＭ及び／または無線ギガビットアライアンス（ＷＧＡ）仕様書及び／またはその将来バージョン及び／またはその派生バージョンにより動作するデバイス及び／またはネットワーク、既存のＩＥＥＥ８０２．１１（ＩＥＥＥ８０２．１１−２００７：Ｗｉｒｅｌｅｓｓ  ＬＡＮ  Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（ＭＡＣ）  ａｎｄ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  （ＰＨＹ）  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ）標準及び補正（「ＩＥＥＥ８０２．１１標準」）、Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ（ＷｉＭＡＸ）のためのＩＥＥＥ８０２．１６標準、Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）とＬｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ  Ａｄｖａｎｃｅｄ（ＬＴＥ−Ａ）を含むＴｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ（３ＧＰＰ）、及び／またはそれらの将来バージョン及び／または変形バージョンにより動作するデバイス及び／またはネットワーク、上記ネットワークのいびつであるユニット及び／またはデバイス、一方向及び／または双方向無線通信システム、セルラー無線電話通信システム、無線ディスプレイ（ＷｉＤｉ）デバイス、セルラー電話、無線電話、パーソナル通信システム（ＰＣＳ）デバイス、無線通信デバイスが組み込まれ���ＰＤＡデバイス、モバイルまたはポータブルのグローバルポジショニングシステム（ＧＰＳ）デバイス、ＧＰＳ受信器または送受信器またはチップが組み込まれたデバイス、ＲＦＩＤ要素またはチップが組み込まれたデバイス、複数入力複数出力（ＭＩＭＯ）送受信器またはデバイス、単一入力複数出力（ＳＩＭＯ）送受信器またはデバイス、複数入力単一出力（ＭＩＳＯ）送受信器またはデバイス、一以上の内部アンテナ及び／または外部アンテナを有するデバイス、デジタルビデオブロードキャスト（ＤＶＢ）デバイスまたはシステム、複数標準無線デバイスまたはシステム、有線または無線ハンドヘルドデバイス（例えば、ＢｌａｃｋＢｅｒｒｙ，Ｐａｌｍ  Ｔｒｅｏ）、無線アプリケーションプロトコル（ＷＡＰ）デバイス、などと共に用いることができる。
【００１３】
実施形態は、１つ以上のタイプの無線通信信号及び／又はシステムと共に用いてもよい。例えば、ラジオ周波数（ＲＦ）、赤外線（ＩＲ）、周波数分割多重（ＦＤＭ）、直交ＦＤＭ（ＯＦＤＭ）、時分割多重（ＴＤＭ）、時分割多重アクセス（ＴＤＭＡ）、拡張ＴＤＭＡ（Ｅ−ＴＤＭＡ）、ジェネラルパケットラジオサービス（ＧＰＲＳ）、拡張ＧＰＲＳ、符号分割多重アクセス（ＣＤＭＡ）、ワイドバンドＣＤＭＡ（ＷＣＤＭＡ（登録商標））、ＣＤＭＡ２０００、シングルキャリアＣＤＭＡ、マルチキャリアＣＤＭＡ、マルチキャリア変調（ＭＤＭ）、離散マルチトーン（ＤＭＴ）、ブルートゥース（登録商標）、グローバルポジショニングシステム（ＧＰＳ）、ＷｉＦｉ、ＷｉＭａｘ、無線メトロポリタンエリアネットワーク（ＷＭＡＮ）、無線ワイドエリアネットワーク（ＷＷＡＮ）、ＺｉｇＢｅｅ（商標）、ウルトラワイドバンド（ＵＷＢ）、グローバルシステムフォーモバイル通信（ＧＳＭ（登録商標））、２Ｇ、２．５Ｇ、３Ｇ、３．５Ｇ、エンハンスドデータレートフォーＧＳＭエボリューション（ＥＤＧＥ）などと共に用いることができる。他の実施形態は他のいろいろなデバイス、システム、及び／又はネットワークで用いることができる。
【００１４】
幾つかの実施形態は、無線エリアネットワーク、ＷＶＡＮ、ＷＰＡＮなどの「ｐｉｃｏｎｅｔ」などの限定レンジまたはショートレンジの無線通信ネットワークと共に用いることができる。
【００１５】
図１は、本開示に沿った実施形態の一例を示す最高レベルのシステム図１００である。後程より詳細に説明するように、トラステッドサーバ１０２は、位置要求１０６を、セキュア位置保護及び認証機能を有するホスト１０４に送信する。ホスト１０４は、次に、セキュアされた位置応答１０８で答える。幾つかの実施形態では、ホスト１０４は、自己位置決定機能を有するモバイル通信デバイスまたはスマートフォンなどのモバイルプラットフォームである。トラステッドサーバ１０２は、提供された位置情報に基づいてホスト１０４のユーザにサービスまたは機能を提供するように構成されたリモートシステムである。位置応答は、権限のないエンティティが情報にアクセスしたり（スヌーピングと呼ばれることもある）、または情報を改変したり（スプーフィングと呼ばれることもある）しないようにセキュアされている。幾つかの実施形態では、トラステッドサーバ１０２はトラステッドアプリケーションであり、これはサーバベースでもクライアントベースでもよく、ホスト１０４に対してローカルでもリモートでもよい。トラステッドサーバまたはトラステッドアプリケーションは、セキュアされた位置情報を取得する権限を有するエンティティであり、その権限を示す認証情報を有する。
【００１６】
図２は、本開示に沿った実施形態の一例を示すブロック図２００である。ホスト１０４は、この実施形態では、オペレーティングシステム（ＯＳ）２０２を有するように示されている。オペレーティングシステム２０２は、トラステッドアプリケーション２０６を含む一以上のアプリケーションの実行をサポートする。ホスト１０４はセキュアードロケーションプロセッサ（ＳＬＰ）２１２を含み、その動作は後程より詳しく説明する。ＳＬＰ２１２は、トラステッド実行環境（ＴＥＥ）２０８、位置エンジン２１０、及び受信器２１４を含む。ＳＬＰ２１２は、要求と応答に対して標準化されたメッセージフォーマットを提供するアプリケーションプログラミングインタフェース（ＡＰＩ）２０４により、ホスト１０４の他の部分とセキュアに通信できる。ＡＰＩ２０４は、物理的インタフェースまたは論理的インタフェースであり、非トラステッドエンティティには見えない。幾つかの実施形態では、ＳＬＰ２１２はトラステッドアプリケーション２０６のみに見える。
【００１７】
受信器２１４は、位置決定測定結果を受信するように構成されている。位置決定測定結果は、すなわちホストプラットフォーム１０４の位置の計算または決定を可能にする任意のタイプの測定情報である。位置決定測定結果は、外部ソースから、例えば無線周波数（ＲＦ）通信として、無線受信され得る。外部ソースは、例えば、ＧＰＳ衛星であり、位置決定測定結果は、位置を計算できるタイミング情報であり得る。代替的に、または組み合わせて、外部ソースは相対的距離情報を提供する一以上のＷｉＦｉアクセスポイント（ＡＰ）であってもよい。代替的に、または組み合わせて、外部ソースは、動きセンサまたは近接センサであってもよく、ブルートゥースその他の好適な無線通信技術を用いて通信してもよい。
【００１８】
位置エンジン２１０は、受信器２１４により提供される位置決定測定結果に基づいて位置を計算するモジュール、回路、またはプロセッサである。例えば、ＧＰＳ信号の場合、位置エンジン２１０は到着時間差計算を行い、一方ＷｉＦｉアクセスポイントからの距離測定結果の場合には、位置エンジン２１０は三角法計算を実行する。幾つかの実施形態では、位置エンジン２１０はネットワークの助けを借りて位置を計算する。
【００１９】
ＳＬＰ２１２は、位置エンジン２１０及び／または受信器２１４が動作するトラステッド実行環境（ＴＥＥ）２０８を提供する。追加的に、ＴＥＥ２０８は暗号化、復号、及び認証の動作を処理する。ＴＥＥ２０８は、ＴＥＥの外部にある他のホストエンティティであるＯＳや非トラステッドアプリケーションなどからのセキュリティと絶縁を提供する。絶縁することにより、外部エンティティがＳＬＰ２１２処理モジュールをコントロールし、またはＳＬＰ２１２に記憶されたデータにアクセスすることを防止する。幾つかの実施形態では、ＴＥＥ２０８は、別々の物理的ハードウェアを有してもよく、例えばホスト１０４に関連する集積回路（ＩＣ）とは別のＩＣを有してもよい。幾つかの実施形態では、ＴＥＥ２０８は、ホスト１０４と共有しているＩＣ内の別のコントローラまたはプロセッサであってもよい。幾つかの実施形態では、ＴＥＥ２０８は、ホスト１０４と共有しているコントローラまたはプロセッサ内の別のドメインであってもよい。ハードウェアがＴＥＥ２０８とホスト１０４との間で共有されている場合も含めて、様々な手法を利用してＴＥＥ２０８をセキュアに絶縁することができる。これらの手法には、プロセッサに付随する特権的実行モードと、メモリに付随するアクセス保護メカニズムとが含まれる。
【００２０】
動作時、トラステッドサーバ１０２及び／またはトラステッドアプリケーション２０６は、トラステッドエンティティ１０２、２０６及びＳＬＰ２１２だけが知っているセキュリティ鍵その他の認証情報などのセキュリティ情報を交換することにより、ＳＬＰ２１２により提供されるセキュアード位置ロケーションサービスを受ける権利を有することを証明できる。鍵は、セキュアソケットレイヤプロトコル（ＳＳＬ）、Ｓｅｃｕｒｅ  Ｕｓｅｒ  Ｐｌａｎｅ  ｐｒｏｔｏｃｏｌ  （ＳＵＰＬ）、または証明書ベースプロトコルを含むその他の好適なプロトコルを用いて交換できる。幾つかの実施形態では、要求されるセキュリティレベルはロケーションサービス要求により確定される。例えば、精度が低くて良い要求に対しては、あまり厳しくない認証が許される。上記の権利には、位置情報に関連する様々な特徴が含まれる。例えば、精度レベル（サービス品質と呼ばれることもある）、アクセス権が期限切れとなる時、その他の規制及び／または制約に適した任意の特徴がある。トラステッドエンティティ１０２、２０６は、ＳＬＰ２１２にセキュア位置情報を要求できる。このセキュア位置情報は、セキュリティ鍵に基づきＳＬＰ２１２により暗号化され、トラステッドエンティティ１０２、２０６により復号される。
【００２１】
幾つかの実施形態では、ＳＬＰ２１２により提供されるセキュア位置情報は、基本的な位置決定測定結果であってもよく、その場合トラステッドエンティティ１０２、２０６は提供されたこれらの測定結果に基づき位置を計算できる。幾つかの実施形態では、ＳＬＰ２１２により提供されるセキュア位置情報は、位置決定測定結果に基づいてロケーションエンジン２１０により計算される実際の位置であってもよい。いずれの場合であっても、位置または位置決定測定結果は、トラステッドエンティティ１０２、２０６が有する具体的な権利に基づき、精度を低下させてもよい。
【００２２】
幾つかの実施形態では、ＳＬＰ２１２は、位置決定測定結果が最近更新されたか、すなわち期限切れになっていないか確認する。期限切れとなる時間は予め決められた、またはプログラム可能な値であってもよい。位置決定測定結果が期限切れとなった場合、ＳＬＰ２１２はその情報を送信しない、またはその位置はもはや有効ではないので、正しいものではないとの何らかの表示を送信する。代替的に、期限切れとなった測定結果の場合、ＳＬＰ２１２は、ぼかした位置を送信してもよい。これは、例えば都市レベルまたは州レベルの位置など、正しさが証明されていない位置の粗い推定のみを提供するものである。
【００２３】
位置情報はＳＬＰ２１２のＴＥＥ２０８内でセキュアまたは暗号化されているので、ホスト１０４の非トラステッドアプリケーションまたは悪意のあるアプリケーションまたはＯＳサービスは、意図された受信者であるトラステッドエンティティ１０２、２０６への送信前には、またはその間には、情報にアクセスしたりそれを変更したりできない。
【００２４】
図３は、本開示に沿った実施形態の他の一例を示すブロック図３００である。ＴＥＥ２０８、ロケーションエンジン２１０、トラステッドアプリケーション２０６、及びトラステッドサーバ１０２の間の、可能性のある多数のデータフローの例を示した。第１の例３０２では、セキュリティ情報である例えば鍵が、トラステッドサーバ１０２とＴＥＥ２０８との間で交換される。第２の例３０４は、アプリケーションベースのシナリオを示し、トラステッドアプリケーション２０６がロケーションエンジン２１０にセキュアード位置要求を送信し、ロケーションエンジン２１０がＴＥＥ２０８にセキュアード測定要求を送信する。ＴＥＥ２０８は、応答してセキュアード測定結果を送り、ロケーションエンジン２１０は、セキュアード位置を計算し、それをトラステッドアプリケーション２０６に送信する。第３の例３０６は、サーバベースのシナリオを示し、トラステッドサーバ１０２がロケーションエンジン２１０にセキュアード位置要求を送信し、ロケーションエンジン２１０がＴＥＥ２０８にセキュアード測定要求を送信する。ＴＥＥ２０８は、応答してセキュアード測定結果を送り、ロケーションエンジン２１０は、セキュアード位置を計算し、それをトラステッドサーバ１０２に送信する。第４の例３０８は、サーバとアプリケーションの組み合わせに基づくシナリオであり、トラステッドサーバ１０２がトラステッドアプリケーション２０６にセキュアード位置要求を送信し、トラステッドアプリケーション２０６はロケーションエンジン２１０にその要求を転送し、ロケーションエンジン２１０はＴＥＥ２０８にセキュアード測定要求を送信する。ＴＥＥ２０８は、応答してセキュアード測定結果を送り、ロケーションエンジン２１０は、セキュアード位置を計算し、それをトラステッドアプリケーション２０６に送信し、トラステッドサーバ１０２に送られる。
【００２５】
図４は、本開示に沿った実施形態の一例を示すフローチャート４００である。ステップ４１０において、セキュアロケーションプロセッサ（ＳＬＰ）と、ＳＬＰ外部の位置要求エンティティとの間で、セキュリティ鍵が交換される。セキュリティ鍵は暗号化に用いられ、例えば公開鍵と秘密鍵とに基づき暗号化が行われる。幾つかの実施形態では、位置要求エンティティはトラステッドアプリケーションまたはトラステッドサーバであり、ローカルまたはリモートのものである。ステップ４２０において、ＳＬＰ内で位置決定測定結果が得られる。幾つかの実施形態では、位置決定測定結果はタイミング情報を含み、これはＧＰＳ受信器により提供されるものなどである。幾つかの実施形態では、位置決定測定結果はＷｉＦｉステーションにより提供される情報を含む。ステップ４３０において、ＳＬＰ内で、位置決定測定結果に基づき、位置が決定される。ステップ４４０において、ＳＬＰ内で、セキュリティ鍵に基づき、位置が暗号化される。ステップ４５０において、暗号化された位置がＳＬＰから位置要求エンティティに送信される。
【００２６】
図５は、本開示に沿った実施形態の一例を示すフローチャート５００である。ステップ５１０において、セキュアロケーションプロセッサ（ＳＬＰ）と、ＳＬＰ外部の位置要求エンティティとの間で、セキュリティ鍵が交換される。セキュリティ鍵は暗号化に用いられ、例えば公開鍵と秘密鍵とに基づき暗号化が行われる。幾つかの実施形態では、位置要求エンティティはトラステッドアプリケーションまたはトラステッドサーバであり、ローカルまたはリモートのものである。ステップ５２０において、ＳＬＰ内で位置決定測定結果が得られる。幾つかの実施形態では、位置決定測定結果はタイミング情報を含み、これはＧＰＳ受信器により提供されるものなどである。幾つかの実施形態では、位置決定測定結果はＷｉＦｉステーションにより提供される情報を含む。ステップ５３０において、ＳＬＰ内で、セキュリティ鍵に基づき、位置決定測定結果が暗号化される。ステップ５４０において、暗号化された位置決定測定結果がＳＬＰから位置要求エンティティに送信される。なお、図４に示したように、位置決定測定結果に基づいて位置情報を決定し、セキュリティ鍵に基づいて位置情報を暗号化し、暗号化された位置情報をＳＬＰから位置要求エンティティに送信することに加えて、セキュリティ鍵に基づいて前記位置決定測定結果を暗号化し、暗号化された位置決定測定結果をＳＬＰから位置要求エンティティに送信することも可能である。
【００２７】
図６は、本開示の実施形態の一例に沿った、ネットワーク中のセキュア位置機能を有するモバイルプラットフォームを示すシステム図６００である。モバイルプラットフォーム６０２、６０４は、位置決定機能を有するモバイル通信デバイスであり、例えばスマートフォン、タブレット、ラップトップコンピュータデバイス、その他の無線信号を送受信するように構成された任意のデバイスである。幾つかの実施形態では、プラットフォーム６０２、６０４は、プロセッサ６０８、メモリ６１０、及び入出力（Ｉ／Ｏシステム６１２を含むホスト１０４を含む。プラットフォーム６０２、６０４は、上記の通り、ＳＬＰ２１２も含む。ＳＬＰ２１２は、セキュアかつ認証された位置情報を生成するためにホスト１０４の他のコンポーネントからセキュアに絶縁されたＴＥＥを提供する。プラットフォーム６０２、６０４は、ディスプレイ６１４またはタッチスクリーンなどのその他のタイプのユーザインタフェース（ＵＩ）も含む。いくつのプラットフォーム６０２、６０４が、ネットワーク６０６を介してサーバ１０２との間で要求及び応答信号１０６、１０８を送受信してもよい。
【００２８】
ここに説明している方法の実施形態は、一以上のプロセッサにより実行されると、方法を実行する命令を記憶した一以上の記憶媒体を含むシステムで実施することもできる。ここで、プロセッサは、例えば、システムＣＰＵ（例えば、コアプロセッサ）及び／またはプログラマブル回路を含む。このように、ここに説明の方法によるステップは、異なる複数の物理的ロケーションにある処理構造など、複数の物理的デバイスに分散していてもよい。また、当業者には言うまでもないが、方法ステップは個別にまたはサブコンビネーションとして実行してもよい。このように、当業者には言うまでもないが、各フローチャートのすべてのステップを実行する必要はなく、かかるステップのすべてのサブコンビネーションがイネーブルされることを本開示は明示的に意図している。
【００２９】
記憶媒体には、フロッピー（登録商標）ディスク、光ディスク、コンパクトディスク・リードオンリメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク・リライタブル（ＣＤ−ＲＷ）、デジタルバーサタイルディスク（ＤＶＤ）、光磁気ディスク等の任意タイプのディスク、リードオンリメモリ（ＲＯＭ）、ダイナミック及びスタティックランダムアクセスメモリ（ＤＲＡＭ）等のランダムアクセスメモリ（ＲＡＭ）、消去可能プログラマブル・リードオンリメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル・リードオンリメモリ（ＥＥＰＲＯＭ）、フラッシュメモリ等の半導体デバイス、磁気または光カード、その他の電子的命令を記憶するのに好適な媒体などの任意のタイプの有体媒体が含まれる。
【００３０】
ここで実施形態の説明において用いる「回路」とは、例えば、単一のまたは組み合わせとなったハードウェア回路、プログラマブル回路、状態機械回路、及び／またはファームウェアであって、プログラマブル回路により実行される命令を記憶するものを含む。ａｐｐは、ホストプロセッサその他のプログラマブル回路などで実行されるコードまたは命令として実施できる。実施形態においてモジュールとは、回路として実施できる。回路は集積回路チップなどの集積回路として実施できる。
【００３１】
このように、本開示はセキュア位置情報を提供する方法とデバイスを提供する。
第１の態様により、方法を提供する。本方法は、セキュアロケーションプロセッサ（ＳＬＰ）が、前記ＳＬＰの外部の位置要求エンティティからセキュリティ鍵交換情報を受け取るステップを含む。この実施例の方法は、前記ＳＬＰが、位置決定測定結果を取得するステップも含む。この実施例の方法は、さらに、前記ＳＬＰが、前記位置決定測定結果に基づいて位置情報を決定するステップも含む。この実施例の方法は、さらに、前記ＳＬＰが、前記セキュリティ鍵に基づいて前記位置情報を暗号化するステップを含む。この実施例の方法は、さらに、前記暗号化された位置情報を前記ＳＬＰから前記位置要求エンティティに送信するステップを含む。
【００３２】
他の一方法例は前記のステップを含み、前記ＳＬＰはプロセッサとメモリとを有するトラステッド実行環境（ＴＥＥ）を提供し、前記ＴＥＥは前記ＳＬＰの外部のエンティティからの前記ＳＬＰ内のコントロールとデータへのアクセスを制限する。
【００３３】
他の一方法例は前記のステップを含み、前記暗号化により前記位置情報のセキュリティと前記位置情報の信頼性とを提供する。
【００３４】
他の一方法例は前記のステップを含み、前記位置決定測定結果は、グローバルポジショニングシステム（ＧＰＳ）受信器、ワイヤレスフィデリティ（ＷｉＦｉ）アクセスポイント、及び／または無線センサから得られる。
【００３５】
他の一方法例は前記のステップを含み、前記ＳＬＰと前記位置要求エンティティとの間にアプリケーションプログラミングインタフェース（ＡＰＩ）を設けるステップをさらに有し、前記ＡＰＩは標準化された要求・応答メッセージフォーマットを提供する。
【００３６】
他の一方法例は前記のステップを含み、前記ロケーション要求エンティティはトラステッドアプリケーションまたはトラステッドサーバである。
【００３７】
他の一方法例は前記のステップを含み、前記ＳＬＰが、前記位置決定測定結果は期限切れの閾値を超えていないことを確かめるステップをさらに有する。
【００３８】
他の一方法例は前記のステップを含み、前記位置要求エンティティの認証情報に基づいて前記送信された位置情報の正確性を調整するステップをさらに有する。
【００３９】
他の一態様により、方法を提供する。本方法は、セキュアロケーションプロセッサ（ＳＬＰ）が、前記ＳＬＰの外部の位置要求エンティティからセキュリティ鍵交換情報を受け取るステップを含む。この実施例の方法は、前記ＳＬＰが、位置決定測定結果を取得するステップも含む。この実施例の方法は、さらに、前記ＳＬＰが、前記セキュリティ鍵に基づいて前記位置決定測定結果を暗号化するステップを含む。この実施例の方法は、さらに、前記暗号化された位置決定測定結果を前記ＳＬＰから前記位置要求エンティティに送信するステップを含む。
【００４０】
他の一方法例は前記のステップを含み、前記ＳＬＰはプロセッサとメモリとを有するトラステッド実行環境（ＴＥＥ）を提供し、前記ＴＥＥは前記ＳＬＰの外部のエンティティからの前記ＳＬＰ内のコントロールとデータへのアクセスを制限する。
【００４１】
他の一方法例は前記のステップを含み、前記暗号化により前記位置決定測定結果のセキュリティと前記位置決定測定結果の信頼性とを提供する。
【００４２】
他の一方法例は前記のステップを含み、前記位置決定測定結果は、グローバルポジショニングシステム（ＧＰＳ）受信器、ワイヤレスフィデリティ（ＷｉＦｉ）アクセスポイント、及び／または無線センサから得られる。
【００４３】
他の一方法例は前記のステップを含み、前記ＳＬＰと前記位置要求エンティティとの間にアプリケーションプログラミングインタフェース（ＡＰＩ）を設けるステップをさらに有し、前記ＡＰＩは標準化された要求・応答メッセージフォーマットを提供する。
他の一方法例は前記のステップを含み、前記ロケーション要求エンティティはトラステッドアプリケーションまたはトラステッドサーバである。
【００４４】
他の一方法例は前記のステップを含み、前記ＳＬＰが、前記位置決定測定結果は期限切れの閾値を超えていないことを確かめるステップをさらに有する。
【００４５】
他の一方法例は前記のステップを含み、前記位置要求エンティティの認証情報に基づいて前記送信された位置決定測定結果の正確性を調整するステップをさらに有する。
【００４６】
他の一態様により、セキュアロケーション機能を有するモバイルプラットフォームが提供される。本プラットフォームは、プロセッサとメモリとを有する、オペレーティングシステムと一以上のアプリケーションとを実行するように構成されたホストを含む。この実施例のプラットフォームは、アプリケーションプログラミングインタフェース（ＡＰＩ）により前記ホストと結合されたセキュアロケーションプロセッサ（ＳＬＰ）も含む。この実施例のＳＬＰは、位置測定データを提供するように構成された受信器と、この実施例のＳＬＰは、前記位置測定データに基づいて位置情報を生成するように構成された、前記受信器に結合したロケーションエンジンも含む。この実施例のＳＬＰは、さらに、前記ホストと前記オペレーティングシステムと前記アプリケーションから前記ＳＬＰ内のコントロールとデータへのアクセスを制約するように構成されたトラステッド実行環境（ＴＥＥ）を含み、前記ＴＥＥは前記ＳＬＰの外部の位置要求エンティティへの送信のため、前記位置測定データを暗号化し、前記位置情報を暗号化するようにさらに構成されている。
【００４７】
他の一プラットフォーム例は前記のコンポーネントを含み、前記プラットフォームは、前記セキュアロケーションプロセッサ（ＳＬＰ）が、前記ＳＬＰの外部の前記位置要求エンティティからセキュリティ鍵交換情報を受信するようにさらに構成され、前記暗号化は前記セキュリティ鍵に基づく。
【００４８】
他の一プラットフォーム例は前記のコンポーネントを含み、前記制約されたアクセスは、メモリプロテクションメカニズム、プロセッサ特権モード実行メカニズム、及び／またはハードウェアの物理的分離を含む。
【００４９】
他の一プラットフォーム例は前記のコンポーネントを含み、前記受信器は、グローバルポジショニングシステム（ＧＰＳ）、ワイヤレスフィデリティ（ＷｉＦｉ）受信器、及び／または無線センサを有する。
【００５０】
他の一プラットフォーム例は前記のコンポーネントを含み、前記ＡＰＩは標準化された要求・応答メッセージフォーマットを提供する。
他の一プラットフォーム例は前記のコンポーネントを含み、前記暗号化により前記位置情報のセキュリティと前記位置情報の信頼性とを提供する。
【００５１】
他の一プラットフォーム例は前記のコンポーネントを含み、前記ロケーション要求エンティティはトラステッドアプリケーションまたはトラステッドサーバである。
【００５２】
他の一態様によりと、プロセッサにより実行された時、前記プロセッサに上記の実施例で説明した方法のステップを実行させる命令を記憶した少なくとも一コンピュータ読み取り可能記憶媒体が提供される。
【００５３】
ここで用いた用語と表現は、説明のためのものであって限定のためのものではなく、かかる用語と表現の利用には、図示して説明した特徴（またはその一部）のいかなる均等物も排除する意図はなく、特許請求の範囲内において様々な変更が可能であることが認識されている。したがって、特許請求の範囲はかかる等価物をすべてカバーするものである。
ここに、様々なフィーチャ、態様、及び実施形態を説明した。当業者には言うまでもなく、フィーチャ、態様、及び実施形態は、相互の組み合わせ及びバリエーションや修正の影響を受けやすい。本開示は、かかる組み合わせ、バリエーション、及び修正を含むと考えるべきである。
なお、下記の通り付記する。
（付記１）  セキュア位置情報を提供する方法であって、
セキュアロケーションプロセッサ（ＳＬＰ）が、前記ＳＬＰの外部の位置要求エンティティからセキュリティ鍵交換情報を受け取るステップと、
前記ＳＬＰが、位置決定測定結果を取得するステップと、
前記ＳＬＰが、前記位置決定測定結果に基づいて位置情報を決定するステップと、
前記ＳＬＰが、前記セキュリティ鍵に基づいて前記位置情報を暗号化するステップと、
前記暗号化された位置情報を前記ＳＬＰから前記位置要求エンティティに送信するステップと、
を有する方法。
（付記２）  前記ＳＬＰが、前記セキュリティ鍵に基づいて前記位置決定測定結果を暗号化するステップと、
前記暗号化された位置決定測定結果を前記ＳＬＰから前記位置要求エンティティに送信するステップとを有する、
付記１に記載の方法。
（付記３）  前記ＳＬＰはプロセッサとメモリとを有するトラステッド実行環境（ＴＥＥ）を提供し、前記ＴＥＥは前記ＳＬＰの外部のエンティティからの前記ＳＬＰ内のコントロールとデータへのアクセスを制限する、付記１に記載の方法。
（付記４）  前記暗号化により前記位置情報のセキュリティと前記位置情報の信頼性を提供する、付記１に記載の方法。
（付記５）  前記位置決定測定結果は、グローバルポジショニングシステム（ＧＰＳ）受信器、ワイヤレスフィデリティ（ＷｉＦｉ）アクセスポイント、及び／または無線センサから得られる、付記１に記載の方法。
（付記６）  前記ＳＬＰと前記位置要求エンティティとの間にアプリケーションプログラミングインタフェース（ＡＰＩ）を設けるステップをさらに有し、前記ＡＰＩは標準化された要求・応答メッセージフォーマットを提供する、付記１に記載の方法。
（付記７）  前記ロケーション要求エンティティはトラステッドアプリケーションまたはトラステッドサーバである、付記１に記載の方法。
（付記８）  前記ＳＬＰが、前記位置決定測定結果は期限切れの閾値を超えていないことを確かめるステップをさらに有する、付記１に記載の方法。
（付記９）  前記位置要求エンティティの認証情報に基づいて前記送信された位置情報の正確性を調整するステップをさらに有する、付記１に記載の方法。
（付記１０）  前記暗号化により前記位置決定測定結果のセキュリティと前記位置決定測定結果の信頼性を提供する、付記１に記載の方法。
（付記１１）  前記位置要求エンティティの認証情報に基づいて前記送信された位置決定測定結果の正確性を調整するステップをさらに有する、付記１に記載の方法。
（付記１２）  セキュアロケーション機能を有するモバイルプラットフォームであって、
プロセッサとメモリとを有する、オペレーティングシステムと一以上のアプリケーションとを実行するように構成されたホストと、
アプリケーションプログラミングインタフェース（ＡＰＩ）により前記ホストと結合されたセキュアロケーションプロセッサ（ＳＬＰ）とを有し、前記ＳＬＰは、
位置測定データを提供するように構成された受信器と、
前記位置測定データに基づいて位置情報を生成するように構成された、前記受信器に結合したロケーションエンジンと、
前記ホストと前記オペレーティングシステムと前記アプリケーションから前記ＳＬＰ内のコントロールとデータへのアクセスを制約するように構成されたトラステッド実行環境（ＴＥＥ）とを有する、前記ＴＥＥは前記ＳＬＰの外部の位置要求エンティティへの送信のため、前記位置測定データを暗号化し、前記位置情報を暗号化するようにさらに構成されている、
モバイルプラットフォーム。
（付記１３）  前記プラットフォームは、前記ＳＬＰが、前記位置要求エンティティからセキュリティ鍵交換情報を受信するようにさらに構成され、前記暗号化は前記セキュリティ鍵に基づく、付記１２に記載のプラットフォーム。
（付記１４）  前記制約されたアクセスは、メモリプロテクションメカニズム、プロセッサ特権モード実行メカニズム、及び／またはハードウェアの物理的分離を含む、
付記１２に記載のプラットフォーム。
（付記１５）  前記受信器は、グローバルポジショニングシステム（ＧＰＳ）、ワイヤレスフィデリティ（ＷｉＦｉ）受信器、及び／または無線センサを有する、
付記１２に記載のプラットフォーム。
（付記１６）  前記ＡＰＩは標準化された要求・応答メッセージフォーマットを提供する、
付記１２に記載のプラットフォーム。
（付記１７）  前記暗号化により前記位置情報のセキュリティと前記位置情報の信頼性を提供する、付記１２に記載のプラットフォーム。
（付記１８）  前記ロケーション要求エンティティはトラステッドアプリケーションまたはトラステッドサーバである、付記１２に記載のプラットフォーム。
（付記１９）  プロセッサにより実行された時、前記プロセッサに、コンテクストセンサデータをセキュアに提供する下記のステップを実行させる命令を記憶したコンピュータ読み取り可能記憶媒体であって、前記ステップは、
セキュアロケーションプロセッサ（ＳＬＰ）が、前記ＳＬＰの外部の位置要求エンティティからセキュリティ鍵交換情報を受け取るステップと、
前記ＳＬＰが、位置決定測定結果を取得するステップと、
前記ＳＬＰが、前記位置決定測定結果に基づいて位置情報を決定するステップと、
前記ＳＬＰが、前記セキュリティ鍵に基づいて前記位置情報を暗号化するステップと、
前記暗号化された位置情報を前記ＳＬＰから前記位置要求エンティティに送信するステップと、を有する、コンピュータ読み取り可能記憶媒体。
（付記２０）  前記ＳＬＰはプロセッサとメモリとを有するトラステッド実行環境（ＴＥＥ）を提供し、前記ＴＥＥは前記ＳＬＰの外部のエンティティからの前記ＳＬＰ内のコントロールとデータへのアクセスを制限する、
付記１９に記載のコンピュータ読み取り可能記憶媒体。
（付記２１）  前記ＳＬＰと前記位置要求エンティティとの間にアプリケーションプログラミングインタフェース（ＡＰＩ）を設けるステップをさらに有し、前記ＡＰＩは標準化された要求・応答メッセージフォーマットを提供する、
付記１９に記載のコンピュータ読み取り可能記憶媒体。
（付記２２）  前記ＳＬＰが、前記位置決定測定結果は期限切れの閾値を超えていないことを確かめるステップをさらに有する、付記１９に記載のコンピュータ読み取り可能記憶媒体。
（付記２３）  前記位置要求エンティティの認証情報に基づいて前記送信された位置情報の正確性を調整するステップをさらに有する、付記１９に記載のコンピュータ読み取り可能記憶媒体。
【図１】
0006316904.tif 000002
【図２】
0006316904.tif 000003
【図３】
0006316904.tif 000004
【図４】
0006316904.tif 000005
【図５】
0006316904.tif 000006
【図６】
0006316904.tif 000007