JP6399821B2 - 情報処理装置、情報処理方法、およびコンピュータプログラム - Google Patents

情報処理装置、情報処理方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP6399821B2
JP6399821B2 JP2014128624A JP2014128624A JP6399821B2 JP 6399821 B2 JP6399821 B2 JP 6399821B2 JP 2014128624 A JP2014128624 A JP 2014128624A JP 2014128624 A JP2014128624 A JP 2014128624A JP 6399821 B2 JP6399821 B2 JP 6399821B2
Authority
JP
Japan
Prior art keywords
storage device
data
main storage
page
nonvolatile
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.)
Active
Application number
JP2014128624A
Other languages
English (en)
Other versions
JP2016009275A (ja
Inventor
加藤 謙介
謙介 加藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014128624A priority Critical patent/JP6399821B2/ja
Priority to US14/745,215 priority patent/US10445233B2/en
Publication of JP2016009275A publication Critical patent/JP2016009275A/ja
Application granted granted Critical
Publication of JP6399821B2 publication Critical patent/JP6399821B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、不揮発性の主記憶装置を備えた情報処理装置に関する。
不揮発性で高速な読み書きが可能なメモリが実用化され、パーソナルコンピュータなどの情報処理装置内における主記憶装置としての実装が現実的になってきている。不揮発性の主記憶装置としては、磁気抵抗メモリ(MRAM)、強誘電体メモリ(FeRAM)、抵抗変化メモリ(ReRAM)、相変化メモリ(PRAM)などがある。
不揮発性の主記憶装置は、メモリに通電を行うことなくデータを記憶し続けることができる。そのため、不揮発性の主記憶装置を実装した情報処理装置のサスペンド時の電力消費は、揮発性の主記憶装置を実装した情報処理装置に比べてほぼ不要になる。
また、常に、コンピュータプログラムを不揮発性の主記憶装置に保持し続けることができるため、プログラム実行前のロード処理を省略することができ、情報処理装置の起動時間を短縮することができる。
特開2008−204507号公報 特開2012−168737号公報
しかしながら、不揮発性の主記憶装置を実装した情報処理装置のデメリットとして、記憶されている情報の漏えい防止が難しいことが挙げられる。
すなわち、ダイナミック・ランダム・アクセス・メモリ(DRAM)などの揮発性の主記憶装置を実装した情報処理装置においては、メモリへの電源供給が停止した場合には、主記憶装置内に記憶されている情報は自然に失われる。
しかしながら、不揮発性の主記憶装置を実装した情報処理装置においては、電源供給が停止しても、主記憶装置内に記憶されている情報は保持されてしまう。よって、電源供給を停止した後、情報が保持されたままの主記憶装置を、情報処理装置から物理的に取り外すことも可能である。
すなわち、不揮発性の主記憶装置を実装した情報処理装置においては、主記憶装置の抜き取りによる情報漏えいのリスクが高くなってしまうという課題がある。
特に、一般的なオペレーティング・システムにおいては、メモリを有効に活用するためのメモリ管理機構が備わっているが、当該メモリ管理機構の処理に起因して情報漏えいが起きる可能性がある。例えば、Linux(登録商標)のメモリ管理機構では、ユーザもしくはユーザ・プログラムの指示がなかったとしても、オペレーティング・システムの自動的な処理によって、主記憶装置同士や外部記憶装置との間で、データのコピーがなされてしまうことがある。
つまり、コンピュータに対してユーザからの明示的な指示がなかったとしても、機密性の高いデータが不揮発性の主記憶装置に記憶されてしまう可能性がある。
上記の情報漏えいの防止策としては、主記憶装置内に記憶されている情報を暗号化するという方法がある。特許文献1には、MRAMを実装した情報処理装置における情報漏えい防止技術が開示されている。特許文献1に開示されている技術では、スクランブル情報によって暗号化されたデータをMRAMに記憶する。暗号化されたデータは、復号用の鍵情報がないと復号することは出来ないようになっている。
しかしながら、特許文献1に開示されている技術においては、スクランブル処理・スクランブル解除処理のための仕組みが必要である。よって、MRAM内のデータを直接利用することができず、データの読み込みおよび書き込みの処理速度が低下するおそれがある。
また、引用文献2には、揮発性のメモリ部と不揮発性のメモリ部とで構成された情報処理装置において、情報漏えいを防止することが開示されている。具体的な情報漏えいを防止する仕組みとしては、データの一部を揮発性のメモリ部に記憶させる。上記処理によって、仮に、不揮発性のメモリ部に記憶されたデータが漏えいしたとしても、データの一部は揮発性のメモリ部に記憶されているため、全てのデータが漏えいすることは防止することが出来る。引用文献2に開示されている技術では、メモリ部に記憶されているデータを暗号化するわけではないので、処理速度が損なわれる可能性は低い。
しかしながら、データの一部については漏えいのリスクがあり、引用文献2に開示されている技術では、保護技術としては必ずしも完全ではなかった。
本発明は、上記課題を鑑みてなされたものであり、不揮発性の主記憶装置を備えた情報処理装置において、データの書き込みおよび読み込みに関する処理速度の低下を抑えつつ、機密データの漏えいを防止することを目的とする。
本発明における情報処理装置は、不揮発性の主記憶装置と不揮発性の二次記憶装置とを有し、ページング方式で記憶されているデータをページごとに前記不揮発性の主記憶装置に記憶させる情報処理装置であって、前記ページのフラグが機密を示すか否かを判定する判定手段と、前記判定手段において前記フラグが機密を示すと判定された場合、前記ページ内のデータを前記不揮発性の主記憶装置に記憶させることを禁止する制御手段と、を有し、前記制御手段は、前記ページ内のデータが揮発性の記憶装置に記憶されており、かつ前記判定手段において前記フラグが機密を示すと判定された場合、前記ページ内のデータを前記不揮発性の主記憶装置に記憶させることを禁止することを特徴とする。
本発明によれば、不揮発性の主記憶装置を備えた情報処理装置において、データの書き込みおよび読み込みに関する処理速度の低下を抑えつつ、機密データの漏えいを防止することができる。
本実施形態における情報処理装置の構成を示す図である。 本実施形態におけるメモリ管理機構の構成を示す図である。 本実施形態におけるメモリ確保部の処理を示したフローチャートである。 本実施形態におけるデータコピー制限部の処理を示したフローチャートである。 本実施形態を構成する各記憶装置におけるフラグの状態を示す図である。
図1は、本実施形態における情報処理装置の概略構成を示す図である。
100は、本実施形態における情報処理装置の各構成装置を制御するためのCPU100である。
101は、主記憶装置として機能し、コンピュータプログラムや各種データなどを記憶することが可能な揮発性の主記憶装置101である。揮発性の主記憶装置101の具体例としては、ダイナミック・ランダム・アクセス・メモリ(DRAM)などがある。揮発性の主記憶装置101は、通電状態においては、データを保持することが出来るが、通電が停止されると、データは消失してしまう。
102は、主記憶装置として機能し、揮発性の主記憶装置101と同様に、コンピュータプログラムや各種データなどを記憶することが可能な不揮発性の主記憶装置102である。揮発性の主記憶装置101に記憶されたデータは、通電が停止されると消失してしまうが、不揮発性の主記憶装置102は、通電が停止されたとしても、データを保持することが可能である。不揮発性の主記憶装置102の具体例としては、磁気抵抗メモリ(MRAM)、強誘電体メモリ(FeRAM)、抵抗変化メモリ(ReRAM)、相変化メモリ(PRAM)などがある。
103は、コンピュータプログラムや各種データを記憶することが出来る不揮発性の外部記憶装置103である。不揮発性の外部記憶装置104は、二次記憶装置として機能する。不揮発性の外部記憶装置103の具体例としては、ハードディスク・ドライブ(HDD)やソリッド・ステイト・ドライブ(SSD)などである。
デバイス104は、CPU100によって初期化される周辺機器であって、PCI接続のグラフィックボードやUSB接続のスキャナ、プリンタなど様々な機器である。尚、デバイス104は、複数の周辺機器から構成されても良い。
セキュリティ・チップ105は、TPM(Trusted Platform Module)などの、暗号化のための機構を備えた耐タンパ性の機器である。
CPU100は、不揮発性の外部記憶装置103に含まれるコンピュータプログラムを揮発性の主記憶装置101または不揮発性の主記憶装置102に展開する。
ただし、不揮発性の主記憶装置102に既にプログラムが存在する場合、展開を省略してもよい。CPU100は、揮発性の主記憶装置101または不揮発性の主記憶装置102からコンピュータプログラムをフェッチして処理を実行する。
図2は、本実施形態におけるメモリ管理機構の構成を示す図である。
図2に示す通り、本実施形態におけるメモリ管理機構は、メモリ確保部200、データコピー制限部201、データ出力制限部202、データ入力制限部203、データ退避部204、データ復帰部205から構成されている。尚、メモリ管理機構を構成する各機構は、オペレーティング・システム207の制御によって実現され、情報処理装置のメモリ管理を担う。
各機構は、オペレーティング・システム207から要求を受け付け、主記憶装置206へアクセスすることで、主記憶装置206を構成する揮発性の主記憶装置101及び不揮発性の主記憶装置102を利用する。また、データ出力制限部202及びデータ入力制限部203、データ退避部204、データ復帰部205は、不揮発性の外部記憶装置103を利用する。
システムが起動すると、ブートローダはオペレーティング・システム207を不揮発性の主記憶装置102にロードする。オペレーティング・システム207は、不揮発性の主記憶装置102の領域を用いて、オペレーティング・システム207自身の初期化を行う。
オペレーティング・システム207は、揮発性の主記憶装置101と不揮発性の主記憶装置102を利用可能な状態にする。オペレーティング・システム207は、揮発性の主記憶装置101と不揮発性の主記憶装置102の物理メモリをページ・フレームに分割する。そして、物理アドレス空間のページに対応付ける。各ページを管理するために、機密性を示すフラグを含めた、ページの状態を示す管理テーブルを割り当てる。当該フラグによってページ内のデータの処理が管理されることになる。このようなメモリ管理方式は、一般的に、ページング方式と呼ばれている。
図3は、本実施形態におけるメモリ確保部の処理を示したフローチャートである。また、本実施形態におけるディマンド・ページングのメモリ確保処理を示す。以下、各ステップの処理について説明する。
(ステップS300)本ステップから処理を開始する。
(ステップS301)ステップS301においては、メモリ確保部200は、ユーザもしくはユーザ・プログラムがシステムコールによりメモリ確保要求を行ったことを検知する。メモリ確保要求は、オペレーティング・システム207を介して受け付ける。
(ステップS302)ステップS302においては、ステップS301におけるメモリ確保要求に基づき、メモリ確保部200は、仮想メモリのメモリ領域を確保する。
(ステップS303)ステップS303においては、メモリ確保部200は、ユーザもしくはユーザ・プログラムがシステムコールに基づき、機密情報の指定を受け付ける。本システムコールは、仮想メモリ領域を機密データ用とする要求であり、オペレーティング・システム207から受け付ける。尚、機密情報の指定は、仮想メモリ領域の一部を指定するものであっても良いし、仮想メモリ領域の全体を指定するものであっても良い。また、本システムコールは、ステップS301のシステムコールと統一しても良い。
(ステップS304)ステップS304においては、メモリ確保部200は、ステップS303において機密情報の指定があるか否かを判定する。機密情報の指定があると判定された場合は、ステップS305に処理を進める。機密情報の指定がないと判定された場合は、ステップS306に処理を進める。
(ステップS305)ステップS305において、メモリ確保部200は、機密とする領域情報を主記憶装置206に記憶する。
(ステップS306)ステップS306においては、メモリ確保部200は、ページフォルト例外を受け付ける。ユーザもしくはユーザ・プログラムの確保した領域に書き込みが行われると、メモリ確保部200は、CPU100からページフォルト例外を受け付けることになる。
(ステップS307)ステップS307においては、メモリ確保部200は、制御手段として機能し、ステップS304において機密情報の指定があったか否かを判定する。機密情報の指定があった場合、ステップS308に処理を進める。機密情報の指定がなかった場合、ステップS309に処理を進める。
(ステップS308)ステップS308においては、ページフォルト例外対象の仮想メモリアドレスと主記憶装置206に記憶された機密とする領域情報とが重なるか否かを判定する。ページフォルト例外対象の仮想メモリアドレスと領域情報が重なると判定された場合、ステップS310に処理を進める。ページフォルト例外対象の仮想メモリアドレスと領域情報が重ならないと判定された場合、ステップS309に処理を進める。
(ステップS309)ステップS309においては、メモリ確保部200は、不揮発性の主記憶装置102の空き容量が不足しているか否かを判定する。空き容量が不足していると判定された場合は、ステップS311に処理を進める。空き容量が不足していないと判定された場合は、ステップS310に処理を進める。尚、本ステップにおける処理は、空き容量が十分かどうかという指標だけではなく、主記憶装置の転送速度を考慮し、メモリ確保を行うべき主記憶装置を決定してもよい。
(ステップS310)ステップS310においては、メモリ確保部200は、不揮発性の主記憶装置102から、物理メモリ領域を確保する。物理メモリ確保後、ステップS312に処理を進める。
(ステップS311)ステップS311においては、メモリ確保部200は、機密データ用の領域として、揮発性の主記憶装置101から物理メモリを確保する。物理メモリ確保後、ステップS312に処理を進める。
(ステップS312)ステップS312においては、メモリ確保部200は、機密データとしてメモリを確保した場合、機密性のフラグをセット(設定)する。具体的な処理としては、元の物理メモリのデータを新たに確保した物理メモリへコピーし、仮想メモリの関連付けを新たに確保した物理メモリ領域へ変更し、機密フラグをセットする。元の物理メモリが、他の仮想メモリと関連付けられていない場合、メモリ確保部200は元の物理メモリ領域を解放する。また、仮想メモリ領域に対応する物理メモリ領域が揮発性の主記憶装置101に属する場合で、物理メモリと仮想メモリが1対1で関連付けされているなら機密フラグをセットすることで完了する。1対多で関連付けされているなら、元データが不揮発性の主記憶装置102に属する場合と同様に処理を行う。
(ステップS313)ステップS313においては、メモリ確保部200は、仮想メモリアドレスと、確保された物理メモリアドレスとを関連付ける。
(ステップS314)本ステップで処理を終了させる。
尚、メモリ確保部200は、上述のステップS310において、オペレーティング・システム207から直接、機密として物理メモリを確保する要求を受け付け、揮発性の主記憶装置101から物理メモリを確保してもよい。
図4は、本実施形態におけるデータコピー制限部の処理を示したフローチャートである。
(ステップS400)本ステップから処理を開始する。
(ステップS401)ステップS401において、データコピー制限部201は、主記憶装置206内でのメモリコピー要求をオペレーティング・システム207から受け付ける。
(ステップS402)ステップS402においては、コピー元の物理メモリアドレスが揮発性の主記憶装置101であるか否かを判定する。本ステップにおいて、コピー元が揮発性の主記憶装置101に属すると判定された場合は、ステップS404に処理を進める。また、コピー元が揮発性の主記憶装置101に属すると判定されなかった場合、すなわち、不揮発性の主記憶装置102に属すると判定された場合は、ステップS403に処理を進める。
(ステップS403)ステップS403においては、データコピー制限部201が判定手段として機能し、コピー元のデータのページに機密性のフラグがセットされているか否かを判定する。機密フラグがセットされている場合、不揮発性の記憶手段に記憶させることは禁止すべきであるため、ステップS406に処理を進める。機密フラグがセットされていない場合、ステップS404に処理を進める。
(ステップS404)ステップS404においては、データコピー制限部201は、不揮発性の主記憶装置102が、データを記録させるために記憶容量不足か否かを判定する。記憶容量不足である場合、ステップS406に処理を進める。記憶容量不足でない場合、ステップS405に処理を進める。
(ステップS405)ステップS405においては、データコピー制限部201は不揮発性の主記憶装置102から物理メモリを確保する。
(ステップS406)ステップS406においては、データコピー制限部201は揮発性の主記憶装置101から物理メモリを確保する。
(ステップS407)ステップS405において、データコピー制限部201はコピー元の物理メモリのデータを新たに確保した物理メモリへコピーする。
(ステップS406)本ステップで処理を終了させる。
以上の処理により、データコピー制限部201は、異なる種類の主記憶装置の間でデータのコピー処理を制限することで、機密データと一般データの混在を防ぐことが可能となる。また、機密データの管理をページのフラグで管理するため、Linux(登録商標)などのページング方式を採用している一般的なオペレーティング・システムにおいて容易な実装が可能となる。
尚、データコピー制限部201は、メモリコピー処理だけでなく、移動処理及びマージ処理も、同一種類の主記憶内で処理するよう制限する。ここでのマージ処理は、データの重複する物理メモリ領域が存在する場合、ひとつの物理メモリ領域にまとめ、他の物理メモリ領域を解放する処理である。データコピー制限部201は、メモリ領域の内容が同一であっても、主記憶装置の種類が異なる場合は、マージ処理を行わない。
オペレーティング・システム207は、不揮発性の外部記憶装置103へ通常のデータを書き込む際に、データをまとまったサイズで出力するため、データを一時的に主記憶装置206へキャッシュする。データ出力制限部202は、このキャッシュ出力処理に制限を行う。データ出力制限部202は、揮発性の主記憶装置101内のデータを一時的にキャッシュする場合、キャッシュするメモリを揮発性の主記憶装置101からのみ確保し、データをキャッシュへ出力し、キャッシュから不揮発性の外部記憶装置103へ出力する。これにより、揮発性の主記憶装置101の機密データの漏えいを防ぐ。
オペレーティング・システム207は、オペレーティング・システム207もしくはアプリケーションが不揮発性の外部記憶装置103のデータを利用する場合、キャッシュとして主記憶へ読み込む。データ入力制限部203は、キャッシュとしてのデータ入力を制限することで、不揮発性の外部記憶装置103の機密データの漏えいを防ぐ。データ入力制限部203は、不揮発性の外部記憶装置103内のデータをキャッシュとして読み込む要求をオペレーティング・システム207から受け付ける。対象データが暗号化装置やオペレーティング・システム207によって暗号化されている場合、データ入力制限部203は、不揮発性の主記憶装置102へのキャッシュを制限する。データ入力制限部203は、揮発性の主記憶装置から物理メモリを確保して対象データをキャッシュとして読み込み、機密フラグをセットする。データ入力制限部203は、USBストレージなどのデバイス106におけるキャッシュとしてのデータ入力も、同様に制限する。
データ退避部204もしくはデータ復帰部205は、オペレーティング・システム207を初期化する際に、不揮発性の主記憶装置102の領域を一定サイズ確保し、スワップデバイスとしてオペレーティング・システム207に登録する。また、不揮発性の外部記憶装置103の領域も、スワップデバイスとしてオペレーティング・システム207に複数登録する。その中のひとつを、機密データ用のスワップデバイスとする。本実施形態において不揮発性の外部記憶装置103のスワップデバイスは、常に十分な空き容量が存在すると仮定する。
図5は、本実施形態を構成する各記憶装置におけるフラグの状態を示す図である。
主記憶装置において、機密データは常に機密フラグがセットされた状態であり、一般データは常に機密フラグがクリアされた状態である。不揮発性の外部記憶装置103において、機密データ及び一般データはフラグを所持しない。データの移動・スワップは、揮発性の主記憶装置101・不揮発性の主記憶装置102間及び、不揮発性の主記憶装置102・不揮発性の外部記憶装置103間で行う。不揮発性の主記憶装置102において、機密データは、暗号化された上でスワップデバイス内に記憶される。不揮発性の外部記憶装置103において、機密データ及び一般データは、スワップデバイス内に記憶される。
オペレーティング・システム207は、ページ回収処理として、データ退避部204及びデータ復帰部205にスワップアウトもしくはスワップインを要求するか、ページ移動を行う。この判断は、データの機密性及び記憶装置の状態に応じて行われる。
揮発性の主記憶装置101に対するスワップアウトの判断について示す。オペレーティング・システム207は、揮発性の主記憶装置101のページをリスト管理することで、ページ回収順を決定する。このリストは、先頭から順にページごとの使用頻度を示す。オペレーティング・システム207は、最低使用頻度のページから順に回収処理を行う。オペレーティング・システム207は、揮発性記主憶装置101に含まれる機密データと一般データの割合を記憶する。オペレーティング・システム207は、揮発性の主記憶装置101の空き容量が足りなくなると、ページ回収処理を行う。ページ回収対象が機密データであり、一般データの割合が多い場合、オペレーティング・システム207は対象データを不揮発性の主記憶装置102へスワップアウトしないと判断し、対象データをリストの後方へ移動させる。ページ回収対象が機密データであり、一般データの割合が少ない場合、オペレーティング・システム207は対象データを不揮発性の主記憶装置102へスワップアウトすると判断する。ページ回収対象が一般データであれば、一般データの割合に関わらず、オペレーティング・システム207は対象データを不揮発性の主記憶装置102へ移動する。
不揮発性の主記憶装置102に対するスワップアウトの判断について示す。オペレーティング・システム207は、不揮発性の主記憶装置102のページもリスト管理する。ただし、揮発性の主記憶装置101のリストとは異なるリストを用いる。ページ回収対象が一般データであり、揮発性の主記憶装置101の空き容量が十分にあれば、オペレーティング・システム207は対象データを揮発性の主記憶装置101へ移動する。ページ回収対象が一般データであり、揮発性の主記憶装置101の空き容量が十分になければ、オペレーティング・システム207は対象データを不揮発性の外部記憶装置103へスワップアウトすると判断する。ページ回収対象が機密データであり、揮発性の主記憶装置101の空き容量が十分にあれば、オペレーティング・システム207は対象データを揮発性の主記憶装置101へスワップインすると判断する。ページ回収対象が機密データであり、揮発性の主記憶装置101の空き容量が十分になければ、オペレーティング・システム207は対象データを不揮発性の外部記憶装置103へスワップアウトすると判断する。
主記憶装置間のページ移動は、オペレーティング・システム207が、図4のフローチャートに従って対象データを不揮発性の主記憶装置102へコピーし、元データを削除することで実現する。オペレーティング・システム207は、機密フラグにより、ページ回収対象が機密データか一般データかを判断する。
復号の処理に比べ不揮発性の外部記憶装置103への出力処理の方が高速な場合、揮発性の主記憶装置101の空き容量に関わらず、暗号化された機密データを揮発性の主記憶装置101から不揮発性の外部記憶装置103へスワップアウトしても良い。
データ退避部204は、オペレーティング・システム207からスワップアウト要求を受け付ける。スワップアウト対象が揮発性の主記憶装置101の機密データの場合、データを暗号化するためのメモリ領域を揮発性の主記憶装置101から確保する。そして、オペレーティング・システム207が生成する共通鍵を用いて、確保したメモリ領域上で機密データを暗号化する。不揮発性の主記憶装置102のスワップデバイスで新たなページを確保し、暗号化したデータと元の機密データのフラグをコピーし、仮想アドレスを変更した上で元の機密データを解放する。スワップアウト対象が不揮発性の主記憶装置102の機密データの場合は以下の処理を行う。すなわち、不揮発性の外部記憶装置103の機密データ用のスワップデバイスへ機密データを出力し、仮想アドレスを変更した上で不揮発性の主記憶装置102のスワップデバイスの機密データを解放する。スワップアウト対象が不揮発性の主記憶装置102の一般データの場合、不揮発性の外部記憶装置103の機密データ用以外のスワップデバイスへ一般データを出力する。そして、仮想アドレスを変更した上で元の一般データを解放する。
暗号化にTPMを利用する場合、オペレーティング・システム207はコールド・ブートの際に、揮発性の主記憶装置101からスワップアウト対象にはならないメモリ領域を確保して、そのメモリ領域に適当な共通鍵を生成する。TPMは、生成した共通鍵をTPM内部の公開鍵を用いて暗号化し、TPM内部のPCRレジスタ(Platform Configuration Register)へ保存する。データ退避部204及びデータ復帰部205は、生成した共通鍵を用いて暗号化・復号を行う。揮発性の主記憶装置101のイメージを生成する際は、共通鍵を暗号化した上でスワップアウトする必要がある。そのため、共通鍵を保存したメモリ領域を揮発性の主記憶装置101内でコピーし、共通鍵を保存したオリジナルのメモリ領域をスワップアウト対象に変更し、コピーした共通鍵によりスワップアウトを行う。サスペンドからブートする際に、オペレーティング・システム207は、揮発性の主記憶装置101からメモリ領域を確保し、TPMから公開鍵を取得する。TPMは、TPM内部のPCRレジスタに保存した共通鍵を、TPM内部の公開鍵により復号する。共通鍵を保存したメモリ領域は、スワップアウト対象から除外する。
データ退避部204及びデータ復帰部205は、機密データを暗号化・復号する際に、圧縮・伸張を行っても良い。
不揮発性の主記憶装置102のスワップデバイスのサイズは、動的に変更しても良い。オペレーティング・システム207は一定時間ごとにスワップデバイスのサイズを監視する。スワップデバイスの使用量が一定サイズ以上になると、オペレーティング・システム207が不揮発性の主記憶装置102から新たな領域を確保してスワップデバイスに追加登録することで、スワップデバイスのサイズを拡大する。オペレーティング・システム207は、スワップデバイスの使用量が一定サイズ以下になると、スワップデバイスから解放可能な領域を解放することでスワップデバイスのサイズを縮小する。
データ復帰部205は、オペレーティング・システム207からスワップイン要求を受け付ける。スワップイン対象が不揮発性の主記憶装置102の暗号化された機密データの場合、データを復号するためのメモリ領域を揮発性の主記憶装置101から確保する。そして、オペレーティング・システム207が生成する共通鍵を用いて、確保したメモリ領域上で機密データを復号する。機密フラグもコピーし、仮想アドレスを変更した上で復号元の機密データを解放する。スワップイン対象が不揮発性の主記憶装置102の機密データの場合、不揮発性の主記憶装置102のスワップデバイスからメモリ領域を確保し、機密データを読み込む。機密フラグをセットし、仮想アドレスを変更した上で不揮発性の外部記憶装置103の機密データを解放する。スワップイン対象が不揮発性の主記憶装置102の一般データの場合、不揮発性の主記憶装置102のスワップデバイス以外からメモリ領域を確保し、一般データを読み込む。機密フラグをセットせず、仮想アドレスを変更した上で不揮発性の外部記憶装置103の一般データを解放する。不揮発性の主記憶装置102のデータが機密かどうかは、データを格納するスワップデバイスが機密データ用かどうかにより判断する。
オペレーティング・システム207は、メモリ領域の解放やプロセスの終了によりスワップアウトされたデータが不要になった場合、該当するスワップアウト先のデータを破棄する。機密データが不揮発性の主記憶装置102で暗号化され、さらに不揮発性の外部記憶装置103へスワップアウトされている場合、不揮発性の主記憶装置102と不揮発性の外部記憶装置103の両方のデータを破棄する。
オペレーティング・システム207は、不揮発性の外部記憶装置103の複数のスワップデバイスをひとつにまとめても良い。この場合、スワップアウトされたデータが機密かどうかを識別可能にする必要がある。例えば、スワップ先を指し示すスワップアウトページ識別子に、スワップアウトされたデータが機密かどうかを示すフラグを加えれば良い。もしくは、スワップデバイスの各データが機密かどうかを示すビットマップを作成しても良い。
サスペンド時は、オペレーティング・システム207が揮発性の主記憶装置101の全ての機密データを不揮発性の主記憶装置102に暗号化を行った上でスワップアウトし、全ての一般データを不揮発性の主記憶装置102に移動する。不揮発性の主記憶装置102に十分な空き容量がない場合は、不揮発性の主記憶装置102のデータを不揮発性の外部記憶装置103にスワップアウトする。そして、サスペンドから復帰する際に、機密データを不揮発性の主記憶装置102から揮発性の主記憶装置101に復号を行った上でスワップインし、必要であれば不揮発性外部記憶103から不揮発性の主記憶装置102にスワップインする。もしくは、ページが要求された段階でスワップインする。これにより、電源断を伴うサスペンドであっても、揮発性の主記憶装置101内のデータが失われない。
以上のように本実施形態では、揮発性主記憶と不揮発性主記憶を備えた装置に対し、機密フラグを用いて機密データを管理することで、機密データの漏えいを効率的に防止することができる。
本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が、コンピュータが読み取り可能なコンピュータプログラムを読み出して実行する処理である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (5)

  1. 不揮発性の主記憶装置と不揮発性の二次記憶装置とを有し、ページング方式で記憶されているデータをページごとに前記不揮発性の主記憶装置に記憶させる情報処理装置であっ
    て、
    前記ページのフラグが機密を示すか否かを判定する判定手段と、
    前記判定手段において前記フラグが機密を示すと判定された場合、前記ページ内のデー
    タを前記不揮発性の主記憶装置に記憶させることを禁止する制御手段と、を有し、前記制御手段は、前記ページ内のデータが揮発性の記憶装置に記憶されており、かつ前記判定手段において前記フラグが機密を示すと判定された場合、前記ページ内のデータを前記不揮発性の主記憶装置に記憶させることを禁止することを特徴とする情報処理装置。
  2. 前記判定手段において前記フラグが機密を示すと判定され、前記ページ内のデータを揮発性の主記憶装置に記憶させた場合、当該記憶されたデータのページのフラグを、機密を示すフラグに設定する設定手段を更に有することを特徴とする請求項1に記載の情報処理装置。
  3. データを暗号化する暗号化手段を更に有し、
    前記制御手段は、前記判定手段において前記フラグが機密を示すと判定され、かつ前記ページ内のデータを前記不揮発性の二次記憶装置に記憶させる場合、前記ページ内のデータを、前記暗号化手段で暗号化して前記不揮発性の二次記憶装置に記憶させることを特徴とする請求項1に記載の情報処理装置。
  4. 不揮発性の主記憶装置と不揮発性の二次記憶装置とを有し、ページング方式におけるデータをページごとに前記不揮発性の主記憶装置に記憶させる情報処理方法であって、
    前記ページのフラグが機密を示すか否かを判定する判定工程と、
    前記判定工程において前記フラグが機密を示すと判定された場合、前記ページ内のデー
    タを前記不揮発性の主記憶装置に記憶させることを禁止する制御工程と、を有し、
    前記制御工程では、前記ページ内のデータが揮発性の記憶装置に記憶されており、かつ前記判定手段において前記フラグが機密を示すと判定された場合、前記ページ内のデータを前記不揮発性の主記憶装置に記憶させることを禁止することを特徴とする情報処理方法。
  5. コンピュータを、
    不揮発性の主記憶装置と不揮発性の二次記憶装置とを有し、ページング方式におけるデータをページごとに前記不揮発性の主記憶装置に記憶させる情報処理装置であって、
    前記ページのフラグが機密を示すか否かを判定する判定手段と、
    前記判定手段において前記フラグが機密を示すと判定された場合、前記ページ内のデータを前記不揮発性の主記憶装置に記憶させることを禁止する制御手段と、を有し、前記制御手段は、前記ページ内のデータが揮発性の記憶装置に記憶されており、かつ前記判定手段において前記フラグが機密を示すと判定された場合、前記ページ内のデータを前記不揮発性の主記憶装置に記憶させることを禁止することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。
JP2014128624A 2014-06-23 2014-06-23 情報処理装置、情報処理方法、およびコンピュータプログラム Active JP6399821B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014128624A JP6399821B2 (ja) 2014-06-23 2014-06-23 情報処理装置、情報処理方法、およびコンピュータプログラム
US14/745,215 US10445233B2 (en) 2014-06-23 2015-06-19 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014128624A JP6399821B2 (ja) 2014-06-23 2014-06-23 情報処理装置、情報処理方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016009275A JP2016009275A (ja) 2016-01-18
JP6399821B2 true JP6399821B2 (ja) 2018-10-03

Family

ID=55226803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014128624A Active JP6399821B2 (ja) 2014-06-23 2014-06-23 情報処理装置、情報処理方法、およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6399821B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107959656B (zh) * 2016-10-14 2021-08-31 阿里巴巴集团控股有限公司 数据安全保障系统及方法、装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242550A (ja) * 1999-02-19 2000-09-08 Hitachi Ltd データ運用管理方法
JP4281421B2 (ja) * 2003-06-06 2009-06-17 ソニー株式会社 情報処理システム及びその制御方法、並びにコンピュータ・プログラム
US7325115B2 (en) * 2003-11-25 2008-01-29 Microsoft Corporation Encryption of system paging file
JP2007213473A (ja) * 2006-02-13 2007-08-23 Nippon Telegr & Teleph Corp <Ntt> 不揮発性記憶装置を用いるデータ処理装置およびデータ処理方法
JP5067839B2 (ja) * 2006-02-15 2012-11-07 株式会社沖データ データ格納装置および画像形成装置
JP2011186554A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法

Also Published As

Publication number Publication date
JP2016009275A (ja) 2016-01-18

Similar Documents

Publication Publication Date Title
US10445233B2 (en) Information processing apparatus, information processing method, and storage medium
US11714924B2 (en) Unified addressable memory
US8689212B2 (en) Information processing device for controlling an application able to access a predetermined device, and control method using an information processing device for controlling an application able to access a predetermined device
KR101054981B1 (ko) 프로그램의 콘텍스트를 보안적으로 저장하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체
KR101081118B1 (ko) 보안되는 프로그램을 복원하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체
US20160378690A1 (en) System and methods for executing encrypted code
JP5404798B2 (ja) 仮想記憶管理装置及び記憶管理装置
KR101323858B1 (ko) 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법
JP2003051819A (ja) マイクロプロセッサ
JPWO2006107095A1 (ja) 計算機システム,メモリ管理方法,およびそのプログラム
KR101213572B1 (ko) 하이퍼바이저를 활용한 사용자 어플리케이션 메모리 보호방법
JP6095330B2 (ja) 情報処理装置及びその制御方法、プログラム
CN111566650A (zh) 管理加密系统中的密码术密钥集合
JP5338435B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
US11789874B2 (en) Method, apparatus, and system for storing memory encryption realm key IDs
JP2009020871A (ja) 外部記憶装置
JP6399821B2 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
JP6351397B2 (ja) 情報処理装置および情報処理方法、およびコンピュータプログラム
JP2009258925A (ja) 計算機システムおよび計算機システムのメモリ管理方法
WO2020041583A1 (en) Method, apparatus, and system for storing memory encryption realm key ids
JP5795418B2 (ja) キャッシュ装置、及び記憶システム
JP5627754B2 (ja) 仮想記憶管理装置及び記憶管理装置
US20160357470A1 (en) Computer readable medium, information processing apparatus, and method
US20240086336A1 (en) Storage device deleting encryption key, method of operating the same, and method of operating electronic device including the same
JP2007213473A (ja) 不揮発性記憶装置を用いるデータ処理装置およびデータ処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180904

R151 Written notification of patent or utility model registration

Ref document number: 6399821

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151