JP2011048661A - 仮想サーバ暗号化システム - Google Patents

仮想サーバ暗号化システム Download PDF

Info

Publication number
JP2011048661A
JP2011048661A JP2009196951A JP2009196951A JP2011048661A JP 2011048661 A JP2011048661 A JP 2011048661A JP 2009196951 A JP2009196951 A JP 2009196951A JP 2009196951 A JP2009196951 A JP 2009196951A JP 2011048661 A JP2011048661 A JP 2011048661A
Authority
JP
Japan
Prior art keywords
encryption
virtual
driver
data
user
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
JP2009196951A
Other languages
English (en)
Inventor
Toshifumi Shintani
敏文 新谷
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2009196951A priority Critical patent/JP2011048661A/ja
Publication of JP2011048661A publication Critical patent/JP2011048661A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】仮想サーバを稼働させユーザ端末が利用する状況において、ユーザのデータ(仮想OSデータ)の漏洩などを防止して安全に管理することができる技術を提供する。
【解決手段】本システムは、複数の仮想OSを稼働させるハイパーバイザ10を備えるサーバ装置1を含んで成る。例えば、複数の仮想OSは、管理OS11と、暗号化用仮想OS12と、ユーザ端末3毎に利用される複数のゲストOS13とを含む。暗号化用仮想OS12は、ユーザのゲストOS13毎に異なる暗号鍵を生成して管理する暗号化管理部51と、ユーザのゲストOS13毎のデータを、対応する暗号鍵を用いて暗号化及び復号化する暗号化ドライバ52とを有する。データ入出力の際、ゲストOS13のスプリットドライバ63から暗号化用仮想OS12のスプリットドライバ62にアクセスされ、自動的に暗号化機能が利用される。
【選択図】図1

Description

