(57)【要約】【課題】サーバ側に保存された大量のデータをネットワークを介してクライアントから利用する際に、安全かつ効率的な利用を実現することができるオンラインストレージシステム及び方法を提供する。【解決手段】制御部１９０は、ユーザ識別子ｕを認証テーブルから検索し、ユーザ識別子ｕと組で登録されている暗号仮想ディスクｓｉと、受信した認証情報生成因子Ｒから認証情報Ｒ（ｓｉ）を生成し、クライアント２に送信する。制御部２９０は、認証情報Ｒ（ｓｉ）をサーバ１から受信し、判定部２４４を制御して、仮想ディスク検証情報Ｃ（ｓｉ）をＲＡＭ２５に読み込み、受信した認証情報Ｒ（ｓｉ）が正しいか否かを検証する。検証の結果が正しくない場合には、セッション開始要求を中止して処理を終了する。検証の結果が正しい場合には、処理を続行する。【選択図】図１
2008090786.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、クライアントと、これらサーバ及びクライアントを相互に通信可能に接続するネットワークとを具え、
前記サーバが、
認証情報生成因子を前記クライアントから受信する受信手段と、
ユーザ識別子と組で暗号仮想ディスクを記憶した記憶手段と、
前記認証情報生成因子及び前記暗号仮想ディスクから認証情報を生成する認証情報生成手段と、
前記認証情報を前記クライアントに送信する送信手段とを有し、
前記クライアントが、
前記認証情報生成因子を生成する認証情報生成因子生成手段と、
前記認証情報生成因子を前記サーバに送信する送信手段と、
前記認証情報を受信する受信手段と、
前記認証情報が正しいか否かを判定し、前記認証情報が正しくない場合には処理を中断する判定手段とを有することを特徴とするオンラインストレージシステム。
【請求項２】
前記クライアントが、
ディスク復号鍵を記憶した記憶手段を更に有し、
前記判定手段が、前記認証情報が正しいと判定した場合、処理を続行するとともに、前記クライアントの送信手段が、前記サーバに前記ディスク復号鍵を送信し、
前記サーバが、
前記暗号仮想ディスクを前記ディスク復号鍵で復号して前記仮想ディスクを生成する仮想ディスク生成手段と、
前記仮想ディスクが正しいか否かを判定し、前記仮想ディスクが正しくない場合には処理を中断する判定手段とを更に有することを特徴とする請求項１記載のオンラインストレージシステム。
【請求項３】
前記サーバの判定手段が、前記仮想ディスクが正しいと判定した場合、処理を続行するとともに、前記認証情報生成因子、認証情報及びディスク復号鍵を前記サーバから削除することを特徴とする請求項２記載のオンラインストレージシステム。
【請求項４】
サーバ及びクライアントを相互に通信可能に接続するネットワークを通じたオンラインストレージ方法であって、
前記クライアント側で認証情報生成因子を生成する認証情報生成因子生成ステップと、
前記認証情報生成因子を前記サーバに送信する第１送信ステップと、
前記サーバ側で前記認証情報生成因子を受信する第１受信ステップと、
ユーザ識別子と組で前記サーバ側に記憶された暗号仮想ディスクと、前記認証情報生成因子とに基づいて、認証情報を生成する認証情報生成ステップと、
前記認証情報を前記クライアントに送信する第２送信ステップと、
前記クライアント側で前記認証情報を受信する第２受信ステップと、
前記認証情報が正しいか否かを判定し、前記認証情報が正しくない場合には処理を中断する第１判定ステップとを有することを特徴とするオンラインストレージ方法。
【請求項５】
前記第１判定ステップにおいて、前記認証情報が正しいと判定した場合、処理を続行するとともに、前記クライアントに記憶された前記ディスク復号鍵を前記サーバに送信する第３送信ステップと、
前記暗号仮想ディスクを前記ディスク復号鍵で復号して前記仮想ディスクを生成する仮想ディスク生成ステップと、
前記仮想ディスクが正しいか否かを判定し、前記仮想ディスクが正しくない場合には処理を中断する第２判定ステップとを更に有することを特徴とする請求項４記載のオンラインストレージ方法。
【請求項６】
前記第２判定ステップにおいて、前記仮想ディスクが正しいと判定した場合、処理を続行するとともに、前記認証情報生成因子、認証情報及びディスク復号鍵を前記サーバから削除することを特徴とする請求項５記載のオンラインストレージ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザがクライアントからネットワークを介してサーバのデータを利用するオンラインストレージシステム及び方法に関する。さらに詳しくは、本発明は、クライアントからサーバへのデータアクセスに際し、そのデータの正当性をアクセス前に検証することによって、ウイルス及びその他の悪意があるアプリケーションからクライアントを保護するオンラインストレージシステム及び方法に関する。
【背景技術】
【０００２】
ネットワーク技術が発達した現在、クライアント・サーバ形式のシステムは広く普及している。コンピュータの性能向上に伴い、これらのシステムにおいても、処理データの巨大化や処理内容の複雑化のように利用形態も多岐に亘っている。
【０００３】
このようなシステムとしては、サーバからクライアントへの巨大なデータを転送し、クライアント側で高度な処理を行う従来の第１のシステム（例えば、特許文献１）と、サーバ側に保存された巨大なデータをクライアント側から任意に処理する従来の第２のシステムとが提案されている。
【０００４】
従来の第１のシステムは、クライアントが利用するオペレーティングシステム（ＯＳ）、アプリケーション、データ等をサーバの記憶装置に保存し、クライアントがネットワークを介してＯＳなどを取得してパーソナルコンピュータ（ＰＣ）を起動させるネットワークシステムである。いわゆるファイルサーバのようにデータだけをサーバの記憶装置に保存するのではなく、ＯＳやアプリケーションまでもサーバの記憶装置に保存している点から、サーバからクライアントへ転送するデータが巨大化しているといえる。また、クライアントのアプリケーションが処理するデータだけでなく、クライアントの起動時に必要なＯＳをネットワークを介して取得する点から、クライアント側で高度な処理が行われているといえる。
【０００５】
従来の第２のシステムとしては、Ａｊａｘ技術を利用したＧｍａｉｌを挙げることができ、この場合、サーバ側に保存された電子メールデータを、クライアントがダウンロードしたＡｊａｘエンジンから利用している。従来の第２のシステムは、クライアントに電子メールアプリケーションと電子メールデータの双方を保存して利用する形態とは異なり、サーバ側に保存された巨大なデータをクライアント側から任意に処理するものといえる。
【特許文献１】特開２００５−１４９３３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の第１及び第２のシステムでは、クライアントは、サーバ側に保存されたデータの正当性を信頼して利用している。しかしながら、実際には、サーバが不正侵入を受け、データが不正に操作されることがある。従来の第１のシステムの場合、クライアントが利用するＯＳやアプリケーションの中に不正に情報を取得するプログラムが組み込まれているケースなどがあり、従来の第２のシステムの場合、メールの添付データがウイルスプログラムに不正にすりかえられているケースがある。
【０００７】
これらのケースを回避するためには、クライアントがサーバ側に保存されているデータの正当性を何らかの手段を用いて検証する必要がある。
【０００８】
一方、データの正当性を確認する技術として、所定のハッシュ関数にデータを入力し、その出力を突合する方法がある。ハッシュ関数を用いる手法では、検証を行う側すなわちクライアント側が対象データのコピーを保持する必要がある。したがって、クライアントが正当性の検証を行うためには、サーバから予め対象データ全てをダウンロードする必要がある。従来の第１のシステムの場合、クライアントが対象データを利用する、すなわち、ＯＳを起動する前に、大量のデータを正当性検証のために一時的に保持する必要があり、記憶容量の効率の観点から不都合が生じる。また、従来の第２のシステムの場合、メールデータの一部しか利用しないときでも大量のデータを一度クライアントに転送する必要があり、転送効率の観点から不都合が生じる。
【０００９】
本発明の目的は、サーバ側に保存された大量のデータをネットワークを介してクライアントから利用する際に、安全かつ効率的な利用を実現することができるオンラインストレージシステム及び方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明によるオンラインストレージシステムは、
サーバと、クライアントと、これらサーバ及びクライアントを相互に通信可能に接続するネットワークとを具え、
前記サーバが、
認証情報生成因子を前記クライアントから受信する受信手段と、
ユーザ識別子と組で暗号仮想ディスクを記憶した記憶手段と、
前記認証情報生成因子及び前記暗号仮想ディスクから認証情報を生成する認証情報生成手段と、
前記認証情報を前記クライアントに送信する送信手段とを有し、
前記クライアントが、
前記認証情報生成因子を生成する認証情報生成因子生成手段と、
前記認証情報生成因子を前記サーバに送信する送信手段と、
前記認証情報を受信する受信手段と、
前記認証情報が正しいか否かを判定し、前記認証情報が正しくない場合には処理を中断する判定手段とを有することを特徴とする。
【００１１】
本発明によるオンラインストレージ方法は、
サーバ及びクライアントを相互に通信可能に接続するネットワークを通じたオンラインストレージ方法であって、
前記クライアント側で認証情報生成因子を生成する認証情報生成因子生成ステップと、
前記認証情報生成因子を前記サーバに送信する第１送信ステップと、
前記サーバ側で前記認証情報生成因子を受信する第１受信ステップと、
ユーザ識別子と組で前記サーバ側に記憶された暗号仮想ディスクと、前記認証情報生成因子とに基づいて、認証情報を生成する認証情報生成ステップと、
前記認証情報を前記クライアントに送信する第２送信ステップと、
前記クライアント側で前記認証情報を受信する第２受信ステップと、
前記認証情報が正しいか否かを判定し、前記認証情報が正しくない場合には処理を中断する第１判定ステップとを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、サーバで保持されているデータを利用しようとするクライアントは、大量のデータを手元に転送することなくデータの正当性を検証することができる。また、データ利用及び更新に当たり、正当性を検証するために必要な情報も更新することにより、大量のデータを利用する度に転送することなくデータの正当性を検証することができる。
【００１３】
その結果、データを利用しようとするクライアントを、サーバで保持されているデータに含まれる可能性があるウイルスや不正なプログラムから守ることができる。また、顧客のデータを管理するサービスを提供する事業者が事故や不正な第三者によるデータの異常によって発生しうる顧客への被害を事前に防ぐ目的で、本発明を利用することができる。
【００１４】
本発明によるオンラインストレージシステムにおいて、好適には、
前記クライアントが、
ディスク復号鍵を記憶した記憶手段を更に有し、
前記判定手段が、前記認証情報が正しいと判定した場合、処理を続行するとともに、前記クライアントの送信手段が、前記サーバに前記ディスク復号鍵を送信し、
前記サーバが、
前記暗号仮想ディスクを前記ディスク復号鍵で復号して前記仮想ディスクを生成する仮想ディスク生成手段と、
前記仮想ディスクが正しいか否かを判定し、前記仮想ディスクが正しくない場合には処理を中断する判定手段とを更に有し、
更に好適には、
前記サーバの判定手段が、前記仮想ディスクが正しいと判定した場合、処理を続行するとともに、前記認証情報生成因子、認証情報及びディスク復号鍵を前記サーバから削除する。
【００１５】
本発明によるオンラインストレージ方法において、好適には、
前記第１判定ステップにおいて、前記認証情報が正しいと判定した場合、処理を続行するとともに、前記クライアントに記憶された前記ディスク復号鍵を前記サーバに送信する第３送信ステップと、
前記暗号仮想ディスクを前記ディスク復号鍵で復号して前記仮想ディスクを生成する仮想ディスク生成ステップと、
前記仮想ディスクが正しいか否かを判定し、前記仮想ディスクが正しくない場合には処理を中断する第２判定ステップとを更に有し、
更に好適には、
前記第２判定ステップにおいて、前記仮想ディスクが正しいと判定した場合、処理を続行するとともに、前記認証情報生成因子、認証情報及びディスク復号鍵を前記サーバから削除することを特徴とする請求項５記載のオンラインストレージ方法。
【発明を実施するための最良の形態】
【００１６】
本発明によるオンラインストレージシステム及び方法の実施の形態を、図面を参照して詳細に説明する。
図１は、本発明によるオンラインストレージシステムを示す図である。図１において、オンラインストレージシステムは、サーバ１と、クライアント２と、これらサーバ１及びクライアント２を相互に通信可能に接続するネットワーク３とを具える。
【００１７】
サーバ１は、通信部１３と、ＲＡＭ１５と、外部記憶装置１７と、仮想ディスク暗号処理部１０１と、仮想ディスク暗号鍵生成部１０２と、暗号通信処理部１０３と、認証情報生成部１４１と、制御部１９０と、ｉＳＣＳＩターゲット１０００とを有する。
【００１８】
通信部１３は、サーバ１外部に通信可能な通信装置（例えば、通信ケーブル）が接続可能である。ハードディスクである外部記憶装置１７には、証明対象である仮想暗号ディスクｓｉを保持しているのを証明するのに必要となるプログラム、このプログラムの処理において必要となるデータ等が記憶されている。また、プログラムの処理によって得られるデータ等は、ＲＡＭ１５及び外部記憶装置１７に記憶される。ＲＡＭ１５に格納されている認証テーブルの一例を図２に示す。
【００１９】
本実施の形態において，仮想暗号ディスクｓｉはビット列からなるものとする。サーバ１をコンピュータによって実現する場合には、あらゆる情報（例えば、人間が理解可能なテキスト形式の情報）は、２進数表記されるビット列として外部記憶装置１７に記憶される。
【００２０】
サーバ１では、外部記憶装置１７に記憶された各プログラムと各プログラムの処理に必要なデータが、必要に応じてＲＡＭ１５に読み込まれ、図示しないＣＰＵによって処理され、仮想ディスク暗号処理部１０１、仮想ディスク暗号鍵生成部１０２、暗号通信処理部１０３、認証情報生成部１４１及び制御部１９０を実現する。
【００２１】
ｉＳＣＳＩターゲット１０００は、ＩＰネットワーク上でストレージを利用するためのプロトコルであるｉＳＣＳＩにおけるサーバ機能を提供するためのソフトウェア又はハードウェアである。
【００２２】
クライアント２は、通信部２３と、ＲＡＭ２５と、外部記憶装置２７と、仮想ディスク暗号処理部２０１と、仮想ディスク暗号鍵生成部２０２と、仮想通信部２０３と、検証情報生成部２４１と、乱数発生部２４２と、認証情報生成因子生成部２４３と、判定部２４４と、制御部２９０と、仮想端末２０００と、ｉＳＣＳＩイニシエータ２２００とを有する。
【００２３】
通信部２３、ＲＡＭ２５及び外部記憶装置２７はそれぞれ、通信部１３、ＲＡＭ１５及び外部記憶装置１７と同様な構成を有する。クライアント２では、外部記憶装置２７に記憶された各プログラムと各プログラムの処理に必要なデータが、必要に応じてＲＡＭ２５に読み込まれ、図示しないＣＰＵによって処理され、仮想ディスク暗号処理部２０１、仮想ディスク暗号鍵生成部２０２、仮想通信部２０３、検証情報生成部２４１、乱数発生部２４２、認証情報生成因子生成部２４３、判定部２４４及び制御部２９０を実現する。
【００２４】
仮想端末２０００は、クライアント２となるＰＣ上で動作する、ＰＣのハードウェアを擬似的に作り出すソフトウェアであり、具体的には、VMware（Vmware社）、Virtual PC（Microsoft社）等によって実現される。ｉＳＣＳＩイニシエータ２２００は、ｉＳＣＳＩにおけるクライアント機能を提供するソフトウェア又はハードウェアである。
【００２５】
図３は、本発明によるオンラインストレージシステムの動作を表す図である。この場合、ｉＳＣＳＩターゲット１０００及びｉＳＣＳＩイニシエータ２２００をソフトウェアによって実現し、仮想端末２０００は、ｉＳＣＳＩイニシエータ２２００を制御することによって、ネットワーク３を介してｉＳＣＳＩターゲット１０００に接続された記憶装置を利用できるものとする。また、動作中に発生した仮想ディスクｈへの更新は、随時仮想ディスクｈを更新して反映されるものとする。
【００２６】
本発明によるオンラインストレージシステムの動作を、図４〜６を用いて更に詳しく説明する。図４は、本発明によるオンラインストレージシステムにおける事前処理のフローチャートである。サーバ１は、仮想端末２０００の利用者を示すユーザ識別子ｕと、ユーザ識別子ｕに対応するユーザパスワードｐを生成する（ステップＳ１０１）。
【００２７】
次に、クライアント２は、ユーザ識別子ｕ及びユーザパスワードｐを、可搬メディアなどの安全な手段を用いて取得し、外部記憶装置２７に保存する（ステップＳ１０２）。ユーザ識別子ｕ及びユーザパスワードｐは、安全性の見地から外部から秘匿されているものとする。
【００２８】
オンラインストレージシステムにおける共通のパラメータとして、十分大きい数Ｎ及びＮ未満の数ｇが予め外部記憶装置１７，２７に保存されている（ステップＳ１０３，Ｓ１０４）。Ｎは、安全性の見地から因数分解が困難である数又は知られていない数であることが望ましい。また、予め設定された自然数νは外部記憶装置２７に保存されている（ステップＳ１０５）。
【００２９】
外部記憶装置１７には、仮想端末２０００が利用する仮想ディスクｈ０が保存されている（ステップＳ１０６）。制御部１９０は、仮想ディスク１０２を制御し、仮想ディスクｈ０を暗号化するためのディスク暗号鍵ｋ０を生成する（ステップＳ１０７）。次に、制御部１９０は、仮想ディスク暗号処理部１０１を制御し、ディスク暗号鍵ｋ０を用いて仮想ディスクｈ０を暗号化し、暗号仮想ディスクｓ０を生成する（ステップＳ１０８）。
【００３０】
次に、サーバ１は、以下の式（１）を用いて暗号仮想ディスクｓ０から仮想ディスク検証情報Ｃ（ｓ０）を生成する（ステップＳ１０９）。なお、暗号仮想ディスクｓ０を自然数の２進数表記と同一視した。
Ｃ（ｓ０）＝ｇｓ０ｍｏｄＮ  （１）
【００３１】
制御部１９０は、仮想ディスクｈ０を利用するユーザを示すユーザ識別子ｕ、ユーザ識別子ｕに対応するユーザパスワードｐ及び暗号仮想ディスクｓ０の組をＲＡＭ１５の認証テーブルに登録する（ステップＳ１１０）。仮想ディスク検証情報Ｃ（ｓ０）を、可搬メディア、ネットワーク等の手段を用いてサーバ１からクライアント２に移動する（ステップＳ１１１，Ｓ１１２）。制御部１９０は、ＲＡＭ１５及び外部記憶装置１７から仮想ディスクｈ０を削除する（ステップＳ１１３）。
【００３２】
図５は、本発明によるオンラインストレージシステムにおける接続処理のフローチャートである。このルーチンは、仮想端末２０００を、サーバ１側で管理されるディスクイメージから起動するものであり、サーバ１とクライアント２との間で安全に通信を行えるＶＰＮを確立した後、サーバ１で暗号化された状態で保持されている仮想ディスクの検証を実施し、正確に検証されると仮想ディスクを復号し、クライアント２がそれを利用する。ここでは、ＶＮＰ接続の確立、仮想端末２０００の起動及び終了並びにＶＮＰ接続の切断に至る一連の処理をセッションと称する。
【００３３】
先ず、クライアント２がサーバ１に対してセッション開始要求を行う（ステップＳ２０１，Ｓ２０２）。制御部１９０，２９０は、ユーザ識別子ｕ及びユーザパスワードｐを用いてクライアントユーザ認証を行う。具体的にはＭＳ−ＣＨＡＰｖ２等の認証方法を用いる。ユーザ認証が正しく完了しなかった場合には、不正なユーザと判断し、セッション開始要求を拒否して処理を終了する。ユーザ認証が正しく完了した場合には、正規のユーザと判断して処理を続行する。暗号通信処理部１０３，２０３は、ＶＰＮ接続を確立する。具体的には、ＩＫＥ等の鍵交換プロトコルを使用し、暗号通信用鍵をサーバ１とクライアント２の双方で供給する（ステップＳ２０３，Ｓ２０４）。
【００３４】
制御部２９０は、乱数生成部２４２を制御して乱数ｒを生成し（ステップＳ２０５）、認証情報生成因子生成部２４３を制御して、認証情報生成因子Ｒを、ｇ，Ｎ，ｒに基づいて生成し（ステップＳ２０６）、通信部２３を制御して認証情報生成因子Ｒをサーバ１に送信する（ステップＳ２０７）。
【００３５】
制御部１９０は、通信部１３を制御して、認証情報生成因子Ｒをクライアント２から受信し（ステップＳ２０８）、認証情報生成部１４１を制御して、ステップＳ２０４で認証したユーザ識別子ｕを認証テーブルから検索し、ユーザ識別子ｕと組で登録されている暗号仮想ディスクｓｉと、受信した認証情報生成因子Ｒから認証情報Ｒ（ｓｉ）を生成し（ステップＳ２０９）、通信部１３を制御して、認証情報Ｒ（ｓｉ）をクライアント２に送信する（ステップＳ２１０）。
【００３６】
制御部２９０は、通信部２３を制御して、認証情報Ｒ（ｓｉ）をサーバ１から受信し（ステップＳ２１１）、判定部２４４を制御して、仮想ディスク検証情報Ｃ（ｓｉ）をＲＡＭ２５に読み込み、以下の式（２）が成立するか否かに基づいて、受信した認証情報Ｒ（ｓｉ）が正しいか否かを検証する（ステップＳ２１２）。
Ｒ（ｓｉ）＝Ｃ（ｓｉ）ｒｍｏｄＮ  （２）
【００３７】
検証の結果が正しくない場合には、サーバ１が保有する暗号仮想ディスクｓｉに対して前回のセッション終了以降に不正な処理が施された疑いがあると判断し、セッション開始要求を中止して処理を終了する（ステップＳ２１３）。なお、再度セッション開始が可能な状態にするには、仮想ディスクｈの再登録が必要となる。具体的には、暗号仮想ディスクｓｉをディスク復号鍵ｋｉで復号し、仮想ディスクｈｉを生成した後、仮想ディスクｈｉの内容が安全であるか否かを確認した後、仮想ディスクｈｉを上記事前処理の仮想ディスクｈ０として処理を行うことが必要となる。
【００３８】
検証の結果が正しい場合には、サーバ１が保有する暗号仮想ディスクｓｉが安全な状態であるとして処理を続行する。制御部２９０は、サーバ１が保有する暗号仮想ディスクｓｉに対応するディスク復号鍵ｋｉを外部記憶装置２７から読み出し（ステップＳ２１４）、通信部２３を制御してサーバ１に送信する（ステップＳ２１５）。
【００３９】
制御部１９０は、通信部１３を制御し、ディスク復号鍵ｋｉをクライアント２から受信する（ステップＳ２１６）。仮想ディスク暗号処理部１０１は、暗号仮想ディスクｓｉをディスク復号鍵ｋｉで復号し、仮想ディスクｈｉを生成する（ステップＳ２１７）。なお、この時点では、暗号仮想ディスクｓｉを削除せず、外部記憶装置１７に保持する。この処理の結果、仮想ディスクｈｉが正確に生成されたか否か判定し（ステップＳ２１８）、正確に処理されなかった場合には、制御部１９０は、セッション開始要求の処理を中止して処理を終了する（ステップＳ２１９）。復号処理が正常に完了した場合は処理を続行する。
【００４０】
サーバ１は、以降の処理で不要となる認証情報生成因子Ｒ、認証情報Ｒ（ｓｉ）及びディスク復号鍵ｋｉをＲＡＭ１５及び外部記憶装置１７から削除する（ステップＳ２２２）。同様に、クライアント２も、以下の処理で不要となる認証情報生成因子Ｒ、認証情報Ｒ（ｓｉ）及びディスク復号鍵ｋｉをＲＡＭ２５及び外部記憶装置２７から削除する（ステップＳ２２３）。
【００４１】
制御部１９０は、ｉＳＣＳＩターゲット１０００を起動し、仮想ディスクｈｉを外部から利用可能な状態にする（ステップＳ２２４）。同様に、制御部２９０は、仮想マシン２０００及びｉＳＣＳＩイニシエータ２２００を起動する（ステップＳ２２５）。
【００４２】
以降は、ｉＳＣＳＩイニシエータ２２００とｉＳＣＳＩターゲット１０００とが、ｉＳＣＳＩプロトコルに基づいて接続及び通信を行う。仮想マシン２０００は、ｉＳＣＳＩイニシエータ２２００及びｉＳＣＳＩターゲット１０００を介して、仮想ディスクｈｉを仮想マシン２０００に接続されたディスクとして利用する。
【００４３】
図６は、本発明によるオンラインストレージシステムにおける切断処理のフローチャートである。このルーチンは、クライアント１が仮想端末２０３の利用終了と、認証情報の更新と、ＶＰＮの切断とを行うものであり、先ず、クライアント２が、仮想端末２００の利用を終了して停止させる（ステップＳ４０１）。
【００４４】
仮想端末２０００が停止することによって、仮想端末２０００の動作中に発生した仮想ディスクｈｉへの更新内容が確定し、この更新後の仮想ディスクをｈｉ＋１とする（ステップＳ４０２）。制御部２９０は、仮想端末２０００の停止を検知すると、通信部２３を制御して、セッションの終了要求をクライアントに送信する（ステップＳ４０３）。
【００４５】
このセッションの終了要求を、通信部１３を介して制御部１９０が受信し（ステップＳ４０４）、その後、ｉＳＣＳＩターゲット１０００及びｉＳＣＳＩイニシエータ２２００は、ｉＳＣＳＩプロトコルに基づいて切断処理を行う（ステップＳ４０５，Ｓ４０６）。
【００４６】
制御部２９０は、仮想ディスク暗号鍵生成部２０２を制御して、仮想ディスクｈｉ＋１を暗号化するためのディスク暗号鍵ｋｉ＋１を生成し（ステップＳ４０７）、通信部２３を制御して、ディスク暗号鍵ｋｉ＋１をサーバ１に送信する（ステップＳ４０８）。
【００４７】
制御部１９０は、通信部１３を制御して、ディスク暗号鍵ｋｉ＋１をクライアント２から受信する（ステップＳ４０９）。制御部１９０は、仮想ディスク暗号処理部１０１を制御して、ディスク暗号鍵ｋｉ＋１を用いて仮想ディスクｈｉ＋１を暗号化し、暗号仮想ディスクｓｉ＋１を生成する（ステップＳ４１０）。
【００４８】
次に、サーバ１は、以下の式（３）を用いて暗号仮想ディスクｓｉ＋１から仮想ディスク検証情報Ｃ（ｓｉ＋１）を生成する（ステップＳ４１１）。
Ｃ（ｓｉ＋１）＝ｇｓｉ＋１ｍｏｄＮ  （３）
【００４９】
制御部１９０は、通信部１３を制御し、仮想ディスク検証情報Ｃ（ｓｉ＋１）をクライアント２に送信する（ステップＳ４１２）。制御部２９０は、通信部２３を制御し、仮想ディスク検証情報Ｃ（ｓｉ＋１）をサーバ１から受信する（ステップＳ４１３）。制御部２９０は、仮想ディスク検証情報及びディスク暗号鍵の内容をＣ（ｓｉ＋１）及びｋｉ＋１にそれぞれ更新し（ステップＳ４１４）、更新の成否をサーバ１に送信する（ステップＳ４１５）。
【００５０】
更新が成功した場合には、当該セッションが正常終了したと判断し、当該セッション開始前の暗号仮想ディスクｓｉをＲＡＭ１５及び外部記憶装置１７から削除し、認証テーブルにおいてユーザ識別子ｕと組で登録されている暗号仮想ディスクｓｉの情報を暗号仮想ディスクｓｉ＋１に更新する（ステップＳ４１８）。
【００５１】
更新が失敗した場合には、当該セッションが異常終了したと判断し、当該セッションを無効とし、セッション開始前の状態にロールバックするために暗号仮想ディスクｓｉ＋１をＲＡＭ１５及び外部記憶装置１７から削除する（ステップＳ４１９）。
【００５２】
次のセッションが開始されるまでの間に仮想ディスクｈｉ＋１が不正に利用されることを防止するため、制御部１９０は、仮想ディスクｈｉ＋１、ディスク暗号鍵ｋｉ＋１及び仮想ディスク検証情報Ｃ（ｓｉ＋１）をＲＡＭ１５及び外部記憶装置１７から削除する（ステップＳ４２０，Ｓ４２１）。
【００５３】
切断処理の最後として、暗号通信処理部１０３，２０３は、ＶＰＮ接続を切断する。具体的には、双方で用いていた暗号通信用鍵の廃棄及び通信コネクションの開放を行う（ステップＳ４２２，Ｓ４２３）。
【００５４】
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。
例えば、仮想ディスクの暗号方式に関して、暗号鍵と復号鍵が同一である共通鍵暗号による方式だけでなく、暗号鍵と復号鍵が異なる公開鍵暗号による方式を用いることができる。
【００５５】
接続処理中のユーザ認証に関して、ユーザ識別子とパスワードによる認証方式だけでなく、電子証明書を用いた方式などのクライアントの利用者を特定する他の認証方式を適用することもできる。検証対象データに関して、暗号及び復号処理を省略し、平文のまま検証処理を行うこともできる。
【００５６】
仮想端末の起動方式に関して、ｉＳＣＳＩプロトコルを用いた起動方式だけでなく、ＰＸＥ(Preboot execution Environment)を用いた方式などのコンピュータの起動に必要なデータをネットワーク経由で取得する他の起動方法を適用することができる。
【００５７】
仮想端末ソフトウェアが仮想ディスクを利用する、上記実施の形態で説明した構成として、例えば、図７に示すようなサーバ１’及びクライアント２’を具えるオンラインストレージシステムにおいて、仮想端末２０００をＷｅｂブラウザ２１００に置き換え、ｉＳＣＳＩイニシエータ２２００をＡｊａｘエンジン２３００に置き換え、ｉＳＣＳＩターゲット１０００をＷｅｂサーバ及びサーバアプリケーション１１００に置き換え、仮想ディスクをユーザディスクに置き換えることもできる。
【００５８】
更に具体的に説明すると、Ａｊａｘエンジン２３００をメール閲覧インタフェースを具えるソフトウェアとし、Ｗｅｂサーバ上で動作するサーバアプリケーションをメール管理サーバとし、ユーザデータをメールデータとする例を挙げることができる。また、Ａｊａｘエンジン２３００は、事前にクライアント２’にインストールされている必要はなく、動的にダウンロードされたソフトウェアであってもよい。
【図面の簡単な説明】
【００５９】
【図１】本発明によるオンラインストレージシステムを示す図である。
【図２】ＲＡＭ１５に格納されている認証テーブルの一例を図２に示す
【図３】本発明によるオンラインストレージシステムの動作を表す図である。
【図４】本発明によるオンラインストレージシステムにおける事前処理のフローチャートである。
【図５】本発明によるオンラインストレージシステムにおける接続処理のフローチャートである。
【図６】本発明によるオンラインストレージシステムにおける切断処理のフローチャートである。
【図７】本発明によるオンラインストレージシステムの動作の変形例を表す図である。
【符号の説明】
【００６０】
１，１’  サーバ
２，２’  クライアント
３  ネットワーク
１３，２３  通信部
１５，２５  ＲＡＭ
１７，２７  外部記憶装置
１０１，２０１  仮想ディスク暗号処理部
１０２，２０２  仮想ディスク暗号鍵生成部
１０３  暗号通信処理部
１４１  認証情報生成部
１９０，２９０  制御部
２０３  仮想通信部
２４１  検証情報生成部
２４２  乱数生成部
２４３  認証情報生成因子生成部
２４４  判定部
１０００  ｉＳＣＳＩターゲット
１１００  Ｗｅｂサーバ及びサーバアプリケーション
２０００  仮想端末
２１００  Ｗｅｂブラウザ
２２００  ｉＳＣＳＩイニシエータ
２３００  Ａｊａｘエンジン
【図１】
2008090786.tif 000003
【図２】
2008090786.tif 000004
【図３】
2008090786.tif 000005
【図４】
2008090786.tif 000006
【図５】
2008090786.tif 000007
【図６】
2008090786.tif 000008
【図７】
2008090786.tif 000009