JP5613232B2

Support for secure objects in a computer system

Abstract

This record has no abstract on file.

Term

3.7 yearsleft in the term

Expires 23 June 2030.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

23 claims: 6 independent, 17 dependent

  1. 1
    コンピュータ・システム中のプロセッサであって、 前記プロセッサは、前記コンピュータ・システム中の他のソフトウェアがアクセスできないように暗号によって保護されるコードおよびデータを含む安全オブジェクトをサポートするメカニズムを含み、前記メカニズムは、前記安全オブジェクトの秘匿性および完全性の両方を保護する暗号法を用い、前記メカニズムは、(1)前記コードおよびデータが外部メモリから前記プロセッサのキャッシュ中に移動される際に復号し、(2)前記コードおよびデータが前記キャッシュから外部メモリに移動される際に暗号化するための暗号エンジンと、前記安全オブジェクトの前記コードが前記プロセッサ上で実行されている間、前記安全オブジェクトの前記データへのアクセスを提供するキー情報を前記暗号エンジンの中にロードする命令であって、当該命令は、前記安全オブジェクトの前記データへのアクセスを提供するためのオペコード・フィールドと、前記キーをロードするために使われるオペコード・フィールドのオペランド・フィールドとを有し、当該オペランド・フィールドは、前記復号のためのキーが前記他のソフトウェアには一切利用できないように、当該他のソフトウェアが使用できない暗号キー情報への間接参照を提供する、前記ロードする命令とを含む、前記プロセッサ。
  2. 2
    前記安全オブジェクトの前記データは、前記プロセッサによって前記安全オブジェクトの前記コードが実行されている間だけアクセス可能なプライベート・データを含む、請求項1に記載のプロセッサ。
  3. 3
    前記メカニズムは、前記安全オブジェクトの前記データが前記プロセッサ上で実行されている間、前記キー情報を前記暗号エンジン中にロードするための第一命令と、前記暗号エンジン中の前記キー情報を以前の状態に復元するための第二命令と をさらに含む、請求項1又は2に記載のプロセッサ。
  4. 4
    前記安全オブジェクトの前記データはプライベート・データを含み、 前記プライベート・データは、前記安全オブジェクトのコード内からアクセスされたときだけ又は当該プライベート・データが前記プロセッサ内に在るときとだけ、復号される、請求項1に記載のプロセッサ。
  5. 5
    前記第一命令のフィールドから抽出された暗号化キー情報を復号して得られた前記キー情報を、前記暗号エンジン中にロードする、請求項3に記載のプロセッサ。
  6. 6
    前記第一命令は、他のソフトウェアから前記キー情報を保護する保護領域に格納されている、キー情報への間接参照を用いる、請求項3に記載のプロセッサ。
  7. 7
    前記プロセッサによる前記コードの前記実行の間保護される、前記プロセッサ内の少なくとも一つのキャッシュをさらに備えている、請求項1〜6のいずれか一項に記載のプロセッサ。
  8. 8
    前記コードの前記実行が割り込みされたとき前記安全オブジェクトへのアクセスを提供する暗号キー情報への間接参照を保存し、後で前記実行が再開されたとき前記間接参照を復元する、割り込みハンドラおよびオペレーティング・システム・コードの少なくとも一つをさらに含む、請求項1〜7のいずれか一項に記載のプロセッサ。
  9. 9
    前記安全オブジェクトは、ファイル・システム中に情報を格納しこれから情報を取り出し、前記情報は前記他のソフトウェアから暗号によって保護される、請求項1〜8のいずれか一項に記載のプロセッサ。
  10. 10
    コンピュータ・システム中のプロセッサにおいて、安全オブジェクトを保護する方法であって、前記プロセッサが、 前記コンピュータ・システム中の他のソフトウェアがアクセスできないように暗号によって保護されるコードおよびデータを含む安全オブジェクトをサポートするメカニズムを提供するステップであって、前記メカニズムは、前記安全オブジェクトの秘匿性および完全性の両方を保護する暗号法を用いる、前記提供するステップ を実行することを含み、前記メカニズムは、(1)前記コードおよびデータが外部メモリから前記プロセッサのキャッシュ中に移動される際に復号し、(2)前記コードおよびデータが前記キャッシュから外部メモリに移動される際に暗号化するための暗号エンジンと、前記安全オブジェクトの前記コードが前記プロセッサ上で実行されている間、前記安全オブジェクトの前記データへのアクセスを提供するキー情報を前記暗号エンジンの中にロードする命令であって、当該命令は、前記安全オブジェクトの前記データへのアクセスを提供するためのオペコード・フィールドと、前記キーをロードするために使われるオペコード・フィールドのオペランド・フィールドとを有し、当該オペランド・フィールドは、前記復号のためのキーが前記他のソフトウェアには一切利用できないように、当該他のソフトウェアが使用できない暗号キー情報への間接参照を提供する、前記ロードする命令とを含む、前記方法。
  11. 11
    前記安全オブジェクトの前記データは、前記プロセッサによって前記安全オブジェクトの前記コードが実行されている間だけアクセス可能なプライベート・データを含む、請求項10に記載の方法。
  12. 12
    前記メカニズムは、前記安全オブジェクトの前記データが前記プロセッサ上で実行されている間、前記キー情報を前記暗号エンジン中にロードするための第一命令と、前記暗号エンジン中の前記キー情報を以前の状態に復元するための第二命令とをさらに含む、請求項10又は11に記載の方法。
  13. 13
    前記安全オブジェクトの前記データはプライベート・データを含み、前記プライベート・データは、前記安全オブジェクトのコード内からアクセスされたときだけ又は当該プライベート・データが前記プロセッサ内に在るときとだけ、復号される、請求項10に記載の方法。
  14. 14
    前記プロセッサが、前記第一命令のフィールドから抽出された暗号化キー情報を復号して得られた前記キー情報を、前記暗号エンジン中にロードするステップをさらに実行する、請求項12に記載の方法。
  15. 15
    前記第一命令は、他のソフトウェアから前記キー情報を保護する保護領域に格納されている、キー情報への間接参照を用いる、請求項12に記載の方法。
  16. 16
    前記プロセッサが、前記プロセッサによる前記コードの前記実行の間保護される、前記プロセッサ内の少なくとも一つのキャッシュをさらに備えている、請求項10〜15のいずれか一項に記載の方法。
  17. 17
    前記メカニズムが、前記コードの前記実行が割り込みされたとき前記安全オブジェクトへのアクセスを提供する暗号キー情報への間接参照を保存し、後で前記実行が再開されたとき前記間接参照を復元する、割り込みハンドラおよびオペレーティング・システム・コードの少なくとも一つをさらに含む、請求項10〜16のいずれか一項に記載の方法。請求項10〜15のいずれか一項に記載の方法。
  18. 18
    前記安全オブジェクトは、ファイル・システム中に情報を格納しこれから情報を取り出し、前記情報は前記他のソフトウェアから暗号によって保護される、請求項10〜17のいずれか一項に記載の方法。
  19. 19
    前記プロセッサが、 前記メカニズムにおいて使用するための安全オブジェクトを生成するステップであって、前記安全オブジェクトは、前記安全オブジェクト内で処理されている間プライベート情報を復号する、前記安全オブジェクト中の命令を実行することによってだけ、復号されたフォーマットでアクセスが可能な前記プライベート情報を含む、前記生成するステップと、 前記生成された安全オブジェクトをメモリに送信するステップと を実行することをさらに含む、請求項10〜18のいずれか一項に記載の方法。
  20. 20
    前記プロセッサが、前記第一命令のフィールドから抽出された暗号化キー情報を復号することによって得られたキー情報を、前記暗号エンジン中にロードするステップ を実行することをさらに含む、請求項12に記載の方法。
  21. 21
    前記プロセッサが、 前記安全オブジェクトの前記実行の過程で別のオブジェクトを呼び出すステップ、および 前記安全オブジェクトの前記実行の過程で別のオブジェクトにメッセージを送信するステップ の少なくとも一つを実行することを含む、請求項10〜20のいずれか一項に記載の方法。
  22. 22
    前記プロセッサが、 プライベート情報が第一安全オブジェクトから第二安全オブジェクトに渡されるときに前記プライベート情報を暗号化変換するステップ を実行することをさらに含む、請求項10〜21のいずれか一項に記載の方法。
  23. 23
    コンピュータ・システム中のプライベート情報を保護するためのコンピュータ・プログラムであって、前記コンピュータ・システム中のプロセッサに、請求項10〜22のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
Independent claims23