【誤訳訂正書】
【提出日】平成24年3月5日(2012.3.5)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
機密処理のセクションのキャッシュ・アクセス動作情報が信頼されていない処理へ漏洩するのを妨害する方法であって、前記機密処理および信頼されていない処理はデータ処理装置内のプロセッサにより遂行され、前記データ処理装置はさらに前記機密処理および信頼されていない処理を遂行中に前記プロセッサにより要求される情報を記憶するように動作可能な少なくとも１つのキャッシュを含み、前記方法は：
前記少なくとも１つのキャッシュ内の前記機密処理の前記セクションにより要求され得る機密処理ローディング情報によって前記少なくとも１つのキャッシュのロケーション内に記憶された情報が追い出されることがないように、前記プロセッサにより前記機密処理の１セクションの処理を開始するのに先立って、前記少なくとも１つのキャッシュのロケーション内に記憶された情報を追い出すステップを含む前記方法。
【請求項２】
前記方法はさらに：
前記プロセッサにより前記機密処理の前記セクションの処理を開始するステップと：
切替え要求に応答して前記機密処理の前記セクションの処理中に前記プロセッサを前記信頼されていない処理へ切り替えるステップと：
前記信頼されていない処理から前記機密処理の前記セクションへのスイッチング・バックに際して、前記少なくとも１つのキャッシュ内の前記機密処理の前記セクションにより要求されるかも知れない前記機密処理ローディング情報によって前記少なくとも１つのキャッシュのロケーション内に記憶された情報が追い出されることがないように、前記機密処理の前記セクションの処理を再開するのに先立って、前記少なくとも１つのキャッシュのロケーション内に記憶された情報を追い出すステップとを含む請求項１記載の方法。
【請求項３】
前記少なくとも１つのキャッシュのロケーション内に記憶された情報を追い出す前記ステップは、前記少なくとも１つのキャッシュ内の前記機密処理の前記セクションにより要求される前記情報を記憶することを含む請求項１記載の方法。
【請求項４】
前記プロセッサは、前記プロセッサがセキュア・ドメインおよびノン・セキュア・ドメインで動作可能であり、前記プロセッサは、セキュア・ドメインでプログラムを実行中に、前記プロセッサがノン・セキュア・ドメインで動作中にアクセスできないセキュア・データに対して前記プログラムがアクセスするように動作可能であり、前記機密処理は前記セキュア・ドメインで実行されるセキュア処理であり、また前記信頼されていない処理はノン・セキュア・ドメインで実行される処理である請求項１記載の方法。
【請求項５】
前記プロセッサは、複数の信頼されていない処理をノン・セキュア・ドメインで処理しまた複数の機密処理をセキュア・ドメインで処理するように動作可能であり、前記方法は少なくとも１つの前記機密処理の１つのセクションのキャッシュ・アクセス動作に関する情報を、前記複数の信頼されていない処理へ漏洩するのを妨害する請求項４記載の方法。
【請求項６】
前記セキュア・ドメインおよびノン・セキュア・ドメインの間の切り替えの前記のステップがモニタ・モードを介して遂行される請求項４記載の方法。
【請求項７】
ドメインの間の切り替えが前記機密処理の前記セクションへの切り替えを含むことを検出すると、前記少なくとも１つのキャッシュのロケーション内に記憶された情報の前記追い出しを、前記モニタ・モードが開始する請求項６記載の方法。
【請求項８】
前記機密処理の前記セクションがセキュリティ・クリティカル・セクションである請求項４記載の方法。
【請求項９】
前記機密処理の前記セキュリティ・クリティカル・セクションが暗号処理を含む請求項８記載の方法。
【請求項１０】
前記セキュリティ・クリティカル・セクションの処理に先立って、前記少なくとも１つのキャッシュに記憶される前記情報は、前記セキュリティ・クリティカル・セクションがデータを要求する少なくとも１つのルックアップ・テーブルである請求項９記載の方法。
【請求項１１】
複数の機密処理が前記データ処理装置により処理され、各々暗号処理セクションを含み、前記暗号処理セクションは複数のルックアップ・テーブルからデータを要求し、前記データ処理装置はさらに前記複数のルックアップ・テーブルの各々に対応する複数のルックアップ・フラグを含み、前記方法はさらに：
前記セキュア・モードで処理を開始するのに先立って、前記複数のルックアップ・フラグを第１所定値に設定するステップと；
前記プロセッサにより前記複数のセキュア処理の１つのセキュリティ・クリティカル・セクションの処理を再開するのに先立って：
前記対応するルックアップ・フラグが前記第１所定値にセットされるときに、前記少なくとも１つのキャッシュにおいて、前記機密処理の前記セキュリティ・クリティカル・セクションがデータを要求する前記複数のルックアップ・テーブルの少なくとも１つを記憶して、前記対応するルックアップ・フラグを第２所定値にセットするステップと；
前記対応するルックアップ・フラグが前記第２所定値へセットされるならば、前記少なくとも１つのキャッシュへ前記情報を記憶しないステップとを含む請求項１０の記載の方法。
【請求項１２】
前記機密処理の前記セクションを実行するのに先立って、所定のステップが遂行されて前記セクションが実行されることを指示し、続いて前記セクションの更なるステップの完了が遂行されて前記セクションが完了済みであることを指示する請求項１記載の方法。
【請求項１３】
前記所定のステップの１つがインディケータ値をセットして前記処理の前記セクションが処理されていることを指示することを含み、また、前記更なるステップの１つが前記インディケータ値をリセットして前記処理の前記セクションがもはや処理されていないことを指示することを含む請求項１２記載の方法であって；
前記機密処理へスイッチング・バックするときに、前記セクションが前記インディケータ値から処理されるべきであるかどうかを決定して、もしそうであるならばハンドラ・ルーチンを開始し、前記ハンドラ・ルーチンは、前記機密処理の前記セクションを再開するのに先立って、前記少なくとも１つのキャッシュ内に前記機密処理の前記セクションにより要求されるであろう情報を記憶するステップを含む前記請求項１２の方法。
【請求項１４】
前記情報が命令を含む請求項１記載の方法。
【請求項１５】
前記情報がデータを含む請求項１記載の方法。
【請求項１６】
前記少なくとも１つのキャッシュの前記ロケーションがキャッシュ・ラインを含む請求項１記載の方法。
【請求項１７】
データ・プロセッサ上で実行するときにデータ・プロセッサを制御して、請求項１記載のステップを遂行するように動作できるコンピュータ・プログラム製品。
【請求項１８】
機密処理および信頼されていない処理を遂行するようにされた少なくとも１つのプロセッサと、前記機密処理および信頼されていない処理を遂行中にプロセッサに要求される情報を記憶するようにされた少なくとも１つのキャッシュとを含むデータ処理装置であって、前記データ処理装置はさらに
処理されるべき前記機密処理のセクションを検出するように構成された制御ロジックであって、前記少なくとも１つのキャッシュ内の前記機密処理の前記セクションにより要求され得る前記機密処理ローディング情報によって前記少なくとも１つのキャッシュのロケーション内に記憶された情報が追い出されることがないように、前記セクションの検出に応答して前記セクションの処理を開始または再開するのに先立って、前記少なくとも１つのキャッシュのロケーション内に記憶された情報を追い出す前記制御ロジックが構成されている前記データ処理装置。
【請求項１９】
前記データ処理装置が更にインディケータ値ストアを含み、前記制御ロジックは、前記セクションの処理の開始に応答して、前記インディケータ値ストア内に所定の値を記憶し、また前記セクションの処理を完了するのに応答して、前記インディケータ値ストア内に異なった値を記憶するように構成されている請求項１８記載のデータ記憶装置。
【請求項２０】
前記データ処理装置は、さらに複数のルックアップ・フラグを記憶するように構成するようにスコアボードを含み、前記制御ロジックが前記セキュア・モードで処理を開始するのに先立って、前記複数のルックアップ・フラグを第１所定値へセットし、前記プロセッサにより前記複数のセキュア処理の１つのセキュリティ・クリティカル・セクションの処理を開始または再開するのに先立って：
前記対応するルックアップ・フラグが前記第１所定値にセットされるときに、前記少なくとも１つのキャッシュにおいて、前記機密処理の前記セキュリティ・クリティカル・セクションがデータを要求する前記複数のルックアップ・テーブルの少なくとも１つに記憶して、前記対応するルックアップ・フラグを第２所定値へセットし、
前記対応するルックアップ・フラグが第２所定値へセットされるならば、前記少なくとも１つのキャッシュへ前記情報を記憶しない、請求項１８記載のデータ処理装置。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】００１０
【訂正方法】変更
【訂正の内容】
【００１０】
本発明の第１の面は、機密処理のセクションのキャッシュ・アクセス動作に関する情報が信頼されていない処理に漏洩するのを防止する方法を提供し、前記機密処理および前記信頼されていない処理はデータ処理装置内のプロセッサにより遂行され、前記データ処理装置は更に、前記機密処理と前記信頼されていない処理を遂行しながら前記プロセッサにより要求される情報を記憶するように動作可能な少なくとも１つのキャッシュを含み、前記方法は：前記プロセッサにより前記機密処理のセクションの処理を開始するのに先立って、前記少なくとも１つのキャッシュ内の前記機密処理の前記セクションにより要求され得る前記機密処理ローディング情報により、さもなければ追い出されるであろう前記少なくとも１つのキャッシュのロケーションに記憶された情報を追い出すステップを含む。
【誤訳訂正３】
【訂正対象書類名】明細書
【訂正対象項目名】００１１
【訂正方法】変更
【訂正の内容】
【００１１】
１つのプロセッサ上で実行されてキャッシュを共用する異なった処理ができるようにすることには多くの利点がある。いくつかの処理が機密処理であって、その他が信頼されていない処理である場合は、機密処理を操作中のデータに信頼されていない処理がアクセスするのを防止するように、機構が工夫されてきた。しかしながら、この方法によりデータを保護することが知られていても、それらが１つのキャッシュを共用するという事実は、機密処理のキャッシュ・アクセス動作のような他の情報が、注意しなければ信頼されていない処理により引き出され得ることを意味する。本発明の方法は、機密処理のセクションが必要とする情報をキャッシュがロードするときに、機密処理によりさもなければ追い出されるであろうキャッシュのロケーション内に記憶されたあらゆる情報を、機密処理のセクションの処理を開始するときに最初に追い出すことにより、この情報漏洩を防止する手段を提供する。機密セクションの処理の開始にあたりこの情報を追い出すことにより、機密処理のこのセクションがデータをロードするべき全てのキャッシュ・ロケーションが追い出し済みであるので、機密処理のこのセクションのアクセス動作を信頼されていない処理が引き出すことはできない。こうして、機密処理が処理されたそれらのセクションをたどって、これらのロケーションが実際に機密処理によりアクセスされたかどうかを、これらのロケーションの各々に信頼されていない処理が記入することが必要であり、そしてそれだけで各キャッシュ・ロケーションについて、何の特定情報も引き出すことができない。キャッシュ・ライン追い出し手順が割り込みされた場合でも、割り込みが起きたときにどれほど多くの追い出しが完了したかについての情報を攻撃者が得られるとしても、これからどんな機密データを推論することもできないので、これはセキュリティ・リスクではない。
【誤訳訂正４】
【訂正対象書類名】明細書
【訂正対象項目名】００１３
【訂正方法】変更
【訂正の内容】
【００１３】
いくつかの実施例において、前記方法は更に：前記プロセッサにより前記機密処理の前記セクションの処理を開始するステップと；切り替え要求に応答して、前記機密処理の前記セクションの処理中に、前記信頼されていない処理へ前記プロセッサを切り替えるステップと；前記信頼されていない処理から前記機密処理の前記セクションへのスイッチ・バックに際して、前記機密処理の前記セクションの処理を再開するのに先立って、前記少なくとも１つのキャッシュ内の前記機密処理の前記処理によって要求される前記機密処理ローディング情報によりさもなければ追い出される、前記少なくとも１つのキャッシュのロケーション内に記憶された情報を追い出すステップとを含む。
【誤訳訂正５】
【訂正対象書類名】明細書
【訂正対象項目名】００１４
【訂正方法】変更
【訂正の内容】
【００１４】
さらに、このセクションの処理の開始における追い出しを遂行することにより、このセクションから信頼されていない処理へ戻る切り替えを要求するあらゆる割り込みは、これら更なるステップを直ちに実行する必要がない。これら更なるステップは、信頼されていない処理からのスイッチ・バックが起っても必ずしも遂行される必要がないが、しかし機密の安全な処理へのスイッチ・バックまで、これらのステップを遅らせることができるという事実は、信頼されていない切り替えレイテンシイを削減することを可能にする。
【誤訳訂正６】
【訂正対象書類名】明細書
【訂正対象項目名】００１５
【訂正方法】変更
【訂正の内容】
【００１５】
いくつかの実施例において、前記機密処理によりさもなければ追い出されるかも知れない前記少なくとも１つのキャッシュのロケーションに記憶された情報を追い出す前記ステップは、前記少なくとも１つのキャッシュ内の前記機密処理の前記セクションにより要求されるかも知れない前記情報を記憶することを含む。
【誤訳訂正７】
【訂正対象書類名】明細書
【訂正対象項目名】００１６
【訂正方法】変更
【訂正の内容】
【００１６】
重要なことは、これらロケーション内に記憶された信頼されていない情報を追い出すことであるが、それを実行する好ましい方法は、機密プロセッサのセクションにより要求されるかも知れない情報によりこの情報を追い出し置き換えることである。これは、必要とされる情報がキャッシュへあらかじめロードされており、従って処理のそのセクションが実際にそれを要求してもキャッシュを利用可能である点において、性能上の利点を明らかに有する。こうして、この情報がこのセクションにより後に必要とされても、関連のロケーションを追い出すステップを非常に僅かな追加コストにより遂行できる。
【誤訳訂正８】
【訂正対象書類名】明細書
【訂正対象項目名】００２１
【訂正方法】変更
【訂正の内容】
【００２１】
いくつかの実施例において、前記セキュア・ドメインおよびノン・セキュア・ドメイン内での処理の間を切り替える前記ステップは、モニタ・モードを介して遂行され、前記モニタ・モードは、複数のドメインの間の切り替えが前記機密処理の前記セクションへの切り替えを含む事を検出すると、前記機密処理の前記セクションによりさもなければ追い出される前記少なくとも１つのキャッシュのロケーション内に記憶された情報の前記追い出しを開始する。
【誤訳訂正９】
【訂正対象書類名】明細書
【訂正対象項目名】００２２
【訂正方法】変更
【訂正の内容】
【００２２】
セキュア・ドメインとノン・セキュア・ドメインの間を切替える制御は、モニタ・モードにより有利に遂行できる。モニタ・モードは、ドメインの間のデータ漏洩を防止するように作用できて、情報の追い出しを開始するために使用できる。
【誤訳訂正１０】
【訂正対象書類名】明細書
【訂正対象項目名】００２９
【訂正方法】変更
【訂正の内容】
【００２９】
いくつかの実施例においては、１つだけの安全な機密処理が前記データ処理装置により処理されるが、他の実施例においては、複数の機密処理が前記データ処理装置により処理され、各々暗号処理セクションを含み、これら暗号処理セクションは複数のルックアップ・テーブルからデータを要求し、前記データ処理装置はさらに前記複数のルックアップ・テーブルの各々に対応する複数のルックアップ・フラグを含み、そこで前記方法はさらに下記の諸ステップを含む：前記セキュア・モードにおける処理を開始するのに先立って、前記複数のルックアップ・フラグを第１の所定値へセットするステップと；前記プロセッサにより前記複数のセキュア処理の１つのセキュリティ・クリティカル・セクションの処理を開始または再開するのに先立って：前記対応するルックアップ・フラグが前記第１所定値へセットされるときに、前記少なくとも１つのキャッシュにおいて、前記機密処理の前記セキュリティ・クリティカル・セクションがそこからデータを要求する前記複数のルックアップ・テーブルの少なくとも１つを記憶して、前記対応するルックアップ・フラグを第２の所定値へ設定するステップと；および前記対応するルックアップ・フラグが前記第２の所定値セットされるならば、前記少なくとも１つのキャッシュへ前記情報を記憶しないステップとを含む。
【誤訳訂正１１】
【訂正対象書類名】明細書
【訂正対象項目名】００３９
【訂正方法】変更
【訂正の内容】
【００３９】
本発明のなお更なる面は、機密処理および信頼されていない処理を遂行するようにされた少なくとも１つのプロセッサ、および前記機密処理および信頼されていない処理を遂行中に前記プロセッサ中により必要とされる情報を記憶するようにされた少なくとも１つのキャッシュとを含むデータ処理装置を提供し、前記データ処理装置はさらに：処理されるべき前記機密処理のセクションを検出するように構成された制御ロジックを含み、前記セクションの検出に応答しまた前記セクションの処理を開始または再開するのに先立って、前記制御ロジックは前記少なくとも１つのキャッシュ内の前記機密処理の前記セクションにより要求されるべき前記機密処理ローディング情報により、さもなければ追い出されるべき前記少なくとも１つのキャッシュのロケーションに記憶された情報を追い出すように構成されている。
【誤訳訂正１２】
【訂正対象書類名】明細書
【訂正対象項目名】００５８
【訂正方法】変更
【訂正の内容】
【００５８】
本発明の実施例によれば、コア１１０、１２０の各々は、そのマスタ・デバイスがその中で現在動作中であるドメインを識別するドメインＩＤ信号を出力するように配置される。これは、キャッシュのドメインおよびセキュリティ・ステータスに応じて、キャッシュ内の一定のデータへのアクセスを許容しまたは拒否するために使用できる。こうして、コア１  １１０またはコア２  １２０上で動作するノン・セキュア処理によるセキュア・データへのアクセスを拒否することができる。しかしながら、無許可アクセスからセキュア・データを保護することができても、キャッシュ・アクセス・パターンが傷つく可能性があり、またセキュア・ドメインにより処理されているセキュア・データに関する情報が漏れる可能性がある。ある特定のコアに特有なＬ１キャッシュにアクセスする場合は、上記のようにハンドラ・ルーチンの使用によりアクセス・パターンを保護することができ、そこでセキュア・ルーチンによりアクセスされるかも知れないキャッシュ・ロケーションが、セキュア・ルーチンの実行に先立って追い出され、または少なくともそのセキュア・ルーチンの特定のクリティカル・セクションの実行に先立って追い出され、それによりキャッシュ・アクセス・パターンの観察から何のセキュア・データを引き出すこともできないようにされる。
【誤訳訂正１３】
【訂正対象書類名】明細書
【訂正対象項目名】００５９
【訂正方法】変更
【訂正の内容】
【００５９】
しかしながら、コードのセキュリティ・クリティカル・セクションによるシステム・キャッシュ１３０の使用は、ひと時に二つ以上のプロセッサがキャッシュにアクセスするので問題を生ずる可能性があり、キャッシュ・アクセス・パターンを保護するのが困難である。この問題を処置するために、本発明の実施例は、コードのセキュリティ・クリティカル・セクションにおいて、ローカルＬ１キャッシュのみを使用することを確実にするように動作できる。代わりにそうすることにより付加的なリスクがあると評価される限り、システム・キャッシュを使用するように決定することができる。共用キャッシュのあらゆる使用は、リスク（恐らくは、受け入れ可能な）を追加するが、それは他の処理タスクがシステム・キャッシュ内のラインを追い出すかも知れず、そしてその時にそれらが再ロードされる時をスポットするかも知れないからである。