JP2005158043A - システム・ページング・ファイルの暗号化 - Google Patents

システム・ページング・ファイルの暗号化 Download PDF

Info

Publication number
JP2005158043A
JP2005158043A JP2004308911A JP2004308911A JP2005158043A JP 2005158043 A JP2005158043 A JP 2005158043A JP 2004308911 A JP2004308911 A JP 2004308911A JP 2004308911 A JP2004308911 A JP 2004308911A JP 2005158043 A JP2005158043 A JP 2005158043A
Authority
JP
Japan
Prior art keywords
data
file
key
stored
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004308911A
Other languages
English (en)
Inventor
Benjamin A Leis
エー.リース ベンジャミン
David B Cross
ビー.クロス デビッド
Duncan G Bryce
ジー.ブライス ダンカン
Jianrong Gu
グ ジャンロン
Rajeev Y Nagar
ワイ.ナガル ラジーブ
Scott A Field
エー.フィールド スコット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005158043A publication Critical patent/JP2005158043A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Abstract

【課題】 オペレーティング・システムはメモリ領域を解放するためにメモリ・ページのデータをディスク上のページング・ファイルにコピーするが、この際に、そのデータを暗号化することによって、ページングされたデータを、不正な(あるいは望ましくない)監視から保護するメカニズムを提供すること。
【解決手段】 セッション・キーを使用してページング・ファイルに格納されるデータを暗号化し、セッション・キーはページング・ファイルが存在するマシンが起動した直後に生成される。ページング・ファイルのデータの暗号化と復号化の両方に使用されるセッション・キーは揮発性メモリに格納されるので、マシンが再起動した後にセッション・キーは残されていない。セッション・キーは再起動後には残されていないので、最新の起動に先立って格納された古いページング・ファイルのデータをクリア・テキストに復元できず、これにより、データを監視から保護する。
【選択図】 図6

Description

