(57)【要約】【課題】  確実にデータの暗号化に用いた鍵を暗号化した暗号化鍵を復号するための鍵暗号化鍵を交換すること。【解決手段】  ディスク鍵を用いて平文１２１Ａを暗号化するデータ暗号化モジュール１０３と、鍵管理用仮想マシン６０Ａ，６０Ｂから鍵暗号化鍵６３Ａ，６３Ｂを取得し、各鍵暗号化鍵６３Ａ，６３Ｂを用いてディスク鍵１２０Ａを暗号化するディスク鍵暗号化モジュール１０２と、複数の鍵管理サーバから通信可能な鍵管理サーバを選択し、選択された鍵管理サーバから鍵暗号化鍵を取得する鍵暗号化鍵取得モジュール１０４と、取得した鍵暗号化鍵を用いて暗号化されたディスク鍵１２４Ａ，１２４Ｂを復号するディスク鍵復号化モジュール１０５と、ディスク鍵１２０Ｂを用いて暗号文１２２を復号するデータ復号化モジュール１０６とを具備する。【選択図】    図３
2010109919.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介した通信を行うためのネットワークコントローラと、
第１の鍵を用いてデータを暗号化する手段と、
前記データを暗号化した暗号データを格納する記憶装置と、
複数の鍵管理サーバからそれぞれ鍵暗号化鍵を取得し、前記各鍵暗号化鍵を用いて前記第１の鍵を暗号化する鍵暗号化手段と、
前記複数の鍵管理サーバの中から前記ネットワークを介して通信を行うことができる鍵管理サーバを選択し、選択した鍵管理サーバから鍵暗号化鍵を取得する取得手段と、
前記取得手段が取得した鍵暗号化鍵を用いて前記暗号化された第１の鍵を復号する暗号化鍵復号手段と、
前記暗号化鍵復号手段が復号した第１の鍵を用いて前記記憶装置に格納されている暗号データを復号することによって、前記データを算出するデータ復号手段と
を具備することを特徴とする情報処理装置。
【請求項２】
前記第１の鍵を生成する手段を更に具備することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記複数の鍵管理サーバが有するそれぞれの鍵暗号化鍵は異なることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
ネットワークを介した通信を行うための第１ネットワークコントローラと、鍵暗号化鍵を管理するための鍵管理手段とをそれぞれ有する複数の鍵管理サーバと、
前記ネットワークを介した通信を行うための第２ネットワークコントローラと、第１の鍵を用いてデータを暗号化する手段と、前記データを暗号化した暗号データを格納する記憶装置と、複数の鍵管理サーバからそれぞれ鍵暗号化鍵を取得し、前記各鍵暗号化鍵を用いて前記第１の鍵を暗号化する鍵暗号化手段と、前記複数の鍵管理サーバの中から前記ネットワークを介して通信を行うことができる鍵管理サーバを選択し、選択した鍵管理サーバから鍵暗号化鍵を取得する取得手段と、前記取得手段が取得した鍵暗号化鍵を用いて前記暗号化された第１の鍵を復号する暗号化鍵復号手段と、前記暗号化鍵復号手段が復号した第１の鍵を用いて前記記憶装置に格納されている暗号データを復号することによって、前記データを算出するデータ復号手段とを有する情報処理装置と
を具備することを特徴とする暗号／復号システム。
【請求項５】
前記複数の鍵管理サーバが有するそれぞれの鍵暗号化鍵は異なることを特徴とする請求項４に記載の暗号／復号システム。
【請求項６】
前記情報処理装置は、前記第１の鍵を生成する手段を更に具備することを特徴とする請求項４に記載の暗号／復号システム。
【請求項７】
前記第１ネットワークコントローラを有し、オペレーティングシステムと前記オペレーティングシステム上で動作するプログラムとデータとを備えた複数のソフトウェア資源が一つのハードウェア資源上で同時動作するために各ソフトウェア資源を制御するためのモニタ手段を備えた別の情報処理装置を複数具備し、
前記鍵管理サーバは前記ソフトウェア資源の一つであることを特徴とする請求項４に記載の暗号／復号システム。
【請求項８】
前記別の情報処理装置はバッテリを用いて駆動することが可能であることを特徴とする請求項７に記載の暗号／復号システム。
【請求項９】
第１の鍵を用いてデータを暗号化し、情報法処理装置が、暗号化されたデータを記憶装置に格納し、
複数の鍵管理サーバからそれぞれ鍵暗号化鍵を取得し、前記各鍵暗号化鍵を用いて前記第１の鍵を暗号化して前記記憶装置に格納し、
前記記憶装置に格納されている暗号化されたデータを復号する場合に、前記複数の鍵管理サーバから通信可能な鍵管理サーバを選択し、
選択された鍵管理サーバから鍵暗号化鍵を取得し、
前記取得した鍵暗号化鍵を用いて前記暗号化された第１の鍵を復号し、
前記復号した第１の鍵を用いて前記記憶装置に格納されている暗号化されたデータを復号する
ことを特徴とする暗号／復号方法。
【請求項１０】
前記複数の鍵管理サーバが有するそれぞれの鍵暗号化鍵は異なることを特徴とする請求項９に記載の暗号／復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、暗号／復号システム、および暗号／復号方法に関する。
【背景技術】
【０００２】
従来、鍵管理サーバから鍵を交換してパソコン内のデータの暗号化／復号化を行うシステムにおいて、システムの可用性を高めるため複数の鍵管理サーバを備える場合、複数の鍵管理サーバ間で鍵管理データの同期をとる方法がとられていた。
【０００３】
特許文献１は、データ用鍵を(ユーザごとに)固有の複数の暗号鍵によりそれぞれ暗号化して複数の暗号化データ鍵を作成し、複数の暗号鍵のうちいずれか暗号鍵に対応した復号鍵が入力された場合に、対応する暗号化データ鍵からデータ鍵を復号してデータ暗復号部へ出力することを開示している。
【特許文献１】特開２００８−５３７６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、複数の鍵管理サーバ間でデータ用鍵の同期をとる方法では鍵管理サーバ間で鍵データの同期が失敗するなどの障害が発生した場合、鍵データの不一致が発生するとパソコンのデータを復号できなくなるため、サーバを常時動かし、確実にデータの同期をとる必要があった。
【０００５】
本発明の目的は、鍵を管理するサーバが常時通信を行うことができない環境であっても、確実にデータの暗号化に用いた鍵を暗号化した暗号化鍵を復号するための鍵暗号化鍵を交換することが可能な情報処理装置、暗号／復号システム、および暗号／復号方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一例に係わる情報処理装置は、ネットワークを介して通信を行うための第２ネットワークコントローラと、第１の鍵を用いてデータを暗号化する手段と、前記データを暗号化した暗号データを格納する記憶装置と、複数の鍵管理サーバからそれぞれ鍵暗号化鍵を取得し、前記各鍵暗号化鍵を用いて前記第１の鍵を暗号化する鍵暗号化手段と、前記複数の鍵管理サーバの中から前記ネットワークを介して通信を行うことができる鍵管理サーバを選択し、選択した鍵管理サーバから鍵暗号化鍵を取得する取得手段と、前記取得手段が取得した鍵暗号化鍵を用いて前記暗号化された第１の鍵を復号する暗号化鍵復号手段と、前記暗号化鍵復号手段が復号した第１の鍵を用いて前記記憶装置に格納されている暗号データを復号することによって、前記データを算出するデータ復号手段とを具備することを特徴とする。
【０００７】
本発明の一例に係わる暗号／復号システムは、ネットワークを介した通信を行うための第１ネットワークコントローラと、鍵暗号化鍵を管理するための鍵管理手段とをそれぞれ有する複数の鍵管理サーバと、前記ネットワークを介した通信を行うための第２ネットワークコントローラと、第１の鍵を用いてデータを暗号化する手段と、前記データを暗号化した暗号データを格納する記憶装置と、複数の鍵管理サーバからそれぞれ鍵暗号化鍵を取得し、前記各鍵暗号化鍵を用いて前記第１の鍵を暗号化する鍵暗号化手段と、前記複数の鍵管理サーバの中から前記ネットワークを介して通信を行うことができる鍵管理サーバを選択し、選択した鍵管理サーバから鍵暗号化鍵を取得する取得手段と、前記取得手段が取得した鍵暗号化鍵を用いて前記暗号化された第１の鍵を復号する暗号化鍵復号手段と、前記暗号化鍵復号手段が復号した第１の鍵を用いて前記記憶装置に格納されている暗号データを復号することによって、前記データを算出するデータ復号手段とを有する情報処理装置とを具備することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、鍵を管理するサーバが常時通信を行うことができない環境であっても、確実にデータの暗号化に用いた鍵を暗号化した暗号化鍵を復号するための鍵暗号化鍵を交換することが可能になる。
【発明を実施するための最良の形態】
【０００９】
本発明の実施の形態を以下に図面を参照して説明する。
【００１０】
図１は、本発明の一実施形態に係わる暗号／復号システムの構成を示す図である。図１に示すように、社内ＬＡＮに複数のノートブック型パーソナルコンピュータ１０Ａ，１０Ｂ，１０Ｃ，２０Ａ，２０Ｂが接続されている。それぞれのコンピュータ１０Ａ，１０Ｂ，１０Ｃ，２０Ａ，２０Ｂは、バッテリによって駆動することが可能であり、社内ＬＡＮから離脱した状態で用いられることがある。
【００１１】
コンピュータ２０Ａ，２０Ｂでは、複数の仮想マシンが同時動作し、その中の１台は鍵暗号化鍵管理サーバとして動作する。図２を参照してコンピュータ２０Ａ，２０Ｂの構成を説明する。図２は、鍵管理サーバとして動作する仮想マシンを有する情報処理装置の構成を示す図である。
【００１２】
コンピュータ２０Ａ、２０Ｂには、例えば、ＸＥＮやＶＭＷＡＲＥなどで提供される仮想化技術（Virtual Monitor）を実行する環境が整えられている。
【００１３】
コンピュータ２０Ａ，２０Ｂは、ハードウェア層３０、仮想マシンモニタ（モニタ手段）４０、ユーザ用仮想マシン５０、および鍵管理用仮想マシン（鍵管理サーバ）６０等を備えている。
【００１４】
ハードウェア層３０は、ネットワークインタフェースカード（ＮＩＣ）３１、ディスプレイ、ハードディスクドライブ（ＨＤＤ）、キーボード、およびマウス等を有する。ネットワークインタフェースカード３１は、ネットワークを介した通信を行うためのコントローラである。
【００１５】
仮想マシンモニタ４０は、ハードウェア層３０を管理し、各仮想マシン５０，６０に対してリソース割り当てを行う。また仮想マシンモニタ４０は、仮想マシンの実行スケジュールと仮想マシンからのＩ／Ｏ要求をハードウェア層３０へ振り分ける。
【００１６】
ユーザ用仮想マシン５０は、ユーザオペレーティングシステム（ユーザＯＳ）５１、ユーザアプリケーションプログラム（ユーザＡＰＰ）５２等を有する。ユーザオペレーティングシステム５１は、ユーザが一般的に使用する環境を提供するためのオペレーティングシステムである。一般的には、ユーザオペレーティングシステム５１としては、ウインドウズ（登録商標）系のオペレーティングシステムが用いられる。ユーザアプリケーションプログラム５２は、ユーザオペレーティングシステム５１上で動作するアプリケーションソフトウェアである。例えば、ワードプロセッサ、スプレッドシート、プレゼンテーション資料作成ソフト、メーラ、Ｗｅｂブラウザ等である。
【００１７】
鍵管理用仮想マシン６０は、サービスオペレーティングシステム（サービスＯＳ）６１、鍵管理アプリケーションプログラム（鍵管理ＡＰＰ）６２等を有する。サービスオペレーティングシステム６１は、鍵管理アプリケーションプログラム６２を動作させるためのオペレーティングシステムである。例えば、Ｌｉｎｕｘ（登録商標）がサービスオペレーティングシステム６１として用いられる。鍵管理アプリケーションプログラム６２は、鍵管理用仮想マシン６０に割り当てられたディスクスペース内に格納される鍵暗号化鍵（ＫＥＫ：Key Encryption Key）を管理する。なお、ユーザ用仮想マシン５０内で動作するオペレーティングシステム５１およびアプリケーション５２等は、鍵管理用仮想マシン６０に割り当てられているディスクスペース内のデータに直接アクセすることができない。
【００１８】
コンピュータ１０Ａ，１０Ｂ，１０Ｃは、自身が有するデータを暗号化／復号化に用いるディスク鍵を有し、コンピュータ２０Ａ，２０Ｂの鍵管理用仮想マシン６０のそれぞれが管理する鍵暗号化鍵を用いてディスク鍵を暗号化し、ディスク鍵の秘匿化を図る。ディスク鍵を用いて暗号化されたデータを復号する場合には、コンピュータ２０Ａ，２０Ｂの少なくとも一方の鍵管理用仮想マシン６０から鍵暗号化鍵を取得し、取得した鍵暗号化鍵を用いて暗号化されたディスク鍵を復号することによってディスク鍵を取得し、ディスク鍵を用いてデータを復号する。
【００１９】
次に、図３を参照して、ディスク鍵を用いてデータの暗号および復号を行うコンピュータ１０Ａ，１０Ｂ，１０Ｃの構成を説明する。図３は、本発明の一実施形態に係わるディスク鍵を用いてデータの暗号および復号を行うコンピュータ１０Ａ，１０Ｂ，１０Ｃの構成を示すブロック図である。
【００２０】
図３に示すように、コンピュータ１０Ａ，１０Ｂ，１０Ｃは、ディスク鍵生成モジュール１０１、ディスク鍵暗号化モジュール１０２、データ暗号化モジュール１０３、鍵暗号化鍵取得モジュール１０４、ディスク鍵復号化モジュール１０５、データ復号化モジュール１０６、ハードディスクドライブ（ＨＤＤ）１１０、およびネットワークインタフェースカード（ＮＩＣ）１３０等を備えている。ディスク鍵生成モジュール１０１、ディスク鍵暗号化モジュール１０２、データ暗号化モジュール１０３、鍵暗号化鍵取得モジュール１０４、ディスク鍵復号化モジュール１０５、およびデータ復号化モジュール１０６は、コンピュータ１０Ａ，１０Ｂ，１０Ｃのそれぞれが有するプロセッサによって実行されるプログラムソフトウェアである。
【００２１】
ネットワークインタフェースカード１３０は、ネットワークを介した通信を行うためのコントローラである。コンピュータ１０Ａ，１０Ｂ，１０Ｃは、ネットワークインタフェースカード１３０用いてネットワークに接続されている機器と通信を行う。
【００２２】
ディスク鍵生成モジュール１０１は、例えば乱数を用いてディスク鍵１２０Ａを生成する。図４に示すように、データ暗号化モジュール１０３は、ディスク鍵１２０Ａを用いて平文１２１Ａを暗号化し、暗号化された暗号文１２２をハードディスクドライブ１１０内に格納する。
【００２３】
ディスク鍵暗号化モジュール１０２は、鍵管理用仮想マシン６０Ａ，６０Ｂ内で動作する鍵管理アプリケーションプログラム６２Ａ，６２Ｂからそれぞれ鍵暗号化鍵６３Ａ，６３Ｂを取得する。例えば、鍵管理アプリケーションプログラム６２Ａ，６２Ｂとディスク鍵暗号化モジュール１０２とは、ＡＫＥ（Authenticated Key Exchange）手順を用いて、鍵暗号化鍵６３Ａ，６３Ｂを交換する。
【００２４】
図４に示すように、ディスク鍵暗号化モジュール１０２は、鍵暗号化鍵６３Ａを用いてディスク鍵１２０Ａを暗号化し、ディスク鍵１２０Ａを暗号化した第１暗号化ディスク鍵１２４Ａをハードディスクドライブ１１０に格納する。図４に示すように、ディスク鍵暗号化モジュール１０２は、鍵暗号化鍵６３Ｂを用いてディスク鍵１２０Ａを暗号化し、ディスク鍵１２０Ａを暗号化した第２暗号化ディスク鍵１２４Ｂをハードディスクドライブ１１０に格納する。また、ディスク鍵暗号化モジュール１０２は、第１暗号化ディスク鍵１２４Ａのパスと第１暗号化ディスク鍵１２４Ａの生成に用いた鍵暗号化鍵６３Ａの取得先である鍵管理用仮想マシン６０Ａ（コンピュータ２０Ａ）との情報と、第２暗号化ディスク鍵１２４Ｂのパスと第２暗号化ディスク鍵１２４Ｂの生成に用いた鍵暗号化鍵６３Ｂの取得先である鍵管理用仮想マシン６０Ｂ（コンピュータ２０Ｂ）との情報とをハードディスクドライブ１１０内の鍵識別情報１２３に書き込む。ディスク鍵暗号化モジュール１０２は、ディスク鍵１２０Ａを鍵暗号化鍵６３Ａおよび鍵暗号化鍵６３Ｂを用いて暗号化した後、ディスク鍵１２０Ａを削除する。
【００２５】
ユーザが暗号文１２２を復号したい場合、鍵暗号化鍵取得モジュール１０４は、鍵管理用仮想マシン６０Ａ，６０Ｂの中から通信可能な鍵管理用仮想マシンを選択し、選択した鍵管理サーバから鍵暗号化鍵を取得する。例えば、鍵暗号化鍵取得モジュール１０４は、鍵管理用仮想マシン６０Ａ，６０Ｂに優先度を与え、優先度が高い順に通信を試みる。通信が成功した場合、成功した鍵管理用仮想マシン６０Ａ，６０Ｂの何れかから鍵暗号化鍵６３Ａ，６３Ｂを取得する。鍵暗号化鍵取得モジュール１０４は、鍵暗号化鍵６３Ａ，６３Ｂの何れかである取得した鍵暗号化鍵６３と、鍵暗号化鍵６３を配布した鍵管理用仮想マシン６０の情報とをディスク鍵復号化モジュール１０５に渡す。なお、例えば、鍵管理用アプリケーションプログラム６２Ａ，６２Ｂと鍵暗号化鍵取得モジュール１０４とは、ＡＫＥ手順を用いて、鍵暗号化鍵６３Ａ，６３Ｂを交換する。
【００２６】
ディスク鍵復号化モジュール１０５は、鍵識別情報１２３を参照することによって、鍵暗号化鍵６３を配布した鍵管理用仮想マシン６０の情報に対応する暗号化ディスク鍵１２４（第１暗号化ディスク鍵１２４Ａおよび第２暗号化ディスク鍵１２４Ｂの何れか）のパスを取得する。ディスク鍵復号化モジュール１０５は、取得したパスに基づいてハードディスクドライブ１１０から暗号化ディスク鍵を取得する。図５に示すように、ディスク鍵復号化モジュール１０５は、鍵暗号化鍵取得モジュール１０４から渡された鍵暗号化鍵６３を用いて取得した暗号化ディスク鍵１２４を復号し、ディスク鍵１２０Ｂを算出する。鍵暗号化鍵取得モジュール１０４は、復号して得られたディスク鍵１２０Ｂをデータ復号化モジュール１０６に渡す。
【００２７】
データ復号化モジュール１０６は、図５に示すように、渡されたディスク鍵１２０Ｂを用いて暗号文１２２を復号し、平文１２１Ｂを算出する。
【００２８】
本実施形態によれば、平文の暗号化に用いた１つのディスク鍵を複数の異なる鍵暗号化鍵にて暗号化して複数の暗号カディス鍵を生成し、コンピュータ自身のハードディスクドライブ内に格納している点が特徴である。このようにすれば、鍵管理用仮想マシン６０Ａと鍵管理用仮想マシン６０Ｂを独立して稼動することが可能となる。その結果、鍵管理用仮想マシン６０Ａ、６０Ｂのどちらかに障害が発生しても片方が稼動していればコンピュータ内の暗号文を復号することができる。また、鍵管理用仮想マシン６０Ａと鍵管理用仮想マシン６０Ｂとの間で鍵管理データの同期ととる必要がなくなり、信頼性の高い暗号化システムを提供することができる。
【００２９】
本実施形態のように、鍵管理サーバとして動作する鍵管理用仮想マシン６０Ａ，６０Ｂがバッテリ駆動可能なノートブック型パーソナルコンピュータ２０Ａ，２０Ｂ上で動作している場合、コンピュータ２０Ａ，２０Ｂの一方を社内ＬＡＮから離脱して、社外に持ち運ぶことができる。コンピュータ２０Ａ，２０Ｂが持ち出されて、コンピュータ１０Ａ，１０Ｂ，１０Ｃがコンピュータ２０Ａ，２０Ｂの何れかと通信を行うことができない状況が発生しやすい。よって、本実施形態の構成は、鍵管理サーバとして動作する鍵管理用仮想マシン６０Ａ，６０Ｂがバッテリ駆動可能なノートブック型パーソナルコンピュータ２０Ａ，２０Ｂ上で動作している環境下で特に有用である。
【００３０】
なお、上記実施形態では、鍵管理サーバとして動作する鍵管理用仮想マシンが動作するコンピュータは２台であったが、３台以上であっても良い。
【００３１】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態に係わる暗号／復号システムの構成を示す図。
【図２】本発明の一実施形態に係わる、鍵管理サーバとして動作する鍵管理用仮想マシンが動作するコンピュータの構成を示す図。
【図３】本発明の一実施形態に係わる、ディスク鍵を用いてデータの暗号および復号を行うコンピュータの構成を示すブロック図である。
【図４】本発明の一実施形態に係わる、ディスク鍵の暗号化処理の説明に用いる図。
【図５】本発明の一実施形態に係わる、ディスク鍵の復号化処理の説明に用いる図。
【符号の説明】
【００３３】
１０Ａ、１０Ｂ、１０Ｃ、２０Ａ、２０Ｂ…ノートブック型パーソナルコンピュータ，３０…ハードウェア層，３１…ネットワークインタフェースカード，４０…仮想マシンモニタ，５０…ユーザ用仮想マシン，５１…ユーザオペレーティングシステム，５２…ユーザアプリケーションプログラム，６０、６０Ａ、６０Ｂ…鍵管理用仮想マシン，６１…サービスオペレーティングシステム，６２、６２Ａ、６２Ａ…鍵管理アプリケーションプログラム，６３、６３Ａ、６３Ｂ…鍵暗号化鍵，１０１…ディスク鍵生成モジュール，１０２…ディスク鍵暗号化モジュール，１０３…データ暗号化モジュール，１０４…鍵暗号化鍵取得モジュール，１０５…ディスク鍵暗号化モジュール，１０６…データ復号化モジュール，１１０…ハードディスクドライブ，１２０Ａ…ディスク鍵，１２０Ｂ…ディスク鍵，１２１Ａ、１２１Ｂ…平文，１２２…暗号文，１２３…鍵識別情報，１２４、１２４Ａ、１２４Ｂ…ディスク鍵，１３０…ネットワークインタフェースカード。
【図１】
2010109919.tif 000003
【図２】
2010109919.tif 000004
【図３】
2010109919.tif 000005
【図４】
2010109919.tif 000006
【図５】
2010109919.tif 000007