本発明は、クラウドコンピューティング環境におけるサーバ仮想化、仮想OSなどの技術に関し、特に、データ暗号化等の情報セキュリティの技術に関する。
クラウドコンピューティング環境の普及に伴い、従来は社内(企業内LANのサーバやデータベース等)に存在・管理されていたデータが、外部のデータセンタ等に存在・管理されることが増えてきている。
データセンタ等のコンピュータ(サーバ装置)においては、サーバ仮想化、仮想OSなどの技術を用いて、1つのサーバ装置上に、複数の仮想OS(仮想サーバ)を稼働させることができる。これによりハードウェア資源の使用率などを高め、ユーザ(クライアント、企業等)による多数のアクセスを効率的に処理することができる。また更に、システム・機能によっては、それらの仮想OS(仮想サーバ)毎に、利用(アクセス)するユーザ(ユーザ端末)を対応付けることができる。
上記サーバ仮想化、仮想OSの技術としては、ハイパーバイザ方式などがある。この方式では、コンピュータ(サーバ装置)のハードウェア上、ハイパーバイザ(仮想マシン制御プログラム)が稼働し、ハイパーバイザ上、管理OSやゲストOS(ユーザが利用する仮想OS)を含む複数の仮想OSが稼働する。管理OSは、複数のゲストOSを管理する。各ゲストOSは、ユーザ(ユーザ端末)によりアクセス・利用される仮想サーバとして機能する。
一方、企業や個人が利用するコンピュータのOS(オペレーティングシステム)及び当該OSで管理される情報データは、情報漏洩対策などの情報セキュリティの観点から、データ暗号化が施されることが増えている。例えば、PCの所定のディスクボリューム(パーティション)のデータ全体を暗号化して保存する機能などが挙げられる。
先行技術例として、OS暗号化(暗号化機能を持つOS)に関して、特表2006−510958号公報(特許文献1)などがある。
特表2006−510958号公報
前述のような背景において、サーバ仮想化、仮想OSの技術により、同一のサーバ装置上で、ユーザ毎に利用される複数の仮想OS(ゲストOS、仮想サーバ)が稼働する場合、各ユーザの仮想OSでは、情報セキュリティの観点から、個別にデータの暗号化を施していることが多い。
例えば、同一のサーバ装置上で異なる企業等のユーザの複数の仮想OSが並列的に稼働している場合、不測のエラー等の原因により、あるユーザ(A)の仮想OS(A)のデータが、他の仮想OS(B)のユーザ(B)によって誤って読み取られてしまうこと等が発生し得る。そのようなリスクに対する対策のため、各ユーザとしては、利用する仮想OSのデータ(ディスクボリューム等)を独自に暗号化してデータベース等に保存しておく。これにより、例えばエラーや悪意により自社の仮想OSのデータが外部に読み取られたとしても、当該データが暗号化されているので、情報漏洩などを防止することができる。
しかしながら、上記のように、ユーザ毎に個別に仮想OSデータの暗号化を選択的、恣意的に施す状況については、以下のような問題が挙げられる。
まず、ユーザ(管理者)による仮想OSデータの暗号化の実施の忘れや、暗号化の暗号鍵の不適切な管理などにより、安全な暗号化及び情報データ保存が行われず、情報漏洩などのリスクが高まることが少なくない。
また、ユーザ(管理者)による仮想OSデータ暗号化の実施やその管理に関する手間やコストがかかる。
以上を鑑み、本発明の主な目的は、クラウドコンピューティング環境においてサーバ装置(仮想サーバ)を稼働させユーザ(ユーザ端末)が利用する状況において、ユーザのデータ(仮想OSデータ)の漏洩などを防止して安全に管理することができ、また、ユーザ(管理者)によるデータ暗号化に関する手間やコストを削減できる技術を提供することである。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。前提として、クラウドコンピューティング環境(インターネット等)におけるコンピュータ(共同利用型のサーバ装置)上で、ハイパーバイザ方式などにより、複数の仮想OS(管理OSや複数のゲストOS等)を稼働させ、ユーザ(ユーザ端末、ユーザグループ等)毎に仮想OS(ゲストOS)を仮想サーバとして利用する。本サーバ装置を含んで成る情報処理システム(仮想サーバ暗号化システム)において、以下のような特徴を有する。
(1) 本システムでは、各ユーザの仮想OSのデータ(仮想OSデータ)を対象とした暗号化(及び復号化)の処理、及びそこで使用する暗号鍵の管理(複数の暗号鍵の生成や切り替えや保存等)の処理を、独立した仮想OS(暗号化用仮想OS)などの形で、ドライバレベルで行う。これにより、サーバ装置側の各仮想OSの背後で自動的に仮想OSデータの暗号化が実施される形になる。よって、各ユーザ(その仮想OS)では、従来のように個別にデータ暗号化の実施を意識する必要が無く、安全にデータ(仮想OSデータ)が管理される。
(2) また本システムでは、上記仮想OSデータの暗号化(及び復号化)の暗号鍵については、ユーザ毎、仮想OS毎に異なるものが使用されるように自動的に暗号鍵を生成して複数の暗号鍵(その情報データ)をセキュアに管理する処理などが行われる。これにより、あるユーザの仮想OSの暗号化データは、他のユーザの仮想OSのデータの暗号鍵によっては復号化できないので、他のユーザによりデータが参照されること(情報漏洩)等が防止される。
(3) また更に本システムでは、本サーバ装置における上記暗号鍵を管理する処理機能などを持つ仮想OS(暗号化用仮想OSなど)自体のデータを、第三者機関(監査システムなど)により暗号化し、この暗号鍵を含む暗号化データをセキュアに管理する。これにより、本サーバ装置(管理OS)の運用者・管理者側によるユーザの仮想OSのデータの参照(情報漏洩)等が防止されるので、より安全な管理が実現され、第三者機関による監査等が実現できる。
本システム形態は、例えば、複数の仮想OSを稼働させる制御手段(仮想マシン制御プログラム等)を備えるサーバ装置(コンピュータ)及び前記仮想OSを利用するユーザ端末等を含んで成る情報処理システム(仮想サーバ暗号化システム)である。前記複数の仮想OSは、ユーザ(ユーザ端末)に利用される複数の第1の仮想OS(ゲストOS)と、暗号化機能を備える第2の仮想OSと、を含む。前記第1の仮想OSは、前記第2の仮想OSにアクセスし通信する第1のドライバを有する。前記第2の仮想OSは、前記第1のドライバからアクセスされ通信する第2のドライバと、前記ユーザの第1の仮想OS毎に異なる暗号鍵を生成して対応付けて管理する暗号化管理部と、前記ユーザの第1の仮想OS毎のデータを前記対応付けられた暗号鍵を用いて暗号化及び復号化する暗号化ドライバと、を有する。前記ユーザの第1の仮想OSに対するデータの入出力の際、前記第1のドライバから前記第2のドライバにアクセスし、前記第2の仮想OSは、当該入出力データを対象として、前記暗号化管理部による前記暗号鍵を用いて、前記暗号化ドライバにより、暗号化して記憶手段に書き込む処理、及び、記憶手段から暗号化データを読み出して復号化する処理を行う。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。本発明によれば、クラウドコンピューティング環境においてサーバ装置(仮想サーバ)を稼働させユーザ(ユーザ端末)が利用する状況において、ユーザのデータ(仮想OSデータ)の漏洩などを防止して安全に管理することができ、また、ユーザ(管理者)によるデータ暗号化に関する手間やコストを削減できる。
本発明の実施の形態1の情報処理システム(仮想サーバ暗号化システム)の全体の構成を示す図である。 実施の形態1等の情報処理システムにおける、ユーザ端末、仮想OS,及び暗号化データなどの関係を示す図である。 実施の形態1等の情報処理システムにおける、仮想OS及び暗号鍵の管理情報のデータ構造例を示す図であり、(a)は仮想OS管理情報、(b)は暗号鍵管理情報(暗号化管理情報)を示す。 実施の形態1の情報処理システムにおける、ゲストOS設定時の処理例を示す図である。 実施の形態1の情報処理システムにおける、ゲストOS通常アクセス時の処理例を示す図である。 本発明の実施の形態2の情報処理システム(仮想サーバ暗号化システム)の全体の構成を示す図である。 本発明の実施の形態3の情報処理システム(仮想サーバ暗号化システム)の全体の構成を示す図である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
図1〜図5を用いて、本発明の実施の形態1の情報処理システム(仮想サーバ暗号化システム)について説明する。実施の形態1の概要(特徴)は以下である。図1で、特徴的な要素は、暗号化用仮想OS12であり、特に、暗号化管理部51及び暗号化ドライバ52である。
(1)サーバ装置1(暗号化用仮想OS12)側において、ユーザ(ユーザ端末3)の仮想OS(ゲストOS13)のデータをドライバレベルで自動的に暗号化して管理する機能(暗号化機能)を有する。本機能は、ハイパーバイザ10上で独立して稼働する1つの仮想OS(暗号化用仮想OS12)の機能として提供される。これにより、ユーザ端末3は、暗号化を意識せずに仮想OS(ゲストOS13)を利用することができる。
(2)特に、上記暗号化機能では、複数のユーザの仮想OS毎のデータ暗号化の暗号鍵を、自動的に異なるものに設定し管理する機能(暗号化管理部51による)を有する。これにより、異なるユーザ(ユーザ端末3)間でのゲストOS13のデータの参照(情報漏洩)等が防止される。
<1:システム>
図1において、実施の形態1の情報処理システム(仮想サーバ暗号化システム)の構成を示している。本システムは、インターネット等の通信ネットワーク9(クラウドコンピューティング環境)に接続される、サーバ装置(コンピュータ)1、ストレージ(データベース(DB)等)2、複数のユーザ端末3などを有する。
サーバ装置1は、ストレージ2、複数のユーザ端末3などと接続される。また図4のように管理者が使用する管理者端末4と接続されてもよい。サーバ装置1は、ハイパーバイザ方式で仮想OS(仮想サーバ)を稼働させることにより、仮想サーバとして機能する。サーバ装置1は、ハードウェア上で、ハイパーバイザ(仮想マシン制御プログラム)10が稼働し、ハイパーバイザ10上に、複数の仮想OSが稼働する。仮想OSとして、管理OS11、暗号化用仮想OS(暗号化OS)12、及び、複数のゲストOS13が稼働する。
ハイパーバイザ10は、サーバ装置1のハードウェア(CPU,メモリ,ディスク等の周辺機器(入出力装置)等)を仮想化して使用することにより、複数の仮想OS(11,12,13)を稼働させる制御を行う。
ストレージ2は、サーバ装置1からアクセスされデータを格納する記憶手段であり、例えば大容量のストレージ等を備えるDBサーバ等であってもよい。サーバ装置1とストレージ2は一体的であっても構わない。
ストレージ2のデータとしては、各ユーザの仮想OS(ゲストOS13)の暗号化データ(ユーザデータ21)、例えば、ユーザAデータ21A,ユーザBデータ21B,ユーザCデータ21Cと、各暗号化の際の暗号鍵のデータ情報を含む暗号鍵データ20とを有する。いずれも暗号化された状態などとして安全に保存される([暗号化]は暗号化データ状態を示す)。
ユーザ端末3は、ユーザ(例えば企業の複数の社員によるグループ等)により使用され、ゲストOS13(仮想サーバ)にアクセスして利用するためのWebブラウザ等のソフトウェアや通信機能などを備えるコンピュータである。なお図1中ではユーザ端末3は1人・1台のように示しているが、同じユーザに属する複数人・複数台の場合を含む。サーバ装置1のゲストOS13と、それに対応付けられるユーザ端末3との間では、通信ネットワーク9を介してデータ(ゲストOS13に対して入出力するデータ等)が送信・受信される。
サーバ装置1の管理者は、サーバ装置1を操作し、または図4の管理者端末4等を操作してサーバ装置1にアクセスし、管理OS11を利用する。管理OS11は、既存のハイパーバイザ方式における要素であり、他の仮想OS(12,13)を管理する役割を持ち、管理用アプリケーションプログラム等が稼働する。管理OS11と他の仮想OS(12,13)との間では、既存技術に従い、ハイパーバイザ10上で通信可能である。管理者は、管理OS11を通じて、複数のゲストOS13の設定(例えば登録(追加)、削除、割り当てやリソースの変更など)などを行うことができる。また特に、管理OS11を通じて、ユーザ毎に対応付けるゲストOS13の設定(ユーザ−ゲストOS13の対応付けを、1対1、1対多、あるいは多対1で行うような設定)を行う機能を備えてもよい。
ゲストOS13は、既存のハイパーバイザ方式における要素であり、ユーザ(ユーザ端末3)から利用されるアプリケーションプログラム等が稼働する。ゲストOS13は、暗号化OS12(そのスプリットドライバ62)と通信するスプリットドライバ63を有する。ゲストOS13は、通常のデータ入出力の際、従来技術ではデバイスドライバあるいは管理OSを通じてハードウェアへアクセスするが、本形態では、そのデバイスドライバ等の代わりに自動的にスプリットドライバ63にアクセスし、スプリットドライバ63から暗号化OS12のスプリットドライバ62へアクセスして通信が行われる。即ち、ゲストOS13とハイパーバイザ10との間で自動的に暗号化OS12が介在する形である。これにより、各ゲストOS13は、通常のデータ入出力の動作に伴い、暗号化OS12を意識せずに自動的にその暗号化機能が利用される。
暗号化OS12は、他の仮想OS(11,13)に対して独立で稼働する。暗号化OS12は、暗号化管理部51、暗号化ドライバ52、デバイスドライバ53、スプリットドライバ62等の処理部を有する。暗号化管理部51は、主に、複数のゲストOS13の暗号化のための複数の暗号鍵の管理(図1では暗号鍵データ20の管理)を行う。暗号化ドライバ52は、主に、ゲストOS13の入出力データの暗号化、及び復号化の処理を行う。その際の暗号鍵は、暗号化管理部51から取得する。デバイスドライバ53はハイパーバイザ10を介してハードウェアにアクセスする処理を行う。
本システムで、暗号化OS12による暗号方式としては、例えば公開鍵暗号方式や共通鍵暗号方式などを適用することができる。
実施の形態1で、独立した暗号化OS12は、ハイパーバイザ10上で稼働させる1つの仮想OS(デバイスドライバ53を持つ)(例えば2番目の仮想OS)を、暗号化OS12として設定することにより実現される。なお、既存技術を用いることで、ハイパーバイザ上に、デバイスドライバを持つ仮想OSを設定することが可能であり、これにより実施の形態1の暗号化OS12(デバイスドライバ53を持つ)を設定することができる。
<2:ユーザ−仮想OS−暗号鍵のマッピング>
図2において、本システムにおける、ユーザ(ユーザ端末3)、ゲストOS13、その暗号化データ(ユーザ−ゲストOSデータ21)及び暗号鍵(Kで示す)などの対応付け(マッピング)の関係の一例を示している。なお上側の第三者機関5の部分は、後述の実施の形態3で説明する。
各ユーザのユーザ端末3(例:A(3A),B(3B),C(3C))毎のゲストOS13(仮想サーバ)(例:A(13A),B(13B),C(13C))のデータは、暗号化OS12により、それぞれ異なる暗号鍵(例:K1,K2,K3)により暗号化及び復号化され、その暗号化データ(例:A(21A),B(21B),C(21C))がストレージ2に保存される。また、各暗号鍵(K1,K2,K3)に関する管理情報(例えば図3(b))を含む暗号鍵データ20は、暗号化管理部51により、ストレージ2に保存、管理される。
図2の例は、ユーザ端末3とゲストOS13が1対1で対応付けられる場合である。これに限らず、サーバ装置1の機能に応じて、1対多(1つのユーザ(例えば企業)が複数のゲストOS13を利用する形)や、多対1(複数のユーザ(企業)が1つのゲストOS13を利用する形)で対応付けることができる。ユーザ(ユーザ端末3)とゲストOS13との対応付けは、例えば管理OS11の機能を通じて管理者により設定できる。
また、基本的には図2のようにゲストOS13と暗号鍵を1対1で対応付ける構成である。これに限らず、上記ユーザ−ゲストOS13の対応付けの形に応じて、例えば1つのユーザ(企業等)の利用する複数のゲストOS13に対して1つの暗号鍵を設定する形などが可能である。各形において、複数の暗号鍵は異なるものが自動的に設定される。
<3:管理情報>
図3において、本システムでの管理情報(テーブル)のデータ構造例を示している。
図3(a)は、仮想OS管理情報71を示す。仮想OS管理情報71は、ハイパーバイザ10上の複数の仮想OSの稼働の設定を管理する、従来同様の管理情報である。aの仮想OSIDは、仮想OS(11,12,13)の識別情報(番号等)である。bの種別は、当該仮想OSの種別(モード等)として、管理OS11、暗号化OS12、ゲストOS13などを区別する情報である。cのユーザIDは、当該仮想OS(ゲストOS13)を利用するユーザ(ユーザ端末3のグループや種別等)の識別情報である。例えば管理者の操作により、管理OS11を通じて、仮想OS管理情報71に対し、ユーザ端末3とゲストOS13との対応付けが設定可能である。仮想OS管理情報71は、ストレージ2及び管理OS11等で保持される。図3の設定例では、1番目の仮想OSが管理OS11であり、2番目の仮想OSが暗号化OS12であり、3番目以降の仮想OSがゲストOS13である(管理OS11と暗号化OS12は固定的な設定)。
図3(b)は、暗号鍵管理情報72(暗号化管理情報)を示す。暗号鍵管理情報72は、暗号化OS12(暗号化管理部51)により、各ユーザのゲストOS13に対する暗号化(暗号鍵)の設定(少なくともユーザ端末3−ゲストOS13−暗号鍵の対応関係)を管理する情報であり、ストレージ2及び暗号化OS12等で保持される。aのユーザID及びbの仮想OSID(71のc,aと同じ情報)に対して、cの暗号鍵が割り当てられる。cの暗号鍵は、詳しくは例えば、暗号鍵ID(例:K1等)とその暗号鍵の値などによるデータ情報であり、適用する暗号方式に応じる。
ストレージ2に保存される暗号鍵データ20の中には、少なくとも暗号鍵管理情報72(その暗号化データ)が含まれる。暗号鍵データ20では、その中の各暗号鍵(例えば図2のK1,K2,K3)は、所定の暗号化により、セキュアな状態(例えば図2のK1’,K2’,K3’)で管理される。
<4:処理1(設定時)>
図4を用いて、ユーザのゲストOS13の設定時の処理例について説明する。本処理例では、サーバ装置1の管理者により管理OS11を通じてユーザ用の複数のゲストOS13(仮想サーバ)を設定する際、暗号化OS12による暗号化機能により、当該ゲストOS13に対する暗号化(暗号鍵)の設定等の処理が自動的に行われる。
a(ゲストOS設定): 管理者が管理者端末4等から管理OS11に対して、ユーザ端末3(例えばA(3A))のゲストOS13(例えばA(13A))を設定する指示等の操作を行う(従来同様)。管理OS11では、指示に基づき、ユーザ端末3(3A)の利用するゲストOS13(13A)を設定する処理を行う。これにより、管理OS11は、図3の仮想OS管理情報71などを更新する。例えば、a:仮想OSID「3」、b:種別「ゲストOS」、c:ユーザID「A」、としたレコードを登録する。
b(暗号鍵設定): aの処理に伴い、管理OS11から、暗号化OS12へ、設定対象のゲストOS13(13A)のデータに対する暗号化(暗号鍵)の設定の指示を自動的に行う(仮想OS間の通信機能を用いる)。この指示に従い、暗号化OS12の暗号化管理部51は、設定対象のゲストOS13(13A)のデータを暗号化するための所定の暗号方式の暗号鍵(例えばK1)を自動的に生成する。この際、図3の暗号鍵管理情報72に設定済みの既存の暗号鍵(例えばK2,K3,……)とは異なる値となるように当該暗号鍵(K1)を生成、決定する。なお、この暗号鍵の値の生成処理では、既存技術(乱数計算など)を適用可能である。暗号化管理部51は、上記決定された暗号鍵(K1)の情報により、暗号鍵管理情報72を更新する。例えば、a:ユーザID「A」、b:仮想OSID「3」、c:暗号鍵「K1」、としたレコードを登録する。
c(暗号鍵取得): bにより、暗号化ドライバ52は、暗号化管理部51から、上記生成した暗号鍵(K1)及び対象ゲストOS13(13A)の暗号化の指示を取得する。
d(仮想OSデータ暗号化): cの後、暗号化ドライバ52は、所定の暗号方式により、当該暗号鍵(K1)を用いて、設定対象のゲストOS13(13A)のデータ(ストレージ2に登録される、暗号化されていないディスクボリューム(初期仮想OSイメージ)等)を暗号化処理する。これによりユーザ−ゲストOSデータ21(21A)を得る。
e(暗号鍵データ保存): cの後、暗号化管理部51は、上記生成した暗号鍵(K1)に関する暗号鍵管理情報72を含むデータ(暗号鍵データ20)を、デバイスドライバ53(及びハイパーバイザ10)の処理を通じて、ストレージ2に保存する。尚この際、暗号鍵データ20についても、所定の暗号化が施されたセキュアな状態で保存される(図2)。
f(ユーザ−ゲストOSデータ保存): dの後、暗号化OS12は、上記暗号化ドライバ52により暗号化されたゲストOS13(13A)のデータ(ユーザ−ゲストOSデータ21A)を、デバイスドライバ53(及びハイパーバイザ10)の処理を通じて、ストレージ2に保存する。
<5:処理2(通常アクセス時)>
図5を用いて、上記処理1による設定以降において、ユーザ端末3(例えばA(3A))によるゲストOS13(例えばA(13A))への通常のアクセスによる利用時の処理例について説明する。基本的な処理としては、当該ユーザ端末3から当該ゲストOS13に対するデータの入出力(読み書き)に伴い、暗号化OS12による暗号化機能により、上記設定済みの暗号鍵を用いて、当該データを暗号化/復号化処理する。
また、本処理例では、サーバ装置1(暗号化管理部51)は、ゲストOSデータの入出力毎に毎回ストレージ2の暗号鍵(暗号鍵データ20)をアクセスするのではなく、初回起動時にストレージ2から暗号鍵データ20(暗号鍵管理情報72)を読み出してメモリ上にテーブルとして展開、保持しておき、ゲストOSデータ入出力毎に、そのテーブルの暗号鍵(値)を用いて、暗号化ドライバ52により暗号化/復号化処理を行う。ストレージ2へのアクセスの削減により、処理が高速化できる。詳しい処理例は以下である。
a(起動時): サーバ装置1の起動時、ハイパーバイザ10を通じて、複数の仮想OS(管理OS11、暗号化OS12、ゲストOS13(13A等))を立ち上げる。暗号化OS12の暗号化管理部51は、デバイスドライバ53(及びハイパーバイザ10)の処理を通じて、ストレージ2から暗号鍵データ20を読み出す。またその暗号鍵データ20が暗号化状態の場合は所定の復号化を施す。そして、暗号化管理部51は、読み出した暗号鍵データ20に含まれている暗号鍵管理情報72(暗号鍵(値)を含むテーブル)を、メモリ上に展開して保持する。
b(ユーザアクセス): ゲストOS13(13A)は、ユーザ端末3(3A)からのアクセスに応じて仮想サーバとしての処理(既存技術)を行う。
c(スプリットドライバ): bの際、当該ゲストOS13で入出力データが発生した場合、当該ゲストOS13は、自動的にスプリットドライバ63へアクセスする。すると、スプリットドライバ63と暗号化OS12のスプリットドライバ62との間で通信(情報データの授受)が行われる。これにより、暗号化ドライバ52は、当該入出力データの暗号化/復号化の必要を認識する。
d(暗号鍵取得): cにより、暗号化OS12の暗号化ドライバ52は、当該ゲストOS13(13A)における入出力データを暗号化/復号化する処理のために必要な暗号鍵の情報を、暗号化管理部51から取得する。暗号化管理部51は、メモリ上のテーブルを参照して、対象ゲストOS13(13A)に対応付けられる暗号鍵(例えばK1)を取り出して暗号化ドライバ52へ渡す。
e(暗号化/復号化): dにより、暗号化ドライバ52は、上記暗号鍵(K1)を用いて、当該ゲストOS13(13A)における入出力データを暗号化/復号化する処理を行う。即ち、当該ユーザ端末3(3A)から当該ゲストOS13(13A)に対するデータの入力(書き込み)などの場合、暗号化ドライバ52は、当該入力データ(ゲストOS13(13A)から受け取る)を暗号鍵(K1)を用いて暗号化処理し、その結果の暗号化データを、デバイスドライバ53の処理を通じて、ストレージ2のユーザデータ21(21A)へ保存する。また、当該ゲストOS13(13A)から当該ユーザ端末3(3A)へのデータの出力(読み出し)などの場合、暗号化ドライバ52は、ストレージ2のユーザデータ21(21A)からデバイスドライバ53の処理を通じて当該出力データ(暗号化データ)を読み出して、暗号鍵(K1)を用いて復号化処理し、その結果を出力する(ゲストOS13(13A)へ渡す)。
<実施の形態1の効果等>
クラウドコンピューティング環境における仮想サーバのアーキテクチャ(インフラ)において、自動的な暗号化機能を実装したシステムが実現され、ユーザデータの漏洩などを防止して安全に管理することができ、また、ユーザ(管理者)によるデータ暗号化に関する手間やコストを削減できる。
実施の形態1では、既存の仮想サーバ等の仕組みに対して独立した暗号化OS12により暗号化機能を実現できる。複数のユーザ端末3における複数のゲストOS13毎に異なる暗号鍵を自動的に設定して管理することにより、ユーザ端末3間でゲストOS13のデータが誤って参照されること等が防止される。
(実施の形態2)
図6を用いて、本発明の実施の形態2の情報処理システム(仮想サーバ暗号化システム)について説明する。実施の形態2では、図6のように、実施の形態1(図1)の管理OS11に、暗号化用仮想OS12相当の暗号化機能を統合して実装した形態である。処理等は実施の形態1と基本的に同様である。
図6において、ハイパーバイザ10上、暗号化機能を備える管理OS14は、1番目の仮想OSであり、他の複数のゲストOS13(13A,13B等)は、2番目、3番目等の仮想OSである。
実施の形態2では、実施の形態1のように独立した暗号化OS12を設定することができない環境であっても、実施の形態1と同様に暗号化機能及びその効果を実現できる。
(実施の形態3)
図7及び前記図2等を用いて、本発明の実施の形態3の情報処理システム(仮想サーバ暗号化システム)について説明する。実施の形態3では、図7のように、サーバ装置1を含む情報処理システムに対して、更に、外部の情報処理システムである第三者機関(監査システム)5を有する。前述の暗号鍵管理情報72(暗号鍵データ20)を含む暗号化用仮想OS12(または実施の形態2の暗号化機能を含む管理OS14)自体のデータを、第三者機関(監査システム)5により暗号化(その暗号鍵:K0)する。そして、その暗号化OSデータ22(暗号化データ)及びその暗号鍵(K0)の情報は、第三者機関(監査システム)5により、ストレージ2等にセキュアな状態で保存、管理する。暗号化処理部501は、上記暗号化とその制御を行うコンピュータ・端末などである。
第三者機関(監査システム)5の暗号化処理部501は、暗号鍵(K0)を用いて、暗号化OS12のデータを暗号化処理し(図7のa)、その暗号化データ(暗号化OSデータ22)を、例えばストレージ2内(あるいは第三者機関5内など)に保存(初期登録)する(図7のb)。なお暗号化OS12用の暗号鍵(K0)は、前述の複数のゲストOS13用の暗号鍵(K1,K2,……)とは異なる値である。前記図2の暗号化OSデータ22は、実施の形態1の暗号鍵データ20相当を内包する。
また、第三者機関(監査システム)5の暗号化処理部501は、必要に応じて、上記暗号鍵(K0)を用いて、暗号化OSデータ22(暗号化データ)を読み出して復号化処理する。そして、第三者機関(監査システム)5は、その暗号化OS12のデータを参照して監査処理(サーバ装置1での処理が適正かどうかの確認など)を行うことができる。
暗号化処理部501は、暗号化OSデータ22(暗号化データ)を、サーバ装置1を介して(または介さず直接に)、ストレージ2に登録(格納)する(図7のb)。
実施の形態3では、サーバ装置1の管理者等による暗号化OS12の操作によるユーザデータ(21)の参照(情報漏洩など)も防止できるので、実施の形態1等よりも更に情報セキュリティを高めることができる。また、第三者機関(監査システム)5によるサーバ装置1(それを含む情報処理システム)を対象とした監査も実現できる。
(他の実施の形態)
その他の実施の形態として以下が可能である。実施の形態1では、暗号化OS12は、デバイスドライバ53を備え、デバイスドライバ53からハイパーバイザ10を介してハードウェアにアクセスできる。それに対し、デバイスドライバを持つ仮想OSを設定することができない方式の場合、例えば、デバイスドライバ53を持たない暗号化OS12相当を設定し、必要に応じてその暗号化OS12から、デバイスドライバを持つ管理OS11(そのデバイスドライバ)を経由してハードウェアにアクセスする形態も可能である。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
本発明は、クラウドコンピューティングシステム、仮想サーバシステムなどに利用可能である。
1…サーバ装置、2…ストレージ、3…ユーザ端末、4…管理者端末、5…第三者機関(監査システム)、9…通信ネットワーク、10…ハイパーバイザ(仮想マシン制御プログラム)、11…管理OS、12…暗号化用仮想OS(暗号化OS)、13…ゲストOS、14…管理OS、20…暗号鍵データ、21…ユーザデータ(ユーザ−ゲストOSデータ)、22…暗号化OSデータ、51…暗号化管理部、52…暗号化ドライバ、53…デバイスドライバ、62,63…スプリットドライバ、71…仮想OS管理情報、72…暗号鍵管理情報、501…暗号化処理部、K0,K1,K2,K3…暗号鍵。