本発明は、一般にコンピューティングのファイルに関し、特に仮想メモリのページング・ファイルを暗号化および復号化するメカニズムに関する。
今日のコンピュータ・システムは、物理的なRAM(random access memory)のサイズを超えるメモリ容量の使用を可能にする仮想メモリの機能を提供するのが一般的である。仮想メモリシステムでは、物理アドレス空間より大きいこともある仮想アドレス空間を使用できる。物理アドレス空間のコンテンツ(contents)がオーバーフローしないように仮想メモリを維持するために、物理メモリより大きな領域が必要な場合は物理メモリからページがコピー・アウト(copy out)され、プログラムでこうしたページへのアクセスが必要な場合は物理メモリにページがコピー・イン(copy into)される。物理メモリからページがコピー・アウトされる場合は、該当するページのコンテンツが「ページング・ファイル」と呼ばれるファイルの形態でディスク上に格納される。
米国特許第6,249,866号明細書 米国特許第5,920,895号明細書 米国特許第5,931,947号明細書 米国特許第6,330,670号明細書 米国特許第6,405,315号明細書 米国特許第6,442,654号明細書
メモリ・ページのイメージをディスクに格納することによる問題は、たとえその格納が一時的であっても、こうしたページのコンテンツの不正な監視(observation)を防止するのが難しい、ということである。物理メモリは一般的には揮発性メモリであり、システムの電源が切断されるとそのコンテンツが失われる。したがって、システムが電源切断、クラッシュ、あるいは再起動(reboot)した場合に、揮発性メモリに格納された機密のデータは不正な監視者によって復元されないことが確実にされる。しかし、データが揮発性メモリからページング・ファイルにコピーされると、だれでもディスクにアクセスしてデータを監視でき、電源切断イベント、クラッシュ、あるいは再起動の後でもこのデータはディスク上に存在することになる。そのデータが機密の場合あるいはセンシティブな場合は、アタッカーがディスクからデータを入手する恐れがあるので、こうした可能性は、セキュリティ・リスクを示している。
以上の観点から、先行技術の弱点を克服するページング・ファイル保護メカニズムを求めるニーズが存在する。
本発明は、ページング・ファイルに格納するデータを暗号化することによってページング・ファイルを保護する。本発明に従って、このページング・ファイルには暗号化するためのマークが付けられる。このページング・ファイルは、ファイル暗号化機能を備えるファイル・システムに格納される。ファイルを暗号化できるファイル・システムについては、特許文献1に記載されており、参考のためここに引用する。このページング・ファイルに格納されるべきデータが仮想メモリ・マネージャからファイル・システムに渡されると、このファイル・システムは、ページング・ファイルが暗号化のためにマーク付けされていることを確認し、そのデータをページング・ファイルに格納する前に、そのデータが暗号化されるようにする。ファイル・システムは、暗号化コンポーネントに対して実際に暗号化を実行するように指示できる。暗号化コンポーネントはファイル・システムからクリア・テキスト(平文:暗号化されていない文)を受け取って、暗号化キーを適用して暗号文(ciphertext)を作成し、ページング・ファイル内に格納されるように、ファイル・システムに暗号文を返す。
既存のファイル暗号化システムでは、一般にファイルを暗号化し、ファイルの復号化に必要なキーのコピーも永続的に保存する。こうしたファイルについてキーを永続的に保存するのは意味がある、なぜならば、通常のファイルは長期間の保存を意図しており、通常はマシンを起動(boot)した際は、その起動が何回目であってもファイルを復号化するときにキーが必要になる。ページング・ファイルは、コンピューティング環境の唯一のインスタンス(instantiation)というコンテクスト(マシンが1度起動(boot)してから再起動(reboot)するまでの間)でのみ意味があるデータの一時的なリポジトリであるという点で通常のファイルとは異なる。したがって、システムが再起動した後はページング・ファイル・データにはほとんど価値が存在せず、また、このデータを使用可能な形で格納することはセキュリティ・リスクを招くという意味で問題である。したがって、ページング・ファイルの復号化に必要なキーを永続的に保存することは、データ(機密の、あるいはセンシティブなデータを含む)がいくつかの予測できないコンテクスト(たとえば、当該マシンのハードディスクを取り外してハッカーのマシンに取り付けた場合など)で復号化されることを可能にすることがあるので、不都合である。本発明の1つの機能に従って、1回の起動で1つのセッション・キーが生成され、システムの1回の稼働中(run)(起動してから再起動するまでの間)に限り、このセッション・キーを使用してページング・ファイルのコンテンツが暗号化され、復号化される。このセッション・キーは、マシンの1回の起動(boots)が終了した後は保存されない。
物理メモリ・ページのページング・ファイルへのコピーは起動後の任意のタイミングで必要になる可能性があるので、ページング・ファイルへの書き込み要求に対してセッション・キーは確実に対応できるようにするために、セッション・キーは、マシンが起動した直後に作成されるのが好ましい。キーを生成するコンポーネントは、起動の直後に物理メモリのブロックを予約するのが好ましい。こうして予約されたメモリは、暗号化コンポーネントがページング・ファイルに格納するデータを暗号化するときに使用するワーク・スペースとして、および/またはファイル・システムと暗号化コンポーネントとの間でデータを渡すためのバッファとして、使用できる。
本発明の他の機能について以下に説明する。
添付の図面を参照しながら以上の課題を解決するための手段と、好適な実施形態についての後述の詳細な説明を読むことにより、本発明をより深く理解できる。本発明を説明するために本発明の例示的な構成を図示するが、本発明は開示されたこの特定の方法および手段には限定されない。
概要
仮想メモリ・マネージャは、マシンの揮発性の物理メモリより大きな仮想アドレス空間を提供する。仮想メモリ・マネージャは、必要に応じて揮発性メモリにデータをコピー・インしたり、揮発性メモリからコピー・アウトしたりすることによってこの作業を実行する。揮発性メモリからデータがコピー・アウトされる場合、このデータは、ディスク上に、ページング・ファイルの形態で格納される。本発明は、ページング・ファイル・データを暗号形式で保存することによって、ページング・ファイルに格納されたデータが不正な監視から保護されるメカニズムを提供する。
コンピューティング環境の例
図1は、本発明の機能を実現できる例示的なコンピューティング環境を示している。コンピューティング・システム環境100は適切なコンピューティング環境の1つの例にすぎず、本発明の使い方または機能の範囲に関するいかなる制限も示さない。また、コンピューティング環境100は、例示的なオペレーティング環境100に示すコンポーネントの1つまたは組合わせに関して依存性も要件もないものとする。
本発明は、他のさまざまな汎用または専用のコンピューティング・システム環境または構成にも適用できる。本発明の使用に適した周知のコンピューティング・システム、環境、および/または構成の例には、パーソナル・コンピュータ、サーバー・コンピュータ、ハンドヘルドまたはラップトップ・デバイス、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースのシステム、セットトップボックス、プログラム可能な家庭用電子機器、ネットワークPC、ミニ・コンピュータ、メインフレーム・コンピュータ、埋め込みのシステム、前述の任意のシステムまたはデバイスを含む分散コンピューティング環境などが含まれるが、これらに限定はされない。
本発明は、プログラム・モジュールのようにコンピュータで実行可能な命令をコンピュータで実行する一般的なコンテクストで説明できる。一般に、プログラム・モジュールには、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などがあり、特定のタスクを実行したり、特定の抽象データ型を実装したりする。本発明は、通信ネットワークなどのデータ送信媒体を介してリンクするリモート処理装置でタスクを実行する分散コンピューティング環境でも実施できる。分散コンピューティング環境では、メモリ記憶装置を含むローカルとリモートの両方のコンピュータ記憶媒体にプログラム・モジュールとそれ以外のデータを格納できる。
図1を参照すると、本発明を実施する例示的なシステムに、コンピュータ110の形で汎用のコンピューティング・デバイスが配置されている。コンピュータ110のコンポーネントには、処理装置120、システム・メモリ130、さまざまなシステム・コンポーネント(システム・メモリと処理装置120など)を接続するシステム・バス121が含まれるが、それらに限定はされない。処理装置120は、マルチ・スレッド・プロセッサでサポートする処理装置など、複数の論理処理装置を表すことができる。システム・バス121は、さまざまなバス・アーキテクチャの任意の1つを使用したメモリ・バスまたはメモリ・コントローラ、周辺バス、ローカル・バスを含む各種バス構造のいずれでもよい。こうしたアーキテクチャには、例として、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカル・バス、PCI(Peripheral Component Interconnect)バス(メザニン(Mezzanine)バスとも呼ばれる)が含まれるが、これらに限定はされない。システム・バス121は、ポイント・ツー・ポイント接続、スイッチング・ファブリック、あるいは通信装置間の同様の機能としても実現できる。
コンピュータ110は、通常はさまざまなコンピュータ可読媒体を備えている。コンピュータ可読媒体は、コンピュータ110からアクセスできる任意の使用可能な媒体を含むことができるが、揮発性と不揮発性の両方、および取り外し可能と不可能の両方の媒体を含むことができる。例として、コンピュータ可読媒体にはコンピュータ記憶媒体および通信媒体を含めることができるが、これらに限定はされない。コンピュータ記憶媒体には、コンピュータ可読の命令、データ構造、プログラム・モジュール、またはその他のデータなどの情報を記憶する任意の方法または技術で組み込まれた、揮発性と不揮発性の両方、および取り外し可能と不可能の両方の媒体が含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュ・メモリなどのメモリ技術、CD ROM、デジタル多用途ディスク(DVD:digital versatile disk)などの光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスクなどの磁気記憶装置、または必要な情報を格納でき、コンピュータ110からアクセスできる他の任意の媒体が含まれるが、これらに限定はされない。通信媒体は、搬送波やその他の搬送メカニズムのような変調データ信号の形態で、コンピュータ可読の命令、データ構造、プログラム・モジュール、またはその他のデータなどを具現化しており、この通信媒体は任意の情報伝配信媒体を含む。「変調データ信号」という用語は、信号内で情報を符号化する方法で、1つまたは複数の特性を設定された、または変更された信号を意味する。例として、通信媒体には、有線ネットワーク、直接ワイヤ接続などの有線媒体と、音、RF、赤外線などの無線媒体が含まれるが、これらに限定はされない。上記の任意の組合わせも、コンピュータ可読媒体の範囲内に含まれるものとする。
システム・メモリ130には、読み取り専用メモリ(ROM:read only memory)131やランダム・アクセス・メモリ(RAM:random access memory)132のように揮発性および/または不揮発性メモリという形をとるコンピュータ記憶媒体が含まれる。起動時などにコンピュータ110内のエレメント間の情報転送を支援する基本ルーチンを含む基本入出力システム133(BIOS:basic input/output system)は、通常はROM 131に格納される。RAM 132には、通常は処理装置120から、ダイレクトにアクセス可能であり、かつ/または処理装置120で現在操作しているデータおよび/またはプログラム・モジュールが格納される。例として、図1にはオペレーティング・システム134、アプリケーション・プログラム135、その他のプログラム・モジュール136、およびプログラム・データ137が示されているが、これらに限定はされない。
コンピュータ110には、その他の取り外し可能/不可能、揮発性/不揮発性のコンピュータ記憶媒体を含めることができる。単に例として、図1に取り外し不可能な不揮発性の磁気媒体の読み出しまたは書き込みを行うハードディスク・ドライブ140、取り外し可能な不揮発性の磁気ディスク152の読み出しまたは書き込みを行う磁気ディスク・ドライブ151、CD ROMや他の光媒体のような取り外し可能な不揮発性の光ディスク156の読み出しまたは書き込みを行う光ディスク・ドライブ155を示す。例示的なオペレーティング環境で使用できる上記以外の取り外し可能/不可能、揮発性/不揮発性のコンピュータ記憶媒体には、磁気テープ・カセット、フラッシュ・メモリ・カード、DVD、デジタル・ビデオ・テープ、ソリッド・ステートRAM、ソリッド・ステートROMなどが含まれるが、それらに限定はされない。ハードディスク・ドライブ141は、通常はインターフェース140などの取り外し不可能なメモリ・インターフェースを介してシステム・バス121に接続し、磁気ディスク・ドライブ151と光ディスク・ドライブ155は、通常はインターフェース150などの取り外し可能なメモリ・インターフェースを介してシステム・バス121に接続する。
図1に示す前述のドライブとこれに対応するコンピュータ記憶媒体には、コンピュータ可読の命令、データ構造、プログラム・モジュールなど、コンピュータ110のデータを格納できる。たとえば、図1を参照すると、ハードディスク・ドライブ141にオペレーティング・システム144、アプリケーション・プログラム145、その他のプログラム・モジュール146、およびプログラム・データ147が格納されている。ただし、こうしたコンポーネントは、オペレーティング・システム134、アプリケーション・プログラム135、その他のプログラム・モジュール136、およびプログラム・データ137と同じとすることも、または異なるものとすることができる。ここでは、オペレーティング・システム144、アプリケーション・プログラム145、その他のプログラム・モジュール146、およびプログラム・データ147には異なる番号を付けて、少なくとも別の複製であることを示している。ユーザーは、キーボード162やポインティング・デバイス161(一般に、マウス、トラック・ボール、またはタッチ・パッドと呼ばれる)などの入力装置を使用してコンピュータ20にコマンドや情報を入力できる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲーム・パッド、サテライト・ディッシュ、スキャナなどを含めることができる。これらの入力装置および他の入力装置は、多くの場合にシステム・バスに接続されたユーザー入力インターフェース160を介して処理装置120に接続するが、パラレル・ポート、ゲーム・ポート、USB(universal serial bus)のような他のインターフェースやバス構造によって接続することもできる。モニタ191または他のタイプの表示装置も、ビデオ・インターフェース190のようなインターフェースを介してシステム・バス121に接続される。さらに、コンピュータには出力周辺インターフェース195を介してスピーカ197やプリンタ196など、モニタ以外の出力周辺装置を接続できる。
コンピュータ110は、リモート・コンピュータ180のような1台または複数台のリモート・コンピュータへの論理接続を使用してネットワーク環境で動作できる。リモート・コンピュータ180は、パーソナル・コンピュータ、サーバー、ルータ、ネットワークPC、ピア・デバイス、または他の一般のネットワーク・ノードでよい。通常は、コンピュータ110に関連して上で説明したエレメントの多くまたはすべてが含まれるが、図1にはメモリ記憶装置181のみを示す。図1に示す論理接続には、ローカル・エリア・ネットワーク(LAN:local area network)171とワイド・エリア・ネットワーク(WAN:wide area network)173が含まれるが、他のネットワークを含めてもよい。このようなネットワーキング環境は、職場、企業規模のコンピュータ・ネットワーク、イントラ・ネット、およびインターネットではごく一般的である。
LANネットワーキング環境で使用した場合、コンピュータ110はLAN 171にネットワーク・インターフェースまたはアダプタ170を介して接続する。WANネットワーキング環境で使用した場合、コンピュータ110は一般にインターネットなどのWAN 173を介して通信を確立するためのモデム172またはその他の手段を備えている。モデム172(内蔵または外付け)は、ユーザー入力インターフェース160または他の適切なメカニズムを使用してシステム・バス121に接続できる。ネットワーク環境では、コンピュータ110またはその一部に関連して記述したプログラム・モジュールは、リモート・メモリ記憶装置に格納できる。例として、図1にメモリ・デバイス181に格納されたリモート・アプリケーション・プログラム185を示すが、これには限定されない。図示されたネットワーク接続が例示的であり、コンピュータ間の通信リンクを確立する他の手段を使用することができることは言うまでもない。
メモリ・ページをページング・ファイルに格納する
図2は、コンピュータ・メモリ、およびメモリのページを格納できるファイル・システムを示している。コンピュータ・システムは、RAM 132のようなメモリを備えている。RAM 132は、複数のページに体系化できるメモリの複数のバイトを備えている。各ページは、隣接する特定のサイズのメモリ・ブロックであり、一般的なシステムでは、4KB(キロバイト)、または4MB(メガバイト)、あるいは同時に両方のページ・サイズをサポートする。図2の例で、RAM 132にはページ202(1)、202(2)、202(3)、202(4)、202(5)…202(n)が含まれる。
ファイル・システム208は、ディスク上にファイル形式でデータを格納し、また、
ファイルを体系化(たとえば、ファイルのディレクトリをメンテナンスすることによる)したり、ファイルの格納と取得を実行したり、ファイルのメンテナンスに関連するその他のタスクを実行したりするのに必要なソフトウェアおよび/またはハードウェアも備えている。図2の例では、ファイル・システム208は、ファイル204(1)、204(2)…204(m)を格納する。さらに、ファイル・システム208は、ページング・ファイル206のような1つまたは複数のページング・ファイルを格納できる。ページング・ファイル206は、ページのコピーをディスクで格納するために使用するファイルである。任意のプログラムがページング・ファイルをメンテナンスできるが、オペレーティング・システム(たとえば、図1に示すオペレーティング・システム134)がページング・ファイルをメンテナンスし、すべてのアプリケーションやプロセスがこれを共有するのがきわめて一般的である。この例では、ページング・ファイル206はオペレーティング・システム134でメンテナンスするページング・ファイルである。MICROSOFT WINDOWS(登録商標)オペレーティング・システムは、こうしたページング・ファイルをメンテナンスするオペレーティング・システムの例である。オペレーティング・システム134は、メモリ領域の解放が必要な場合に、メモリのページをページング・ファイル206にコピーする。たとえば、オペレーティング・システム134はページ202(4)のコンテンツをページング・ファイル206にコピーし、ページ202(4)の物理メモリを再割当てして他のデータを格納できるようにすることによってRAM 132の領域を解放することを決定できる。これとは逆に、オペレーティング・システム134がデータへのアクセス要求を受け取ったが、このデータはすでにページング・ファイル206にコピーされたページにあるためにRAM 132には格納されていない場合(すなわち、仮想アドレス変換テーブルで”not present(存在しない)”とマーク付けされたページにアクセスしようとしたためにページ・フォルト例外が発生した場合)、オペレーティング・システム134は要求されたページのコンテンツをページング・ファイル206からコピーしてRAM 132の物理ページフレームに配置する(アドレス変換テーブルが新しいページの位置を指し示すように調整も行う)。
ファイル・システム208が提供する1つの機能は、図3に示すファイル暗号化コンポーネントである。すでに図2に関連して示し、説明したように、ファイル・システム208は、複数のファイル(ファイル204(1)、204(2)、204(3)など)を格納している。暗号化コンポーネント304は、キー302を使用してファイルを暗号化および復号化する機能を提供する。ファイル・システム208には、暗号形式とクリア形式のいずれのファイルでも格納できるのが好ましい。この場合は、ファイル・システム208に格納された各ファイルにフラグが関連付けられており、ファイルを暗号形式でメンテナンスするかどうかによってフラグをセットまたは解除できる。図3の例では、(ファイル204(2)に関連付けられた)フラグ310がセットされており、ファイル204(2)が暗号化されることを示している。
暗号化コンポーネント304は、ファイルを暗号化および復号化する機能を提供する。したがって、ファイル・システム208がファイル204(2)(あるいはフラグによって暗号化するためのマークが付けられた他の任意のファイル)にデータを格納するようにという要求を受け取ると、ファイル・システム208は暗号化コンポーネント304を呼出し、格納するクリア・テキスト306を暗号化コンポーネント304に渡す。次に、暗号化コンポーネント304はキー302を使用してクリア・テキスト306を暗号化し、暗号文308をファイル・システム208に返す。これで、暗号文がファイル204(2)に格納される。ファイル・システム208がファイル204(2)の情報を取得するようにという要求を受け取ると、ファイル・システム208はその時点でファイル204(2)に暗号化するためのマークが付けられていることを確認し、このファイルの暗号化された暗号文を暗号化コンポーネント304に渡す。次に、暗号化コンポーネント304がキー302を使用して暗号文を復号化してクリア・テキストを返し、さらにファイル・システム208がこのクリア・テキストを要求元に渡す。好ましい実施形態において、暗号化コンポーネント304は、DES(Data Encryption Standard)、3DES(Triple-DES)、AES(Advanced Encryption Standard)のような対称のキー・アルゴリズムを使用して、暗号化と復号化を実行する。
好ましい実施形態において、暗号化コンポーネント304はキー302を生成する機能を備えており、暗号化コンポーネント304はファイル・システム208を管理するソフトウェアにキー302を提供する。図4に関連して後述するように、キー302はシステム起動直後に生成され、不揮発性のストレージには保存されない。
システムは、暗号化フラグをセット状態で、あるいは解除状態でページング・ファイル作成すべきかどうかを決定するセキュリティ・ポリシーをローカルまたは中央に備えているのが好ましい。たとえば、ページング・ファイルの暗号化を実行するかどうかを示すレジストリ・エントリがあってもよい。起動時、つまりシステムが特定のセッションのページング・ファイルを作成するときに、システムはレジストリを調べてページング・ファイルの暗号化フラグをセットすべきかどうかを確認できる。
システム・ページング・ファイルを暗号化するためのシステムの準備
図4は、ページング・ファイルを暗号化するようにシステムを準備するプロセスを示す流れ図である。まず、暗号化されたページング・ファイルを使用するシステムが起動する(402)。起動に続いて、特定の目的で使用するメモリのブロックが予約される(404)。具体的には、予約されたメモリ・ブロックは以下の目的で利用できる。第一に、予約されたメモリの一部は、ファイル・システムと暗号化コンポーネントの間でデータの両方向の書き込みを行うためのバッファとして利用できる(ファイル・システムと暗号化コンポーネントの間でデータの書き込みを実行しようとしたときに、予約されたメモリが不十分な場合は、書き込みを複数のステージに分割するか、またはより多くのメモリを割り当てようとすることができる)。第二に、予約されたメモリの一部は、暗号化コンポーネント用のワーク・スペースとして使用できる。
次に、ページング・ファイルの暗号化に使用することになるセッション・キーが作成され、ディスクなどにページングされない揮発性メモリに格納される(406)。セッション・キーは、次回の起動時には残されていない方法で格納されるのが好ましい。こうすれば、1回の起動中に生成され、暗号化されたページング・ファイルのデータを、現在のセッションが終了した後に復号化することはできない。このことによって、このデータのセキュリティが保護される(たとえば、コンピュータからハードディスクを取り外したり盗んだりして、そのディスクを別のマシンに取り付けても、ページング・ファイルのデータの復号化を可能にすることになるセッション・キーのコピーを、そのディスクは格納していないはずである)。セッション・キーは、最終的にディスクにはページングされることがないように、ページングされないメモリに格納されることが好ましい(セッション・キーをディスクにページングすると、セキュリティ上の問題の可能性が発生するだけでなく、キーが格納されたページング・ファイルを復号化するためにキーが必要になるのでデッドロックが発生する可能性もある)。図4ではメモリ・ブロックが予約された後にセッション・キーが作成されているが、この順序は本発明において必須ではない。
これで、ファイルの暗号化フラグがセットされた状態で、ページング・ファイルが作成される(408)。この時点で、システムはページング・ファイルを暗号化する準備が完了する。メモリ・マネージャがメモリとページング・ファイルの間でデータをやりとりする際に、データはセッション・キーを使用して暗号化/復号化される(410)。メモリと暗号化されたページング・ファイルの間でデータを移動するプロセスについては、図5に関連して詳述する。
図5は、暗号化されたデータをページング・ファイルに格納するプロセスを示している。システム稼働中の特定の時点で、メモリに格納されたデータをディスクに移動する必要があると(たとえば、メモリ領域を解放するために)メモリ・マネージャが決断する。次に、メモリ・マネージャはメモリ・ページのコンテンツをファイル・システムに渡し、このコンテンツをページング・ファイルに書き込むように命令する(502)。ここで、ファイル・システムはページング・ファイルの暗号化フラグがセットされているかどうかを確認する(504)。暗号化フラグがセットされていない場合は、メモリ・マネージャが提供するデータはクリア・テキストとしてページング・ファイルに書き込まれる(506)。
ページング・ファイルの暗号化フラグがセットされている場合は、ファイル・システムが暗号化コンポーネントを呼び出してデータを暗号化する(508)。ここで、暗号化コンポーネントはセッション・キーを使用してデータを暗号化し(510)、暗号文を生成する。さらに、暗号文がファイル・システムに返され(512)、ファイル・システムはこの暗号文をページング・ファイルに格納する(514)。使用可能な対称の暗号化アルゴリズム(たとえば、DES、3DES、AESなど)は通常は特定のサイズのブロックとしてデータを暗号化するブロック暗号なので、生成される(ページング・ファイルに書き込まれる)暗号文のサイズは、暗号化アルゴリズムで使用するブロックのサイズ以上である。
暗号化されたページング・ファイルからデータを取得するプロセスは、図5で説明した格納のプロセスに類似している。ページング・ファイルからデータを取得するようにというメモリ・マネージャからの要求を受け取った場合に、ページング・ファイルに暗号化するためのマークが付けられていると、ファイル・システムはページング・ファイルに格納された暗号文を暗号化コンポーネントに渡し、暗号化コンポーネントはセッション・キーを使用してこれを復号化し、クリア・テキストを返す。このプロセス実行するシステムの例を図6に示す。メモリ内の特定のページにアクセスするようにという要求を受け取ると、メモリ・マネージャは要求されたページがメモリ内に存在しないことを(ページ・マップに基づいて)確認する。ページが存在しないとページ・フォルトが発生する。フォルト・ハンドラは、要求されたページをページング・ファイルから取得するためにファイル・アクセス要求を作成する。ファイル・システム208はこのアクセス要求を受取、ページング・ファイルに暗号化するためのマークが付けられていることを確認する。こうして、ファイル・システム208は暗号化コンポーネント304に対してセッション・キーを使用して要求されたページを復号化するように指示する。ここで、暗号化コンポーネント304は復号化されたページをファイル・システムに渡し、ファイル・システムは復号化されたページをメモリ・マネージャ602に返す。ここで、メモリ・マネージャ602は取得したページのコンテンツを物理メモリ・ページのフレームに書き込み、さらに物理メモリ内にこのページが存在すること(および新しいロケーション)を反映するようにページ・マップを調整する。ページング・ファイルのデータを暗号化および復号化するプロセスは、メモリ・マネージャには透過的(transparent)であり、メモリ・マネージャは、データが暗号化されるかどうかに関係なく、データの格納および取得の要求を作成できるのが好ましい。
以上の例は単に説明のためだけに示されており、本発明に関する限定と理解してはならないことに留意されたい。本発明をさまざまな実施形態に関連して説明してきたが、ここに記載したコンテンツは説明を目的としており、限定を意図しないことは言うまでもない。さらに、本発明を特定の手段、機材(materials)、および実施形態に関連して説明してきたが、本発明をここに開示する仕様に限定する意図はない。本発明は、特許請求の範囲に示す、機能上同等のあらゆる構造、方法、使い方に拡張される。この明細書に記載する技術を利用する当業者は、これにさまざまな変更を加えることができる。こうした変更は、本発明の機能において本発明の範囲と精神を逸脱することなく実施できる。
本発明の機能を実現できる例示的なコンピューティング環境を示すブロック図である。 コンピュータのメモリとそのファイル・システムとの関係を示すブロック図である。 ファイルを暗号化するメカニズムを示すブロック図である。 ページング・ファイルを暗号化するようにシステムを準備するプロセスを示す流れ図である。 ページング・ファイルに格納するメモリ・データを暗号化するプロセスを示す流れ図である。 暗号化されたページング・ファイルからページを取得するメモリ・マネージャを示すブロック図である。
符号の説明
100 コンピューティング環境
120 処理装置
121 システム・バス
130 システム・メモリ
131 ROM
132 RAM
133 BIOS
134 オペレーティング・システム
135 アプリケーション・プログラム
136 その他のプログラム・モジュール
137 プログラム・データ
140 取り外し不可能な不揮発性のメモリ・インターフェース
141 ハードディスク・ドライブ
144 オペレーティング・システム
145 アプリケーション・プログラム
146 その他のプログラム・モジュール
147 プログラム・データ
150 取り外し可能な不揮発性のメモリ・インターフェース
151 磁気ディスク・ドライブ
152 取り外し可能な不揮発性の磁気ディスク
155 光ディスク・ドライブ
156 取り外し可能な不揮発性の光ディスク
160 ユーザー入力インターフェース
161 マウス
162 キーボード170 ネットワーク・インターフェース
171 ローカル・エリア・ネットワーク(LAN)
172 モデム
173 ワイド・エリア・ネットワーク(WAN)
180 リモート・コンピュータ
181 メモリ・デバイス
185 リモート・アプリケーション・プログラム
190 ビデオ・インターフェース
191 モニタ
195 出力周辺インターフェース
196 プリンタ
197 スピーカ
206 ページング・ファイル
208 ファイル・システム
302 キー
304 暗号化コンポーネント
306 クリア・テキスト(平文)
308 暗号文
602 メモリ・マネージャ

