JP2017162242A - データ保護プログラム、データ保護方法、及びデータ保護装置 - Google Patents

データ保護プログラム、データ保護方法、及びデータ保護装置 Download PDF

Info

Publication number
JP2017162242A
JP2017162242A JP2016046731A JP2016046731A JP2017162242A JP 2017162242 A JP2017162242 A JP 2017162242A JP 2016046731 A JP2016046731 A JP 2016046731A JP 2016046731 A JP2016046731 A JP 2016046731A JP 2017162242 A JP2017162242 A JP 2017162242A
Authority
JP
Japan
Prior art keywords
encryption
processing
key
server
leakage
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
JP2016046731A
Other languages
English (en)
Other versions
JP6721825B2 (ja
Inventor
裕毅 長谷川
Yuki Hasegawa
裕毅 長谷川
悠 熊埜御堂
Yu Kumanomido
悠 熊埜御堂
和也 渡邉
Kazuya Watanabe
和也 渡邉
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016046731A priority Critical patent/JP6721825B2/ja
Publication of JP2017162242A publication Critical patent/JP2017162242A/ja
Application granted granted Critical
Publication of JP6721825B2 publication Critical patent/JP6721825B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】漏洩リスクへの対処を迅速化すること。【解決手段】複数の処理装置21、22、31に関する情報を記憶する記憶部11と、複数のデータ領域41、42のそれぞれについて、データ領域と、複数の暗号鍵21a、22aのうち該データ領域の暗号処理に用いる暗号鍵と、第1群20に属する複数の処理装置21、22のうち該暗号鍵を記憶する処理装置との対応関係31aを第2群30に属する処理装置31に記憶させ、第1群20又は第2群30に属する処理装置から情報漏洩の可能性を知らせる漏洩通知50を受信し、該漏洩通知50を送信した処理装置が第2群30に属する場合には、対応関係31aを変更する制御部12とを有する、データ保護装置10が提供される。【選択図】図1

Description

本発明は、データ保護プログラム、データ保護方法、及びデータ保護装置に関する。
近年、サービスプロバイダがクラウド環境で動作させる仮想マシンをサービスとして顧客に供給するIaaS(Infrastructure as a Service)が広く利用されている。IaaSは、仮想マシンの仮想ディスクファイルを顧客にサービスとして提供する。仮想ディスクファイルに含まれる顧客の情報資産が漏洩するのを防止するため、仮想ディスクファイルは暗号化された状態で管理される。
このようなクラウドシステムでは、管理者が管理者権限を利用して顧客の情報資産を不正入手するリスクが懸念される。そのため、仮想ディスクファイルへのアクセス時に利用される暗号鍵を仮想ディスクファイルとは異なる場所で管理する方法が提案されている。
1つの方法として、顧客自身や信頼性の高い第三者機関が暗号鍵を管理し、仮想マシンの起動時に暗号鍵を提供する仕組みが提案されている。また、記憶装置に格納されたデータを管理するデータ管理サーバが、そのデータの暗号化に利用する暗号鍵をその記憶装置には置かず、データ管理サーバのメインメモリに置いて管理する方法が提案されている。
特表2013−528872号公報 特開2007−26402号公報
提案されている方法のように暗号鍵を仮想ディスクファイルと分離して管理したとしても、仮想ディスクファイルへのアクセス時に、暗号処理を実行するコンピュータのメモリ領域に暗号鍵が一時的に格納される。一方、クラウドシステムの管理者は、管理者権限を利用して、そのコンピュータのメモリダンプを取得することができる。そのため、その管理者がメモリダンプを解析して暗号鍵を取得するリスクが存在する。
暗号鍵の漏洩が疑われる場合、漏洩リスクへの対処として、暗号鍵を変更し、変更後の暗号鍵を利用して仮想ディスクファイルの再暗号化が行われる。仮想ディスクファイルは容量が大きいため、再暗号化には長い時間がかかり、漏洩リスクへの対処が遅延する。対処時間の長期化は迅速な運用再開の妨げになる。
1つの側面によれば、本開示の目的は、漏洩リスクへの対処を迅速化することが可能なデータ保護プログラム、データ保護方法、及びデータ保護装置を提供することにある。
一態様によれば、複数の処理装置に関する情報を記憶する記憶部と、複数のデータ領域のそれぞれについて、データ領域と、複数の暗号鍵のうち該データ領域の暗号処理に用いる暗号鍵と、第1群に属する複数の処理装置のうち該暗号鍵を記憶する処理装置との対応関係を第2群に属する処理装置に記憶させ、第1群又は第2群に属する処理装置から情報漏洩の可能性を知らせる漏洩通知を受信し、該漏洩通知を送信した処理装置が第2群に属する場合には、対応関係を変更する制御部とを有する、データ保護装置が提供される。
漏洩リスクへの対処を迅速化することができる。
第1実施形態に係るデータ保護システムの一例を示した図である。 第2実施形態に係るデータ保護システムの一例を示した図である。 第2実施形態に係る仮想ディスクファイルの領域と、その領域の暗号化に用いる鍵との関係について説明するための図である。 第2実施形態に係る仮想化ホストサーバ及びI/O処理サーバが保持する情報について説明するための図である。 第2実施形態に係る各種サーバの機能を実現可能なハードウェアの一例を示した図である。 第2実施形態に係る仮想化ホストサーバが有する機能の一例を示したブロック図である。 第2実施形態に係るマッピング情報の一例を示した図である。 第2実施形態に係るI/O処理サーバが有する機能の一例を示したブロック図である。 第2実施形態に係る鍵情報の一例を示した図である。 第2実施形態に係る漏洩監視サーバ及び状態管理サーバが有する機能の一例を示したブロック図である。 第2実施形態に係る状態情報の一例を示した図である。 第2実施形態に係る仮想ディスクファイルの作成と暗号化に関する処理の流れを示した第1のシーケンス図である。 第2実施形態に係る仮想ディスクファイルの作成と暗号化に関する処理の流れを示した第2のシーケンス図である。 第2実施形態に係るI/O処理の流れを示したシーケンス図である。 第2実施形態に係るI/O処理の中で、I/O処理サーバによるデータの読み書きに関する処理及び再暗号化に関する処理の流れを示した第1のフロー図である。 第2実施形態に係るI/O処理の中で、I/O処理サーバによるデータの読み書きに関する処理及び再暗号化に関する処理の流れを示した第2のフロー図である。 第2実施形態に係る鍵IDの変更処理の流れを示した第1のシーケンス図である。 第2実施形態に係る鍵IDの変更処理の流れを示した第2のシーケンス図である。 第2実施形態に係る暗号鍵の変更処理の流れを示したシーケンス図である。 第2実施形態に係る暗号鍵の変更処理の中で、再暗号化に関する処理の流れを示した第1のシーケンス図である。 第2実施形態に係る暗号鍵の変更処理の中で、再暗号化に関する処理の流れを示した第2のシーケンス図である。
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。
第1実施形態は、複数のデータ領域を有するデータをデータ領域毎に異なる暗号鍵で暗号化して管理するデータ保護システムに関する。また、第1実施形態は、暗号鍵を保持する処理装置、又は暗号鍵とデータ領域との対応関係を記憶する処理装置で情報漏洩の可能性が生じたときに、漏洩リスクに対して迅速に対処する仕組みを開示する。図1は、第1実施形態に係るデータ保護システムの一例を示した図である。
図1に示すように、第1実施形態に係るデータ保護システムは、データ保護装置10、処理装置21、22、31を有する。なお、データ保護システムに含まれる処理装置の数は4以上であってもよい。以下では、処理装置21、22を第1群20に属する処理装置と呼び、処理装置31を第2群30に属する処理装置と呼ぶ場合がある。また、データ保護装置10の機能は、第1群20に属する処理装置に搭載されていてもよい。
データ保護装置10は、記憶部11及び制御部12を有する。
記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。制御部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。制御部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路であってもよい。制御部12は、例えば、記憶部11又は他のメモリに記憶されたプログラムを実行する。
記憶部11は、処理装置21、22、31に関する情報を記憶する。例えば、記憶部11は、処理装置21、22、31のそれぞれと、所属する群(第1群20又は第2群30)との対応関係を示す情報を記憶する。図1の例では、処理装置21、22が第1群20の所属であり、処理装置31が第2群30の所属であることを示す情報が記憶部11に格納されている。
なお、第1群20に属する処理装置はデータ40の暗号処理を担当する。データ40は、データ領域41、42を有する。データ領域41の暗号処理には暗号鍵21aが利用される。一方、データ領域42の暗号処理には暗号鍵22aが利用される。
図1の例では、処理装置21が暗号鍵21aを記憶している。また、処理装置22が暗号鍵22aを記憶している。データ領域41にデータを書き込む場合、処理装置21は、暗号鍵21aを利用して書き込むデータを暗号化する。また、データ領域41のデータを読み出す場合、処理装置21は、暗号鍵21aを利用して読み出すデータを復号する。同様に、データ領域42に対する書き込み又は読み出しが生じた場合、処理装置22が暗号鍵22aを利用してデータの暗号化又は復号の処理を実行する。
制御部12は、データ領域41と、データ領域41の暗号処理に用いる暗号鍵21aと、第1群20に属する複数の処理装置21、22のうち暗号鍵21aを記憶する処理装置21との対応関係を第2群30に属する処理装置31に記憶させる。また、制御部12は、データ領域42と、データ領域42の暗号処理に用いる暗号鍵22aと、第1群20に属する複数の処理装置21、22のうち暗号鍵22aを記憶する処理装置22との対応関係を第2群30に属する処理装置31に記憶させる。そして、処理装置31は、これらの対応関係を含む情報(対応関係31a)を保持する。
また、制御部12は、第1群20又は第2群30に属する処理装置から情報漏洩の可能性を知らせる漏洩通知50を受信し、該漏洩通知50を送信した処理装置が第2群30に属する場合には、対応関係31aを変更する。
処理装置21、22、31は、情報漏洩の可能性が疑われる事象を検出した場合、データ保護装置10に対して漏洩通知50を送信する。情報漏洩の可能性が疑われる事象としては、例えば、メモリダンプが発生した場合や、メモリダンプに対してアクセスする操作が行われた場合などがある。漏洩通知50には、漏洩通知50の送信元を特定するための情報(例えば、IPアドレスなど)が含まれる。
図1の例では、処理装置31が漏洩通知50を送信している。この場合、漏洩通知50を受信した制御部12は、処理装置31の所属先(この例では第2群30)を特定する。この例では、漏洩通知50の所属先が第2群30であるため、制御部12は、対応関係31aを変更する。例えば、制御部12は、処理装置21が記憶している暗号鍵21aを処理装置22に記憶させ、処理装置22が記憶している暗号鍵22aを処理装置21に記憶させ、処理装置31が記憶している対応関係31aを更新させる。
処理装置31における情報漏洩の可能性は、対応関係31aの漏洩リスクに繋がる。しかし、対応関係31aを更新すれば、漏洩した対応関係31aを保持する悪意者がデータ40を取得するリスクを抑圧できる。この対処を行う際、処理装置21、22が記憶する暗号鍵21a、22aの入れ替えと、処理装置31が記憶する対応関係31aの更新とが生じるが、データ40の再暗号化は行わなくてもよい。そのため、データ40の再暗号化にかかる処理時間を省略することができ、迅速な対処が可能になる。
なお、第1群20に所属する処理装置に情報漏洩の可能性が生じた場合、データ40の再暗号化が行われることになるが、該当する処理装置に対応するデータ領域を新たな暗号鍵で再暗号化をすれば、データ40の漏洩リスクを抑圧することができる。例えば、処理装置21に漏洩リスクが生じた場合、暗号鍵21aを新たな暗号鍵に交換し、新たな暗号鍵でデータ領域41を再暗号化すれば、暗号鍵21aの漏洩リスクに対処することができる。この場合も対応関係31aは更新される。この方法では、再暗号化される容量がデータ40全体を再暗号化する場合に比べて小さいため、やはり迅速な対処が可能になる。
上記の説明では、第2群30の処理装置31に情報漏洩の可能性が生じた場合に、対応関係31aを変更する方法として、暗号鍵21a、22aを入れ替える方法を示した。この方法に関する変形例として、例えば、暗号鍵21a、22aの識別情報(鍵ID)を変更する方法の適用も可能である。
図1の例では、説明の都合上、対応関係31aを示す表の中に暗号鍵の符号を記載しているが、暗号鍵21a、22aの鍵IDがそれぞれA、Bである場合、例えば、AをC、BをDに書き換えるだけで対応関係31aを更新することができる。この場合、制御部12は、更新後の鍵IDを処理装置21、22、31に通知し、更新後の鍵IDを用いて暗号処理を実行するように設定する。この変形例によれば、暗号鍵21a、22aの入れ替えをせずに済むため、さらに迅速な対処が可能になる。
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、複数の領域を有する仮想ディスクファイルを領域毎に異なる暗号鍵で暗号化して管理するデータ保護システムに関する。また、第2実施形態は、後述するI/O処理サーバや仮想化ホストサーバで情報漏洩の可能性が生じたときに、漏洩リスクに対して迅速に対処する仕組みを開示する。
[2−1.システム]
まず、図2を参照しながら、第2実施形態に係るデータ保護システムについて説明する。図2は、第2実施形態に係るデータ保護システムの一例を示した図である。
図2に示すように、第2実施形態に係るデータ保護システムは、仮想化ホストサーバ101、102、I/O処理サーバ201、202、203、及びストレージ装置300を有する。さらに、このデータ保護システムは、漏洩監視サーバ401、状態管理サーバ402、及びポータルサーバ403を有する。なお、仮想化ホストサーバの数は3以上であってもよい。また、I/O処理サーバの数は2又は4以上であってもよい。
仮想化ホストサーバ101、102は、仮想マシンを稼働させるコンピュータである。仮想マシンとは、コンピュータの動作をエミュレートするソフトウェアやフレームワーク、或いは、エミュレートされた仮想のコンピュータを言う。仮想マシン上ではOS(Operating System)が動作し、そのOS上で各種アプリケーションソフトウェアが動作しうる。仮想マシンは、ストレージ装置300に格納される仮想ディスクファイルを利用する。
I/O処理サーバ201、202、203は、仮想化ホストサーバ101、102から仮想ディスクファイルに対するI/Oアクセスの要求(Write要求/Read要求)を受け付ける。I/Oアクセスの要求を受け付けたI/O処理サーバ201、202、203は、受け付けた要求に応じて、ストレージ装置300に格納された仮想ディスクファイルにアクセスする。そして、I/O処理サーバ201、202、203は、仮想ディスクファイルへアクセスした結果をI/Oアクセスの要求元に返す。
I/Oアクセスの実行時に、I/O処理サーバ201、202、203は、仮想ディスクファイルに対する暗号処理(暗号化/復号)を実行する。例えば、Write要求を受け付けたI/O処理サーバ201は、Write対象のデータを暗号化し、仮想ディスクファイルのデータとして暗号化したデータをストレージ装置300に書き込む。また、Read要求を受け付けたI/O処理サーバ201は、Read対象として指定された仮想ディスクファイルのデータを復号し、復号したデータをRead要求の要求元へ返す。
ストレージ装置300は、HDDやSSD(Solid State Drive)などの記憶装置を有する。例えば、ストレージ装置300は、複数のHDDを利用して冗長化したRAID(Redundant Arrays of Inexpensive Disks)装置、又は複数のRAID装置を接続したRAIDシステムである。ストレージ装置300には、仮想化ホストサーバ101、102で稼働する仮想マシンの仮想ディスクファイルが格納される。
仮想化ホストサーバ101、102と、I/O処理サーバ201、202、203とは、I/Oアクセス用ネットワーク501を介して接続される。I/Oアクセス用ネットワーク501は、例えば、光回線やLAN(Local Area Network)などの通信回線を利用したネットワークである。また、I/O処理サーバ201、202、203とストレージ装置300とは、SAN(Storage Area Network)503を介して接続される。
仮想化ホストサーバ101、102及びI/O処理サーバ201、202、203と、漏洩監視サーバ401及び状態管理サーバ402とは、管理用ネットワーク502を介して接続される。管理用ネットワーク502は、例えば、光回線やLANなどの通信回線を利用したネットワークである。
漏洩監視サーバ401は、仮想化ホストサーバ101、102及びI/O処理サーバ201、202、203のそれぞれを対象に、情報漏洩の可能性がある操作が行われていないかを監視するコンピュータである。状態管理サーバ402は、仮想化ホストサーバ101、102で稼働する仮想マシンの仮想ディスクファイルを対象に、仮想ディスクファイルの暗号化状態を管理するコンピュータである。ポータルサーバ403は、仮想マシンを利用するユーザ向けのポータルサイトを提供するコンピュータである。このポータルサイトは、例えば、仮想マシンや仮想ディスクファイルの設定操作などを受け付ける。
(仮想ディスクファイルの領域、暗号鍵、マッピング情報)
第2実施形態に係るデータ保護システムでは仮想ディスクファイルが複数の領域に分割され、領域毎にデータの暗号処理に利用される暗号鍵が割り当てられる。
図3に示すように、仮想ディスクファイル301は、ヘッダ301a、及びデータ区間301bを有する。仮想マシンの利用するデータは、データ区間301bに格納される。図3の例では、データ区間301bが、領域A1、A2、…、A5の5つの領域に分割されている。また、領域A1、A2、…、A5には、それぞれ鍵K1、K2、…、K5(暗号鍵)が割り当てられている。なお、図3は、第2実施形態に係る仮想ディスクファイルの領域と、その領域の暗号化に用いる鍵との関係について説明するための図である。
例えば、領域A1に格納されるデータは、鍵K1を利用して暗号化される。また、領域A1に格納されたデータを読み出す場合、鍵K1を利用してデータが復号される。同様に、領域A2、…、A5に格納されるデータは、それぞれ鍵K2、…、K5を利用して暗号化される。また、領域A2、…、A5に格納されたデータを読み出す場合、それぞれ鍵K2、…、K5を利用してデータが復号される。
上記のような暗号処理を実行するため、I/O処理サーバ201、202、203は、図4に示すように、鍵K1、K2、…、K5のいずれかを保持している。また、仮想化ホストサーバ101、102は、Read要求又はWrite要求の対象となるデータの暗号処理を実行できるI/O処理サーバを特定するための情報(マッピング情報)を保持している。図4は、第2実施形態に係る仮想化ホストサーバ及びI/O処理サーバが保持する情報について説明するための図である。
図4の例では、仮想化ホストサーバ101、102がそれぞれマッピング情報101a、102aを保持している。なお、説明の都合上、符号を分けているが、マッピング情報101a、102aは同じ内容の情報である。
図4の例では、I/O処理サーバ201が鍵K1、K2を保持し、I/O処理サーバ202が鍵K3、K4を保持し、I/O処理サーバ203が鍵K5、K1を保持している。このように、複数のI/O処理サーバが同じ鍵(鍵K1)を保持していてもよい。
この場合、マッピング情報101a、102aは、図4に示すように、領域A1、鍵K1、I/O処理サーバ201、203(格納先)を対応付ける情報と、領域A2、鍵K2、I/O処理サーバ201を対応付ける情報とを含む。また、マッピング情報101a、102aは、領域A3、鍵K3、I/O処理サーバ202を対応付ける情報と、領域A4、鍵K4、I/O処理サーバ202を対応付ける情報とを含む。さらに、マッピング情報101a、102aは、領域A5、鍵K5、I/O処理サーバ203を対応付ける情報を含む。
なお、説明の都合上、領域、鍵、格納先の符号を用いてマッピング情報101a、102aを表現しているが、領域を識別するための領域ID、暗号鍵を特定するための鍵ID、格納先を特定するためのアドレス情報などを利用して表現してもよい。
上記のように、仮想化ホストサーバ101、102がマッピング情報101a、102aを保持し、I/O処理サーバ201、202、203が暗号鍵の実体を保持し、ストレージ装置300が仮想ディスクファイル301を保持する。このように、仮想ディスクファイル301のデータを取得するために用いる暗号鍵、マッピング情報101a、102a、及びデータ本体が異なる場所に格納されることで、データが不正に取得されるリスクを低減することができる。
また、仮想ディスクファイル301が複数の領域A1、A2、…、A5に分割され、領域毎に異なる暗号鍵が割り当てられることで、暗号鍵の漏洩リスクが生じた際に、新たな暗号鍵を利用して仮想ディスクファイル301を再暗号化する処理が軽減される。つまり、漏洩リスクが生じた暗号鍵に対応する領域だけを新たな暗号鍵で再暗号化すれば対処できるため、仮想ディスクファイル301全体を再暗号化する場合に比べて処理時間が短くなる。
また、マッピング情報101a、102aの漏洩リスクが生じた場合、暗号鍵と、格納先との対応関係を変更し、マッピング情報101a、102aを更新すれば、仮想ディスクファイル301の再暗号化を行うことなく漏洩リスクへ対処できる。そのため、再暗号化を伴う対処方法に比べて処理時間を大幅に短縮することができる。つまり、仮想ディスクファイル301を分割した領域毎に暗号鍵を設定したこと、及び暗号鍵、マッピング情報101a、102aを分散配置したことで、漏洩リスクに対する迅速な対処を実現することが可能になる。
以上、データ保護システムについて説明した。
[2−2.ハードウェア]
次に、図5を参照しながら、上述したデータ保護システムに含まれる各種サーバの機能を実現可能なハードウェアについて説明する。図5は、第2実施形態に係る各種サーバの機能を実現可能なハードウェアの一例を示した図である。
仮想化ホストサーバ101、102、I/O処理サーバ201、202、203、漏洩監視サーバ401、状態管理サーバ402、及びポータルサーバ403が有する機能は、例えば、図5に示すハードウェア資源を用いて実現することが可能である。つまり、これらのサーバが有する機能は、コンピュータプログラムを用いて図5に示すハードウェアを制御することにより実現されうる。
図5に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、又はELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSDやRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタなどが用いられる。
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークである。上述したI/Oアクセス用ネットワーク501、管理用ネットワーク502は、ネットワーク932の一例である。
以上、ハードウェアについて説明した。
[2−3.機能]
次に、仮想化ホストサーバ101、102、I/O処理サーバ201、202、203、漏洩監視サーバ401、及び状態管理サーバ402の機能について、さらに説明する。
(仮想化ホストサーバ)
まず、図6を参照しながら、仮想化ホストサーバ101、102の機能について説明する。図6は、第2実施形態に係る仮想化ホストサーバが有する機能の一例を示したブロック図である。
図6に示すように、仮想化ホストサーバ101は、記憶部111、仮想マシン制御部112、暗号化制御部113、及び漏洩監視部114を有する。
記憶部111の機能は、上述したRAM906や記憶部920などを用いて実現できる。仮想マシン制御部112、暗号化制御部113、及び漏洩監視部114の機能は、上述したCPU902などを用いて実現できる。
記憶部111には、マッピング情報101aが格納される。マッピング情報101aは、図7に示すように、仮想ディスクファイル名、領域、鍵ID、格納先、及び再暗号化フラグを対応付ける情報である。図7は、第2実施形態に係るマッピング情報の一例を示した図である。
仮想ディスクファイル名の欄には、仮想ディスクファイルの名称が記載される。領域の欄には、仮想ディスクファイルの領域を特定するための情報が記載される。例えば、領域の欄には、その領域の開始位置を示す開始アドレスと、終了位置を示す終了アドレスとが記載される。
鍵IDの欄には、暗号鍵を識別するための識別情報(鍵ID)が記載される。図7に示すように、鍵IDの欄には、通常鍵IDの欄及び一時鍵IDの欄がある。通常鍵IDは、通常の運用時に利用される暗号鍵の鍵IDである。一時鍵IDは、漏洩リスクへの対処として暗号鍵本体又は鍵IDを変更する際に一時的に設定される暗号鍵(一時鍵)の鍵IDである。通常鍵IDの更新や一時鍵IDの設定については後述する。
格納先の欄には、暗号鍵の実体が格納されるI/O処理サーバの情報が記載される。再暗号化フラグは、対応する領域が再暗号化の対象であるか否かを示すフラグである。例えば、再暗号化フラグ「0」は、対応する領域が再暗号化の対象であることを示す。一方、再暗号化フラグ「1」は、対応する領域が再暗号化の対象でないことを示す。
仮想マシン制御部112は、仮想マシンを稼働させるハイパーバイザとして機能し、仮想マシンの動作を制御する。暗号化制御部113は、仮想マシンから仮想ディスクファイルへのI/Oアクセスが生じた場合に、I/O処理サーバ201、202、203のうちI/Oアクセスに対応するI/O処理サーバに暗号処理を依頼する。
漏洩監視部114は、マッピング情報101aを含む情報の漏洩に繋がる操作を監視し、漏洩の可能性が検知された場合に漏洩リスクの発生を漏洩監視サーバ401に通知する。なお、暗号化制御部113、漏洩監視部114の機能は、ハイパーバイザが有する機能の一部として提供されてもよい。
仮想化ホストサーバ102は、図6に示すように、記憶部121、仮想マシン制御部122、暗号化制御部123、及び漏洩監視部124を有する。
記憶部121の機能は、上述したRAM906や記憶部920などを用いて実現できる。仮想マシン制御部122、暗号化制御部123、及び漏洩監視部124の機能は、上述したCPU902などを用いて実現できる。
記憶部121には、仮想化ホストサーバ101の記憶部111に格納されるマッピング情報101aと同じ内容のマッピング情報102aが格納される。また、仮想マシン制御部122、暗号化制御部123、漏洩監視部124は、それぞれ仮想マシン制御部112、暗号化制御部113、漏洩監視部114と同じ機能を有する。
(I/O処理サーバ)
次に、図8を参照しながら、I/O処理サーバ201、202、203の機能について説明する。図8は、第2実施形態に係るI/O処理サーバが有する機能の一例を示したブロック図である。
図8に示すように、I/O処理サーバ201は、記憶部211、暗号処理部212、及び漏洩検知部213を有する。
記憶部211の機能は、上述したRAM906や記憶部920などを用いて実現できる。暗号処理部212、及び漏洩検知部213の機能は、上述したCPU902などを用いて実現できる。
記憶部211には、鍵情報211aが格納される。鍵情報211aは、図9に示すように、鍵IDと、暗号鍵の実体とを含む情報である。図9は、第2実施形態に係る鍵情報の一例を示した図である。鍵IDの欄には、通常鍵IDの欄と、一時鍵IDの欄とがある。通常鍵IDは、通常の運用時に利用される暗号鍵の鍵IDである。一時鍵IDは、一時鍵の鍵IDである。暗号鍵の欄には、暗号鍵の実体となるデータが記載される。
暗号処理部212は、仮想化ホストサーバ101、102から受け付けたI/Oアクセスの要求に応じて暗号処理を実行する。
例えば、仮想化ホストサーバ101からWrite要求を受け付けた場合、暗号処理部212は、Write要求で指定された鍵IDの暗号鍵を用いて、仮想ディスクファイル301に書き込むデータを暗号化する。一方、Read要求を受け付けた場合、暗号処理部212は、Read要求で指定された鍵IDの暗号鍵を用いて、指定された領域にあるデータを復号する。
漏洩検知部213は、鍵情報211aを含む情報の漏洩に繋がる操作を監視し、漏洩の可能性が検知された場合に漏洩リスクの発生を漏洩監視サーバ401に通知する。
I/O処理サーバ202は、図8に示すように、記憶部221、暗号処理部222、及び漏洩検知部223を有する。I/O処理サーバ203は、記憶部231、暗号処理部232、及び漏洩検知部233を有する。
記憶部221、231の機能は、上述したRAM906や記憶部920などを用いて実現できる。暗号処理部222、232、及び漏洩検知部223、233の機能は、上述したCPU902などを用いて実現できる。
鍵情報221a、231aは、鍵情報211aと同様に、鍵IDと暗号鍵の実体とを含む情報である。暗号処理部222、232、及び漏洩検知部223、233は、それぞれI/O処理サーバ201の暗号処理部212、及び漏洩検知部213と同じである。
(漏洩監視サーバ、状態管理サーバ)
次に、図10を参照しながら、漏洩監視サーバ401、及び状態管理サーバ402の機能について説明する。図10は、第2実施形態に係る漏洩監視サーバ及び状態管理サーバが有する機能の一例を示したブロック図である。
漏洩監視サーバ401は、監視状態制御部411を有する。監視状態制御部411の機能は、上述したCPU902などを用いて実現できる。
監視状態制御部411は、仮想化ホストサーバ101、102、及びI/O処理サーバ201、202、203に対し、情報漏洩の可能性がある操作の監視を開始させる制御を実行する。また、監視状態制御部411は、情報漏洩の可能性がある操作を検知した旨の通知(漏洩リスクの通知)を受けた場合に監視を停止させる制御を実行する。また、監視状態制御部411は、漏洩リスクに対する対処が完了した場合に、停止させていた監視を再開させる制御を実行する。
状態管理サーバ402は、記憶部421、状態制御部422、及び対処指示部423を有する。
記憶部421の機能は、上述したRAM906や記憶部920などを用いて実現できる。状態制御部422、及び対処指示部423の機能は、上述したCPU902などを用いて実現できる。
記憶部421には、状態情報421aが格納される。状態情報421aは、図11に示すように、仮想ディスクファイル名と、暗号化フラグと、通常鍵IDとを対応付ける情報である。図11は、第2実施形態に係る状態情報の一例を示した図である。
仮想ディスクファイル名の欄には、仮想ディスクファイルの名称が記載される。暗号化フラグは、対応する仮想ディスクファイルが暗号化されているか否かを示すフラグである。例えば、暗号化フラグ「0」は暗号化されていないことを示し、暗号化フラグ「1」は暗号化されていることを示す。通常鍵IDの欄には、対応する仮想ディスクファイルの暗号化に利用される暗号鍵(通常鍵)の鍵ID(通常鍵ID)が格納される。
状態制御部422は、ポータルサイト(ポータルサーバ403)を介して仮想ディスクファイルの作成依頼を受けると、その作成及び暗号化を仮想化ホストサーバ(例えば、仮想化ホストサーバ101)に依頼する。また、状態制御部422は、新規に作成される仮想ディスクファイルに関する情報(仮想ディスクファイル名、暗号化フラグ、通常鍵ID)を状態情報421aに追加する。
対処指示部423は、漏洩監視サーバ401から漏洩リスクの発生を通知された際、仮想化ホストサーバ101、102、及びI/O処理サーバ201、202、203に対し、操作制限、鍵IDの変更、暗号鍵の変更及び領域の再暗号化などの対処を指示する。なお、操作制限とは、メモリダンプの取得など、ユーザによる特定の操作を制限する制御である。また、対処が完了した場合、対処指示部423は、状態情報421aを更新する。
以上、仮想化ホストサーバ101、102、I/O処理サーバ201、202、203、漏洩監視サーバ401、及び状態管理サーバ402の機能について説明した。
[2−4.処理の流れ]
次に、仮想ディスクファイルの作成と暗号化、I/O処理、及び、漏洩リスクへの対処(鍵IDの変更処理、暗号鍵の変更処理)に関する処理の流れについて説明する。
(仮想ディスクファイルの作成と暗号化)
まず、図12及び図13を参照しながら、仮想ディスクファイルの作成と暗号化に関する処理の流れについて説明する。
図12は、第2実施形態に係る仮想ディスクファイルの作成と暗号化に関する処理の流れを示した第1のシーケンス図である。図13は、第2実施形態に係る仮想ディスクファイルの作成と暗号化に関する処理の流れを示した第2のシーケンス図である。
(S101)仮想マシンを利用するユーザは、ポータルサイトを介して仮想ディスクファイルの作成操作を行う。この操作を受け、ポータルサーバ403は、状態管理サーバ402に仮想ディスクファイルの作成(ファイル作成)を依頼する。
(S102)ポータルサーバ403からファイル作成の依頼を受け付けた状態管理サーバ402は、状態制御部422により、1つの仮想化ホストサーバ(図12の例では仮想化ホストサーバ101)に対し、仮想ディスクファイルの作成を依頼する。
(S103)仮想化ホストサーバ101は、仮想マシン制御部112(ハイパーバイザ)により、仮想ディスクファイルを作成する。なお、仮想マシン制御部112により作成される仮想ディスクファイルは、暗号化されていない状態のファイルである。
(S104)仮想ディスクファイルの作成を完了した仮想化ホストサーバ101は、仮想マシン制御部112により、ファイル作成の完了を状態管理サーバ402に通知する。
(S105)ファイル作成の完了通知を受信した状態管理サーバ402は、状態制御部422により、仮想化ホストサーバ101の暗号化制御部113に対して仮想ディスクファイルの暗号化を依頼する。
(S106)状態管理サーバ402から暗号化の依頼を受け付けた仮想化ホストサーバ101は、暗号化制御部113により、仮想ディスクファイルに設定する複数の領域を決定する。つまり、暗号化制御部113は、仮想ディスクファイルを複数の領域に分割する。なお、仮想ディスクファイルに設定される領域の数は、I/O処理サーバの数や再暗号化にかかる時間の許容値などの予め設定された条件に基づいて決定される。また、各領域のサイズは、任意に設定することができる。
(S107)仮想化ホストサーバ101は、暗号化制御部113により、仮想ディスクファイルに設定された複数の領域のそれぞれに対応する暗号鍵を作成する。この暗号鍵は、対応する領域の暗号処理(暗号化、復号)に利用される。また、暗号化制御部113は、作成した複数の暗号鍵のそれぞれについて、暗号鍵の識別に用いる鍵IDを決定する。
(S108)仮想化ホストサーバ101は、暗号化制御部113により、作成した暗号鍵を用いて仮想ディスクファイルの各領域を暗号化する。
(S109)仮想化ホストサーバ101は、暗号化制御部113により、作成した暗号鍵の格納先(I/O処理サーバ)を決定する。つまり、暗号化制御部113は、暗号鍵の配置を決定する。このとき、暗号化制御部113は、1つのI/O処理サーバに同じ暗号鍵が重複して配置されず、かつ、全ての暗号鍵がいずれかのI/O処理サーバに配置されるように暗号鍵の配置を決定する。
例えば、暗号鍵の数がN(Nは2以上の自然数)、I/O処理サーバの数がM(Mは2以上の自然数)の場合、暗号化制御部113は、1つのI/O処理サーバが保持する暗号鍵の数W(W=N/M)を計算する。そして、暗号化制御部113は、異なるW個の暗号鍵が各I/O処理サーバに格納されるように配置する。なお、Wは管理者により予め設定されていてもよい。
(S110)仮想化ホストサーバ101は、暗号化制御部113により、暗号鍵及び鍵IDを含む鍵情報をI/O処理サーバ201に送信する。このとき、暗号化制御部113は、I/O処理サーバ201への配置が決定された暗号鍵の実体と、その暗号鍵に対応する鍵IDとを含む鍵情報をI/O処理サーバ201に送信する。
(S111)仮想化ホストサーバ101は、暗号化制御部113により、暗号鍵及び鍵IDを含む鍵情報をI/O処理サーバ203に送信する。このとき、暗号化制御部113は、I/O処理サーバ203への配置が決定された暗号鍵の実体と、その暗号鍵に対応する鍵IDとを含む鍵情報をI/O処理サーバ203に送信する。なお、I/O処理サーバ202についても同様である。
(S112、S113)I/O処理サーバ201は、暗号処理部212により、仮想化ホストサーバ101から受信した鍵情報の暗号鍵及び鍵IDを記憶部211に格納する。つまり、暗号処理部212は、受信した暗号鍵及び鍵IDを鍵情報211a(図9を参照)に追加する。そして、暗号処理部212は、鍵情報の格納が完了した旨を仮想化ホストサーバ101に通知する。
(S114、S115)I/O処理サーバ203は、暗号処理部232により、仮想化ホストサーバ101から受信した鍵情報の暗号鍵及び鍵IDを記憶部231に格納する。つまり、暗号処理部232は、受信した暗号鍵及び鍵IDを鍵情報231aに追加する。そして、暗号処理部232は、鍵情報の格納が完了した旨を仮想化ホストサーバ101に通知する。なお、I/O処理サーバ202についても同様である。
(S116)仮想化ホストサーバ101は、全てのI/O処理サーバ(I/O処理サーバ201、…、203)から鍵情報の格納が完了した旨の通知を受けるまで待機する。全てのI/O処理サーバから通知を受けた場合、仮想化ホストサーバ101は、暗号化制御部113により、作成した暗号鍵を消去する。このように、I/O処理サーバへの配置が完了すると仮想化ホストサーバ101から暗号鍵が消去されるため、以後、仮想化ホストサーバ101のメモリダンプが解析されても暗号鍵の漏洩は生じない。
(S117)仮想化ホストサーバ101は、暗号化制御部113により、作成した暗号鍵に関する情報をマッピング情報101a(図7を参照)に追加して、マッピング情報101aを更新する。
暗号化制御部113は、新たに作成した仮想ディスクファイルに設定された仮想ディスクファイル名に対応付けて、S106で領域を決定する際に得られる各領域の開始アドレス及び終了アドレスをマッピング情報101aに追加する。また、暗号化制御部113は、各領域に対応する暗号鍵の鍵IDを通常鍵IDとしてマッピング情報101aに追加し、その暗号鍵を配置したI/O処理サーバの情報を格納先としてマッピング情報101aに追加する。なお、再暗号化フラグは「1」(再暗号化の対象外)に設定される。
(S118)仮想化ホストサーバ101は、暗号化制御部113により、仮想化ホストサーバ102にマッピング情報102aの更新を依頼する。このとき、暗号化制御部113は、更新後のマッピング情報101aを仮想化ホストサーバ102に送信する。なお、更新部分の情報だけが仮想化ホストサーバ102に送信されてもよい。
(S119)仮想化ホストサーバ102は、暗号化制御部123により、仮想化ホストサーバ101から受信した更新後のマッピング情報101aで、記憶部121に格納されているマッピング情報102aを更新する。この処理により、仮想化ホストサーバ101、102が保持するマッピング情報の同期が完了する。
(S120)仮想化ホストサーバ102は、暗号化制御部123により、マッピング情報102aの更新が完了した旨を仮想化ホストサーバ101に通知する。
(S121)仮想化ホストサーバ101は、暗号化制御部113により、仮想ディスクファイルの暗号化が完了した旨を状態管理サーバ402に通知する。このとき、暗号化制御部113は、仮想ディスクファイルの暗号化に用いた暗号鍵の鍵IDのリストを状態管理サーバ402に通知する。
(S122)仮想化ホストサーバ101から暗号化完了の通知を受信した状態管理サーバ402は、状態制御部422により、状態情報421a(図11を参照)を更新する。
状態制御部422は、新たに作成された仮想ディスクファイルの仮想ディスクファイル名を状態情報421aに追加し、対応する暗号化フラグを「1」(暗号化済み)に設定する。また、状態制御部422は、対応する通常鍵IDの欄に、仮想化ホストサーバ101から通知された鍵IDのリストを記載する。
(S123)状態管理サーバ402は、状態制御部422により、暗号化された仮想ディスクファイルの作成が完了した旨をポータルサーバ403に通知する。そして、ポータルサーバ403が提供するポータルサイトを介してユーザに仮想ディスクファイルの作成完了が通知される。S123の処理が完了すると、図12及び図13に示した一連の処理は終了する。
(I/O処理)
次に、図14を参照しながら、I/O処理(Read要求/Write要求に応じた処理)の流れについて説明する。図14は、第2実施形態に係るI/O処理の流れを示したシーケンス図である。
(S131)仮想化ホストサーバ101の仮想マシン制御部112が稼働させる仮想マシン内で動作するゲストOSからI/O命令(Read要求/Write要求)が発行された場合、仮想マシン制御部112は、そのI/O命令を受け付ける。
(S132)仮想化ホストサーバ101は、暗号化制御部113により、I/O命令の対象となる仮想ディスクファイルの領域(対象領域)を特定する。また、暗号化制御部113は、特定した対象領域毎にI/O命令を分割する。例えば、鍵ID「k101」に対応する領域A1と、鍵ID「k102」に対応する領域A2とが対象領域の場合、暗号化制御部113は、領域A1向けのI/O命令と領域A2向けのI/O命令とを生成する。
(S133)仮想化ホストサーバ101は、暗号化制御部113により、I/O処理サーバ201に対し、I/O処理サーバ201が保持する暗号鍵の鍵IDに対応する領域向けのI/O命令を送信する。つまり、暗号化制御部113は、I/O処理サーバ201が保持する暗号鍵で暗号処理が可能な対象領域のI/O処理をI/O処理サーバ201に依頼する。このとき、暗号化制御部113は、マッピング情報101aを参照し、対象領域に関する再暗号化フラグの情報(フラグ情報)をI/O処理サーバ201に送信する。
(S134)仮想化ホストサーバ101は、暗号化制御部113により、I/O処理サーバ203に対し、I/O処理サーバ203が保持する暗号鍵の鍵IDに対応する領域向けのI/O命令を送信する。つまり、暗号化制御部113は、I/O処理サーバ203が保持する暗号鍵で暗号処理が可能な対象領域のI/O処理をI/O処理サーバ203に依頼する。このとき、暗号化制御部113は、マッピング情報101aを参照し、対象領域に関する再暗号化フラグの情報(フラグ情報)をI/O処理サーバ203に送信する。なお、I/O処理サーバ202についても同様である。
(S135)I/O処理サーバ201は、暗号処理部212により、仮想化ホストサーバ101から受信したI/O処理の依頼に応じたストレージ装置300に対するI/O処理を実行する。なお、S135でI/O処理サーバ201が実行する処理の流れについては後段において詳述する。I/O処理が完了すると、暗号処理部212は、I/O処理の結果を仮想化ホストサーバ101に返す。
(S136)後述するように、I/O処理サーバ201が実行するI/O処理の中で、対象領域の再暗号化が実施されうる。そのため、I/O処理サーバ201は、暗号処理部212により、再暗号化が実施された場合に更新される再暗号化フラグの情報(フラグ情報)を仮想化ホストサーバ101に送信する。
(S137)I/O処理サーバ203は、暗号処理部232により、仮想化ホストサーバ101から受信したI/O処理の依頼に応じたストレージ装置300に対するI/O処理を実行する。なお、S137でI/O処理サーバ203が実行する処理の流れは、S135でI/O処理サーバ201が実行する処理の流れと同様である。I/O処理が完了すると、暗号処理部232は、I/O処理の結果を仮想化ホストサーバ101に返す。なお、I/O処理サーバ202についても同様である。
(S138)I/O処理サーバ203が実行するI/O処理の中で、対象領域の再暗号化が実施されうる。そのため、I/O処理サーバ203は、暗号処理部232により、再暗号化が実施された場合に更新される再暗号化フラグの情報(フラグ情報)を仮想化ホストサーバ101に送信する。なお、I/O処理サーバ202についても同様である。
(S139)仮想化ホストサーバ101は、暗号化制御部113により、I/O処理サーバ201、202、203から分割したI/O命令に対するI/O処理の結果及びフラグ情報を受信する。なお、暗号化制御部113は、あるI/O処理サーバからI/O処理の結果を受信できずに一定時間が経過した場合、そのI/O処理サーバと同じ暗号鍵を保持する他のI/O処理サーバに同じI/O命令を送信する。
全てのI/O処理の結果を受信した暗号化制御部113は、受信したI/O処理の結果を1つに統合する。
例えば、I/O命令がRead要求である場合、暗号化制御部113は、各対象領域から読み出されたデータを統合する。また、I/O命令がWrite要求である場合、暗号化制御部113は、各対象領域に対する書き込み完了の通知を統合する。そして、暗号化制御部113は、仮想マシン制御部112を介して、統合したI/O処理の結果をゲストOSに通知する。
なお、暗号化制御部113は、I/O処理サーバ201、202、203から受信したフラグ情報に基づいてマッピング情報101aの再暗号化フラグを更新する。また、暗号化制御部113は、更新後のマッピング情報101aを仮想化ホストサーバ102に送信し、マッピング情報102aの更新を依頼する(非図示)。マッピング情報102aの更新が完了した旨の通知が仮想化ホストサーバ102から仮想化ホストサーバ101へ到達すると、図14に示した一連の処理は終了する。
(I/O処理中に再暗号化を進める仕組み)
ここで、図15及び図16を参照しながら、I/O処理サーバによるデータの読み書きに関する処理及び再暗号化に関する処理(S135の処理に対応)の流れについて、さらに説明する。なお、I/O処理サーバ203が実行するS137の処理の流れも同様であるため、S137の処理については、さらなる説明を省略する。
さて、暗号鍵の漏洩リスクが生じた場合、暗号鍵が変更され、新しい暗号鍵でデータが暗号化される。この処理が再暗号化である。
漏洩リスクが生じた際にI/O処理を停止し、暗号鍵の変更と再暗号化とを迅速に完了させることは安全性の確保に有用である。一方、漏洩が確定していない段階で頻繁にI/O処理が停止することはI/O処理の停滞を招き、運用に支障が生じうる。こうした事情に鑑み、図15及び図16に示した処理は、I/O処理が発生したタイミングで対象領域の再暗号化が行われる仕組みを採用している。
図15は、第2実施形態に係るI/O処理の中で、I/O処理サーバによるデータの読み書きに関する処理及び再暗号化に関する処理の流れを示した第1のフロー図である。図16は、第2実施形態に係るI/O処理の中で、I/O処理サーバによるデータの読み書きに関する処理及び再暗号化に関する処理の流れを示した第2のフロー図である。なお、図15及び図16に示す処理は主に暗号処理部212が実行する。
(S151)暗号処理部212は、仮想化ホストサーバ101から受信したフラグ情報に基づいて、対象領域が再暗号化の対象であるか否かを判定する。対象領域の再暗号化フラグが「0」の場合、暗号処理部212は、対象領域が再暗号化の対象であると判定する。一方、対象領域の再暗号化フラグが「1」の場合、暗号処理部212は、対象領域が再暗号化の対象ではないと判定する。
対象領域が再暗号化の対象である場合、処理はS152へと進む。一方、対象領域が再暗号化の対象ではない場合、処理はS160へと進む。
(S152)暗号処理部212は、対象領域のデータをストレージ装置300から読み出し、読み出したデータを古い鍵で復号する。
(S153)暗号処理部212は、I/O命令がRead要求であるかを判定する。I/O命令がRead要求である場合、処理はS154へと進む。一方、I/O命令がRead要求でない場合(Write要求である場合)、処理はS156へと進む。
(S154)暗号処理部212は、古い鍵で復号した対象領域のデータのうちRead要求で指定されたデータ(Read対象のデータ)を仮想化ホストサーバ101にI/O処理の結果として返す。
(S155)暗号処理部212は、古い鍵で復号した対象領域のデータを新しい鍵で暗号化し、暗号化したデータをストレージ装置300に書き込む。この処理により、対象領域のデータは、新しい鍵で暗号化されたデータに置き換えられる。つまり、対象領域の再暗号化が完了する。再暗号化が完了した場合、暗号処理部212は、古い鍵を削除する。S155の処理が完了すると、処理はS159へと進む。
(S156)暗号処理部212は、古い鍵で復号した対象領域のデータを新しい鍵で暗号化し、暗号化したデータをストレージ装置300に書き込む。この処理により、対象領域のデータは、新しい鍵で暗号化されたデータに置き換えられる。つまり、対象領域の再暗号化が完了する。再暗号化が完了した場合、暗号処理部212は、古い鍵を削除する。
(S157)暗号処理部212は、Write要求で指定されたデータ(Write対象のデータ)を新しい鍵で暗号化する。
(S158)暗号処理部212は、暗号化したWrite対象のデータをストレージ装置300の対象領域に書き込む。そして、暗号処理部212は、仮想化ホストサーバ101に対し、Write対象のデータの書き込みが完了した旨をI/O処理の結果として通知する。
(S159)暗号処理部212は、対象領域の再暗号化フラグが「1」(再暗号化の完了)であることを示すフラグ情報を設定する。このフラグ情報が仮想化ホストサーバ101に通知されることで、マッピング情報101a、102aの再暗号化フラグが更新される。S159の処理が完了すると、図15及び図16に示した一連の処理は終了する。
(S160)暗号処理部212は、I/O命令がRead要求であるかを判定する。I/O命令がRead要求である場合、処理はS161へと進む。一方、I/O命令がRead要求でない場合(Write要求)である場合、処理はS163へと進む。
(S161)暗号処理部212は、ストレージ装置300から対象領域のデータを読み出し、読み出したデータを通常鍵(通常鍵IDに対応する暗号鍵)で復号する。なお、対象領域が再暗号化の対象ではない場合、I/O処理時には通常鍵を用いて暗号処理が実行される。また、対象領域に対応する古い鍵は既に削除されていることが好ましい。
(S162)暗号処理部212は、通常鍵で復号した対象領域のデータのうちRead対象のデータを仮想化ホストサーバ101に返す。S162の処理が完了すると、図15及び図16に示した一連の処理は終了する。
(S163)暗号処理部212は、通常鍵でWrite対象のデータを暗号化する。
(S164)暗号処理部212は、通常鍵で暗号化したWrite対象のデータをストレージ装置300の対象領域に書き込む。そして、暗号処理部212は、Write対象のデータの書き込みが完了した旨をI/O処理の結果として仮想化ホストサーバ101に通知する。S164の処理が完了すると、図15及び図16に示した一連の処理は終了する。
(鍵IDの変更処理:仮想化ホストサーバにおける漏洩リスクへの対処)
次に、図17及び図18を参照しながら、鍵IDの変更処理の流れについて説明する。この処理は、仮想化ホストサーバにおいて漏洩リスクが生じた場合の対処に関する。
図17は、第2実施形態に係る鍵IDの変更処理の流れを示した第1のシーケンス図である。図18は、第2実施形態に係る鍵IDの変更処理の流れを示した第2のシーケンス図である。
(S171)漏洩監視サーバ401は、監視状態制御部411により、仮想化ホストサーバ101の漏洩監視部114に対して監視の開始を命令する。例えば、監視状態制御部411は、漏洩監視部114に対し、マッピング情報101aの漏洩リスクがある操作を監視するように命令する。この命令により、漏洩監視部114による監視が開始される。
漏洩リスクのある操作としては、例えば、メモリダンプの採取やカーネルモードデバッグなどの操作がある。メモリダンプの採取は、メモリダンプファイルの有無やOSのイベントログを確認することで検知できる。カーネルモードデバッグの実行は、カーネルモードデバッグフラグが有効かを確認することで検知できる。
(S172)漏洩監視サーバ401は、監視状態制御部411により、仮想化ホストサーバ102の漏洩監視部124に対して監視の開始を命令する。例えば、監視状態制御部411は、漏洩監視部124に対し、マッピング情報102aの漏洩リスクがある操作を監視するように命令する。この命令により、漏洩監視部124による監視が開始される。
(S173、S174)仮想化ホストサーバ101は、漏洩監視部114により、漏洩リスクがある操作を検知する。この場合、漏洩監視部114は、漏洩監視サーバ401に対してマッピング情報101aが漏洩した可能性(漏洩リスク)を通知する。
(S175)漏洩リスクの通知を受けた漏洩監視サーバ401は、監視状態制御部411により、仮想化ホストサーバ101に対して監視の停止を命令する。
(S176)漏洩リスクの通知を受けた漏洩監視サーバ401は、監視状態制御部411により、仮想化ホストサーバ102に監視の停止を命令する。
(S177)漏洩監視サーバ401から監視の停止を命令された仮想化ホストサーバ101は、漏洩監視部114により、マッピング情報101aの漏洩リスクがある操作の監視を停止する。なお、この例では漏洩監視部114が漏洩リスクを検知しているため、漏洩監視部114は、漏洩監視サーバ401から命令を受けずに自律的に監視を停止してもよい。
(S178)漏洩監視サーバ401から監視の停止を命令された仮想化ホストサーバ102は、漏洩監視部124により、マッピング情報102aの漏洩リスクがある操作の監視を停止する。
(S179)漏洩監視サーバ401は、監視状態制御部411により、マッピング情報101aの漏洩リスクが発生した旨を状態管理サーバ402に通知する。つまり、監視状態制御部411は、仮想化ホストサーバ101に漏洩リスクが生じた旨を通知する。
(S180)状態管理サーバ402は、対処指示部423により、一時鍵IDを生成する。一時鍵IDは、マッピング情報101aに含まれる通常鍵IDの欄に記載された鍵IDを代替するための鍵IDである。対処指示部423は、全ての領域について、領域毎に異なる一時鍵IDを生成する。このとき、対処指示部423は、各領域に対応する既存の通常鍵IDと新たに生成した一時鍵IDとが異なるように一時鍵IDを決定する。
なお、各領域に対応する鍵IDが変更できればよいため、通常鍵IDを一時鍵IDに流用してもよい。例えば、対処指示部423は、領域A1に通常鍵ID「k101」、領域A2に通常鍵ID「k102」が割り当てられている場合、領域A1の一時鍵IDを「k102」、領域A2の一時鍵IDを「k101」に決定してもよい。
(S181)状態管理サーバ402は、対処指示部423により、鍵IDの変更を仮想化ホストサーバ101に依頼する。このとき、対処指示部423は、S180で生成した一時鍵IDの情報と、一時鍵IDと領域との対応関係を示す情報とを仮想化ホストサーバ101に送信する。
(S182)状態管理サーバ402は、対処指示部423により、鍵IDの変更を仮想化ホストサーバ102に依頼する。このとき、対処指示部423は、S180で生成した一時鍵IDの情報と、一時鍵IDと領域との対応関係を示す情報とを仮想化ホストサーバ101に送信する。
(S183)鍵IDの変更依頼を受けた仮想化ホストサーバ101は、暗号化制御部113により、マッピング情報101aに一時鍵IDを設定する。つまり、暗号化制御部113は、状態管理サーバ402から受信した一時鍵IDと領域との対応関係を示す情報に基づいて、マッピング情報101aに含まれる一時鍵IDの欄(図7を参照)に一時鍵IDを記載する。この処理により、マッピング情報101aの各領域に対応する鍵IDの欄には、通常鍵IDと一時鍵IDとが記載された状態になる。
(S184)鍵IDの変更依頼を受けた仮想化ホストサーバ102は、暗号化制御部123により、マッピング情報102aに一時鍵IDを設定する。つまり、暗号化制御部123は、状態管理サーバ402から受信した一時鍵IDと領域との対応関係を示す情報に基づいて、マッピング情報102aに含まれる一時鍵IDの欄に一時鍵IDを記載する。この処理により、マッピング情報102aの各領域に対応する鍵IDの欄には、通常鍵IDと一時鍵IDとが記載された状態になる。
(S185)仮想化ホストサーバ101は、暗号化制御部113により、一時鍵IDが生成された旨と、一時鍵IDと通常鍵IDとの対応関係をI/O処理サーバ201に通知する。このとき、暗号化制御部113は、マッピング情報101aを参照し、I/O処理サーバ201が保持する暗号鍵に対応する一時鍵IDの情報を送信する。
(S186)仮想化ホストサーバ101は、暗号化制御部113により、一時鍵IDが生成された旨と、一時鍵IDと通常鍵IDとの対応関係をI/O処理サーバ203に通知する。このとき、暗号化制御部113は、マッピング情報101aを参照し、I/O処理サーバ203が保持する暗号鍵に対応する一時鍵IDの情報を送信する。なお、I/O処理サーバ202についても同様である。
(S187)I/O処理サーバ201は、暗号処理部212により、仮想化ホストサーバ101から受信した一時鍵IDの情報に基づいて鍵情報211aを更新する。つまり、暗号処理部212は、一時鍵IDと通常鍵IDとの対応関係に基づいて暗号鍵を特定し、特定した暗号鍵に対応する一時鍵IDの欄に、仮想化ホストサーバ101から通知された一時鍵IDを記載する。
(S188)I/O処理サーバ203は、暗号処理部232により、仮想化ホストサーバ101から受信した一時鍵IDの情報に基づいて鍵情報231aを更新する。つまり、暗号処理部232は、一時鍵IDと通常鍵IDとの対応関係に基づいて暗号鍵を特定し、特定した暗号鍵に対応する一時鍵IDの欄に、仮想化ホストサーバ101から通知された一時鍵IDを記載する。なお、I/O処理サーバ202についても同様である。
(S189)I/O処理サーバ201は、暗号処理部212により、鍵情報211aの更新が完了した旨の通知を仮想化ホストサーバ101に送信する。
(S190)I/O処理サーバ203は、暗号処理部232により、鍵情報231aの更新が完了した旨の通知を仮想化ホストサーバ101に送信する。なお、I/O処理サーバ202についても同様である。
(S191)I/O処理サーバ201は、暗号処理部212により、鍵情報211aの更新が完了した旨の通知を仮想化ホストサーバ102に送信する。
(S192)I/O処理サーバ203は、暗号処理部232により、鍵情報231aの更新が完了した旨の通知を仮想化ホストサーバ102に送信する。なお、I/O処理サーバ202についても同様である。
(S193、S194)I/O処理サーバ201、202、203から鍵情報の更新が完了した旨の通知を受信した仮想化ホストサーバ101は、暗号化制御部113により、マッピング情報101aに記載されている通常鍵IDを一時鍵IDで更新する。つまり、暗号化制御部113は、各領域について、マッピング情報101aの一時鍵IDの欄に記載された鍵IDを通常鍵IDの欄に記載する。そして、暗号化制御部113は、マッピング情報101aの一時鍵IDの欄に記載された鍵IDを削除する。
(S195)仮想化ホストサーバ101は、暗号化制御部113により、I/O処理サーバ201に対して通常鍵IDの設定(一時鍵IDを通常鍵IDに置き換え、一時鍵IDを削除する処理)を依頼する。
(S196)仮想化ホストサーバ101は、暗号化制御部113により、I/O処理サーバ203に対して通常鍵IDの設定(一時鍵IDを通常鍵IDに置き換え、一時鍵IDを削除する処理)を依頼する。なお、I/O処理サーバ202についても同様である。
(S197、S198)仮想化ホストサーバ101から通常鍵IDの設定依頼を受けたI/O処理サーバ201は、暗号処理部212により、鍵情報211aの通常鍵IDを一時鍵IDで置き換え、一時鍵IDを削除する処理を実行する。
(S199、S200)仮想化ホストサーバ101から通常鍵IDの設定依頼を受けたI/O処理サーバ203は、暗号処理部232により、鍵情報231aの通常鍵IDを一時鍵IDで置き換え、一時鍵IDを削除する処理を実行する。なお、I/O処理サーバ202についても同様である。
(S201)I/O処理サーバ201は、暗号処理部212により、通常鍵IDの設定が完了した旨を仮想化ホストサーバ101に通知する。
(S202)I/O処理サーバ203は、暗号処理部232により、通常鍵IDの設定が完了した旨を仮想化ホストサーバ101に通知する。なお、I/O処理サーバ202についても同様である。
(S203)I/O処理サーバ201、202、203から通常鍵IDの設定が完了した旨の通知を受けた仮想化ホストサーバ101は、暗号化制御部113により、鍵IDの変更が完了した旨の通知を状態管理サーバ402に送信する。
(S204、S205)I/O処理サーバ201、202、203から鍵情報の更新が完了した旨の通知を受信した仮想化ホストサーバ102は、暗号化制御部123により、マッピング情報102aに記載されている通常鍵IDを一時鍵IDで更新する。
つまり、暗号化制御部123は、各領域について、マッピング情報102aの一時鍵IDの欄に記載された鍵IDを通常鍵IDの欄に記載する。そして、暗号化制御部123は、マッピング情報102aの一時鍵IDの欄に記載された鍵IDを削除する。
(S206)仮想化ホストサーバ102は、暗号化制御部123により、鍵IDの変更が完了した旨の通知を状態管理サーバ402に送信する。
(S207)状態管理サーバ402は、対処指示部423により、全ての仮想化ホストサーバ(仮想化ホストサーバ101、102)から鍵IDの変更が完了した旨の通知を受けるまで待機する。そして、仮想化ホストサーバ101、102から通知を受けた場合、対処指示部423は、鍵IDの変更が完了した旨の通知を漏洩監視サーバ401に送信する。
(S208)状態管理サーバ402から鍵IDの変更が完了した旨の通知を受けた漏洩監視サーバ401は、監視状態制御部411により、仮想化ホストサーバ101に対し、マッピング情報101aの漏洩リスクがある操作の監視を再開するように命令する。
(S209)状態管理サーバ402から鍵IDの変更が完了した旨の通知を受けた漏洩監視サーバ401は、監視状態制御部411により、仮想化ホストサーバ102に対し、マッピング情報102aの漏洩リスクがある操作の監視を再開するように命令する。
(S210)漏洩監視サーバ401から監視の再開を命令された仮想化ホストサーバ101は、漏洩監視部114により、マッピング情報101aの漏洩リスクがある操作の監視を再開する。
(S211)漏洩監視サーバ401から監視の再開を命令された仮想化ホストサーバ102は、漏洩監視部124により、マッピング情報102aの漏洩リスクがある操作の監視を再開する。S211の処理が完了すると、図17及び図18に示した一連の処理(漏洩リスクへの対処)は終了する。
(暗号鍵の変更処理:I/O処理サーバにおける漏洩リスクへの対処)
次に、図19を参照しながら、暗号鍵の変更処理の流れについて説明する。この処理は、I/O処理サーバにおいて漏洩リスクが生じた場合の対処に関する。図19は、第2実施形態に係る暗号鍵の変更処理の流れを示したシーケンス図である。
(S231)漏洩監視サーバ401は、監視状態制御部411により、I/O処理サーバ201の漏洩検知部213に対して監視の開始を命令する。例えば、監視状態制御部411は、漏洩検知部213に対し、鍵情報211aの漏洩リスクがある操作を監視するように命令する。この命令により、漏洩検知部213による監視が開始される。
漏洩リスクのある操作としては、例えば、メモリダンプの採取やカーネルモードデバッグなどの操作がある。メモリダンプの採取は、メモリダンプファイルの有無やOSのイベントログを確認することで検知できる。カーネルモードデバッグの実行は、カーネルモードデバッグフラグが有効かを確認することで検知できる。
(S232)漏洩監視サーバ401は、監視状態制御部411により、I/O処理サーバ203の漏洩検知部233に対して監視の開始を命令する。例えば、監視状態制御部411は、漏洩検知部233に対し、鍵情報231aの漏洩リスクがある操作を監視するように命令する。この命令により、漏洩検知部233による監視が開始される。なお、I/O処理サーバ202についても同様である。
(S233、S234)I/O処理サーバ201は、漏洩検知部213により、鍵情報211aの漏洩リスクがある操作を検知する。この場合、漏洩検知部213は、漏洩監視サーバ401に対し、鍵情報211aが漏洩した可能性(漏洩リスク)がある旨、及び鍵情報211aに含まれる鍵IDを通知する。
(S235)漏洩監視サーバ401は、監視状態制御部411により、I/O処理サーバ201に対し、鍵情報211aの漏洩リスクがある操作の監視を停止するように命令する。
(S236)漏洩監視サーバ401から監視の停止を命令されたI/O処理サーバ201は、鍵情報211aの漏洩リスクがある操作の監視を停止する。
(S237)漏洩監視サーバ401は、監視状態制御部411により、暗号鍵の漏洩リスクが発生した旨を状態管理サーバ402に通知する。このとき、監視状態制御部411は、I/O処理サーバ201から通知された漏洩リスクのある暗号鍵の鍵ID(通常鍵ID)を状態管理サーバ402に通知する。
(S238)漏洩監視サーバ401から漏洩リスクの通知を受けた状態管理サーバ402は、対処指示部423により、仮想化ホストサーバ101に対して、マッピング情報101aが漏洩する可能性のある操作を禁止する操作制限を指示する。
禁止される操作としては、例えば、メモリダンプの採取やカーネルモードデバッグなどの操作がある。メモリダンプの採取は、メモリダンプファイルの有無やOSのイベントログを確認することで検知できる。カーネルモードデバッグの実行は、カーネルモードデバッグフラグが有効かを確認することで検知できる。なお、設定の無効化や操作権限の一時無効化などの方法を用いることで操作を禁止することができる。
(S239)状態管理サーバ402は、対処指示部423により、仮想化ホストサーバ102に対して、マッピング情報102aが漏洩する可能性のある操作を禁止する操作制限を指示する。
(S240)状態管理サーバ402は、対処指示部423により、I/O処理サーバ201に対して、鍵情報211aが漏洩する可能性のある操作を禁止する操作制限を指示する。
禁止される操作としては、例えば、メモリダンプの採取やカーネルモードデバッグなどの操作がある。メモリダンプの採取は、メモリダンプファイルの有無やOSのイベントログを確認することで検知できる。カーネルモードデバッグの実行は、カーネルモードデバッグフラグが有効かを確認することで検知できる。なお、設定の無効化や操作権限の一時無効化などの方法を用いることで操作を禁止することができる。
(S241)状態管理サーバ402は、対処指示部423により、I/O処理サーバ203に対して、鍵情報231aが漏洩する可能性のある操作を禁止する操作制限を指示する。なお、I/O処理サーバ202についても同様である。
(S242)操作制限の指示を受けた仮想化ホストサーバ101は、漏洩監視部114により、マッピング情報101aの漏洩リスクがある操作を禁止する。
(S243)操作制限の指示を受けた仮想化ホストサーバ102は、漏洩監視部124により、マッピング情報102aの漏洩リスクがある操作を禁止する。
(S244)操作制限の指示を受けたI/O処理サーバ201は、漏洩検知部213により、鍵情報211aの漏洩リスクがある操作を禁止する。
(S245)操作制限の指示を受けたI/O処理サーバ203は、漏洩検知部233により、鍵情報231aの漏洩リスクがある操作を禁止する。なお、I/O処理サーバ202についても同様である。
(S246)状態管理サーバ402は、対処指示部423により、仮想化ホストサーバ101の暗号化制御部113に対して、漏洩リスクの発生した暗号鍵の鍵IDを通知し、その暗号鍵で暗号化されている領域の再暗号化を依頼する。なお、仮想化ホストサーバ101が稼働させる仮想マシンの仮想ディスクファイルに再暗号化の対象領域が含まれているものとする。対象領域と無関係の仮想化ホストサーバに再暗号化の依頼は送られない。
(S247)状態管理サーバ402は、対処指示部423により、仮想化ホストサーバ102の暗号化制御部123に対して、漏洩リスクの発生した暗号鍵の鍵IDを通知し、その暗号鍵で暗号化されている領域の再暗号化を依頼する。なお、仮想化ホストサーバ102が稼働させる仮想マシンの仮想ディスクファイルに再暗号化の対象領域が含まれているものとする。
(S248)仮想化ホストサーバ101は、暗号化制御部113により、状態管理サーバ402から通知された鍵IDに対応する領域(対象領域)の再暗号化を実行する。なお、再暗号化の処理については、後段において詳述する。
(S249)仮想化ホストサーバ102は、暗号化制御部123により、状態管理サーバ402から通知された鍵IDに対応する領域(対象領域)の再暗号化を実行する。なお、再暗号化の処理については、後段において詳述する。
(S250)仮想化ホストサーバ101は、暗号化制御部113により、対象領域の再暗号化が完了した旨の通知を状態管理サーバ402に送信する。
(S251)仮想化ホストサーバ102は、暗号化制御部123により、対象領域の再暗号化が完了した旨の通知を状態管理サーバ402に送信する。
(S252)再暗号化の依頼を送った全ての仮想化ホストサーバ(仮想化ホストサーバ101、102)から再暗号化の完了通知を受けた状態管理サーバ402は、対処指示部423により、再暗号化の完了を漏洩監視サーバ401に通知する。
(S253)状態管理サーバ402から再暗号化の完了通知を受けた漏洩監視サーバ401は、監視状態制御部411により、I/O処理サーバ201に鍵情報211aの漏洩リスクがある操作の監視を再開するように命令する。
(S254)漏洩監視サーバ401から監視再開の命令を受けたI/O処理サーバ201は、漏洩検知部213により、鍵情報211aの漏洩リスクがある操作の監視を再開する。
(S255)状態管理サーバ402は、対処指示部423により、仮想化ホストサーバ101に対してマッピング情報101aの漏洩リスクがある操作を禁止する操作制限の解除を指示する。
(S256)状態管理サーバ402は、対処指示部423により、仮想化ホストサーバ102に対してマッピング情報102aの漏洩リスクがある操作を禁止する操作制限の解除を指示する。
(S257)状態管理サーバ402は、対処指示部423により、I/O処理サーバ201に対して鍵情報211aの漏洩リスクがある操作を禁止する操作制限の解除を指示する。
(S258)状態管理サーバ402は、対処指示部423により、I/O処理サーバ203に対して鍵情報231aの漏洩リスクがある操作を禁止する操作制限の解除を指示する。なお、I/O処理サーバ202についても同様である。
(S259)状態管理サーバ402から操作制限の解除を指示された仮想化ホストサーバ101は、漏洩監視部114により、禁止されていた操作を許可する。
(S260)状態管理サーバ402から操作制限の解除を指示された仮想化ホストサーバ102は、漏洩監視部124により、禁止されていた操作を許可する。
(S261)状態管理サーバ402から操作制限の解除を指示されたI/O処理サーバ201は、漏洩検知部213により、禁止されていた操作を許可する状態に変更する。
(S262)状態管理サーバ402から操作制限の解除を指示されたI/O処理サーバ203は、漏洩検知部233により、禁止されていた操作を許可する状態に変更する。なお、I/O処理サーバ202についても同様である。S262の処理が完了すると、図19に示した一連の処理(漏洩リスクへの対処)は終了する。
ここで、図20及び図21を参照しながら、再暗号化に関する処理(S248の処理に対応)の流れについて、さらに説明する。なお、仮想化ホストサーバ102が実行するS249の処理の流れも同様であるため、S249の処理については、さらなる説明を省略する。
図20は、第2実施形態に係る暗号鍵の変更処理の中で、再暗号化に関する処理の流れを示した第1のシーケンス図である。図21は、第2実施形態に係る暗号鍵の変更処理の中で、再暗号化に関する処理の流れを示した第2のシーケンス図である。
(S271)仮想化ホストサーバ101は、暗号化制御部113により、マッピング情報101aを参照し、漏洩リスクのある暗号鍵の鍵ID(再暗号化対象の鍵ID)に対応する仮想ディスクファイル名を特定する。
(S272)仮想化ホストサーバ101は、暗号化制御部113により、特定した仮想ディスクファイル名が、仮想マシン制御部112が管理する仮想マシンの仮想ディスクファイル(自身が利用する仮想ディスクファイル)に該当するかを確認する。そして、暗号化制御部113は、その条件に該当する仮想ディスクファイル名を抽出する。また、暗号化制御部113は、抽出した仮想ディスクファイル名の再暗号化フラグを「0」(再暗号化の対象)に設定する。
(S273)仮想化ホストサーバ101は、暗号化制御部113により、再暗号化フラグを「0」に設定した鍵IDを1つ選択する。再暗号化フラグを「0」に設定した鍵IDが存在しない場合、図20及び図21に示した一連の処理は終了する。つまり、再暗号化の対象となる領域が存在しない場合、再暗号化の処理は終了する。
(S274)仮想化ホストサーバ101は、暗号化制御部113により、新しい暗号鍵を生成し、記憶部111に格納する。
(S275)仮想化ホストサーバ101は、暗号化制御部113により、鍵情報(鍵ID、暗号鍵)の更新をI/O処理サーバ201に依頼する。このとき、暗号化制御部113は、I/O処理サーバ201が暗号処理に利用する暗号鍵に対応する鍵IDと、その鍵IDに対応する暗号鍵として新たに生成した暗号鍵をI/O処理サーバ201に送信する。なお、鍵情報の更新は、漏洩リスクのある暗号鍵を保持するI/O処理サーバに依頼される。
(S276)仮想化ホストサーバ101は、暗号化制御部113により、鍵情報(鍵ID、暗号鍵)の更新をI/O処理サーバ203に依頼する。このとき、暗号化制御部113は、I/O処理サーバ203が暗号処理に利用する暗号鍵に対応する鍵IDと、その鍵IDに対応する暗号鍵として新たに生成した暗号鍵をI/O処理サーバ203に送信する。なお、漏洩リスクのある暗号鍵をI/O処理サーバ203が保持していない場合、I/O処理サーバ203に対する鍵情報の更新依頼は省略される。なお、I/O処理サーバ202についても同様である。
(S277)鍵情報の更新依頼を受けたI/O処理サーバ201は、暗号処理部212により、仮想化ホストサーバ101から受信した新たな暗号鍵と鍵IDとを鍵情報211aに追加し、鍵情報211aを更新する。
(S278)鍵情報の更新依頼を受けたI/O処理サーバ203は、暗号処理部232により、仮想化ホストサーバ101から受信した新たな暗号鍵と鍵IDとを鍵情報231aに追加し、鍵情報231aを更新する。なお、I/O処理サーバ202についても同様である。
(S279)I/O処理サーバ201は、暗号処理部212により、鍵情報211aの更新が完了した旨を仮想化ホストサーバ101に通知する。
(S280)I/O処理サーバ203は、暗号処理部232により、鍵情報231aの更新が完了した旨を仮想化ホストサーバ101に通知する。なお、I/O処理サーバ202についても同様である。
(S281)鍵情報の更新を依頼した全てのI/O処理サーバ(I/O処理サーバ201、202)から更新完了の通知を受けた仮想化ホストサーバ101は、暗号化制御部113により、該当領域の再暗号化をI/O処理サーバ201に依頼する。
つまり、暗号化制御部113は、I/O処理サーバ201が保持する暗号鍵を用いて暗号化される再暗号化の対象領域(該当領域)を再暗号化するようにI/O処理サーバ201に依頼する。このとき、暗号化制御部113は、マッピング情報101aを参照して該当領域の開始アドレス及び終了アドレスを特定し、特定した開始アドレス及び終了アドレスをI/O処理サーバ201に通知する。
(S282)仮想化ホストサーバ101は、暗号化制御部113により、該当領域の再暗号化をI/O処理サーバ203に依頼する。
つまり、暗号化制御部113は、I/O処理サーバ203が保持する暗号鍵を用いて暗号化される再暗号化の対象領域(該当領域)を再暗号化するようにI/O処理サーバ203に依頼する。このとき、暗号化制御部113は、マッピング情報101aを参照して該当領域の開始アドレス及び終了アドレスを特定し、特定した開始アドレス及び終了アドレスをI/O処理サーバ203に通知する。なお、I/O処理サーバ202についても同様である。
(S283)該当領域の再暗号化を依頼されたI/O処理サーバ201は、暗号処理部212により、ストレージ装置300から該当領域のデータを読み出し、読み出したデータを古い暗号鍵で復号する。また、暗号処理部212は、古い暗号鍵で復号したデータを新しい暗号鍵で暗号化し、暗号化したデータをストレージ装置300に書き込む。この処理により、古い暗号鍵で暗号化された該当領域のデータが新しい暗号鍵で暗号化されたデータに置き換えられる。
(S284)該当領域の再暗号化を依頼されたI/O処理サーバ203は、暗号処理部232により、ストレージ装置300から該当領域のデータを読み出し、読み出したデータを古い暗号鍵で復号する。また、暗号処理部232は、古い暗号鍵で復号したデータを新しい暗号鍵で暗号化し、暗号化したデータをストレージ装置300に書き込む。この処理により、古い暗号鍵で暗号化された該当領域のデータが新しい暗号鍵で暗号化されたデータに置き換えられる。なお、I/O処理サーバ202についても同様である。
(S285)該当領域の再暗号化を完了したI/O処理サーバ201は、暗号処理部212により、再暗号化の完了を仮想化ホストサーバ101に通知する。
(S286)該当領域の再暗号化を完了したI/O処理サーバ203は、暗号処理部232により、再暗号化の完了を仮想化ホストサーバ101に通知する。なお、I/O処理サーバ202についても同様である。
(S287)再暗号化を依頼した全てのI/O処理サーバ(I/O処理サーバ201、202、203)から再暗号化の完了が通知された仮想化ホストサーバ101は、暗号化制御部113により、I/O処理サーバ201に古い暗号鍵の削除を依頼する。
(S288)仮想化ホストサーバ101は、暗号化制御部113により、I/O処理サーバ203に古い暗号鍵の削除を依頼する。なお、I/O処理サーバ202についても同様である。
(S289)仮想化ホストサーバ101から古い暗号鍵の削除を依頼されたI/O処理サーバ201は、暗号処理部212により、古い暗号鍵を鍵情報211aから削除する。
(S290)仮想化ホストサーバ101から古い暗号鍵の削除を依頼されたI/O処理サーバ203は、暗号処理部232により、古い暗号鍵を鍵情報231aから削除する。なお、I/O処理サーバ202についても同様である。
(S291)古い暗号鍵の削除を完了したI/O処理サーバ201は、暗号処理部212により、古い暗号鍵の削除が完了した旨を仮想化ホストサーバ101に通知する。
(S292)古い暗号鍵の削除を完了したI/O処理サーバ203は、暗号処理部232により、古い暗号鍵の削除が完了した旨を仮想化ホストサーバ101に通知する。なお、I/O処理サーバ202についても同様である。
(S293)古い暗号鍵の削除を依頼した全てのI/O処理サーバ(I/O処理サーバ201、202、203)から削除完了の通知を受けた仮想化ホストサーバ101は、暗号化制御部113により、マッピング情報101aの再暗号化フラグを更新する。つまり、暗号化制御部113は、該当領域に対応するマッピング情報101aの再暗号化フラグを「1」に設定する。なお、新しい暗号鍵を生成する際に鍵IDを変更した場合、該当領域に対応するマッピング情報101aの鍵IDも更新される。
(S294)仮想化ホストサーバ101は、暗号化制御部113により、マッピング情報102aの更新を仮想化ホストサーバ102に依頼する。このとき、暗号化制御部113は、マッピング情報101aを仮想化ホストサーバ102に送信する。
(S295)仮想化ホストサーバ102は、暗号化制御部123により、仮想化ホストサーバ101から受信したマッピング情報101aに基づいてマッピング情報102aを更新する。この処理により、マッピング情報101a、102aが同期される。
(S296)仮想化ホストサーバ102は、暗号化制御部123により、マッピング情報102aの更新が完了した旨を仮想化ホストサーバ101に通知する。S296の処理が完了すると、S273の処理に戻る。そして、再暗号化フラグが「0」に設定された全ての該当領域について再暗号化が完了すると、図20及び図21に示した一連の処理は終了する。
以上、第2実施形態について説明した。
10 データ保護装置
11 記憶部
12 制御部
20 第1群
21、22、31 処理装置
21a、22a 暗号鍵
30 第2群
31a 対応関係
40 データ
41、42 データ領域
50 漏洩通知

Claims (6)

  1. コンピュータに、
    複数のデータ領域を有するデータの暗号処理に用いる複数の暗号鍵を第1群に属する複数の処理装置に記憶させ、
    前記複数のデータ領域のそれぞれについて、データ領域と、前記複数の暗号鍵のうち該データ領域の暗号処理に用いる暗号鍵と、前記第1群に属する複数の処理装置のうち該暗号鍵を記憶する処理装置との対応関係を第2群に属する処理装置に記憶させ、
    前記第1群又は前記第2群に属する処理装置から情報漏洩の可能性を知らせる漏洩通知を受信し、該漏洩通知を送信した処理装置が前記第2群に属する場合には、前記対応関係を変更する
    処理を実行させる、データ保護プログラム。
  2. 前記データ保護プログラムは、前記コンピュータに、
    前記漏洩通知を送信した処理装置が前記第1群に属する場合には、該処理装置が記憶する暗号鍵を変更する
    処理を実行させる、請求項1に記載のデータ保護プログラム。
  3. 前記第2群に属する処理装置は、前記データ領域を識別する第1の識別情報と、前記暗号鍵を識別する第2の識別情報と、前記第1群に属する処理装置を識別する第3の識別情報とを対応付けるマッピング情報を用いて前記対応関係を記憶し、
    前記データ保護プログラムは、前記コンピュータに、
    前記漏洩通知を送信した処理装置が前記第2群に属する場合には、前記第2の識別情報を変更する
    処理を実行させる、請求項1又は2に記載のデータ保護プログラム。
  4. 前記データ保護プログラムは、前記コンピュータに、
    前記漏洩通知を送信した処理装置が前記第2群に属する場合には、前記第1群に属する複数の処理装置のそれぞれが、該漏洩通知が送信される前に記憶していた暗号鍵と異なる暗号鍵を記憶するように、該複数の処理装置に前記複数の暗号鍵を再配置する
    処理を実行させる、請求項1又は2に記載のデータ保護プログラム。
  5. コンピュータが、
    複数のデータ領域を有するデータの暗号処理に用いる複数の暗号鍵を第1群に属する複数の処理装置に記憶させ、
    前記複数のデータ領域のそれぞれについて、データ領域と、前記複数の暗号鍵のうち該データ領域の暗号処理に用いる暗号鍵と、前記第1群に属する複数の処理装置のうち該暗号鍵を記憶する処理装置との対応関係を第2群に属する処理装置に記憶させ、
    前記第1群又は前記第2群に属する処理装置から情報漏洩の可能性を知らせる漏洩通知を受信したとき、該漏洩通知を送信した処理装置が前記第2群に属する場合には、前記対応関係を変更する
    データ保護方法。
  6. 複数の処理装置に関する情報を記憶する記憶部と、
    前記複数のデータ領域のそれぞれについて、データ領域と、前記複数の暗号鍵のうち該データ領域の暗号処理に用いる暗号鍵と、前記第1群に属する複数の処理装置のうち該暗号鍵を記憶する処理装置との対応関係を第2群に属する処理装置に記憶させ、
    前記第1群又は前記第2群に属する処理装置から情報漏洩の可能性を知らせる漏洩通知を受信し、該漏洩通知を送信した処理装置が前記第2群に属する場合には、前記対応関係を変更する制御部と
    を有する、データ保護装置。
JP2016046731A 2016-03-10 2016-03-10 データ保護プログラム、データ保護方法、及びデータ保護装置 Active JP6721825B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016046731A JP6721825B2 (ja) 2016-03-10 2016-03-10 データ保護プログラム、データ保護方法、及びデータ保護装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016046731A JP6721825B2 (ja) 2016-03-10 2016-03-10 データ保護プログラム、データ保護方法、及びデータ保護装置

Publications (2)

Publication Number Publication Date
JP2017162242A true JP2017162242A (ja) 2017-09-14
JP6721825B2 JP6721825B2 (ja) 2020-07-15

Family

ID=59857792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016046731A Active JP6721825B2 (ja) 2016-03-10 2016-03-10 データ保護プログラム、データ保護方法、及びデータ保護装置

Country Status (1)

Country Link
JP (1) JP6721825B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020145656A (ja) * 2019-03-08 2020-09-10 富士電機株式会社 情報処理装置、情報処理方法及びプログラム
JP2021533619A (ja) * 2019-01-31 2021-12-02 セールスフォース ドット コム インコーポレイティッド マルチテナントデータベース管理システムにおけるデータベース暗号化のシステム及び方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337739A (ja) * 2002-03-15 2003-11-28 Neosoft:Kk Webページ情報保存処理プログラム、Webページ変換用プログラム、及び、コンテンツ提供システム
JP2005079864A (ja) * 2003-08-29 2005-03-24 Toshiba Corp 放送装置、受信装置、放送方法及び受信方法
JP2011048661A (ja) * 2009-08-27 2011-03-10 Nomura Research Institute Ltd 仮想サーバ暗号化システム
JP2012032892A (ja) * 2010-07-28 2012-02-16 Fujitsu Ltd 情報送信装置、ネットワークシステム、情報送信方法および情報送信プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337739A (ja) * 2002-03-15 2003-11-28 Neosoft:Kk Webページ情報保存処理プログラム、Webページ変換用プログラム、及び、コンテンツ提供システム
JP2005079864A (ja) * 2003-08-29 2005-03-24 Toshiba Corp 放送装置、受信装置、放送方法及び受信方法
JP2011048661A (ja) * 2009-08-27 2011-03-10 Nomura Research Institute Ltd 仮想サーバ暗号化システム
JP2012032892A (ja) * 2010-07-28 2012-02-16 Fujitsu Ltd 情報送信装置、ネットワークシステム、情報送信方法および情報送信プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021533619A (ja) * 2019-01-31 2021-12-02 セールスフォース ドット コム インコーポレイティッド マルチテナントデータベース管理システムにおけるデータベース暗号化のシステム及び方法
JP7193615B2 (ja) 2019-01-31 2022-12-20 セールスフォース ドット コム インコーポレイティッド マルチテナントデータベース管理システムにおけるデータベース暗号化のシステム及び方法
US11841967B2 (en) 2019-01-31 2023-12-12 Salesforce, Inc. Systems and methods of database encryption in a multitenant database management system
JP2020145656A (ja) * 2019-03-08 2020-09-10 富士電機株式会社 情報処理装置、情報処理方法及びプログラム
JP7215245B2 (ja) 2019-03-08 2023-01-31 富士電機株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP6721825B2 (ja) 2020-07-15

Similar Documents

Publication Publication Date Title
JP4990089B2 (ja) 格納データ暗号化機能内蔵ストレージ装置の暗号鍵をバックアップ及びリストアする計算機システム
JP6414863B2 (ja) 仮想化システムにおける暗号復号方法および装置、およびシステム
CN102945355B (zh) 基于扇区映射的快速数据加密策略遵从
US7509455B2 (en) Information processing system having volume guard function
EP3376378A1 (en) Container license management method, and apparatus
CN102855452B (zh) 基于加密组块的快速数据加密策略遵从
US10635642B1 (en) Multi-cloud bi-directional storage replication system and techniques
CN107735768A (zh) 安全初始化
JP2017126318A (ja) コンピュータプログラム、秘密管理方法及びシステム
JP2005242696A (ja) データ移行方法およびデータ移行装置
JP2011048661A (ja) 仮想サーバ暗号化システム
JP4980288B2 (ja) 計算機システム、記憶領域の状態制御方法及び計算機
JP2007233704A (ja) 仮想マシンを利用した情報処理装置および情報処理システム、並びに、アクセス制御方法
WO2016045101A1 (zh) 操作系统分区的保护方法、保护装置和终端
JP6721825B2 (ja) データ保護プログラム、データ保護方法、及びデータ保護装置
US8458491B1 (en) Cryptographically scrubbable storage device
WO2015004706A1 (ja) ストレージ装置およびストレージ装置の制御方法
TW201702925A (zh) 資料檔案的保護方法、裝置及終端設備
JP3976738B2 (ja) 機密文書管理装置、機密文書管理方法および機密文書管理プログラム
JP2009064055A (ja) 計算機システム及びセキュリティ管理方法
US10296468B2 (en) Storage system and cache control apparatus for storage system
JP2011141806A (ja) ネットワークへの情報流出防止装置
CN113449317A (zh) 对数据进行加密处理的方法及控制设备
US20130166923A1 (en) Automatic virtualization medium, automatic virtualization method, and information processing apparatus
US8281157B2 (en) Storage system, control method therefor, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200108

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200108

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200601

R150 Certificate of patent or registration of utility model

Ref document number: 6721825

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150