(57)【要約】【課題】  クラウド事業者が提供する仮想サーバを利用する場合、自社データセンターと仮想サーバ間の回線からの自社データの漏洩、仮想サーバのストレージからの自社データの漏洩リスクを低減する仮想サーバ利用システムを提供する。【解決手段】  自社データセンターとクラウド上で稼動する仮想サーバ間通信をＶＰＮで盗聴、改ざんから保護し、秘匿する必要のあるデータは自社データセンター内のファイルサーバに格納し、仮想サーバからは、ＶＰＮを介して読み書きさせる。また、仮想サーバ上に暗号化したディスク領域を作成し、キャッシュとして利用することで、ＶＰＮを介したファイルアクセスの高速化を実現する。【選択図】  図５
2013003612.tif 000002
【特許請求の範囲】
【請求項１】
仮想サーバと、通信回線で前記仮想サーバと接続されたファイルサーバと、から構成される仮想サーバ利用システムにおいて、
前記仮想サーバが使用するディスク領域の一部を前記ファイルサーバ内に確保し、前記仮想サーバが、前記確保したファイルサーバ内のディスク領域にアクセスする場合は、前記通信回線上に設定したＶＰＮ回線を介して行うことを特徴とする仮想サーバ利用システム。
【請求項２】
仮想サーバが、通信回線で前記仮想サーバと接続されたファイルサーバ内のディスク領域にアクセスする際に、前記仮想サーバ内にあらかじめ設定したキャッシュメモリを使用して行うことを特徴とする請求項１記載の仮想サーバ利用システム。
【請求項３】
キャッシュメモリをディスク領域上に設定することを特徴とする請求項２記載の仮想サーバ利用システム。
【請求項４】
仮想サーバが、通信回線で前記仮想サーバと接続されたファイルサーバ内のディスク領域にキャッシュメモリを使用してアクセスする際に、キャッシュメモリへの書き込み時には書き込みデータを暗号化し、キャッシュメモリからの読み込み時には読み込みデータを復号化することを特徴とする請求項３記載の仮想サーバ利用システム。
【請求項５】
キャッシュメモリへの書き込み時に書き込みデータを暗号化するための暗号鍵、及びキャッシュメモリからの読み込み時に読み込みデータを復号化するための復号鍵を、揮発性メモリに格納することを特徴とする請求項４記載の仮想サーバ利用システム。
【請求項６】
仮想サーバがクラウド上に構築されていることを特徴とする請求項１、請求項２、請求項３、請求項４または請求項５記載の仮想サーバ利用システム。
【請求項７】
仮想サーバと、通信回線で前記仮想サーバと接続されたファイルサーバと、から構成される仮想サーバ利用システムにおいて、
前記仮想サーバが使用するディスク領域の一部を前記ファイルサーバ内に確保し、前記仮想サーバが、前記確保したファイルサーバ内のディスク領域にアクセスする場合は、前記通信回線上に設定したＶＰＮ回線を介して行うことを特徴とする仮想サーバ利用方法。
【請求項８】
仮想サーバが、通信回線で前記仮想サーバと接続されたファイルサーバ内のディスク領域にアクセスする際に、前記仮想サーバ内にあらかじめ設定したキャッシュメモリを使用して行うことを特徴とする請求項７記載の仮想サーバ利用方法。
【請求項９】
キャッシュメモリをディスク領域上に設定することを特徴とする請求項８記載の仮想サーバ利用方法。
【請求項１０】
仮想サーバが、通信回線で前記仮想サーバと接続されたファイルサーバ内のディスク領域にキャッシュメモリを使用してアクセスする際に、キャッシュメモリへの書き込み時には書き込みデータを暗号化し、キャッシュメモリからの読み込み時には読み込みデータを復号化することを特徴とする請求項９記載の仮想サーバ利用方法。
【請求項１１】
キャッシュメモリへの書き込み時に書き込みデータを暗号化するための暗号鍵、及びキャッシュメモリからの読み込み時に読み込みデータを復号化するための復号鍵を、揮発性メモリに格納することを特徴とする請求項１０記載の仮想サーバ利用方法。
【請求項１２】
仮想サーバがクラウド上に構築されていることを特徴とする請求項７、請求項８、請求項９、請求項１０または請求項１１記載の仮想サーバ利用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
近年の仮想化技術の高度化、プロセッサ性能の向上等により、複数のコンピュータシステムを統合したクラウド上に仮想化プラットフォームを構築しオーダーメイドの仮想サーバを提供する事業者（以下、クラウド事業者）が存在する。本発明は、これらクラウド事業者が運用する仮想化プラットフォーム上に仮想サーバを構築して利用する際に、データの漏洩、改ざんの防止を行い秘密情報等の秘匿を実現するシステム及び方法に関するものである。
【先行技術文献】
【非特許文献】
【０００２】
【非特許文献１】ＲＦＣ  ４３０１、”Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ”、［平成２３年５月２３日検索］、［ｏｎｌｉｎｅ］、２００５年１２月、インターネット〈ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ４３０１．ｔｘｔ〉
【非特許文献２】ＲＦＣ  ５２４６、”Ｔｈｅ  Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ  （ＴＬＳ）  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  １．２”、［平成２３年５月２３日検索］、［ｏｎｌｉｎｅ］、２００８年８月、インターネット〈ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ５２４６．ｔｘｔ〉
【非特許文献３】Ｆｅｄｅｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｔａｎｄａｒｄｓ  Ｐｕｂｌｉｃａｔｉｏｎ  １９７、”ＡＤＶＡＮＣＥＤ  ＥＮＣＲＹＰＴＩＯＮ  ＳＴＡＮＤＡＲＤ  （ＡＥＳ）”、［平成２３年５月２３日検索］、［ｏｎｌｉｎｅ］、２００１年１１月２６日、インターネット〈ｈｔｔｐ：／／ｃｓｒｃ．ｎｉｓｔ．ｇｏｖ／ｐｕｂｌｉｃａｔｉｏｎｓ／ｆｉｐｓ／ｆｉｐｓ１９７／ｆｉｐｓ−１９７．ｐｄｆ〉
【発明の概要】
【発明が解決しようとする課題】
【０００３】
近年、各企業が利用するＩＴシステムは大規模化、複雑化する傾向にある上、急速に変貌するマーケットに対応するため、ＩＴシステムの構築、修正、再構成等を短期間で行うことが求められている。さらに、企業競争力を維持するためには、これらの対応を安価に行うことが必須である。
【０００４】
クラウド事業者が提供する仮想サーバを利用することがこれらの課題を解決する有力な手段の一つとして採用されている。しかし、仮想サーバを利用する場合、自社データセンターと仮想サーバ間の回線または、仮想サーバのストレージからの自社データの漏洩が問題となり得る。
【０００５】
従来は、非特許文献１、非特許文献２のような通信路の暗号化技術を用いて、自社データセンターとクラウド上の仮想サーバ群との間にＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）を構成することで、自社データセンターと仮想サーバとの間の通信を盗聴、改ざんから保護し、また、非特許文献３などの暗号化技術により、仮想サーバの利用するディスク領域を暗号化してクラウド事業者のストレージに保存することで、データの秘匿性を保つことができた。
【０００６】
しかし、従来技術では以下のような問題点があった。
・ 
ＶＰＮ技術では、自社データセンターとクラウド上の仮想サーバ群との間の通信における盗聴や改ざんは防止できるが、仮想サーバがクラウド上に保存するデータを秘匿することはできない。
・ 
暗号化により、データの秘匿性は保たれるが、クラウド事業者設備が利用不可になった場合に、データの可用性が失われる。
・ 
仮想サーバは物理的な耐タンパデバイス等を備えていないため、暗号化の際の鍵を仮想サーバ上には安全に保管することができない。
【課題を解決するための手段】
【０００７】
以下の方法で上記の課題を解決する。
クラウド事業者の仮想化プラットフォーム上に構築された仮想サーバと、自社のデータセンター内のファイルサーバと、それらのサーバ間を接続する通信回線とから構成される仮想サーバ利用システムにおいて、仮想サーバが利用するディスク領域の一部を自社データセンター内のファイルサーバに設定して秘匿する必要のあるデータ（以下、秘密データ）を格納して秘匿し、仮想サーバが自社のディスク領域にアクセスする場合に、通信回線上に設定されたＶＰＮ回線を介してアクセスすることにより、自社のファイルサーバとクラウド上で稼動する仮想サーバ間通信を盗聴、改ざんから保護する。
【０００８】
さらにクラウド事業者の仮想化プラットフォーム上に構築された仮想サーバが、通信回線で仮想サーバと接続された自社のファイルサーバ内のディスク領域にアクセスする際に、仮想サーバ内にあらかじめ設定したキャッシュメモリを使用して行うことによりアクセスを高速化する。
【０００９】
また、仮想サーバ内にあらかじめ設定したキャッシュメモリをディスクメモリ上に設定することにより、秘密データの容量が大きい場合にも確実にアクセスの高速化を実現する。
【００１０】
さらに、仮想サーバがＶＰＮ回線によりファイルサーバ内のディスク領域にキャッシュメモリを使用してアクセスする際に、キャッシュメモリへの書き込み時には書き込みデータを暗号化し、キャッシュメモリからの読み込み時には読み込みデータを復号化することによりキャッシュメモリ内に格納された秘密データを秘匿する。
【００１１】
また、キャッシュ領域への書き込み時に書き込みデータを暗号化するための暗号鍵、及びキャッシュ領域からの読み込み時に読み込みデータを復号化するための復号鍵を仮想サーバのディスク上ではなくメモリ上に保持し、仮想サーバの停止や再起動によりメモリがクリアされると暗号鍵、復号鍵も失われるようにする。これにより、仮想サーバの再起動時には、新しく暗号鍵、復号鍵を再作成する必要があるが、秘密データを秘匿することができる。
【発明の効果】
【００１２】
本発明により、外部のクラウド事業者の設備上で稼動する仮想サーバが利用する秘密データを自社データセンター内に格納することで、仮想サーバからの秘密データの漏洩や喪失の危険を低減することができる。これにより、自社の秘密データ等のセキュリティーレベルをクラウド事業者のセキュリティーレベルに影響されることなく管理することができる。
【００１３】
さらに、自社データセンターから仮想サーバへの秘密データの転送にＶＰＮ回線を採用することで、安価なインターネット回線を使用しても自社設備内に保持したデータへの仮想サーバからのアクセスは盗聴や改ざんから保護される。その際、仮想サーバ上にキャッシュを設けることで、自社設備内のデータへのアクセスの高速化を実現できる。
【００１４】
また、キャッシュメモリを仮想サーバのディスク領域に設定することにより、秘密データの容量が大きい場合にも、キャッシュによるアクセス高速化の効果を維持することができる。さらに、仮想サーバのディスク領域上にキャッシュメモリを確保する場合には、ディスク領域を暗号化し、暗号鍵をメインメモリ等の揮発性メモリに格納することにより、キャッシュメモリに一時保存されたデータが第三者に解読される危険を低減することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明による仮想サーバ利用時の秘密データを盗聴、改ざんから保護し、さらに秘匿するシステムの構成及び動作説明図である。
【図２】仮想サーバが自社設備のファイルサーバにアクセスする際にメモリ上のキャッシュメモリを使用する場合の、本発明による仮想サーバ利用時の秘密データを盗聴、改ざんから保護し、さらに秘匿するシステムの構成及び動作説明図である。
【図３】仮想サーバが自社設備のファイルサーバにアクセスする際にディスク上のキャッシュメモリを使用する場合の本発明による仮想サーバ利用時の秘密データを盗聴、改ざんから保護し、さらに秘匿するシステムの構成及び動作説明図である。
【図４】仮想サーバが自社設備のファイルサーバにアクセスする際に暗号化したディスク上のキャッシュメモリを使用する場合の本発明による仮想サーバ利用時の秘密データを盗聴、改ざんから保護し、さらに秘匿するシステムの構成及び動作説明図である。
【図５】仮想サーバが自社設備のファイルサーバにアクセスする際に暗号化したディスク上のキャッシュメモリを使用し、仮想サーバのメモリ上に暗号鍵、復号鍵を保持する場合の本発明による仮想サーバ利用時の秘密データを盗聴、改ざんから保護し、さらに秘匿するシステムの構成及び動作説明図である。
【図６】ＣＰＵがメモリからデータを読み込む場合のキャッシュプログラムの動作フローである。
【図７】ＣＰＵがメモリにデータを書き込む場合のキャッシュプログラムの動作フローである。
【発明を実施するための形態】
【００１６】
図１に本発明による仮想サーバ利用時のデータを盗聴、改ざんから保護し、さらに秘匿するシステムの構成及び動作を示す。
【００１７】
本発明によるシステムは、ファイルサーバ（２）、ＶＰＮサーバ（５）とそれらを接続するＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）（４）から構成される自社設備（１）と、仮想化プラットフォーム（１６）とその上に構築された複数の仮想サーバ（７、１７）を有するクラウド事業者設備（６）と、それらを接続するインターネット（２６）から構成される。
【００１８】
クラウド事業者設備の仮想サーバ（７）は、ＣＰＵ（中央演算処理ユニット）（１２）、ＨＤＤ（ハードディスクドライバ）（１３）、メモリ（１４）、ＮＩＣ（回線インターフェースカード）（１５）からなる仮想化されたハードウエア群と、これらハードウエア群とＯＳ（１０）とのインターフェースであるデバイスドライバ（１１）と、ＯＳ上にインストールされたアプリケーションプログラム（８）とＶＰＮプログラム（９）とから構成される。
【００１９】
自社設備のファイルサーバには仮想サーバ用ディスク領域（３）が設定される。また、自社設備のＶＰＮサーバは、社外からインターネットを介して自社設備にアクセスするＶＰＮクライアントプログラム（以下、ＶＰＮプログラム（９））との間でセキュアなＶＰＮ回線を提供する。
【００２０】
ＶＰＮサーバ（プログラム）は送信すべきデータのＩＰパケットの内容をＶＰＮ用のプロトコルでカプセル化してインターネット経由でＶＰＮプログラム（サーバ）まで届け、ＶＰＮプログラム（サーバ）で元のＩＰパケットのデータを取り出す動作を行う。すなわち、ＶＰＮサーバ（プログラム）は、仮想的な通信トンネルをインターネット上に構築し、送信すべきデータのＩＰパケットを、トンネルを通じてＶＰＮプログラム（サーバ）へ届け、逆方向もまた同じようにトンネルを通ってＩＰパケットの受信が行われる。このため、インターネットを使用してセキュアな通信を行うことができる。
【００２１】
ＶＰＮ用のプロトコルには、レイヤ2トンネリングプロトコルとして、
ＰＰＴＰ（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ  Ｔｕｎｎｅｌｉｎｇ  Ｐｒｏｔｏｃｏｌ）、Ｌ２Ｆ（Ｌａｙｅｒ  ２  Ｆｏｒｗａｒｄｉｎｇ）、Ｌ２ＴＰ（Ｌａｙｅｒ  ２  Ｔｕｎｎｅｌｉｎｇ  Ｐｒｏｔｏｃｏｌ）があり、レイヤ３トンネリングプロトコルとして、ＩＰＳｅｃ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｉｔｙ）が知られているが、周知技術であるので、説明は省略する。
【００２２】
本発明は、クラウド事業者設備の仮想化プラットフォーム上の仮想サーバにインストールされたアプリケーションプログラムが秘密データを扱う際に、仮想サーバのセキュリティーレベルに関わらず、自社の機密情報管理のセキュリティーレベルを低下させない仮想サーバ利用システム及び方法を提供するものである。
【００２３】
上記目的を達成するために、クラウド事業者の仮想化プラットフォーム上に仮想サーバを作成する際、仮想サーバを自社設備内のＶＰＮサーバに接続させた上で、秘密データの格納領域を自社設備内のファイルサーバ上に設け、この領域を、仮想サーバがデータを読み書きする際のアクセス先として設定する。これにより、秘密データを予めクラウド事業者の設備上に複製して保持しておく必要がなくなる。
【００２４】
秘密データへのアクセスが仮想サーバから行われたときのみ、ＶＰＮ回線を経由して自社設備内のファイルサーバから当該データが読み込まれ、仮想サーバのメモリ上にコピーされる。秘密データの書き込み先も自社設備内のファイルサーバとする。さらに、秘密データに関連して仮想サーバが作成や変更を行ったデータについてもクラウド事業者設備内のディスクではなく、自社設備内のファイルサーバに保存することもできる。
【００２５】
アプリケーションプログラムが扱うデータの読み込み、書き込み先を仮想サーバ内のディスクとするのか、自社設備内のディスクとするのかは、アプリケーションプログラムの作成時、初期化時、あるいは立ち上げ時にあらかじめ設定し、自社設備内のディスクへのアクセスを限定する必要がある。仮想サーバが自社設備内のディスクにアクセスする場合、インターネット回線を介して行われるため、アクセスに要する時間がかかりアプリケーションプログラムの動作が遅くなるからである。
【００２６】
前記構成及び動作により、秘密データがクラウド事業者のディスク上に保存されることはなく、仮想サーバの停止や再起動等によりメモリがクリアされると、クラウド事業者の設備からは一切のデータが消去されることになる。また、クラウド事業者の設備障害等により、事業者の仮想化プラットフォームが突発的に利用不能になった場合でも、秘密データは自社設備内に残っているため、データの可用性が失われることもない。
【００２７】
図２に、仮想サーバが自社設備のファイルサーバにアクセスする際にメモリ領域内のキャッシュメモリを使用する場合の本発明による仮想サーバ利用時のデータを盗聴、改ざんから保護し、さらに秘匿するシステムの構成及び動作を示す。
【００２８】
図２は、図１においてクラウド事業者の仮想サーバ（７）のメモリ（４）領域の一部をキャッシュメモリに設定し、キャッシュ動作を行うキャッシュプログラム（２８）を仮想サーバのＯＳ上にインストールしたものである。
【００２９】
図１の構成では、仮想サーバが自社設備内のディスクにアクセスする場合、インターネット回線を介して行われるため、クラウド事業者の設備上にデータのコピーを保持した場合に比べて、データへのアクセスに際しての遅延が大きくなる。このため、仮想サーバが一度読み込んだデータを仮想サーバのメモリ上に設けたキャッシュメモリに一時保存し、同一のデータを再び読み込む際は、キャッシュ内のデータを読み込ませることでアクセスの高速化を実現する。
【００３０】
一般的には、キャッシュメモリとは、メインメモリ領域あるいは、キャッシュ専用メモリに割り当てられたメモリで、キャッシュとはＣＰＵがメモリ媒体にアクセスする際に、アクセスしたデータの全部又は一部をキャッシュメモリに書き込んでおき、次回にＣＰＵがメモリ媒体の同一の場所にアクセスする場合には、キャッシュメモリから読み込みあるいはキャッシュメモリへの書き込みを行うことにより、メモリ媒体へのアクセス時間を短縮する技術である。本発明においては、メモリ媒体は自社のファイルサーバのディスクメモリである。
【００３１】
ここで、キャッシュプログラムの動作について説明する。図６にＣＰＵが自社のファイルサーバのディスクメモリ（以下、実媒体）からデータを読み込む場合のキャッシュプログラムの動作フローを、図７にＣＰＵが実媒体にデータを書き込む場合のキャッシュプログラムの動作フローを示す。
【００３２】
図６において、Ｓ００１はアクセスリストに読み込みアドレスが有るか否かを判断するステップであり、有る場合はＳ００２のステップを実行し、無い場合は、Ｓ００３のステップを実行する。アクセスリストとは、ＣＰＵがアクセスした実媒体のアドレス（以下、アドレス）を記載したリストであって、当該リストに記載されたアドレスの内容がキャッシュメモリに格納されている。
【００３３】
読み込みアドレスがアクセスリストに格納されている場合（Ｓ００１のＹｅｓの判断）は、実媒体上の該アドレスにあるデータがキャッシュされているデータより新しい場合（Ｓ００２のＹｅｓの判断）には、実媒体からデータを読み込み（Ｓ００４）、キャッシュメモリが空いているか否かの判断（Ｓ００５）を行う。実媒体上の該アドレスにあるデータがキャッシュされているデータより新しくない場合（Ｓ００２のＮｏの判断）には、キャッシュメモリからアドレスに対応したデータを読み込む（Ｓ００３）。これにより読み込み動作が高速化される。
【００３４】
読み込みアドレスがアクセスリストに格納されていない場合（Ｓ００１のＮｏの判断）は、実媒体からデータを読み込む（Ｓ００４）。その後、キャッシュメモリに空きが無い場合（Ｓ００５のＮｏの判断）は、キャッシュメモリから削除すべきデータに対応するアドレスを決定して（Ｓ００６）上書きされるアドレスをアクセスリストから削除し（Ｓ００７）、削除した部分に読み込んだデータを書込み（Ｓ００８）、アクセスリストにアドレスを書き込む（Ｓ００９）。キャッシュメモリに空きがある場合（Ｓ００５のＹｅｓの判断）はキャッシュメモリに読み込んだデータを書込み（Ｓ００８）、アクセスリストにアドレスを書き込む（Ｓ００９）。
【００３５】
図７において、Ｓ０１１はアクセスリストに書き込みアドレスが有るか否かを判断するステップであり、有る場合はＳ０１２のステップを実行し、無い場合は、Ｓ０１３のステップを実行する。
【００３６】
読み込みアドレスがアクセスリストに格納されている場合（Ｓ０１１のＹｅｓの判断）は、キャッシュメモリにアドレスに対応したデータを書き込み（Ｓ０１２）、これにより書き込み動作が高速化される。書き込みアドレスがアクセスリストに格納されていない場合（Ｓ０１１のＮｏの判断）は、キャッシュメモリに空きが無い場合（Ｓ０１３のＮｏの判断）は、キャッシュメモリから削除すべきデータに対応するアドレスを決定（Ｓ０１４）して上書きされるアドレスをアクセスリストから削除し（Ｓ０１５）、削除した部分に書き込みデータを書込み（Ｓ０１６）、アクセスリストにアドレスを書き込む（Ｓ０１７）。キャッシュメモリに空きがある場合（Ｓ０１３のＹｅｓの判断）はキャッシュメモリに書き込みデータを書込み（Ｓ０１６）、アクセスリストにアドレスを書き込む（Ｓ０１７）。
【００３７】
Ｓ０１２、Ｓ０１７ステップの実行後、書き込みデータを実媒体に書き込む（Ｓ０１８）。実媒体にデータを書き込む処理は、ＣＰＵが書き込み処理を行う都度行う場合と、当該書き込みデータが上書きされる等の条件が揃った場合に行う場合とがあるが、周知技術であるので説明は省略する。
【００３８】
上記の例では、実媒体を自社のサーバと仮想サーバで共有しているため、実媒体への書き込み時には両サーバ間で競合を生じる。競合制御技術は周知技術であるので説明は省略するが、排他的アクセス制御を採用した場合には、図６のＳ００２ステップを省略することができる。また、キャッシュ動作は全てアドレス単位で行うものとしているが、データの所在場所が特定できる全ての方法（例えば、ファイル名等）に置き換えることができる。
【００３９】
図２においてアプリケーションプログラム（８）が自社の秘密データに最初にアクセスする場合、自社設備のファイルサーバにあるディスク領域（３）にアクセスする。その際、アクセスは図１と同様にＶＰＮ回線（２７）を通じて行われ、ＶＰＮ回線を通じて得たデータはＯＳ及びキャッシュプログラムを介してアプリケーションプログラムに伝送される。さらに、前記データはキャッシュプログラム（２８）によりメモリ（１４）上のキャッシュメモリに格納される。
【００４０】
アプリケーションプログラム（８）が自社の秘密データに２回目以降にアクセスする場合、アクセスはキャッシュメモリに対して行われ、キャッシュメモリから読み込まれたデータは、キャッシュプログラムからアプリケーションプログラムに引き渡される。
【００４１】
図２の様な構成とすることにより、仮想サーバが自社設備内のディスクにアクセスする場合、最初のアクセスには時間がかかるが、その後のアクセスは仮想サーバのメモリへのアクセスとなるため、アクセス時間を短縮することができる。一方、アクセスしたデータの容量と、アクセスした異なるアドレスの数の積がキャッシュメモリの容量を超えた場合には、新たにアクセスしたアドレスのデータは、キャッシュメモリに以前に書き込まれたデータに上書きされる。そのため、仮想サーバと自社設備内のディスク間でやり取りされるデータ量及びアクセス数が少ない場合には、高速アクセスを実現することができる。
【００４２】
しかし、アクセス時間が短縮されるのは、２回目以降のアクセスがそれ以前にアクセスしたアドレス及びデータと同一である場合に限定されるため、自社設備内のディスクに対して大量のデータに頻繁にアクセスが発生する場合には、キャッシュメモリへの上書きが頻繁に発生することになり、キャッシュによるアクセス高速化効果は低減される。このような状況では、図２のようにメインメモリ上にキャッシュメモリを割り当てている場合にはキャッシュメモリ容量を大きくとることができず、キャッシュによるアクセス時間低減効果は限定される。
【００４３】
図３に、仮想サーバが自社設備のファイルサーバにアクセスする際にディスク領域内のキャッシュメモリを使用する場合の本発明による仮想サーバ利用時の秘密データを盗聴、改ざんから保護し、さらに秘匿するシステムの構成及び動作を示す。
【００４４】
図３は、図１又は図２においてクラウド事業者の仮想サーバのディスク領域の一部をキャッシュメモリに設定し、キャッシュ動作を行うキャッシュプログラム（２８）を仮想サーバのＯＳ上にインストールしたものである。
【００４５】
動作は図２と同様であるが、キャッシュメモリを仮想サーバのディスク領域に設定しているため、キャッシュメモリに割り当てるメモリ容量を大きくとることができる。そのため、自社設備内のディスクに対して大量のデータに頻繁にアクセスが発生する場合でも、キャッシュによるアクセス時間低減効果を得ることができる。
【００４６】
図４は、図３でディスク上に設定されたキャッシュメモリへの書き込みデータを暗号化し、読み込み時に復号化する場合の構成及び動作を示したものである。暗号化、復号化機能は仮想サーバの備えるファイルシステム暗号化、復号化機能を利用し、ＯＳ又はアプリケーションプログラムの立ち上げ時又は初期化時に生成した暗号鍵、復号鍵による暗号化と復号化を行うよう設定する。
【００４７】
アプリケーションプログラム（８）が自社の秘密データに最初にアクセスする場合、自社設備のファイルサーバにあるディスク領域（３）にアクセスする。その際、アクセスは図１〜図３と同様にＶＰＮ回線（２７）を通じて行われ、ＶＰＮ回線を通じて得たデータはＯＳ及びキャッシュプログラムを介してアプリケーションプログラムに伝送される。さらに、前記データは仮想サーバの暗号化機能（２９）により暗号鍵を用いて暗号化され、ディスク（１３）領域のキャッシュメモリに格納される。
【００４８】
アプリケーションプログラム（８）が自社の秘密データに２回目にアクセスする場合、アクセスはキャッシュメモリから行われるが、キャッシュメモリから読み込まれたデータは、仮想サーバの復号化機能（２９）により復号鍵を用いて復号化され、キャッシュプログラムからアプリケーションプログラムに引き渡される。
【００４９】
このような構成とすることにより、仮想サーバのディスク領域にあるキャッシュメモリの内容が悪意ある第三者に読みとられたとしても、暗号鍵、復号鍵が盗まれない限り秘密データが漏洩することはない。
【００５０】
図５は、図４でディスク領域上の設定されたキャッシュメモリへの書き込みデータの暗号化のための暗号鍵、読み込み時に復号化するための復号鍵をメモリ（１４）に格納した場合の構成、動作を示している。本構成図による動作は図４の場合と同様なので説明は省略する。
【００５１】
メモリ（１４）上に保持される暗号鍵、復号鍵は仮想サーバの再起動等によりメモリがクリアされ、暗号鍵、復号鍵が失われた場合は、新しい暗号鍵、復号鍵を生成し、メモリに再度保存する。そのため、ディスク等に永続的に保存しておく必要はなく、暗号鍵、復号鍵の漏洩リスクを低減することができる。
【００５２】
なお、図１〜図５においては、ＶＰＮプログラム、キャッシュプログラムはＯＳ上のユーザプログラムとして、図４，図５においては暗号化・復号化機能はデバイスドライバとして提供されているが、これらの機能は仮想サーバ上であれば、仮想化されたハードウエア、ファームウエア、デバイスドライバ、ＯＳ、アプリケーションプログラム等のいずれによっても提供することが可能である。
【００５３】
次に、図１〜図５で示したシステムの実現方法の一例を説明する。
１． クラウド事業者の提供するサービスのインタフェース（ＡＰＩ等）を利用して、仮想化プラットフォーム上に仮想サーバを作成する。この際に、キャッシュ用の領域を、ＯＳやアプリケーションプログラムを格納する領域とは別に確保する。
【００５４】
２． 自社設備内のファイルサーバに、仮想サーバ用のディスク領域を設け、ＶＰＮサーバに接続された仮想サーバからの、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）等の遠隔ファイルアクセス用のプロトコルによるアクセスを許可するよう設定する。
【００５５】
３． クラウド事業者の仮想化プラットフォーム上で起動した仮想サーバに対してＳＳＨ（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ）等の遠隔操作プログラムを利用してコマンドを発行し、以下の設定を行う。
【００５６】
３．１  ＶＰＮプログラムとその設定ファイル、および、認証情報を仮想サーバにインストールし、起動した仮想サーバが、自社設備内のＶＰＮサーバに接続できるように設定する。ＶＰＮプログラムの設定ファイルと認証情報とは、例えば、ＶＰＮサーバのＩＰアドレスやＶＰＮで利用する認証方式、クライアント証明書と秘密鍵、パスワードなどである。
【００５７】
３．２  ２．でアクセスが許可されたファイルサーバ上のディスク領域を、ＮＦＳ等を用いて仮想サーバからアクセスするための設定を行う。
【００５８】
４． 自社設備内のファイルサーバ上のディスク領域へのアクセスを高速化する必要がある場合には、仮想サーバに対してＳＳＨ（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ）等の遠隔操作プログラムを利用してコマンドを発行し、以下の設定を行う。
【００５９】
４．１  乱数等により暗号鍵、復号鍵を生成し、１．で確保したキャッシュ用の領域に対して行われるアクセスに際して、仮想サーバの備えるファイルシステム暗号化の機能を利用し、生成した暗号鍵、復号鍵による暗号化と復号化を行うよう設定する。この際、暗号鍵、復号鍵はディスク領域には保存せずメモリ領域に保存する。
【００６０】
４．２  前記キャッシュ用の領域がディスク領域に有る場合は、当該ディスク領域をフォーマットし、アプリケーションプログラムから利用可能な状態にする。
【００６１】
４．３  キャッシュプログラムを仮想サーバにインストールし、キャッシュプログラムが一時ファイルを格納する格納先として、４．１〜４．２で設定した領域を指定する。
【００６２】
５．仮想サーバの再起動等が起こった場合は、仮想サーバのＯＳがメモリ上に保持していた暗号鍵、復号鍵も失われ、キャッシュ領域に格納されたデータは復号できなくなるため、再度、上記４．の手順により前記キャッシュ領域の設定とキャッシュプログラムの設定を実施する。
【符号の説明】
【００６３】
１    自社設備
２  ファイルサーバ
３  仮想サーバ用ディスク領域
４  自社設備内ＬＡＮ
５  ＶＰＮサーバ
６  クラウド事業者設備
７、１７  仮想サーバ
８、１８、１９  アプリケーションプログラム
９  ＶＰＮプログラム
１０、２０  ＯＳ（オペレーティングシステム）
１１、２１  デバイスドライバ
１２、２２  仮想ＣＰＵ（中央演算処理装置）
１３、２３  仮想ＨＤＤ（ハードディスク装置）
１４、２４  仮想メモリ
１５、２５  仮想ＮＩＣ（ネットワークインターフェースカード）
２６  インターネット
２７  ＶＰＮ回線
２８  キャッシュプログラム
【図１】
2013003612.tif 000003
【図２】
2013003612.tif 000004
【図３】
2013003612.tif 000005
【図４】
2013003612.tif 000006
【図５】
2013003612.tif 000007
【図６】
2013003612.tif 000008
【図７】
2013003612.tif 000009