Claims (23)

  1. 仮想メモリを含むコンピューティング環境を提供するシステムであって、
    揮発性メモリとハードディスクに格納されたページング・ファイルとの間でデータを移動したりまたはコピーしたりすることによって前記仮想メモリを提供する仮想メモリ・マネージャを備え、前記システムは前記ページング・ファイルに格納する前記データを暗号化することによって前記仮想メモリのコンテンツを保護することを特徴とするシステム。
  2. 前記仮想メモリ・マネージャはファイル・システムに前記データを渡し、前記ファイル・システムは、前記データを前記ページング・ファイルに格納する前に前記データが暗号化されるようにすることを特徴とする請求項1に記載のシステム。
  3. 前記ファイル・システムは暗号化するためのマークを前記ページング・ファイルに付け、前記ページング・ファイルは、前記ページング・ファイルに前記データを格納することを求める要求を受け取ったときに、前記ページング・ファイルに暗号化するためのマークが付けられていることを確認し、前記データを暗号化するように暗号化コンポーネントと通信することを特徴とする請求項2に記載のシステム。
  4. 前記データの暗号化に使用され、さらに前記暗号化されたデータを後で復号化する場合に必要になるセッション・キーを生成するキー・ジェネレータをさらに備えることを特徴とする請求項1に記載のシステム。
  5. 前記セッション・キーは、前記セッション・キーの生成後に起動が行われた場合に前記セッション・キーが使用できなくなるような方法で非永続的に格納されることを特徴とする請求項4に記載のシステム。
  6. 前記セッション・キーが永続的には格納されないことを確実にすることによって前記仮想メモリのコンテンツを保護することを特徴とする請求項5に記載のシステム。
  7. 前記データの暗号化は、
    DES(Data Encryption Standard)、3DES(Triple-DES)、またはAES(Advanced Encryption Standard)のうちの1つまたは複数のアルゴリズムを使用して行われることを特徴とする請求項1に記載のシステム。
  8. 前記仮想メモリに格納されたユーザー・モードのすべてのアプリケーションとデータが前記ページング・ファイルに格納されるときに暗号化されることを確実にすることによって、前記仮想メモリのコンテンツを保護することを特徴とする請求項1に記載のシステム。
  9. 仮想メモリを保護する方法であって、
    揮発性メモリの複数のページにデータを格納すること、
    前記揮発性メモリの前記複数のページの第1のページのコンテンツをディスクに格納されたページング・ファイルに移動することを決定すること、および
    前記コンテンツを、前記コンテンツをページング・ファイルに格納する命令と共にファイル・システムに渡すこと
    を備え、
    前記ページング・ファイルに暗号化するためのマークが付けられ、
    前記ファイル・システムは、前記コンテンツが前記ページング・ファイルに格納される前に、キーを使用して暗号化されるようにし、
    前記キーは前記ページング・ファイルに格納された情報を復号化するために必要であり、前記キーは、前記キーが格納されたマシンを再起動すると前記キーが失われるような方法で格納される
    ことを特徴とする方法。
  10. 前記マシンを起動するときに前記キーを生成すること
    をさらに備えることを特徴とする請求項9に記載の方法。
  11. 前記キーを生成する前に前記揮発性メモリのブロックをワーク・ペースとして使用することを予約することをさらに備え、それによって前記ワーク・スペースを使用することで、前記セッション・キーを生成する前に揮発性メモリのコンテンツをディスクにコピーする必要がなくなることを特徴とする請求項9に記載の方法。
  12. 前記ファイル・システムは暗号化コンポーネントを通信することによって前記コンテンツが暗号化されるようにし、暗号化コンポーネントは前記ファイル・システムによって暗号化するためのマークを付けられたファイルを暗号化することを特徴とする請求項9に記載の方法。
  13. さらに、ファイル・システムと暗号化コンポーネントの間でデータをやりとりするための前記揮発性メモリのブロックを予約することを含むことを特徴とする請求項12に記載の方法。
  14. コンピュータの仮想メモリのデータを格納する暗号化されたページング・ファイルをメンテナンスするシステムであって、
    データを受け取り、キーを使用して前記データの暗号化と復号化の操作を実行する暗号化コンポーネントと、
    前記キーを生成するメカニズムと、
    前記コンピュータを再起動したときに前記キーが保存されていないような方法で前記キーを格納する前記コンピュータ内の記憶場所と、
    コピーまたは移動したデータをページング・ファイルにファイル・システムが格納することを要求することによって、揮発性メモリからディスクにデータをコピーまたは移動する仮想メモリ・マネージャと
    を備え、
    前記ファイル・システムは、キーを使用して前記コピーまたは移動したデータを暗号化するように前記暗号化コンポーネントに対して指示することを特徴とするシステム。
  15. 前記暗号化コンポーネントは起動時にメモリのブロックを予約することを特徴とする請求項14に記載のシステム。
  16. 前記メモリのブロックは前記キーを生成する前に前記暗号化コンポーネントのワーク・ペースとして使用され、それによって前記暗号化コンポーネントがデータを操作するための十分な記憶領域が、前記キーを生成する前に前記揮発性メモリ内に存在することを特徴とする請求項15に記載のシステム。
  17. 前記メモリのブロックは、前記ファイル・システムと前記暗号化コンポーネントとの間で情報をやりとりするためのバッファとして使用されることを特徴とする請求項15に記載のシステム。
  18. 前記キーは、前記仮想メモリ・マネージャが前記ページング・ファイルにデータを格納するように指示する前に、生成されることを特徴とする請求項14に記載のシステム。
  19. 前記キーは前記揮発性メモリに格納され、前記キーのコピーは前記コンピュータの不揮発性のメモリまたは記憶装置のいずれにも格納されないことを特徴とする請求項14に記載のシステム。
  20. コンピュータ起動時に行われる方法を実行するコンピュータで実行可能な命令で符号化されたコンピュータ可読媒体であって、前記方法は、
    セッション・キーを生成すること、
    前記セッション・キーを、マシンを再起動した後に残さないような非永続的な方法で格納すること、
    ディスクに格納された仮想メモリのデータが暗号化されるように指示する情報を取得すること、
    ページング・ファイルを暗号化ファイルとしてマーク付けすること、
    ディスク上の前記ページング・ファイルに格納すべき揮発性記憶装置のデータをメモリ・マネージャから受け取ること、および
    前記受け取ったデータを前記ページング・ファイルに格納する前に、セッション・キーを使用して前記受け取ったデータを暗号化することによって、前記受け取ったデータを監視されないように保護すること
    を備えることを特徴とするコンピュータ可読媒体。
  21. 前記セッション・キーを生成する前にメモリ・ブロックを予約することをさらに備え、前記メモリ・ブロックは、
    ページング・ファイルをメンテナンスするファイル・システムと、セッション・キーを使用してデータの暗号化および復号化を実行する暗号化コンポーネントとの間でデータをやりとりするためのバッファと、
    前記セッション・キーを生成する前に前記暗号化コンポーネントが使用可能なワーク・スペースと
    のいずれかとして使用されることを特徴とする請求項20に記載のコンピュータ可読媒体。
  22. 前記セッション・キーは前記揮発性記憶装置に格納され、前記セッション・キーのコピーはディスクに格納されないことを特徴とする請求項20に記載のコンピュータ可読媒体。
  23. 仮想メモリを保護する方法であって、
    揮発性メモリの複数のページにデータを格納すること、
    前記揮発性メモリの前記複数のページの第1のページのコンテンツをディスクに格納されたページング・ファイルに移動することを決定すること、
    前記コンテンツを、前記コンテンツをページング・ファイルに格納する命令と共にファイル・システムに提供すること
    を備え、
    前記ページング・ファイルは暗号化するためのマークが付けられ、
    前記ファイル・システムは、前記コンテンツが前記ページング・ファイルに格納される前にキーを使用して前記コンテンツが暗号化されるようにし、
    前記キーは前記ページング・ファイルに格納された情報を復号化するのに必要であり、前記キーは、前記キーが格納されたマシンを再起動すると前記キーが失われるような方法で格納される
    ことを特徴とする方法。
