(57)【要約】  クライアントが発行したコマンドをセキュアに識別および差別化するマッピングシステムを介してプロセッサの多数のアクティブアプリケーションの処理をサポートするデバイスを提供する。実体選択信号がマッピングシステムにより生成されることで、プロセッサに対して、特定のクライアントについて識別されたコマンドおよびクライアントトラックシステムが該クライアントについて許可したデータを用いて、該クライアント用のアルゴリズムを処理しサービスを提供するよう指示する。他のクライアントについて識別されたデータアクセスおよびコマンドは、該アルゴリズム処理中には制限される。【選択図】  図１
2010500694.tif 000002
【特許請求の範囲】
【請求項１】
認証機能を有する処理システムであって、
第１のクライアントおよび第２のクライアントと、
前記第１のクライアントが発行したコマンドと前記第２のクライアントが発行したコマンドとを受信し、前記第２のクライアントが発行したコマンドから、前記第１のクライアントが発行したコマンドを一意に識別する信号を生成するマッピングデバイスと、
前記第１のクライアント用の記憶データと前記第２のクライアント用の記憶データとにアクセスする処理デバイスと、を備え、
前記処理デバイスにおいて、前記第１のクライアントからのものとして識別されるコマンドを介して要求された処理は、前記第１のクライアントに予め権限付与されたデータに制限され、前記第２のクライアントからのものとして識別されるコマンドを介して要求された処理は、前記第２のクライアントに予め権限付与されたデータに制限される、処理システム。
【請求項２】
前記コマンドを一意に識別する信号は、専用信号である、請求項１に記載の処理システム。
【請求項３】
前記第１のクライアントが発行したコマンドと前記第２のクライアントが発行したコマンドとを受信する前記マッピングデバイスは、前記処理デバイス内に埋め込まれている、請求項１に記載の処理システム。
【請求項４】
無線で信号受信するトランシーバをさらに備える、請求項１に記載の処理システム。
【請求項５】
前記第１のクライアントに予め権限付与されたデータは、前記第１のクライアント用の秘密を含む、請求項１に記載の処理システム。
【請求項６】
プロセッサにおける多数のアクティブなアプリケーションをサポートする方法であって、
第１のクライアントが発行したコマンドを、他のクライアントが発行したコマンドから識別する工程と、
他のクライアントについて識別されたデータアクセスの制限およびコマンド実行の制限を行いながら、前記第１のクライアントについて識別され、前記第１のクライアントについてクライアントトラッキングシステムが許可したデータにアクセスするコマンドを利用して、前記第１のクライアント用のアルゴリズムを処理する工程と、を備える、方法。
【請求項７】
前記第１のクライアントが発行したコマンドを、他のクライアントが発行したコマンドから識別する工程は、前記第１のクライアントを識別する実体選択信号を生成する工程をさらに含む、請求項６に記載の方法。
【請求項８】
前記実体選択信号を利用して前記第１のクライアントを識別してから前記コマンドを前記アルゴリズムの処理に利用する工程をさらに備える、請求項７に記載の方法。
【請求項９】
前記プロセッサは、前記実体選択信号を利用して前記第１のクライアントについてのコマンドおよびデータアクセスを差別化することで、前記多数のアクティブなアプリケーションを同時に処理する、請求項６に記載の方法。
【請求項１０】
クライアントから発行されたコマンドを実体選択信号とリンクさせるトラッキングシステムを備え、
前記実体選択信号は、前記クライアントに関連付けられたアプリケーションに関する処理を行うときにコマンドおよびデータアクセスを制限するのに利用される、デバイス。
【請求項１１】
前記トラッキングシステムは、前記実体選択信号に従いデータおよびコマンドへのアクセスをイネーブルにする、請求項１０に記載のデバイス。
【請求項１２】
前記トラッキングシステムは、他のクライアントが発行したコマンドから前記クライアントが発行したコマンドを識別し差別化するマッピングシステムを介してプロセッサにおける多数のアクティブなアプリケーションの処理をサポートする、請求項１０に記載のデバイス。
【請求項１３】
前記マッピングシステムは、複数の前記クライアントと複数の秘密との関連付けるマッピングをさらに行い、当該マッピングは多数のクライアントが同時に同じ１組の秘密に関連付けられることを許可する、請求項１０に記載のデバイス。
【請求項１４】
同じプログラムの多数のインスタンスは、複数の異なる仮想マシン下で動作し、単一の仮想マシンは幾らかの秘密の組と関連付けられる、請求項１０に記載のデバイス。
【請求項１５】
第１の仮想マシンおよび第２の仮想マシンと、
第１の実体選択信号に前記第１の仮想マシンが発行したコマンドを添付し、第２の実体選択信号に前記第２の仮想マシンが発行したコマンドを添付するマッピングデバイスと、
前記第１の実体選択信号を受信し、前記第１の仮想マシンが発行した前記コマンドを実行し、前記第１の仮想マシンに関連付けられたアプリケーションに関する処理を行うときにデータアクセスをイネーブルにし、前記第２の仮想マシンに関連付けられたコマンドおよびデータへのアクセスを制限する処理デバイスと、を備える、処理システム。
【請求項１６】
前記処理デバイスは前記第２の実体選択信号を受信し、前記第２の仮想マシンが発行した前記コマンドを実行し、前記第２の仮想マシンに関連付けられたアプリケーションに関する処理を行うときにデータアクセスをイネーブルにし、前記第１の仮想マシンに関連付けられたコマンドおよびデータへのアクセスを制限する、請求項１５に記載の処理システム。
【請求項１７】
前記第１の仮想マシンを識別する前記第１の実体選択信号と、前記第２の仮想マシンを識別する前記第２の実体選択信号と、を生成するマッピングシステムをさらに備える、請求項１５に記載の処理システム。
【発明の詳細な説明】
【背景技術】
【０００１】
ビジネスおよび商取引で利用されるコネクテッド・モバイル・コンピューティングおよび無線通信技術は、ユーザデータおよび秘密を保護する必要がある。アーキテクチャは、デジタル署名および鍵包装処理、ハッシュ演算および乱数生成を行うのにセキュリティエンジンを、暗号化復号化機能を提供するハードウェアおよびサポートソフトウェアとともに含み、データプライバシーおよび向上したセキュリティを保証してよい。
【０００２】
これらシステムのアーキテクチャは、秘密の利用を制限して、正規のアプリケーションのみが特定の秘密を利用することができるが、現在では秘密を利用する全てのコマンドが暗号処理の権限チェックを受けることになっている。同時に実行される多数のアクティブなアプリケーションをサポートすべく全てのコマンドが権限チェックを受けなくてもよくする機構が望まれている。
【図面の簡単な説明】
【０００３】
発明とみなす主題は、明細書の結論部に特に指摘および明確に請求されている。しかし発明は、組織および動作方法両方について、その目的、特徴、および利点とともに、添付図面とともに以下の詳細な記載を参照することでよりよく理解されよう。図面は以下の通りである。
【０００４】
【図１】本発明による、同時に実行される多数のアクティブなアプリケーションをサポートする仮想セキュリティ・プラットフォームトラストモジュールを示す、無線デバイスの一実施形態である。
【０００５】
【図２】本発明によるクライアントの秘密を差別化し保護するマッピングシステムを示すブロック図である。
【０００６】
【図３】本発明による、特定のクライアントが発行したコマンドを識別し、該クライアントのメモリデータにアクセスするアルゴリズムを処理する方法を示すフローチャートである。
【０００７】
例示の簡潔性および明瞭性を期して、図面に示した要素は、必ずしも原寸に比例していないことを理解されたい。例えば、幾らかの要素の寸法は、他の要素より誇張して描いて明瞭化をしている。さらには、適切と考えられる場合には、参照番号を図面間で繰り返して、対応するまたは類似する要素であることを示している。
【発明を実施するための最良の形態】
【０００８】
以下の詳細な記載において、幾多もの詳細を述べて、本発明の完全な理解を提供している。しかし、当業者であれば本発明がこれら特定の詳細なしに実施できることを理解しよう。他の場合においては、公知の方法、手順、部材、および回路は、本発明を曖昧にしないために、詳細には説明しない。
【０００９】
図１に示すように、本発明の実施形態は、ラジオを含み、無線／位置スペースで他のデバイスとの通信を許可するデバイス１０が示されている。従って、デバイス１０は、スマートフォンなどの、標準化オペレーティングシステムを有する通信デバイスであってよく、様々なアプリケーション間でマルチタスクを実行し、無線ネットワーク上で動作するが、本発明は無線デバイス以外のデバイスに組み込まれてもよいことを理解されたい。本図は、１以上のアンテナから、変調された信号の送受信を行うトランシーバ１２を表す。プロセッサ１４は、ベースバンドのデジタル信号に変換され、周波数ダウンコンバートされ、フィルタされた信号を受信する。概して、プロセッサ１４は、命令をフェッチし、デコードを生成し、オペランドを見つけ、適切な処置を行い、結果を記憶するアルゴリズム関数を処理する。プロセッサ１４は、多数のコア１６および１８を利用して、処理ワークロードがコア間で共有されうるベースバンドおよびアプリケーション処理関数両方を計算しうる。プロセッサ１４は、メモリインタフェース２２を介してシステムメモリ２４へデータを転送してよく、システムメモリ２４には、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、および不揮発性メモリなどのメモリの組み合わせが含まれうるが、システムメモリ２４に含まれるメモリの種類あるいはメモリの多様性は、本発明の限定とはならない。
【００１０】
デバイス１０は、暗号処理機能および攻撃者から秘密を保護するソフトウェアを実行するよう構成されたハードウェアを含む仮想セキュリティ・プラットフォームトラストモジュール２０を利用する。概して、モジュール２０は、暗号処理で用いる鍵を作成、記憶、および管理し、デジタル署名処理、および鍵およびデジタル証書の信頼のアンカーチェーンを行う。故に、モジュール２０は、ファイルおよびフォルダーをセキュアにし、ユーザ情報、ユーザネーム、パスワード、および個人情報をセキュアに記憶および管理する様々なサービスを提供する。
【００１１】
図２は、本発明による、仮想マシン（ＶＭ）またはセキュリティドメイン（ＳＤ）と、特定のクライアントに属する様々な組の秘密との関連付けを生成するモジュール２０の一部を示す。ＶＭは、ネットワーク上の共通の規則および手順で管理される一群の処理コアまたは処理デバイスであってよい。さらには、ＶＭまたはドメインは、タスクを行わせるリソースを有するソフトウェアの実体であってよい。本図は、クライアントが発行したコマンドを、該クライアントを該コマンドとともに識別するよう生成された実体選択信号とともにマッピングするマッピングシステム２０８を示す。該コマンドおよび実体選択信号は、その後、サービスを協同して行う個々のハードウェアおよびソフトウェアコンポーネントからなる構成へ渡されてよい。仮想マシンまたはクライアント２０２、２０４、または２０６は、情報フローおよびアクセス制御目的でプラットフォーム特定指令へコマンドを発行してよい。例えば、クライアントＸ２０２がコマンドを発行すると、マッピングシステム２０８は該コマンドを受け取り、該コマンドをクライアント２０２とともに明確に識別する実体選択信号を生成する。コマンドおよび実体選択信号は、その後、クライアントＸのみに割り当てられた秘密２１０のみを利用してアルゴリズム実行および計算実行を行う、保護された実行環境を構成するのに利用される。例えばクライアントＹの秘密２１２およびクライアントＺの秘密２１４などの他の秘密は、他のクライアントに関するものなので（それぞれクライアントＹ２０４およびクライアントＺ２０６に関するものなので）、クライアントＸ２０２用に行うアルゴリズムおよび計算では制限され、利用できない。
【００１２】
故に、デバイス１０は多数のアクティブなアプリケーションをサポートする認証機能を有する処理システムである。マッピングシステム２０８は、多数のクライアント２０２、２０４、および２０６が発行するコマンドを受け取り、これらコマンドを処理デバイスへ、これらコマンドを該クライアントに関連付けて明確に識別する実体選択信号とともに、渡す。そして、該実体選択信号が識別する該クライアントに特有の処理が行われてよい。ここでも、識別されたクライアントの処理は、該クライアントについて前もって権限付与されているコマンドおよび記憶データの利用に制限される。他のクライアントに権限付与された記憶データは、制限されたデータであり、利用できない。
【００１３】
本図は、実体選択信号と、該クライアントからのものであり該信号が識別するコマンドとを利用して、要求されたサービスのセキュリティおよびオペレーション管理を提供するクライアントナンバーマッピングブロック２１６を示す。マッピングシステム２０８は、クライアントナンバーマッピング２１６と協同して、大きな分散システム内においてセキュアなサービスを柔軟に実施することで信頼性管理を簡略化する。様々なクライアントに特有の秘密の集合体は維持され保護され、これら秘密へのアクセスは、マッピングシステム２０８が識別しクライアントナンバーマッピング２１６がイネーブルにする特定のクライアントのみに許される。
【００１４】
デバイス１０の仮想セキュリティ・プラットフォームトラストモジュール２０は、サービス処理の前に、特定のクライアント用の秘密の、明示され且つ自発的な保護を提供するよう設計されている。アプリケーションの開発者は、サービス処理で発行される全コマンドについてセキュリティ関連暗号認証関数を実装および検証しなければならないという負担から開放される。ユーザ毎にまたはシステム毎に個々に指定される代わりに、動作させるべきアプリケーションまたはサービスが、仮想マシンまたはセキュリティドメインと、該デバイスに送られた全てのその後のコマンドについての指定された１組の秘密との関連付けを、該アプリケーションがこれら秘密との関連付けを解かれるまで、維持する。
【００１５】
図３は、本発明の様々な実施形態との関連で、本発明による、特定のクライアントが発行したコマンドを識別し、該クライアントのメモリデータにアクセスするアルゴリズムを処理する方法を示すフローチャートである。方法３００は、多数の仮想マシンまたは多数のセキュリティドメインをサポートするコンピュータシステム内で利用されて、アプリケーションによる利用が許可された秘密を保護してよい。方法３００は、仮想マシンまたはセキュリティドメインと、該処理デバイスに送られた全てのその後のコマンドについての指定された組の秘密との関連付けを、該アプリケーションがこれら秘密との関連付けを解かれるまで、セキュアに維持する。
【００１６】
幾らかの実施形態においては、方法３００、またはその部分は、コントローラ、プロセッサ、または電子システムで実行され、この実施形態は様々な図面に示されている通りである。方法３００は、特定の種類の装置、ソフトウェアエレメント、または該方法を行うシステムに限定されない。方法３００の様々な動作は、提示された順序で実行されてもよいが、異なる順序で実行されてもよい。さらに、幾らかの実施形態では、図３に示す幾らかの動作が方法３００から省かれてもよい。
【００１７】
方法３００は、モニタブロック（例えば図１に示すマッピングシステム２０８）が、多数の仮想マシンまたは多数のセキュリティドメインから発行されるコマンドをモニタするブロック３０２から始まる。クライアントから発されたコマンドは、特定のクライアントが発行したものとして識別される。ブロック３０２で行う方法は、コマンドが該デバイスへ送られる度毎に、アプリーケーションが動作しているＶＭ／ＳＤを識別する実体選択信号を生成して、その識別情報（identity）を周辺デバイスへ通信する。識別子はデバイスのクライアントナンバーマッピング２１８に提供される。
【００１８】
ブロック３０４は、デバイスが、クライアント用のアルゴリズムを、該クライアントについて識別されたコマンドを利用して処理していることを示す。キャッシュおよびシステムメモリに記憶されているデータにアクセスすることはできるが、メモリに記憶されている秘密へのアクセスは、該クライアントトラッキングシステムが許可しないと行えない（図２のクライアントナンバーマッピング２１８を参照のこと）。マッピングシステム２０８およびクライアントナンバーマッピング２１８は、アプリケーションによる利用が許可されるべき秘密およびコマンドを含んでいるデバイスに対する、オペレーティングシステム（ＯＳ）またはハイパーバイザからのセキュアな通信を許可するよう、リソース制御を行う。ブロック３０６は、ＶＭまたはＳＤと、該デバイスに送られた全てのその後のコマンドについての指定された組の秘密との関連付けを、該アプリケーションがこれら秘密との関連付けを解かれるまで、維持することで、アプリケーションがシステムのセキュリティを脅かす可能性のある秘密を利用しないようにすることを示す。
【００１９】
動作中、プロセッサ内のハードウェアは、一意に各ＶＭまたはＳＤを識別する状態ビットを含みうる。幾らかのプロセッサにおいては、これは、処理識別子（ＰＩＤ）またはアドレス空間識別子（ＡＳＩＤ）であってよい。ＶＭまたはＳＤで動作するアプリケーションは、周辺装置にコマンドを送り、プロセッサハードウェアは、該周辺装置に、該周辺装置に対してどのＶＭまたはＳＤが該コマンドを送信しているかを伝える信号を送る。この信号処理は、プロセッサが出力した専用信号により、または、アドレスバスなどの他の信号に情報をエンコードすることにより、行われてよい。この周辺装置は、その後、送信コマンドおよびこれらコマンドを実行するのに利用されるデータが、コマンドを送っている該ＶＭまたはＳＤについて相応しいことを保証してよい。
【００２０】
１つの処理から次へ移る際、特定のアプリケーションを動かしているＶＭまたはＳＤに関連付けられた識別子を変更して、該ＳＤ／ＶＭ識別子から１組の秘密へのダイナミックマッピングを行ってもよい。秘密を利用するアプリケーションが開始されると、該ＯＳ（ハイパーバイザ）は、先ず、整合性および識別情報の両方をチェックするアプリケーションを認証する。ひとたびアプリケーションがＯＳを認証すると、周辺装置に、ＶＭ／ＳＤ識別子、および、関連付けられて記憶された一組の秘密と該アプリケーションに許可されている一組の処理の利用のロックを解除するトークンの両方を送る。アプリケーションが停止または中断した場合には、ＯＳは該周辺装置に該関連付けを解除するように別のコマンドを送る。さらに、アプリケーションは、関連付け自身を終了させうる。ただし、その関連付けに限ったものである。ＯＳは、ハードウェアが利用する特別なＶＭ／ＳＤ識別子を含むことで、ＶＭ／ＳＤ識別子と１組の秘密とを関連付けるコマンドを送ってもよい。
【００２１】
周辺装置は、１つのＶＭ／ＳＤと幾らかの秘密との間の関連を同時に複数記憶してよいことに注意されたい。さらには、多数のＶＭまたはＳＤを、同時に１つの組の秘密と関連付けてもかまわない。こうすると、例えば、同じプログラムについて多数のインスタンスが多数の異なるＶＭまたはＳＤの下で動作する場合、また、単一のＶＭまたはＳＤを複数の組の秘密と関連付ける場合などに有用であろう。
【００２２】
今までの記載から、プロセッサ内の多数のアクティブなアプリケーションの処理をサポートする回路および方法が明らかになったであろう。本発明の実施形態によれば、第１のクライアントが発行したコマンドを他のクライアントが発行したコマンドから識別するマッピングシステムを介すことで、セキュリティをソフトウェアと協同することでハードウェアレベルまで押し下げた。マッピングシステムが生成する実体選択信号は、プロセッサに対して、第１のクライアント用のアルゴリズムを、該第１のクライアントについて識別されたコマンドおよび、クライアントトラッキングシステムが該第１のクライアントについて許可したデータを用いて、処理するよう指示する。他のクライアントについて識別されたデータアクセスおよびコマンドは、該アルゴリズム処理中には制限される。
【００２３】
本発明の幾らかのフィーチャを例示および記載したが、当業者には多くの変形例、代替例、変更例、および均等物が明らかであろう。故に、添付請求項は、全てのこのような変形例、代替例、変更例、および均等物も本発明の真の精神に含むことを意図していることを理解されたい。
【図１】
2010500694.tif 000003
【図２】
2010500694.tif 000004
【図３】
2010500694.tif 000005
【国際調査報告】
2010500694.tif 000006
2010500694.tif 000007