Claims (5)

  1. 複数の仮想OSを稼働させる制御手段を備えるサーバ装置を含んで成り、
    前記複数の仮想OSは、
    ユーザに利用される複数の第1の仮想OSと、
    暗号化機能を備える第2の仮想OSと、を含み、
    前記第1の仮想OSは、前記第2の仮想OSにアクセスし通信する第1のドライバを有し、
    前記第2の仮想OSは、
    前記第1のドライバからアクセスされ通信する第2のドライバと、
    前記ユーザの第1の仮想OS毎に異なる暗号鍵を生成して対応付けて管理する暗号化管理部と、
    前記ユーザの第1の仮想OS毎のデータを前記対応付けられた暗号鍵を用いて暗号化及び復号化する暗号化ドライバと、を有し、
    前記ユーザの第1の仮想OSに対するデータの入出力の際、前記第1のドライバから前記第2のドライバにアクセスし、前記第2の仮想OSは、当該入出力データを対象として、前記暗号化管理部による前記暗号鍵を用いて、前記暗号化ドライバにより、暗号化して記憶手段に書き込む処理、及び、記憶手段から暗号化データを読み出して復号化する処理を行うこと、を特徴とする仮想サーバ暗号化システム。
  2. 請求項1記載の仮想サーバ暗号化システムにおいて、
    前記サーバ装置は、ハードウェア上のハイパーバイザ上に、前記複数の仮想OSを稼働させ、
    前記複数の仮想OSとして、
    他の仮想OSを管理する管理OSと、
    前記第2の仮想OSである暗号化用仮想OSと、
    前記ユーザ毎に対応付けて利用される前記複数の第1の仮想OSである複数のゲストOSと、を有し、
    前記暗号化用仮想OSは、前記第2のドライバと、前記暗号化管理部と、前記暗号化ドライバと、前記ハイパーバイザを通じて前記ハードウェアにアクセスするデバイスドライバと、を有し、
    前記暗号化用仮想OSは、前記暗号化ドライバによる暗号化または復号化の際、前記デバイスドライバの処理を通じて、前記ハイパーバイザを通じて前記ハードウェアにアクセスすること、を特徴とする仮想サーバ暗号化システム。
  3. 請求項1記載の仮想サーバ暗号化システムにおいて、
    前記サーバ装置は、ハードウェア上のハイパーバイザ上に、前記複数の仮想OSを稼働させ、
    前記複数の仮想OSとして、
    他の仮想OSを管理し、前記第2の仮想OSの暗号化機能を含む管理OSと、
    前記ユーザ毎に対応付けて利用される前記複数の第1の仮想OSである複数のゲストOSと、を有し、
    前記管理OSにおける前記暗号化機能は、前記第2のドライバと、前記暗号化管理部と、前記暗号化ドライバと、前記ハイパーバイザを通じて前記ハードウェアにアクセスするデバイスドライバと、を有し、
    前記暗号化機能は、前記暗号化ドライバによる暗号化または復号化の際、前記デバイスドライバの処理を通じて、前記ハイパーバイザを通じて前記ハードウェアにアクセスすること、を特徴とする仮想サーバ暗号化システム。
  4. 請求項1記載の仮想サーバ暗号化システムにおいて、
    前記サーバ装置における、前記暗号化管理部による複数の暗号鍵の管理情報を含む、前記第2の仮想OSのデータを、暗号化して管理する、第三者機関の情報処理システムを有すること、を特徴とする仮想サーバ暗号化システム。
  5. 請求項1記載の仮想サーバ暗号化システムにおいて、
    管理者により、前記サーバ装置に対して、前記ユーザに利用される第1の仮想OSを設定する際、前記第2の仮想OSは、前記暗号化管理部により、当該ユーザの第1の仮想OSに対応付ける前記暗号鍵を生成して設定し、その管理情報を含むデータを記憶手段に保存し、
    前記第1の仮想OSの稼働の際、前記第2の仮想OSは、前記暗号化管理部により、前記複数の暗号鍵の管理情報を含むデータを前記記憶手段から読み出して当該複数の暗号鍵を保持し、当該第1の仮想OSに応じて当該暗号鍵を切り替えること、を特徴とする仮想サーバ暗号化システム。