JP2004308911A 2003-11-25 2004-10-22 システム・ページング・ファイルの暗号化 Pending JP2005158043A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/721,562 US7325115B2 (en) 2003-11-25 2003-11-25 Encryption of system paging file

Publications (1)

Publication Number Publication Date
JP2005158043A true JP2005158043A (ja) 2005-06-16

Family

ID=34465670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004308911A Pending JP2005158043A (ja) 2003-11-25 2004-10-22 システム・ページング・ファイルの暗号化

Country Status (5)

Country Link
US (1) US7325115B2 (ja)
EP (1) EP1536307B1 (ja)
JP (1) JP2005158043A (ja)
KR (1) KR101120779B1 (ja)
CN (1) CN100495364C (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8290159B2 (en) 2007-03-16 2012-10-16 Ricoh Company, Ltd. Data recovery method, image processing apparatus, controller board, and data recovery program
JP2016009275A (ja) * 2014-06-23 2016-01-18 キヤノン株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
US10445233B2 (en) 2014-06-23 2019-10-15 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108693B2 (en) 2005-04-01 2012-01-31 Ged-I Ltd. Method for data storage protection and encryption
EP1870813B1 (en) * 2006-06-19 2013-01-30 Texas Instruments France Page processing circuits, devices, methods and systems for secure demand paging and other operations
KR100969758B1 (ko) * 2007-01-22 2010-07-13 삼성전자주식회사 플래시 변환 레이어에서 데이터를 암호화하여 처리하기위한 방법 및 장치
JP4994903B2 (ja) * 2007-03-16 2012-08-08 株式会社リコー 暗号鍵復旧方法、情報処理装置及び暗号鍵復旧プログラム
US8886963B2 (en) * 2011-09-15 2014-11-11 Apple Inc. Secure relocation of encrypted files
CN103605933A (zh) * 2012-12-13 2014-02-26 深圳市证通电子股份有限公司 基于标准单元技术的关键信息存储方法及存储装置
US9367699B2 (en) * 2013-02-07 2016-06-14 Steelcloud, Llc Automating the creation and maintenance of policy compliant environments
US9294266B2 (en) 2013-06-27 2016-03-22 Qualcomm Incorporated Method and apparatus to encrypt plaintext data
JP6265783B2 (ja) * 2014-03-06 2018-01-24 キヤノン株式会社 暗号化/復号化システム及びその制御方法、並びにプログラム
KR101571377B1 (ko) * 2015-05-12 2015-11-24 주식회사 기가레인 비콘 데이터 처리 시스템 및 방법
US9710401B2 (en) * 2015-06-26 2017-07-18 Intel Corporation Processors, methods, systems, and instructions to support live migration of protected containers
CN106203109B (zh) * 2016-06-29 2019-08-27 珠海豹趣科技有限公司 一种安全保护处理方法、装置及电子设备
US10924508B2 (en) * 2017-12-21 2021-02-16 Sonicwall Inc. Providing access to data in a secure communication
US11824895B2 (en) 2017-12-27 2023-11-21 Steelcloud, LLC. System for processing content in scan and remediation processing
US11496519B1 (en) * 2019-11-29 2022-11-08 Amazon Technologies, Inc. Managing security in isolated network environments
US11494523B2 (en) * 2020-08-14 2022-11-08 Intel Corporation Direct memory access mechanism

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152643A (ja) * 1993-11-30 1995-06-16 Fuji Xerox Co Ltd 仮想記憶システム
JPH09204360A (ja) * 1996-01-24 1997-08-05 Toshiba Corp 機密データの保護方法
US5825878A (en) * 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
JP2001508893A (ja) * 1996-12-12 2001-07-03 インテル・コーポレーション 暗号によって保護されたページング・システム
WO2002006929A2 (en) * 2000-07-18 2002-01-24 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US20020099946A1 (en) * 1998-04-30 2002-07-25 Howard C. Herbert Cryptographically protected paging subsystem
JP2002529815A (ja) * 1998-11-05 2002-09-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数の暗号化アルゴリズムを用いるセキュアメモリ管理ユニット
US20030133574A1 (en) * 2002-01-16 2003-07-17 Sun Microsystems, Inc. Secure CPU and memory management unit with cryptographic extensions

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920895A (en) 1995-04-24 1999-07-06 Microsoft Corporation Mapped file input/output with delayed zeroing
US5931947A (en) 1997-09-11 1999-08-03 International Business Machines Corporation Secure array of remotely encrypted storage devices
US6405315B1 (en) 1997-09-11 2002-06-11 International Business Machines Corporation Decentralized remotely encrypted file system
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6003117A (en) 1997-10-08 1999-12-14 Vlsi Technology, Inc. Secure memory management unit which utilizes a system processor to perform page swapping
US6330670B1 (en) 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6442654B1 (en) 1999-12-10 2002-08-27 International Business Machines Corporation Operating system support for in-server caching of documents
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
US7343493B2 (en) * 2002-03-28 2008-03-11 Lenovo (Singapore) Pte. Ltd. Encrypted file system using TCPA
AU2003298560A1 (en) * 2002-08-23 2004-05-04 Exit-Cube, Inc. Encrypting operating system
JP4655452B2 (ja) * 2003-03-24 2011-03-23 富士ゼロックス株式会社 情報処理装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152643A (ja) * 1993-11-30 1995-06-16 Fuji Xerox Co Ltd 仮想記憶システム
JPH09204360A (ja) * 1996-01-24 1997-08-05 Toshiba Corp 機密データの保護方法
US5825878A (en) * 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
JP2001508893A (ja) * 1996-12-12 2001-07-03 インテル・コーポレーション 暗号によって保護されたページング・システム
US20020099946A1 (en) * 1998-04-30 2002-07-25 Howard C. Herbert Cryptographically protected paging subsystem
JP2002529815A (ja) * 1998-11-05 2002-09-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数の暗号化アルゴリズムを用いるセキュアメモリ管理ユニット
WO2002006929A2 (en) * 2000-07-18 2002-01-24 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US20030133574A1 (en) * 2002-01-16 2003-07-17 Sun Microsystems, Inc. Secure CPU and memory management unit with cryptographic extensions

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8290159B2 (en) 2007-03-16 2012-10-16 Ricoh Company, Ltd. Data recovery method, image processing apparatus, controller board, and data recovery program
JP2016009275A (ja) * 2014-06-23 2016-01-18 キヤノン株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
US10445233B2 (en) 2014-06-23 2019-10-15 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium

Also Published As

Publication number Publication date
US20050114688A1 (en) 2005-05-26
US7325115B2 (en) 2008-01-29
KR20050050530A (ko) 2005-05-31
EP1536307B1 (en) 2018-10-10
CN100495364C (zh) 2009-06-03
CN1622061A (zh) 2005-06-01
EP1536307A1 (en) 2005-06-01
KR101120779B1 (ko) 2012-03-23

Similar Documents

Publication Publication Date Title
KR101081118B1 (ko) 보안되는 프로그램을 복원하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체
JP2005158043A (ja) システム・ページング・ファイルの暗号化
KR101054981B1 (ko) 프로그램의 콘텍스트를 보안적으로 저장하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체
US8190917B2 (en) System and method for securely saving and restoring a context of a secure program loader
JP4473330B2 (ja) データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復
TWI497338B (zh) 暫時秘密之保全儲存
JP4851200B2 (ja) アイテムに対する使用権をアクセス権に基づいて生成する方法およびコンピュータ読取り可能媒体
EP3103048B1 (en) Content item encryption on mobile devices
KR100678927B1 (ko) 비보안 영역에 보안 영역을 할당하는 방법 및 이를제공하는 휴대용 저장 장치
JP2008527532A (ja) 非セキュリティ領域にセキュリティ領域を割り当てる方法及び携帯用保存装置
JP2004228786A (ja) 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法
KR20130101147A (ko) 인플레이스 암호화 시스템 및 방법
US20090240953A1 (en) On-disk software image encryption
JP2009032130A (ja) 情報処理装置及び方法、コンピュータ読み取り可能な記録媒体、並びに、外部記憶媒体
US20130173877A1 (en) Information processing device, data management method, and storage device
US9881142B2 (en) Method and apparatus for preventing and investigating software piracy
US8307175B2 (en) Data recovery and overwrite independent of operating system
US11829454B2 (en) Method and apparatus for preventing and investigating software piracy
JP2009169868A (ja) 記憶領域アクセス装置及び記憶領域のアクセス方法
US20240045933A1 (en) Method and apparatus for preventing and investigating software piracy
JP2011039716A (ja) 情報記憶媒体、情報システム
JP2013092960A (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100908

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101217