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

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

Info

Publication number
JP2016009273A
JP2016009273A JP2014128622A JP2014128622A JP2016009273A JP 2016009273 A JP2016009273 A JP 2016009273A JP 2014128622 A JP2014128622 A JP 2014128622A JP 2014128622 A JP2014128622 A JP 2014128622A JP 2016009273 A JP2016009273 A JP 2016009273A
Authority
JP
Japan
Prior art keywords
data
storage device
main storage
nonvolatile
information processing
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.)
Granted
Application number
JP2014128622A
Other languages
English (en)
Other versions
JP6351397B2 (ja
Inventor
加藤 謙介
Kensuke Kato
謙介 加藤
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 JP2014128622A priority Critical patent/JP6351397B2/ja
Priority to US14/745,215 priority patent/US10445233B2/en
Publication of JP2016009273A publication Critical patent/JP2016009273A/ja
Application granted granted Critical
Publication of JP6351397B2 publication Critical patent/JP6351397B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】 本発明は、不揮発性の主記憶装置を備えた情報処理装置において、データの書き込みおよび読み込みに関する処理速度の低下を抑えつつ、機密データの漏えいを防止することを目的とする。
【解決手段】 本発明における情報処理装置は、主記憶装置と不揮発性の二次記憶装置とを用いて、データを処理する情報処理装置であって、不揮発性の主記憶装置と、揮発性の主記憶装置と、前記データが機密のデータであるか否かを判定する判定手段と、前記判定手段において前記データが機密のデータであると判定された場合、前記データを前記揮発性の主記憶装置に記憶させ、前記判定手段において前記データが機密のデータでないと判定された場合、前記データを前記不揮発性の主記憶装置に記憶させる制御手段と、を有することを特徴とする。
【選択図】 図2

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は、後述する不揮発性の外部記憶装置104に備え付けられた暗号化装置103である。暗号化装置103は、データの暗号化および復号を行う機能を有し、不揮発性の外部記憶装置104に入出力されるデータの暗号化および復号を行う。尚、暗号化装置103は、不揮発性の外部記憶装置104の同一個体内に搭載されていてもよい。
104は、コンピュータプログラムや各種データを記憶することが出来る不揮発性の外部記憶装置104である。不揮発性の外部記憶装置104は、二次記憶装置として機能する。不揮発性の外部記憶装置104の具体例としては、ハードディスク・ドライブ(HDD)やソリッド・ステイト・ドライブ(SSD)などである。
105は、不揮発性の外部記憶装置104と同様に、コンピュータプログラムや各種データを記憶することが出来る不揮発性の外部記憶装置105である。不揮発性の外部記憶装置104には、暗号化装置103が備え付けられていたが、不揮発性の外部記憶装置105には備え付けられていない。
デバイス106は、CPU100によって初期化される周辺機器であって、PCI接続のグラフィックボードやUSB接続のスキャナ、プリンタなど様々な機器である。尚、デバイス106は、複数の周辺機器から構成されても良い。
システム起動の際には、ブートローダはオペレーティング・システムを不揮発性の主記憶装置102にロードする。オペレーティング・システムは、不揮発性の主記憶装置102の領域を用いて、オペレーティング・システム自身の初期化の処理を行う。更に、オペレーティング・システムは、揮発性の主記憶装置101と不揮発性の主記憶装置102とをコンピュータプログラムで利用可能な状態にする。
システム起動後、コンピュータプログラムを実行する処理は以下の通りとなる。すなわち、CPU100は、不揮発性の外部記憶装置104もしくは不揮発性の外部記憶装置105に記憶されているコンピュータプログラムを揮発性の主記憶装置101または不揮発性の主記憶装置102に展開する。
ただし、不揮発性の主記憶装置102に既にコンピュータプログラムが記憶されている場合、上記展開の処理を省略することが可能である。CPU100は、揮発性の主記憶装置101または不揮発性の主記憶装置102からコンピュータプログラムをフェッチして処理を実行する。
図2は、本実施形態における情報処理装置のメモリ管理機構の構成を示す図である。
図2に示す通り、本実施形態におけるメモリ管理機構は、メモリ確保部200、データコピー制限部201、データ出力制限部202、データ入力制限部203から構成されている。尚、メモリ管理機構を構成する各機構は、オペレーティング・システム204の制御によって実現され、情報処理装置のメモリ管理を担う。具体的には、メモリ確保部200は、ディマンド・ページングのメモリ確保処理などを行う。データコピー制限部201は、コピー・オン・ライト機構などに含まれるメモリコピー処理などを行う。データ出力制限部202は、スワップアウトのデータ出力処理などを行う。データ入力制限部203は、キャッシュ入力処理などを行う。
図2における主記憶装置205は、図1における揮発性の主記憶装置101及び不揮発性の主記憶装置102から構成される。不揮発性の外部記憶装置206は、図1における暗号化装置103、不揮発性の外部記憶装置104、不揮発性の外部記憶装置105から構成される。
メモリ管理機構を構成する各機構は、オペレーティング・システム204から要求を受け付け、主記憶装置205へアクセスすることで、主記憶装置205を構成する揮発性の主記憶装置101及び不揮発性の主記憶装置102を利用する。
また、データ出力制限部202及びデータ入力制限部203は、不揮発性の外部記憶装置206へ暗号化装置103を介してアクセスするか、不揮発性の外部記憶装置206へ直接アクセスする。不揮発性の外部記憶装置206は複数あってもよく、単体でもよい。
続いて、メモリ管理機構を構成する各機構が行う処理について、図3〜図6を用いて説明する。
図3は、本実実施形態におけるメモリ確保部200の処理を示したフローチャートである。同時に、本実施形態におけるディマンド・ページングのメモリ確保処理を示すフローチャートでもある。以下、各ステップの処理について説明する。
(ステップS300)本ステップから処理を開始する。
(ステップS301)ステップS301においては、メモリ確保部200は、ユーザもしくはユーザ・プログラムがシステムコールによりメモリ確保要求を行ったことを検知する。メモリ確保要求は、オペレーティング・システム204を介して受け付ける。
(ステップS302)ステップS302においては、ステップS301におけるメモリ確保要求に基づき、メモリ確保部200は、仮想メモリのメモリ領域を確保する。
(ステップS303)ステップS303においては、メモリ確保部200は、ユーザもしくはユーザ・プログラムがシステムコールに基づき、機密情報の指定を受け付ける。本システムコールは、仮想メモリ領域を機密データ用とする要求であり、オペレーティング・システム204から受け付ける。尚、機密情報の指定は、仮想メモリ領域の一部を指定するものであっても良いし、仮想メモリ領域の全体を指定するものであっても良い。また、本システムコールは、ステップS301のシステムコールと統一しても良い。
(ステップS304)ステップS304においては、メモリ確保部200は、判定手段として機能し、ステップS303において機密情報の指定があるか否かを判定する。機密情報の指定があると判定された場合は、ステップS305に処理を進める。機密情報の指定がないと判定された場合は、ステップS306に処理を進める。
(ステップS305)ステップS305において、メモリ確保部200は、機密とする領域情報を主記憶装置205に記憶する。
(ステップS306)ステップS306においては、メモリ確保部200は、ページフォルト例外を受け付ける。ユーザもしくはユーザ・プログラムの確保した領域に書き込みが行われると、メモリ確保部200は、CPU100からページフォルト例外を受け付けることになる。
(ステップS307)ステップS307においては、メモリ確保部200は、制御手段として機能し、ステップS304において機密情報の指定があったか否かを判定する。機密情報の指定があった場合、ステップS308に処理を進める。機密情報の指定がなかった場合、ステップS309に処理を進める。
(ステップS308)ステップS308においては、ページフォルト例外対象の仮想メモリアドレスと主記憶装置205に記憶された機密とする領域情報とが重なるか否かを判定する。ページフォルト例外対象の仮想メモリアドレスと領域情報が重なると判定された場合、ステップS310に処理を進める。ページフォルト例外対象の仮想メモリアドレスと領域情報が重ならないと判定された場合、ステップS309に処理を進める。
(ステップS309)ステップS309においては、メモリ確保部200は、不揮発性の主記憶装置102の空き容量を確認した上で、物理メモリ領域を確保する。物理メモリ確保後、ステップS311に処理を進める。尚、本ステップにおける処理は、空き容量が十分かどうかという指標だけではなく、主記憶装置の転送速度を考慮し、メモリ確保を行うべき主記憶装置を決定してもよい。
(ステップS310)ステップS310においては、メモリ確保部200は、機密データ用の領域として、揮発性の主記憶装置101から物理メモリを確保する。空き容量が十分であれば、物理メモリ確保後、ステップS311に処理を進める。
(ステップS311)ステップS311においては、メモリ確保部200は、仮想メモリアドレスと、確保された物理メモリアドレスとを関連付ける。
(ステップS312)本ステップで処理を終了させる。
尚、メモリ確保部200は、上述のステップS310において、オペレーティング・システム204から直接、機密として物理メモリを確保する要求を受け付け、揮発性の主記憶装置101から物理メモリを確保してもよい。
また、メモリ確保部200は、既に通常データとしてメモリが確保されている場合であっても、対象となるメモリ領域を機密データ用とする指定を受け付けることも可能である。
この場合、メモリ確保部200は、機密指定の記憶領域を設定する設定手段として金城する。
まず、ユーザもしくはユーザ・プログラムは、システムコールにより、既に物理メモリが割り当てられた仮想メモリ領域を機密データ用と指定する。指定された仮想メモリ領域に対応する物理メモリ領域が不揮発性の主記憶装置102に属する場合、メモリ確保部200は、不揮発性の主記憶装置102から確保した物理メモリの替わりに、揮発性の主記憶装置101から物理メモリを確保する。メモリ確保部200は、元の物理メモリのデータを新たに確保した物理メモリへコピーし、仮想メモリの関連付けを新たに確保した物理メモリ領域へ変更する。元の物理メモリが、他の仮想メモリと関連付けられていない場合、メモリ確保部200は元の物理メモリ領域を解放する。データが暗号化されたデータを復号したデータである場合、揮発性の主記憶装置に記憶するように制御しても良い。以上が、メモリ確保部200の処理の説明である。
図4は、本実施形態におけるデータコピー制限部201の処理を示すフローチャートである。同時に、本実施形態におけるコピー・オン・ライト機構などに含まれるメモリコピー処理を示すフローチャートである。以下、各ステップの処理について説明する。
(ステップS400)本ステップから処理を開始する。
(ステップS401)ステップS401において、データコピー制限部201は、主記憶装置205内でのメモリコピー要求をオペレーティング・システム204から受け付ける。
(ステップS402)ステップS402においては、コピー元の物理メモリアドレスが揮発性の主記憶装置206であるか否かを判定する。本ステップにおいて、コピー元が揮発性の主記憶装置206に属すると判定された場合は、ステップS404に処理を進める。また、コピー元が揮発性の主記憶装置206に属すると判定されなかった場合、すなわち、不揮発性の主記憶装置207に属すると判定された場合は、ステップS403に処理を進める。
(ステップS403)ステップS403においては、データコピー制限部201は不揮発性の主記憶装置207から物理メモリを確保する。
(ステップS404)ステップS404においては、データコピー制限部201は揮発性の主記憶装置206から物理メモリを確保する。
(ステップS405)ステップS405において、データコピー制限部201はコピー元の物理メモリのデータを新たに確保した物理メモリへコピーする。
(ステップS406)本ステップで処理を終了させる。
以上の処理により、データコピー制限部201は、異なる種類の主記憶装置の間でデータのコピー処理を制限することで、機密データと一般データの混在を防ぐことが可能となる。
尚、データコピー制限部201は、メモリコピー処理だけでなく、移動処理及びマージ処理についても、同一種類の主記憶装置内で処理するように制限してもよい。ここでのマージ処理とは、データが重複する物理メモリ領域が存在する場合、重複するデータを一つの物理メモリ領域にまとめ、他の物理メモリ領域を解放する処理である。本実施形態におけるデータコピー制限部201は、メモリ領域の内容が同一であっても、主記憶装置の種類が異なる場合は、マージ処理を行わないようにする。
図5は、本実施形態におけるデータ出力制限部202の処理を示すフローチャートである。同時に、本実施形態におけるスワップアウトのデータ出力処理を示すフローチャートである。以下、各ステップの処理について説明する。
(ステップS500)本ステップから処理を開始する。
(ステップS501)ステップS501において、データ出力制限部202は、オペレーティング・システム204からスワップアウトの要求を受け付ける。
(ステップS502)ステップS502において、データ出力制限部202は、スワップアウト元の物理メモリアドレスが揮発性の主記憶装置101と不揮発性の主記憶装置102のどちらに属するかを判定する。
(ステップS503)ステップS503において、スワップアウト元が不揮発性の主記憶装置102であると判定された場合、スワップアウトが許可されたものとして、ステップS505へ進める。また、スワップアウト元が揮発性の主記憶装置101であると判定された場合、ステップS504に処理を進める。
(ステップS504)ステップS503においては、暗号機構が存在しないか否かを判定する。暗号機構が存在しないと判定された場合は、ステップS507に処理を進める。また、暗号機構が存在すると判定された場合は、ステップS506に処理を進める。
(ステップS505)ステップS505においては、データ出力制限部202は、ユーザもしくはユーザ・プログラムが予め指定した不揮発性の主記憶装置102のスワップアウト先へデータをスワップアウトする。
(ステップS506)ステップS506においては、データ出力制限部202は、ユーザもしくはユーザ・プログラムが予め指定した揮発性の主記憶装置101のスワップアウト先へデータをスワップアウトする。
(ステップS507)ステップS507においては、データ出力制限部202は、オペレーティング・システム204から受け付けたスワップアウトの要求を拒絶する。
(ステップS508)本ステップにおいて処理を終了させる。
以上の処理により、データ出力制限部202は、スワップアウトによるデータ出力を制限することで、揮発性の主記憶装置101に記憶されている機密データの漏えいを防ぐことが出来る。
尚、ステップS504において、暗号機構が存在しないと判定された場合であっても、ユーザもしくはユーザ・プログラムによってスワップアウト対象のデータが予め暗号化されている場合は、ステップS506へ進む処理を行っても良い。ステップS504において、暗号機構が存在しないと判定され、かつスワップアウト対象のデータが予め暗号化されていない場合は、ステップS507へ進む処理を行っても良い。
また、不揮発性の外部記憶装置208の構成及び設定は、動的に変化する可能性がある。そのため、本実施形態におけるオペレーティング・システム204は、不揮発性の外部記憶装置208の構成及び設定の変更の際に情報を再取得しても良い。すなわち、装置構成や設定の変更がなされた場合、各不揮発性の外部記憶装置104および不揮発性の外部記憶装置105に暗号化装置103が備わっているか否かの情報を再度、取得する。もしくはオペレーティング・システム204による暗号化が行われるか否かの情報を再度取得しても良い。取得された情報は主記憶装置205に保存される。
また、本実施形態におけるオペレーティング・システム204は、揮発性の主記憶装置101のスワップアウト先と、不揮発性の主記憶装置102のスワップアウト先を、同一のスワップ・パーティションにする指示を受け付けないようにしても良い。同一のスワップ・パーティションにデータをスワップアウトしてしまうと、スワップ元が不明になり、スワップ元と同種の主記憶装置へスワップインできなくなるためである。
また、不揮発性の外部記憶装置208へ通常のデータを書き込む際に、データをまとまったサイズで出力するため、オペレーティング・システム204はデータを一時的に主記憶装置205へキャッシュしても良い。データ出力制限部202は、このキャッシュ出力処理にも制限を行っても良い。データ出力制限部202は、不揮発性の主記憶装置206内のデータを一時的にキャッシュする場合、キャッシュするメモリを揮発性の主記憶装置101からのみ確保し、データをキャッシュへ出力し、キャッシュから不揮発性の外部記憶装置208へ出力する。
以上の処理によって、揮発性の主記憶装置101の機密データの漏えいを防ぐことが可能となる。
図6は、本実施形態におけるデータ入力制限部203の処理を示すフローチャートである。同時に、本実施形態における不揮発性の外部記憶装置208のキャッシュ入力処理を示すフローチャートである。以下、各ステップの処理について説明する。
(ステップS600)本ステップから処理を開始する。
(ステップS601)ステップS601においては、データ入力制限部203は、不揮発性の外部記憶装置208内のデータをキャッシュとして読み込む要求をオペレーティング・システム204から受け付ける。
(ステップS602)ステップS602においては、読み込み元となる不揮発性の外部記憶装置208に暗号化機構が存在しないか否かを判定する。暗号化機構が存在しないと判定された場合、ステップS604に処理を進める。暗号化機構が存在すると判定された場合、ステップS603に処理を進める。
(ステップS603)ステップS603においては、データ入力制限部203は揮発性の主記憶装置206から物理メモリを確保する。
(ステップS604)ステップS604においては、データ入力制限部203は不揮発性の主記憶装置207から物理メモリを確保する。
(ステップS605)ステップS605において、データ入力制限部203は、読み込み対象である不揮発性の外部記憶装置208内のデータを確保した物理メモリにキャッシュとして読み込む。
(ステップS606)本ステップにおいて処理を終了させる。
尚、データ入力制限部203は、スワップインの処理を制御しても良い。データ入力制限部203は、ユーザもしくはユーザ・プログラムが指定したスワップアウト先の情報を遡り、スワップアウト元と同一の主記憶装置205である揮発性の主記憶装置206もしくは不揮発性の主記憶装置207から物理メモリを確保する。そして、データ入力制限部203は、揮発性の主記憶装置206のスワップアウトされたデータを、確保した物理メモリへ入力することでスワップインを行う。
また、サスペンド時は、オペレーティング・システム204が揮発性の主記憶装置206の全てのデータを不揮発性の外部記憶装置208にスワップアウトする。そして、サスペンドから復帰する際に、不揮発性の外部記憶装置208から揮発性の主記憶装置206にスワップインするか、ページが要求された段階で不揮発性の外部記憶装置208から揮発性の主記憶装置206に読み込みを行う。これにより、電源断を伴うサスペンドであっても、揮発性の主記憶装置206内のデータが失われることを防止することが出来る。以上の処理により、本実施形態によれば、データの取得元の情報に基づき記憶すべき主記憶装置を選択するため、処理速度の低下を防止しつつ、機密情報の漏えいを防止することが出来る。
(第二の実施形態)
次に、第二の実施形態に係る情報処理装置の情報漏えい防止手法について説明する。本実施形態は、不揮発性の主記憶装置を備えた情報処理装置において、揮発性の主記憶装置内のデータのスワップアウト制御・スワップイン制御を行う手法に関する。尚、第一実施形態と同様の構成及び動作については、説明を省略する。
図7は、本実施形態における情報処理装置の概略構成を示す図である。前述の通り、100〜106の構成は第一の実施形態と同様であるため、説明を省略する。
700は、暗号化のための機構を備えた耐タンパ性の機器であるセキュリティ・チップ700である。暗号化のための機構としては、TPM(Trusted Platform Module)などがある。尚、図7においては、第一の実施形態における暗号化装置103及び不揮発性の外部記憶装置104は図示されていない。しかしながら、本実施形態においても、情報処理装置は、暗号化装置103及び不揮発性の外部記憶装置104を備えても良い。
図8は、本実施形態における情報処理装置のメモリ管理機構の構成を示す図である。
本メモリ管理機構は、メモリ確保部200及びデータコピー制限部201、データ入力制限部203、データ退避部800、データ復帰部801から構成されている。データ退避部800及びデータ復帰部801は、オペレーティング・システム802から要求を受け付け、主記憶装置205へアクセスする。主記憶装置205にアクセスすることによって、主記記憶装置205を構成する揮発性記憶装置101及び不揮発性記憶装置102を利用する。
また、データ入力制限部203及びデータ退避部800、データ復帰部801は、不揮発性の外部記憶装置803へアクセスする。不揮発性の外部記憶装置803へアクセスすることによって、不揮発性の外部記憶803を構成する不揮発性の外部記憶装置105を利用する。不揮発性の外部記憶装置803は、暗号化装置103を介して不揮発性の外部記憶装置104へアクセスしても良い。
データ退避部800もしくはデータ復帰部801は、オペレーティング・システム802を初期化する際には、不揮発性の主記憶装置102の領域を一定サイズ確保する。そして、不揮発性の主記憶装置102を、スワップデバイスとしてオペレーティング・システム802に登録する。
ここで、オペレーティング・システム802におけるスワップアウトの判断処理の概要について説明する。オペレーティング・システム802は、揮発性の主記憶装置101に記憶されているデータのページをリスト管理することで、ページ回収順を決定する。このリストは、先頭から順にページごとの使用頻度を示している。オペレーティング・システム802は、揮発性の主記憶装置101の空き容量が足りなくなると、最低使用頻度のページから順に回収処理を行う。回収処理において、実際に使用されていないページであると判断されたデータはスワップアウトの対象となり、対象ページのスワップアウトをデータ退避部800へ要求する。回収処理において、実際は使用されているページであると判断されたデータに関しては、対象ページをリストの末尾へ移動させる。
図9は、本実施形態におけるデータ退避部800の処理を示すフローチャートである。同時に、本実施形態におけるスワップアウトのデータ出力処理を示すフローチャートである。以下、各ステップの処理について説明する。
(ステップS900)本ステップから処理を開始する。
(ステップS901)ステップS901において、データ退避部800は、オペレーティング・システム802からスワップアウトの要求を受け付ける。
(ステップS902)ステップS902において、データ退避部800は、スワップアウト元の物理メモリアドレスが揮発性の主記憶装置101と不揮発性の主記憶装置102のどちらに属するかを判定する。
(ステップS903)ステップS903において、スワップアウト元が不揮発性の主記憶装置102であるか否かを判定する。スワップアウト元が不揮発性の主記憶装置102であると判定された場合は、ステップS905に処理を進める。また、スワップアウト元が不揮発性の主記憶装置102でないと判定された場合は、ステップS904に処理を進める。
(ステップS904)ステップS904においては、不揮発性の外部記憶803へデータをスワップアウトする。
(ステップS905)ステップS905においては、データを暗号化するためのメモリ領域を揮発性の主記憶から確保する。
(ステップS906)ステップS906においては、オペレーティング・システム802が生成する共通鍵を用いて、ステップS905で確保したメモリ領域上でスワップアウト対象のデータを暗号化する。
(ステップS907)ステップS907において、暗号化したデータを不揮発性の主記憶装置102へスワップアウトする。
(ステップS908)ステップS908において処理を終了させる。
本実施形態において、暗号化にTPMを利用する場合、オペレーティング・システム802はコールド・ブートの際に、揮発性の主記憶装置101からスワップアウト対象にはならないメモリ領域を確保する。そして、確保したメモリ領域に対して適切な共通鍵を生成する。
TPMは、生成した共通鍵をTPM内部の公開鍵を用いて暗号化し、確保したメモリ領域にTPMの子孫鍵を保存する。この鍵は、データ退避部800及びデータ復帰部801が、暗号化・複合のために共通鍵として用いる。データ退避部800及びデータ復帰部801は、生成した共通鍵を用いて暗号化・復号を行う。揮発性の主記憶装置101のイメージを生成する際は、共通鍵を暗号化した上でスワップアウトする必要がある。そのため、共通鍵を保存したメモリ領域を揮発性の主記憶装置101内でコピーし、共通鍵を保存したオリジナルのメモリ領域をスワップアウト対象に変更し、コピーした共通鍵によりスワップアウトを行う。
サスペンドからブートする際に、オペレーティング・システム802は、揮発性の主記憶装置101からメモリ領域を確保し、TPMから秘密鍵を取得する。共通鍵を保存したメモリ領域は、スワップアウト対象から除外する。
データ退避部800もしくはデータ復帰部801は、不揮発性の外部記憶装置803にもスワップアウト・スワップインを行う。不揮発性の外部記憶装置803へのスワップアウト・スワップインの処理は第一の実施形態と同様であるため、説明は省略する。
尚、暗号化・復号は、TPM内部の機能により処理しても良い。また、データ退避部800及びデータ復帰部801は、機密データを暗号化もしくは復号する際には、データの圧縮もしくは伸張を行っても良い。
不揮発性の主記憶装置102のスワップデバイスのサイズは、動的に変更しても良い。オペレーティング・システム802は一定時間ごとにスワップデバイスのサイズを監視する。スワップデバイスの使用量が一定サイズ以上になると、オペレーティング・システム802が不揮発性の主記憶装置102から新たな領域を確保してスワップデバイスに追加登録することで、スワップデバイスのサイズを拡大する。オペレーティング・システム802は、スワップデバイスの使用量が一定サイズ以下になると、スワップデバイスから解放可能な領域を解放することでスワップデバイスのサイズを縮小する。
図10は、本実施形態におけるデータ復帰部801の処理を示すフローチャートである。同時に、本実施形態におけるスワップインのデータ入力処理を示すフローチャートである。以下、各ステップの処理について説明する。
(ステップS1000)本ステップから処理を開始する。
(ステップS1001)ステップS1001において、データ復帰部801は、オペレーティング・システム802からスワップインの要求を受け付ける。
(ステップS1002)ステップS1002において、データ復帰部801は、スワップアウト先の物理メモリアドレスが揮発性の主記憶装置101と不揮発性の主記憶装置102のどちらに属するかを判定する。
(ステップS1003)ステップS1003において、スワップアウト先が不揮発性の主記憶装置102であるか否かを判定する。不揮発性の主記憶装置102であると判定された場合は、ステップS1006に処理を進める。一方、不揮発性の主記憶装置102でないと判定された場合は、ステップS1004に処理を進める。
(ステップS1004)ステップS1004においては、不揮発性の主記憶装置でメモリ領域を確保する。
(ステップS1005)揮発性の外部記憶803のスワップデータをステップS1004で確保したメモリ領域へスワップインする。
(ステップS1006)ステップS1006においては、スワップアウトしたデータが不揮発性の主記憶装置102に存在するか否かを判定する。スワップアウトしたデータが不揮発性の主記憶装置102に存在しないと判定された場合、すなわち、スワップアウト先が不揮発性の外部記憶803である場合、ステップS1010に処理を進める。一方で、スワップアウトしたデータが不揮発性の主記憶装置102に存在すると判定された場合、ステップS1007に処理を進める。
(ステップS1007)ステップS1007においては、揮発性の主記憶装置でメモリ領域を確保する。
(ステップS1008)ステップS1008において、不揮発性の主記憶装置102のスワップデータを、ステップS1007で確保したメモリ領域(揮発性の主記憶装置)へスワップインする。
(ステップS1009)ステップS1009において、ステップS1008でスワップインしたデータを、ステップS1007で確保したメモリ領域を用いて復号する。
(ステップS1010)ステップS1010においては、揮発性の主記憶装置でメモリ領域を確保する。
(ステップS1011)ステップS1011において、不揮発性の外部記憶803のスワップデータをステップS1010で確保したメモリ領域へスワップインし、ステップS1007へ処理を進める。
(ステップS1012)ステップS1000において、処理を終了させる。
オペレーティング・システム802は、メモリ領域の解放やプロセスの終了によりスワップアウトされたデータが不要になった場合、該当するスワップアウト先のデータを破棄しても良い。機密データが不揮発性の主記憶装置102で暗号化され、さらに、不揮発性の外部記憶装置105へスワップアウトされている場合、不揮発性の主記憶装置102と不揮発性の外部記憶装置105の両方のデータを破棄する。
サスペンド時は、オペレーティング・システム802が揮発性の主記憶装置101の全てのデータを不揮発性の主記憶装置102に、暗号化を行った上でスワップアウトする。不揮発性の主記憶装置102に十分な空き容量がない場合は、不揮発性の主記憶装置102のデータを不揮発性の外部記憶装置803にスワップアウトする。そして、サスペンドから復帰する際に、不揮発性の主記憶装置102から揮発性の主記憶装置101に復号を行った上でスワップインし、必要であれば不揮発性の外部記憶装置803から不揮発性の主記憶装置102にスワップインする。もしくは、ページが要求された段階でスワップインする。これにより、電源断を伴うサスペンドであっても、揮発性の主記憶装置101内のデータが失われない。
以上のように本実施形態では、揮発性の主記憶と不揮発性の主記憶を備えた装置に対し、機密データを揮発性の主記憶で管理することにより、機密情報の漏えいを防止することができる。
本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が、コンピュータが読み取り可能なプログラムを読み出して実行する処理である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (11)

  1. 主記憶装置と不揮発性の二次記憶装置とを用いて、データを処理する情報処理装置であって、
    不揮発性の主記憶装置と、
    揮発性の主記憶装置と、
    前記データが機密のデータであるか否かを判定する判定手段と、
    前記判定手段において前記データが機密のデータであると判定された場合、前記データを前記揮発性の主記憶装置に記憶させ、前記判定手段において前記データが機密のデータでないと判定された場合、前記データを前記不揮発性の主記憶装置に記憶させる制御手段と、を有することを特徴とする情報処理装置。
  2. 前記判定手段は、前記データの取得元が機密指定の記憶領域である場合、前記データを機密のデータと判定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記揮発性の主記憶装置内に、前記機密指定の記憶領域を設定する設定手段を更に有することを特徴とする請求項2に記載の情報処理装置。
  4. 前記判定手段は、前記データの取得元が揮発性の記憶装置である場合、前記データを機密のデータと判定することを特徴とする請求項1に記載の情報処理装置。
  5. 前記揮発性の主記憶装置に記憶されているデータを二次記憶装置にスワップアウトさせる場合、前記二次記憶装置に暗号化機構が備えられている場合、当該スワップアウトを許可し、前記二次記憶装置に暗号化機構が備えられていない場合、当該スワップアウトを拒絶するスワップアウト制御手段を更に有することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記判定手段は、前記データの取得元が暗号化機構を備えた記憶装置である場合、前記データを機密のデータであると判定し、前記データの取得元が暗号化機構を備えた記憶装置でない場合、前記データを機密のデータであると判定することを特徴とする請求項1に記載の情報処理装置。
  7. 前記揮発性の主記憶装置に記憶されているデータを二次記憶装置にスワップアウトさせる場合、当該データを暗号化して前記不揮発性の主記憶装置に記憶するスワップアウト制御手段を更に有することを特徴とする請求項1に記載の情報処理装置。
  8. 前記不揮発性の主記憶装置に記憶されているデータをスワップインさせる場合、当該データを復号して前記揮発性の主記憶装置に記憶するスワップイン制御手段を更に有することを特徴とする請求項7に記載の情報処理装置。
  9. 前記判定手段は、前記データが暗号化されたデータを復号したデータである場合、前記データを機密のデータと判定することを特徴とする請求項1に記載の情報処理装置。
  10. 不揮発性の主記憶装置と揮発性の主記憶装置と不揮発性の二次記憶装置とを用いて、データを処理する情報処理方法であって、
    前記データが機密のデータであるか否かを判定する判定工程と、
    前記判定工程において前記データが機密のデータであると判定された場合、前記データを前記揮発性の主記憶装置に記憶させ、前記判定工程において前記データが機密のデータでないと判定された場合、前記データを前記不揮発性の主記憶装置に記憶させる制御工程と、を有することを特徴とする情報処理装置。
  11. コンピュータを、主記憶装置と不揮発性の二次記憶装置とを用いて、データを処理する情報処理装置であって、
    不揮発性の主記憶装置と、
    揮発性の主記憶装置と、
    前記データが機密のデータであるか否かを判定する判定手段と、
    前記判定手段において前記データが機密のデータであると判定された場合、前記データを前記揮発性の主記憶装置に記憶させ、前記判定手段において前記データが機密のデータでないと判定された場合、前記データを前記不揮発性の主記憶装置に記憶させる制御手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。
JP2014128622A 2014-06-23 2014-06-23 情報処理装置および情報処理方法、およびコンピュータプログラム Active JP6351397B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014128622A JP6351397B2 (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
JP2014128622A JP6351397B2 (ja) 2014-06-23 2014-06-23 情報処理装置および情報処理方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016009273A true JP2016009273A (ja) 2016-01-18
JP6351397B2 JP6351397B2 (ja) 2018-07-04

Family

ID=55226801

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP6351397B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334168A (ja) * 1992-02-18 1993-12-17 Hitachi Ltd フラッシュメモリを用いた情報処理装置
JPH07121444A (ja) * 1993-10-21 1995-05-12 Fuji Xerox Co Ltd 補助記憶装置
JP2004362426A (ja) * 2003-06-06 2004-12-24 Sony Corp 情報処理システム及びその制御方法、並びにコンピュータ・プログラム
JP2010282540A (ja) * 2009-06-08 2010-12-16 Canon Inc 記憶装置及びその制御方法、並びにプログラム
JP2012231380A (ja) * 2011-04-27 2012-11-22 Konica Minolta Business Technologies Inc 画像形成方法および画像形成装置
JP2013004036A (ja) * 2011-06-21 2013-01-07 Fuji Xerox Co Ltd 情報処理装置および画像形成装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334168A (ja) * 1992-02-18 1993-12-17 Hitachi Ltd フラッシュメモリを用いた情報処理装置
JPH07121444A (ja) * 1993-10-21 1995-05-12 Fuji Xerox Co Ltd 補助記憶装置
JP2004362426A (ja) * 2003-06-06 2004-12-24 Sony Corp 情報処理システム及びその制御方法、並びにコンピュータ・プログラム
JP2010282540A (ja) * 2009-06-08 2010-12-16 Canon Inc 記憶装置及びその制御方法、並びにプログラム
JP2012231380A (ja) * 2011-04-27 2012-11-22 Konica Minolta Business Technologies Inc 画像形成方法および画像形成装置
JP2013004036A (ja) * 2011-06-21 2013-01-07 Fuji Xerox Co Ltd 情報処理装置および画像形成装置

Also Published As

Publication number Publication date
JP6351397B2 (ja) 2018-07-04

Similar Documents

Publication Publication Date Title
US10445233B2 (en) Information processing apparatus, information processing method, and storage medium
CN103198450B (zh) 图像形成装置
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
KR101081118B1 (ko) 보안되는 프로그램을 복원하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체
KR101054981B1 (ko) 프로그램의 콘텍스트를 보안적으로 저장하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체
US10452859B2 (en) File system metadata protection
US10671762B2 (en) Unified addressable memory
WO2011033600A1 (ja) 仮想記憶管理装置
KR101323858B1 (ko) 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법
US20090132804A1 (en) Secured live software migration
JP6095330B2 (ja) 情報処理装置及びその制御方法、プログラム
EP2477132A2 (en) Apparatus and method for managing digital rights using virtualization technique
JP2020528608A5 (ja)
JP5338435B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
CN111566650A (zh) 管理加密系统中的密码术密钥集合
KR20050050530A (ko) 시스템 페이징 파일의 암호화
JP2009020871A (ja) 外部記憶装置
JP6351397B2 (ja) 情報処理装置および情報処理方法、およびコンピュータプログラム
JP6399821B2 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
JP5062687B2 (ja) 情報処理装置
KR102414866B1 (ko) 정보 처리 장치, 정보 처리 장치의 제어 방법 및 프로그램
JP2004272816A (ja) マルチタスク実行システム及びマルチタスク実行方法
JP2007213473A (ja) 不揮発性記憶装置を用いるデータ処理装置およびデータ処理方法
CN116108454B (zh) 内存页面管理方法及装置
JP5627754B2 (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 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180330

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: 20180508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180605

R151 Written notification of patent or utility model registration

Ref document number: 6351397

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151