JP2009196951A 2009-08-27 2009-08-27 仮想サーバ暗号化システム Pending JP2011048661A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009196951A JP2011048661A (ja) 2009-08-27 2009-08-27 仮想サーバ暗号化システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009196951A JP2011048661A (ja) 2009-08-27 2009-08-27 仮想サーバ暗号化システム

Publications (1)

Publication Number Publication Date
JP2011048661A true JP2011048661A (ja) 2011-03-10

Family

ID=43834906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009196951A Pending JP2011048661A (ja) 2009-08-27 2009-08-27 仮想サーバ暗号化システム

Country Status (1)

Country Link
JP (1) JP2011048661A (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013012018A (ja) * 2011-06-29 2013-01-17 Internatl Business Mach Corp <Ibm> 安全に管理された仮想マシンの実行環境を構築する方法、プログラムおよびコンピュータ装置
JP2013528872A (ja) * 2010-06-02 2013-07-11 ヴイエムウェア インク マルチ・テナント・クラウドにおける顧客仮想計算機の保護
JP2013206231A (ja) * 2012-03-29 2013-10-07 Hitachi Ltd コントローラおよび計算機
JP2015531944A (ja) * 2012-09-06 2015-11-05 インテル・コーポレーション データトラフィックへの未認証アクセスの軽減
JP2016515267A (ja) * 2013-03-15 2016-05-26 ブラケット コンピューティング インコーポレイテッドBracket Computing, Inc. 仮想データセンタゲストへのサービスの拡大
JP2017004235A (ja) * 2015-06-10 2017-01-05 富士ゼロックス株式会社 管理装置及びプログラム
JP2017515413A (ja) * 2014-05-05 2017-06-08 マイクロソフト テクノロジー ライセンシング,エルエルシー 継続的な所有者アクセスを伴う、暗号化された仮想マシンの安全なトランスポート
JP2017162242A (ja) * 2016-03-10 2017-09-14 富士通株式会社 データ保護プログラム、データ保護方法、及びデータ保護装置
JP2018504702A (ja) * 2015-01-05 2018-02-15 グーグル エルエルシー オペレーティングシステムドングル
US9928375B2 (en) 2011-06-13 2018-03-27 International Business Machines Corporation Mitigation of data leakage in a multi-site computing infrastructure
JP2019524018A (ja) * 2016-06-06 2019-08-29 マイクロソフト テクノロジー ライセンシング,エルエルシー ブロックチェーンシステムのための暗号化アプリケーション
WO2021014733A1 (ja) * 2019-07-19 2021-01-28 Eaglys株式会社 演算装置、演算方法、演算プログラム、および演算システム
US10970100B2 (en) 2019-03-08 2021-04-06 International Business Machines Corporation Starting a secure guest using an initial program load mechanism
JP6867718B1 (ja) * 2020-02-20 2021-05-12 Eaglys株式会社 情報処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
US11354418B2 (en) 2019-03-08 2022-06-07 International Business Machines Corporation Incremental decryption and integrity verification of a secure operating system image
KR20230053989A (ko) * 2021-10-15 2023-04-24 네이버클라우드 주식회사 클라우드 서버 내 가상 서버의 복호화 방법 및 이를 이용하는 클라우드 서버

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07170280A (ja) * 1993-12-15 1995-07-04 Ricoh Co Ltd ローカルエリアネットワーク
JP2007510198A (ja) * 2003-10-08 2007-04-19 ユニシス コーポレーション ホストシステムのパーティション内に実装されているハイパーバイザを使用したコンピュータシステムの準仮想化
WO2009044461A1 (ja) * 2007-10-03 2009-04-09 Fujitsu Limited デバイスアクセス制御プログラム、デバイスアクセス制御方法および情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07170280A (ja) * 1993-12-15 1995-07-04 Ricoh Co Ltd ローカルエリアネットワーク
JP2007510198A (ja) * 2003-10-08 2007-04-19 ユニシス コーポレーション ホストシステムのパーティション内に実装されているハイパーバイザを使用したコンピュータシステムの準仮想化
WO2009044461A1 (ja) * 2007-10-03 2009-04-09 Fujitsu Limited デバイスアクセス制御プログラム、デバイスアクセス制御方法および情報処理装置

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013528872A (ja) * 2010-06-02 2013-07-11 ヴイエムウェア インク マルチ・テナント・クラウドにおける顧客仮想計算機の保護
JP2015181045A (ja) * 2010-06-02 2015-10-15 ヴイエムウェア インクVMware, Inc. マルチ・テナント・クラウドにおける顧客仮想計算機の保護
US9928375B2 (en) 2011-06-13 2018-03-27 International Business Machines Corporation Mitigation of data leakage in a multi-site computing infrastructure
JP2013012018A (ja) * 2011-06-29 2013-01-17 Internatl Business Mach Corp <Ibm> 安全に管理された仮想マシンの実行環境を構築する方法、プログラムおよびコンピュータ装置
JP2013206231A (ja) * 2012-03-29 2013-10-07 Hitachi Ltd コントローラおよび計算機
JP2015531944A (ja) * 2012-09-06 2015-11-05 インテル・コーポレーション データトラフィックへの未認証アクセスの軽減
JP2016515267A (ja) * 2013-03-15 2016-05-26 ブラケット コンピューティング インコーポレイテッドBracket Computing, Inc. 仮想データセンタゲストへのサービスの拡大
US10956321B2 (en) 2014-05-05 2021-03-23 Microsoft Technology Licensing, Llc Secure management of operations on protected virtual machines
JP2017515413A (ja) * 2014-05-05 2017-06-08 マイクロソフト テクノロジー ライセンシング,エルエルシー 継続的な所有者アクセスを伴う、暗号化された仮想マシンの安全なトランスポート
JP2018504702A (ja) * 2015-01-05 2018-02-15 グーグル エルエルシー オペレーティングシステムドングル
US10275370B2 (en) 2015-01-05 2019-04-30 Google Llc Operating system dongle
JP2017004235A (ja) * 2015-06-10 2017-01-05 富士ゼロックス株式会社 管理装置及びプログラム
JP2017162242A (ja) * 2016-03-10 2017-09-14 富士通株式会社 データ保護プログラム、データ保護方法、及びデータ保護装置
JP2019524018A (ja) * 2016-06-06 2019-08-29 マイクロソフト テクノロジー ライセンシング,エルエルシー ブロックチェーンシステムのための暗号化アプリケーション
US10970100B2 (en) 2019-03-08 2021-04-06 International Business Machines Corporation Starting a secure guest using an initial program load mechanism
US11354418B2 (en) 2019-03-08 2022-06-07 International Business Machines Corporation Incremental decryption and integrity verification of a secure operating system image
WO2021014733A1 (ja) * 2019-07-19 2021-01-28 Eaglys株式会社 演算装置、演算方法、演算プログラム、および演算システム
US11288381B2 (en) 2019-07-19 2022-03-29 Eaglys Inc. Calculation device, calculation method, calculation program and calculation system
JP6867718B1 (ja) * 2020-02-20 2021-05-12 Eaglys株式会社 情報処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
WO2021166787A1 (ja) * 2020-02-20 2021-08-26 Eaglys株式会社 情報処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
JP2021132376A (ja) * 2020-02-20 2021-09-09 Eaglys株式会社 情報処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
JP2021132323A (ja) * 2020-02-20 2021-09-09 Eaglys株式会社 情報処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
KR20230053989A (ko) * 2021-10-15 2023-04-24 네이버클라우드 주식회사 클라우드 서버 내 가상 서버의 복호화 방법 및 이를 이용하는 클라우드 서버
KR102580570B1 (ko) 2021-10-15 2023-09-21 네이버클라우드 주식회사 클라우드 서버 내 가상 서버의 복호화 방법 및 이를 이용하는 클라우드 서버

Similar Documents

Publication Publication Date Title
JP2011048661A (ja) 仮想サーバ暗号化システム
US10708051B2 (en) Controlled access to data in a sandboxed environment
CN102208001B (zh) 硬件支持的虚拟化密码服务
CA2939925C (en) Securing client-specified credentials at cryptographically attested resources
EP3120291B1 (en) Rapid data protection for storage devices
CN104982005B (zh) 实施虚拟化环境中的特权加密服务的计算装置及方法
US20170277898A1 (en) Key management for secure memory address spaces
US20190238323A1 (en) Key managers for distributed computing systems using key sharing techniques
US10841089B2 (en) Key managers for distributed computing systems
US7099477B2 (en) Method and system for backup and restore of a context encryption key for a trusted device within a secured processing system
CN109104281A (zh) 令牌化硬件安全模块
US20180095899A1 (en) Multi-crypto-color-group vm/enclave memory integrity method and apparatus
US10372628B2 (en) Cross-domain security in cryptographically partitioned cloud
CN106063218A (zh) 虚拟化***中加解密的方法、装置和***
US11755499B2 (en) Locally-stored remote block data integrity
KR20140051350A (ko) 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법
US20160330022A1 (en) Cryptographic system, key generation apparatus, re-encryption apparatus and user terminal
US20230236870A1 (en) Safe entropy source for encrypted virtual machines
US10691356B2 (en) Operating a secure storage device
CN113961970B (zh) 跨网段网盘登录身份验证方法、装置、网盘及存储介质
US20240097918A1 (en) Managing unique secrets in distributed systems
CN102467625A (zh) 一种数据保护方法、装置及***
CN114840862A (zh) 计算设备、物理输入设备、物理输出设备及数据传输方法
CN117278202A (zh) 一种数据传输方法及相关装置
JP2012084950A (ja) サーバへのアクセス方法及びアクセスプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130709