(57)【特許請求の範囲】
【請求項１】
ファイル同期サーバとクライアント端末とを備えたファイル同期システムであって、
前記ファイル同期サーバは、
暗号鍵を格納する鍵記憶手段と、
ファイルを格納するファイル記憶手段と、
前記鍵記憶手段から暗号鍵を取得して、前記クライアント端末に配信する手段と、
前記クライアント端末からファイル選択要求を受信して、当該ファイル選択要求に基づいて前記ファイル記憶手段から抽出したファイルを、前記クライアント端末に送信するファイル抽出手段と、
前記クライアント端末からファイルの変更内容を含む同期要求を受信して、前記変更内容に基づいて前記ファイル記憶手段のファイルを更新し、前記クライアント端末に更新完了通知を送信する同期手段と、
前記クライアント端末から差分暗号化データを含む復元要求を受信して、前記暗号鍵を前記鍵記憶手段から取得して、当該取得した暗号鍵を用いて前記差分暗号化データを復号し、前記復号した差分暗号化データを用いて前記ファイル記憶手段のファイルを更新する差分暗号化データ復元手段と
を備え、
前記クライアント端末は、
差分暗号化データを格納する差分暗号化データ記憶手段と、
前記ファイル同期サーバから配信される暗号鍵を保持する手段と、
前記ファイル選択要求を前記ファイル同期サーバに送信するファイル選択手段と、
単一のファイルに対して、前記ファイル同期サーバと同期がとれている第１のファイル、および前記第１のファイルに変更を加えた第２のファイルを格納する仮想ストレージを構築する仮想ストレージ管理手段であって、前記ファイル同期サーバからファイルを受信して、前記受信したファイルを前記仮想ストレージに第１のファイルとして格納し、前記第１のファイルが変更される場合、前記第１のファイルに変更を加えた第２のファイルを前記仮想ストレージに格納する仮想ストレージ管理手段と、
ファイル比較イベントの発生に応答して、前記仮想ストレージの前記第１のファイルと前記第２のファイルとを比較して、両者の間に変更が生じる場合、ファイルの変更内容を含む前記同期要求を前記ファイル同期サーバに送信し、前記ファイル同期サーバとの同期処理中であることを示す同期情報を前記仮想ストレージ管理手段に送信する同期要求手段と、
前記仮想ストレージ管理手段が、前記同期情報を受信後に前記ファイル同期サーバから前記更新完了通知を受信したか否かを判定し、前記更新完了通知を受信していない場合、前記仮想ストレージの前記第１のファイルと前記第２のファイルとの差分データを取得し、前記暗号鍵で前記差分データを暗号化して前記差分暗号化データを生成し、前記差分暗号化データ記憶手段に格納し、前記差分暗号化データを含む前記復元要求を前記ファイル同期サーバに送信する差分暗号化データ管理手段と
を備え、前記仮想ストレージ管理手段は、前記同期要求手段から前記同期情報を受信した後、前記ファイル同期サーバから前記更新完了通知を受信すると、前記仮想ストレージの前記第１のファイルを前記第２のファイルで置き換えることを特徴とするファイル同期システム。
【請求項２】
前記鍵記憶手段は、利用者に関連付けて暗号鍵を格納し、
前記ファイル記憶手段は、利用者に関連付けてファイルを格納し、
前記配信する手段は、前記クライアント端末から利用者情報を含む認証要求を受信して、前記利用者情報に関連付けられている暗号鍵を取得して、配信し、
前記保持する手段は、前記認証要求を前記ファイル同期サーバに送信することを特徴とする請求項１に記載のファイル同期システム。
【請求項３】
前記差分暗号化データ管理手段は、利用者情報に関連付けて前記差分暗号化データ記憶手段に前記差分暗号化データを格納し、
前記差分暗号化データ管理手段は、前記認証要求に含まれる前記利用者情報に関連付けられている差分暗号化データが前記差分暗号化データ記憶手段に格納されている場合、前記復元要求を前記ファイル同期サーバに送信することを特徴とする請求項２に記載のファイル同期システム。
【請求項４】
前記同期要求手段は、一定の時間単位で前記ファイル比較イベントを生成することを特徴とする請求項１乃至３のいずれかに記載のファイル同期システム。
【請求項５】
暗号鍵を格納する鍵記憶手段とファイルを格納するファイル記憶手段とを備えたファイル同期サーバ、および差分暗号化データを格納する差分暗号化データ記憶手段を備えたクライアント端末を備えたファイル同期システムにおいて、
前記ファイル同期サーバが、前記鍵記憶手段から暗号鍵を取得して、前記クライアント端末に配信するステップと、
前記クライアント端末が、前記ファイル同期サーバから配信される暗号鍵を保持するステップと、
前記クライアント端末のファイル選択手段が、ファイル選択要求を前記ファイル同期サーバに送信するステップと、
前記ファイル同期サーバのファイル抽出手段が、前記ファイル選択要求に基づいて前記ファイル記憶手段から抽出したファイルを、前記クライアント端末に送信するステップと、
前記クライアント端末の仮想ストレージ管理手段が、単一のファイルに対して、前記ファイル同期サーバと同期がとれている第１のファイル、および前記第１のファイルに変更を加えた第２のファイルを格納する仮想ストレージを構築するステップと、
前記仮想ストレージ管理手段が、前記ファイル同期サーバからファイルを受信して、前記受信したファイルを前記仮想ストレージに第１のファイルとして格納するステップと、
前記第１のファイルが変更される場合、前記仮想ストレージ管理手段が、前記第１のファイルに変更を加えた第２のファイルを前記仮想ストレージに格納するステップと、
前記クライアント端末の同期要求手段が、ファイル比較イベントの発生に応答して、前記仮想ストレージの前記第１のファイルと前記第２のファイルとを比較するステップと、
両者の間に変更が生じる場合、前記同期要求手段が、ファイルの変更内容を含む同期要求を前記ファイル同期サーバに送信し、前記ファイル同期サーバとの同期処理中であることを示す同期情報を前記仮想ストレージ管理手段に送信するステップと、
前記ファイル同期サーバの同期手段が、前記同期要求を受信して、当該同期要求に含まれる変更内容に基づいて前記ファイル記憶手段のファイルを更新し、前記クライアント端末に更新完了通知を送信するステップと、
前記仮想ストレージ管理手段が、前記同期要求手段から前記同期情報を受信した後、前記ファイル同期サーバから前記更新完了通知を受信する場合、前記仮想ストレージの前記第１のファイルを前記第２のファイルで置き換えるステップと、
前記クライアント端末の差分暗号化データ管理手段が、前記仮想ストレージ管理手段が前記同期情報を受信後に前記ファイル同期サーバから前記更新完了通知を受信したか否かを判定し、前記同期情報を受信後に前記ファイル同期サーバから前記更新完了通知を受信していない場合、前記仮想ストレージの前記第１のファイルと前記第２のファイルとの差分データを取得し、前記暗号鍵で前記差分データを暗号化して前記差分暗号化データを生成し、前記差分暗号化データ記憶手段に格納するステップと、
前記差分暗号化データ管理手段が、前記差分暗号化データを含む復元要求を前記ファイル同期サーバに送信するステップと、
前記ファイル同期サーバの差分暗号化データ復元手段が、前記復元要求を受信して、前記暗号鍵を前記鍵記憶手段から取得して、当該取得した暗号鍵を用いて前記差分暗号化データを復号し、前記復号した差分暗号化データを用いて前記ファイル記憶手段のファイルを更新するステップと
を含むことを特徴とする方法。
【請求項６】
暗号鍵を格納する鍵記憶手段と、
ファイルを格納するファイル記憶手段と、
前記鍵記憶手段から暗号鍵を取得して、クライアント端末に配信する手段と、
前記クライアント端末からファイル選択要求を受信して、当該ファイル選択要求に基づいて前記ファイル記憶手段から抽出したファイルを、前記クライアント端末に送信するファイル抽出手段と、
前記クライアント端末からファイルの変更内容を含む同期要求を受信して、前記変更内容に基づいて前記ファイル記憶手段のファイルを更新し、前記クライアント端末に更新完了通知を送信する同期手段と、
前記クライアント端末から差分暗号化データを含む復元要求を受信して、前記暗号鍵を前記鍵記憶手段から取得して、当該取得した暗号鍵を用いて前記差分暗号化データを復号し、前記復号した差分暗号化データを用いて前記ファイル記憶手段のファイルを更新する差分暗号化データ復元手段と
を備えたことを特徴するファイル同期サーバ。
【請求項７】
暗号鍵を格納する鍵記憶手段、およびファイルを格納するファイル記憶手段を備えたコンピュータに、
前記鍵記憶手段から暗号鍵を取得して、クライアント端末に配信するステップと、
前記クライアント端末からファイル選択要求を受信して、当該ファイル選択要求に基づいて前記ファイル記憶手段から抽出したファイルを、前記クライアント端末に送信するステップと、
前記クライアント端末からファイルの変更内容を含む同期要求を受信して、前記変更内容に基づいて前記ファイル記憶手段のファイルを更新し、前記クライアント端末に更新完了通知を送信するステップと、
前記クライアント端末から差分暗号化データを含む復元要求を受信して、前記暗号鍵を前記鍵記憶手段から取得して、当該取得した暗号鍵を用いて前記差分暗号化データを復号し、前記復号した差分暗号化データを用いて前記ファイル記憶手段のファイルを更新するステップと
を実行させることを特徴とするプログラム。
【請求項８】
差分暗号化データを格納する差分暗号化データ記憶手段と、
ファイル同期サーバから配信される暗号鍵を保持する手段と、
ファイル選択要求を前記ファイル同期サーバに送信するファイル選択手段と、
単一のファイルに対して、前記ファイル同期サーバと同期がとれている第１のファイル、および前記第１のファイルに変更を加えた第２のファイルを格納する仮想ストレージを構築する仮想ストレージ管理手段であって、前記ファイル選択要求に応答して前記ファイル同期サーバからファイルを受信して、前記受信したファイルを前記仮想ストレージに第１のファイルとして格納し、前記第１のファイルが変更される場合、前記第１のファイルに変更を加えた第２のファイルを前記仮想ストレージに格納する仮想ストレージ管理手段と、
ファイル比較イベントの発生に応答して、前記仮想ストレージの前記第１のファイルと前記第２のファイルとを比較して、両者の間に変更が生じる場合、ファイルの変更内容を含む同期要求を前記ファイル同期サーバに送信し、前記ファイル同期サーバとの同期処理中であることを示す同期情報を前記仮想ストレージ管理手段に送信する同期要求手段と、
前記仮想ストレージ管理手段が、前記同期情報を受信後に前記ファイル同期サーバから更新完了通知を受信したか否かを判定し、前記更新完了通知を受信していない場合、前記仮想ストレージの前記第１のファイルと前記第２のファイルとの差分データを取得し、前記暗号鍵で前記差分データを暗号化して差分暗号化データを生成し、前記差分暗号化データ記憶手段に格納し、前記差分暗号化データを含む復元要求を前記ファイル同期サーバに送信する差分暗号化データ管理手段と
を備え、前記仮想ストレージ管理手段は、前記同期要求手段から前記同期情報を受信した後、前記ファイル同期サーバから前記更新完了通知を受信すると、前記仮想ストレージの前記第１のファイルを前記第２のファイルで置き換えることを特徴とするクライアント端末。
【請求項９】
差分暗号化データを格納する差分暗号化データ記憶手段を備えたコンピュータに、
ファイル同期サーバから配信される暗号鍵を保持するステップと、
ファイル選択要求を前記ファイル同期サーバに送信するステップと、
単一のファイルに対して、前記ファイル同期サーバと同期がとれている第１のファイル、および前記第１のファイルに変更を加えた第２のファイルを格納する仮想ストレージを構築するステップと、
前記ファイル選択要求に応答して前記ファイル同期サーバから送信されるファイルを受信して、前記受信したファイルを前記仮想ストレージに第１のファイルとして格納するステップと、
前記第１のファイルが変更される場合、前記第１のファイルに変更を加えた第２のファイルを前記仮想ストレージに格納するステップと、
ファイル比較イベントの発生に応答して、前記仮想ストレージの前記第１のファイルと前記第２のファイルとを比較するステップと、
両者の間に変更が生じる場合、ファイルの変更内容を含む同期要求を前記ファイル同期サーバに送信し、前記ファイル同期サーバとの同期処理中であることを示す同期情報を生成するステップと、
前記同期情報を生成した後、前記ファイル同期サーバから更新完了通知を受信する場合、前記仮想ストレージの前記第１のファイルを前記第２のファイルで置き換えるステップと、
前記同期情報を生成後に前記ファイル同期サーバから前記更新完了通知を受信したか否かを判定し、前記更新完了通知を受信していない場合、前記仮想ストレージの前記第１のファイルと前記第２のファイルとの差分データを取得し、前記暗号鍵で前記差分データを暗号化して差分暗号化データを生成し、前記差分暗号化データ記憶手段に格納するステップと、
前記差分暗号化データを含む復元要求を前記ファイル同期サーバに送信するステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、差分暗号化によるファイル同期システム、その方法およびプログラムに関し、より詳細には、サーバ上のストレージ領域にファイルを保存するオンラインストレージにおいて、通信障害時に編集中のファイルを安全に管理するファイル同期システム、その方法およびプログラムに関する。
【背景技術】
【０００２】
今日、モバイル端末の操作性、携帯性、データ処理能力などの向上により、モバイル端末を業務用途で活用することが期待されている。しかし、モバイル端末を業務用途で用いる場合、モバイル端末の紛失等によりローカルに残る業務データが漏洩するリスクがある。ローカルに業務データを残さない方法としては、サーバ上のストレージ領域を用いる方法がある。
【０００３】
例えば、特許文献１には、クライアントで作成・更新されたドキュメントファイルの実体をオンラインサーバ側で管理するドキュメント管理システムが開示されている。特許文献１に記載のドキュメント管理システムでは、クライアントコンピュータのローカルストレージで作成・更新されたドキュメントファイルを、ネットワークを介してオンラインストレージサーバに自動的にアップロードし、アップロードが完了したドキュメントファイルを、クライアントコンピュータのローカルストレージから自動的に削除する。
【０００４】
このような技術により、クライアントコンピュータにはドキュメントファイルが保存されないため、クライアントコンピュータの紛失により、ローカルに保存されているドキュメントファイルが漏洩するリスクを回避することができる。また、オンラインサーバ側でドキュメントファイルを管理することにより、利用者は自宅のパーソナルコンピュータでドキュメントファイルを更新し、その更新後のドキュメントファイルを会社のパーソナルコンピュータで利用することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２６６９３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１のドキュメント管理システムでは、上述のように、クライアントコンピュータで更新されたドキュメントファイルのアップロードが完了すると、クライアントコンピュータのローカルストレージから自動的に削除される。しかしながら、クライアントコンピュータのローカルストレージのドキュメントファイルが更新される際に、クライアントコンピュータとオンラインストレージサーバとの通信が断絶している場合については何ら検討していない。
【０００７】
サーバとの通信障害時に、クライアントコンピュータで編集中のドキュメントファイルの更新内容が破棄されてしまうと、利用者は、通信回線が不安定になりやすい無線環境においては、安心してドキュメントファイルを編集することができない。一方、サーバとの通信障害時に、編集中のドキュメントファイルをクライアントコンピュータのローカルストレージに残し、オンライン時に同期を行う方式では、クライアントコンピュータの紛失による漏洩のリスクを回避することができなくなってしまう。
【０００８】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、クライアント端末とサーバとの通信が断絶している場合であっても、クライアント端末におけるローカルファイルの更新を可能としつつ、クライアント端末に残されたローカルファイルを安全に管理するシステムを提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明に係るファイル同期システムは、ファイル同期サーバとクライアント端末とを備え、前記ファイル同期サーバは、暗号鍵を格納する鍵記憶手段と、ファイルを格納するファイル記憶手段と、前記鍵記憶手段から暗号鍵を取得して、前記クライアント端末に配信する手段と、前記クライアント端末からファイル選択要求を受信して、当該ファイル選択要求に基づいて前記ファイル記憶手段から抽出したファイルを、前記クライアント端末に送信するファイル抽出手段と、前記クライアント端末からファイルの変更内容を含む同期要求を受信して、前記変更内容に基づいて前記ファイル記憶手段のファイルを更新し、前記クライアント端末に更新完了通知を送信する同期手段と、前記クライアント端末から差分暗号化データを含む復元要求を受信して、前記暗号鍵を前記鍵記憶手段から取得して、当該取得した暗号鍵を用いて前記差分暗号化データを復号し、前記復号した差分暗号化データを用いて前記ファイル記憶手段のファイルを更新する差分暗号化データ復元手段とを備え、前記クライアント端末は、差分暗号化データを格納する差分暗号化データ記憶手段と、前記ファイル同期サーバから配信される暗号鍵を保持する手段と、前記ファイル選択要求を前記ファイル同期サーバに送信するファイル選択手段と、単一のファイルに対して、前記ファイル同期サーバと同期がとれている第１のファイル、および前記第１のファイルに変更を加えた第２のファイルを格納する仮想ストレージを構築する仮想ストレージ管理手段であって、前記ファイル同期サーバからファイルを受信して、前記受信したファイルを前記仮想ストレージに第１のファイルとして格納し、前記第１のファイルが変更される場合、前記第１のファイルに変更を加えた第２のファイルを前記仮想ストレージに格納する仮想ストレージ管理手段と、ファイル比較イベントの発生に応答して、前記仮想ストレージの前記第１のファイルと前記第２のファイルとを比較して、両者の間に変更が生じる場合、ファイルの変更内容を含む前記同期要求を前記ファイル同期サーバに送信し、前記ファイル同期サーバとの同期処理中であることを示す同期情報を前記仮想ストレージ管理手段に送信する同期要求手段と、前記仮想ストレージ管理手段が、前記同期情報を受信後に前記ファイル同期サーバから前記更新完了通知を受信したか否かを判定し、前記更新完了通知を受信していない場合、前記仮想ストレージの前記第１のファイルと前記第２のファイルとの差分データを取得し、前記暗号鍵で前記差分データを暗号化して前記差分暗号化データを生成し、前記差分暗号化データ記憶手段に格納し、前記差分暗号化データを含む前記復元要求を前記ファイル同期サーバに送信する差分暗号化データ管理手段とを備え、前記仮想ストレージ管理手段は、前記同期要求手段から前記同期情報を受信した後、前記ファイル同期サーバから前記更新完了通知を受信すると、前記仮想ストレージの前記第１のファイルを前記第２のファイルで置き換えることを特徴とする。
【発明の効果】
【００１０】
本願発明は、クライアント端末とファイル同期サーバとの通信が断絶している場合、ファイル同期サーバと同期がとれているファイルと、変更後のファイルとの差分データを取得し、当該差分データを暗号化してクライアント端末に保存する。暗号化に用いる暗号鍵は、ファイル同期サーバにおいて管理し、一実施形態では、ファイル同期サーバとの初回接続時に、クライアント端末に配信されるものとする。クライアント端末が配信された暗号鍵をメモリ上で管理することにより、クライアント端末のシャットダウン時に暗号鍵は消去されるので、クライアント端末に残されたローカルファイルを安全に管理することができる。
【００１１】
また、暗号化するデータをすべてのデータではなく、差分データとすることで、クライアント端末の暗号化処理の負担を軽減することができる。これにより、暗号化処理の処理時間および消費電力が最小限になり、クライアント端末の処理能力が低い場合であっても、その処理負担による影響を最小限に抑えることができる。
【００１２】
クライアント端末に残された差分暗号化データは、クライアント端末とファイル同期サーバとの再接続時に、当該差分暗号化データをファイル同期サーバに転送することにより、ファイル同期サーバ側で差分暗号化データの復号化、およびファイルの復元処理を行う。これにより、オフライン時に、クライアント端末におけるローカルファイルの更新を可能としつつ、再接続時に、クライアント端末における更新内容をファイル同期サーバで復元することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るファイル同期システムの構成を示す図である。
【図２】本発明の一実施形態に係るファイル同期サーバの構成を示すブロック図である。
【図３】本発明の一実施形態に係る利用者情報記憶手段に格納された情報の一例を示す図である。
【図４】本発明の一実施形態に係るクライアント端末の構成を示すブロック図である。
【図５】本発明の一実施形態に係るファイル同期サーバとクライアント端末とがオンライン時のファイル同期システムの概念図である。
【図６】本発明の一実施形態に係るファイル同期サーバとクライアント端末とがオンライン時のファイル同期システムの概念図である。
【図７】本発明の一実施形態に係るファイル同期サーバとクライアント端末とがオフライン時のファイル同期システムの概念図である。
【図８】本発明の一実施形態に係るクライアント端末がシャットダウン時のファイル同期システムの概念図である。
【図９】本発明の一実施形態に係るファイル同期サーバとクライアント端末との再接続時のファイル同期システムの概念図である。
【図１０】本発明の一実施形態に係る編集対象のファイルを取得する工程を示すフローチャートである。
【図１１】本発明の一実施形態に係るファイルの同期を完了する工程を示すフローチャートである。
【図１２】本発明の一実施形態に係るファイルの同期が完了する前にクライアント端末においてプログラムを終了する工程を示すフローチャートである。
【発明を実施するための形態】
【００１４】
図１は、本発明の一実施形態に係るファイル同期システムの構成を示す図である。ファイル同期システムは、複数のクライアント端末１０１ａ、１０１ｂ、・・・、１０１ｎ（以下、クライアント端末１０１と呼ぶ）を備え、各クライアント端末１０１は、通信回線１０２を介してファイル同期サーバ１０３と相互に通信可能に接続される。
【００１５】
クライアント端末１０１は、利用者によって使用される端末である。利用者Ａは、例えば、自宅のパーソナルコンピュータ１０１ａ、モバイル端末１０１ｂ、会社のパーソナルコンピュータ１０１ｃなど、複数のクライアント端末１０１を介して、ファイル同期サーバのストレージ領域に格納されたファイルを編集することができる。
【００１６】
ファイル同期サーバ１０３は、クライアント端末１０１を介して作成および編集されるファイルを格納するストレージ領域を有する。各利用者は、クライアント端末１０１を介して所定の認証処理を行うことにより、特定の利用者に関連付けてストレージ領域に格納されるファイルを作成および編集することができる。
【００１７】
次に、図２のブロック図を参照して、上記したファイル同期サーバの構成を詳細に説明する。なお、図２では、単一のコンピュータシステムを想定し、必要な機能構成だけを示しているが、ファイル同期サーバ１０３を、複数のコンピュータシステムによる多機能の分散システムの一部として構成することもできる。
【００１８】
ファイル同期サーバ１０３は、ＣＰＵ２０１に、システムバス２０２を介してメモリ２０３、入力装置２０４、出力装置２０５、通信制御装置２０６および不揮発性記憶媒体（ＲＯＭやＨＤＤなど）で構成される記憶装置２０７が接続された構成を有する。記憶装置２０７は、上記した機能を奏するためのソフトウェアプログラムを格納するプログラム格納領域と、随時取得するデータや処理結果としてのデータ等を格納するデータ格納領域とを備えている。以下に説明するプログラム格納領域の各手段は、実際は独立したソフトウェアプログラム、そのルーチンやコンポーネントなどであり、ＣＰＵ２０１によって記憶装置２０７から呼び出されメモリ２０３のワークエリアに展開されて、データベース等を適宜参照しながら順次実行されることで、各機能を奏するものである。
【００１９】
データ格納領域は、利用者情報記憶手段２０８、およびファイル記憶手段２０９を備える。何れも、記憶媒体２０７内に確保された一定の記憶領域である。
【００２０】
利用者情報記憶手段２０８は、図３に示されるように、利用者ＩＤ、パスワード、暗号鍵を格納する。暗号鍵は、当該利用者ＩＤに関連付けてファイル同期システムで管理されるファイルの暗号化、および複合化に用いられる。ファイル記憶手段２０９は、利用者ＩＤに関連付けてファイルを格納する。
【００２１】
プログラム格納領域に格納されているサーバ用ソフトウェアプログラムは、本発明に関連するものだけを列挙すると、利用者登録手段２１０、認証手段２１１、ファイル抽出手段２１２、同期手段２１３、および差分暗号化データ復元手段２１４を備えている。
【００２２】
利用者登録手段２１０は、クライアント端末１０１を介した利用者からの利用者登録要求を受信して、利用者に関連付けられる暗号鍵を生成する。本実施形態では、利用者登録要求は利用者ＩＤおよびパスワードを含み、利用者登録手段２１０は、利用者登録要求に含まれる情報を使用して、アルゴリズムによって暗号鍵を生成する。本実施形態では、ファイルの暗号化および複合化に共通鍵を用いるものとし、既知の共通鍵アルゴリズムを使用して暗号鍵を生成する。利用者登録手段２１０は、利用者登録要求に含まれる利用者ＩＤ、パスワード、および生成した暗号鍵を利用者情報記憶手段２０８に格納する。
【００２３】
認証手段２１１は、クライアント端末１０１を介した利用者からの認証要求を受信して、利用者情報記憶手段２０８を参照して認証を行う。本実施形態では、認証要求は利用者ＩＤおよびパスワードを含み、利用者情報記憶手段２０８に一致するレコードが存在する場合、認証要求に含まれる利用者の認証は成功する。利用者の認証が成功する場合、認証手段２１１は、認証された利用者の利用者ＩＤに関連付けられている暗号鍵を利用者情報記憶手段２０８から取得して、クライアント端末１０１に配信する。
【００２４】
ファイル抽出手段２１２は、クライアント端末１０１を介した利用者からのファイル選択要求を受信して、ファイル選択要求に基づいてファイル記憶手段２０９からファイルを抽出し、抽出したファイルをクライアント端末１０１に送信する。本実施形態では、利用者の認証が成功する場合、ファイル記憶手段２０９において当該利用者の利用者ＩＤに関連付けて格納されるファイルの一覧がクライアント端末１０１に提供され、利用者は、提供されたファイルの一覧から特定のファイルを選択することができる。ファイル選択要求は、利用者ＩＤおよびファイルを一意に識別するファイル識別子を含み、本実施形態では、ファイル名をファイル識別子として利用する。
【００２５】
同期手段２１３は、クライアント端末１０１から同期要求を受信して、同期要求に基づいてファイル記憶手段２０９のファイルを更新する。本実施形態では、同期要求は利用者ＩＤ、および変更後のファイルを含み、同期手段２１３は、同期要求に含まれる利用者ＩＤおよび変更後のファイルのファイル識別子を用いてファイル記憶手段２０９に格納されるファイルを特定し、特定したファイルを変更後のファイルで置き換える。同期手段２１３は、ファイルの更新が完了すると、クライアント端末１０１に更新完了通知を送信する。
【００２６】
差分暗号化データ復元手段２１４は、クライアント端末１０１から差分暗号化データ復元要求を受信して、差分暗号化データ復元要求に基づいてファイル記憶手段２０９のファイルを更新する。本実施形態では、差分暗号化データ復元要求は利用者ＩＤ、ファイル識別子、および差分暗号化データを含む。差分暗号化データ復元手段２１４は、利用者ＩＤに関連付けられている暗号鍵を利用者情報記憶手段２０８から取得して、取得した暗号鍵を用いて差分暗号化データを復号する。差分暗号化データ復元手段２１４は、差分暗号化データ復元要求に含まれる利用者ＩＤおよびファイル識別子を用いてファイル記憶手段２０９に格納されるファイルを特定し、復号した差分暗号化データを用いて特定したファイルを更新する。
【００２７】
次に、図４のブロック図を参照して、上記したクライアント端末の構成を詳細に説明する。クライアント端末１０１は、ＣＰＵ３０１に、システムバス３０２を介してメモリ３０３、入力装置３０４、出力装置３０５、通信制御装置３０６および不揮発性記憶媒体（ＲＯＭやＨＤＤ、ＳＤＤなど）で構成される記憶装置３０７が接続された構成を有する。記憶装置３０７は、上記した機能を奏するためのソフトウェアプログラムを格納するプログラム格納領域と、随時取得するデータや処理結果としてのデータ等を格納するデータ格納領域とを備えている。以下に説明するプログラム格納領域の各手段は、実際は独立したソフトウェアプログラム、そのルーチンやコンポーネントなどであり、ＣＰＵ３０１によって記憶装置３０７から呼び出されメモリ３０３のワークエリアに展開されて、データベース等を適宜参照しながら順次実行されることで、各機能を奏するものである。
【００２８】
データ格納領域は、差分暗号化データ記憶手段３０８を備える。差分暗号化データ記憶手段３０８は、利用者ＩＤに関連付けて差分暗号化データを格納する。差分暗号化データは、後述するように、ファイル同期サーバ１０３と同期がとれているファイルと、変更後のファイルとの差分データを、暗号鍵を用いて暗号化したデータである。
【００２９】
プログラム格納領域に格納されているクライアント用ソフトウェアプログラムは、本発明に関連するものだけを列挙すると、認証要求手段３０９、ファイル選択手段３１０、仮想ストレージ管理手段３１１、同期要求手段３１２、および差分暗号化データ管理手段３１３を備えている。
【００３０】
認証要求手段３０９は、入力装置３０４を介した利用者からの認証情報を受信して、ファイル同期サーバ１０３に認証要求を送信する。本実施形態では、認証情報は利用者ＩＤおよびパスワードを含み、認証要求手段３０９は、利用者ＩＤおよびパスワードを含む認証要求をファイル同期サーバ１０３に送信する。前述のように、利用者の認証が成功する場合、ファイル同期サーバ１０３から暗号鍵が配信される。認証要求手段３０９は、ファイル同期サーバ１０３から配信される暗号鍵を受信して、当該暗号鍵を保持する。
【００３１】
認証要求手段３０９が暗号鍵を保持するので（すなわち、暗号鍵はメモリ上で管理されるので）、クライアント端末がシャットダウンされると、暗号鍵は消去される。前述のように、クライアント端末１０１は、差分暗号化データ記憶部３０８に差分暗号化データを格納するが、差分暗号化データの復号に用いる暗号鍵はクライアント端末１０１のシャットダウンにより自動で消去されるので、クライント端末１０１に残されたローカルファイルを、安全に管理することができる。
【００３２】
ファイル選択手段３１０は、入力装置３０４を介した利用者からのファイル選択指示を受信すると、ファイル同期サーバ１０３にファイル選択要求を送信する。本実施形態では、前述のように、利用者の認証が成功するとファイル同期サーバ１０３からファイルの一覧が提供され、利用者は、提供されたファイルの一覧から特定のファイルを選択する。本実施形態では、ファイル選択手段３１０は、利用者が選択したファイル名を含むファイル選択指示を受信して、当該ファイル名および利用者ＩＤを含むファイル選択要求をファイル同期サーバ１０３に送信する。
【００３３】
仮想ストレージ管理手段３１１は、クライアント端末１０１のメモリ３０３上に、利用者ＩＤに関連付けられた仮想ストレージを構築する。仮想ストレージでは、単一のファイルに対して、ファイル同期サーバ１０３と同期がとれている第１のファイル、および第１のファイルに変更を加えた第２のファイルが格納される。まず、仮想ストレージ管理手段３１１は、ファイル選択要求に応答してファイル同期サーバ１０３からファイルを受信すると、受信したファイルを仮想ストレージに第１のファイルとして格納する。その後、利用者による編集操作に伴い第１のファイルが変更される場合、仮想ストレージ管理手段３１１は、第１のファイルに変更を加えた第２のファイルを仮想ストレージに格納する。
【００３４】
また、仮想ストレージ管理手段３１１は、後述する同期要求手段３１２から同期情報を受信する。本実施形態では、同期情報は、ファイル名を含む。同期要求手段３１２から同期情報を受信した後、ファイル同期サーバ１０３から更新完了通知を受信すると、仮想ストレージ管理手段３１１は、同期情報に基づいて仮想ストレージの第１のファイルを更新する。本実施形態では、同期情報に含まれるファイル名により特定される第１のファイルを第２のファイルで置き換える。
【００３５】
同期要求手段３１２は、仮想ストレージ内の第１のファイルと第２のファイルとを比較して、両者の間に変更が生じる場合、ファイル同期サーバ１０３に同期要求を送信する。本実施形態では、同期要求手段３１２は、ファイルの最終更新日時を示す時刻情報を比較して、時刻情報が更新されている場合、利用者ＩＤ、および変更後のファイルを含む同期要求をファイル同期サーバ１０３に送信する。また、同期要求手段３１２は、ファイル名を含む同期情報を仮想ストレージ管理手段３１１に送信する。なお、本実施形態では、変更後のファイルを含む同期要求をファイル同期サーバ１０３に送信しているが、別の実施形態では、第１のファイルと第２のファイルとの差分データを取得して、当該差分データを含む同期要求をファイル同期サーバ１０３に送信することもできる。
【００３６】
同期要求手段３１２は、ファイル比較イベントの発生に応答して、第１のファイルと第２のファイルとを比較することができる。本実施形態では、ファイル比較イベントには、例えば「上書き保存」など、入力装置３０４を介した利用者からのファイル更新指示が含まれる。また、ファイル比較イベントには、例えば５分に１度など、一定の時間単位で同期要求手段３１２が生成したファイル比較イベントも含むことができる。
【００３７】
差分暗号化データ管理手段３１３は、入力装置３０４を介した利用者からのプログラム終了指示を受信すると、仮想ストレージ管理手段３１１が、同期情報を受信後にファイル同期サーバ１０３から更新完了通知を受信したか否かを判定する。同期情報を受信後に更新完了通知を受信していない場合、差分暗号化データ管理手段３１３は、第１のファイルと第２のファイルとの差分データを取得し、認証要求手段３０９が保持する暗号鍵を用いて、当該差分データを暗号化する。差分暗号化データ管理手段３１３は、差分暗号化データを利用者ＩＤに関連付けて差分暗号化データ記憶手段３０８に格納する。
【００３８】
また、差分暗号化データ管理手段３１３は、差分暗号化データ復元要求をファイル同期サーバ１０３に送信する。本実施形態では、差分暗号化データ管理手段３１３は、利用者ＩＤ、ファイル識別子、および差分暗号化データを含む差分暗号化データ復元要求をファイル同期サーバ１０３に送信する。
【００３９】
（事前準備）
サーバ上のストレージ領域にファイルを保存するオンラインストレージにおいて、通信障害時に編集中のファイルを安全に管理するための事前準備として、利用者登録を行うことにより、利用者情報記憶手段２０８に情報を格納する必要がある。
【００４０】
本実施形態では、利用者登録手段２１０が、クライアント端末１０１からの利用者登録要求を受信して、図３に示されるような利用者情報が、利用者情報記憶手段２１１に格納されているものとする。例えば、利用者登録手段２１０は、利用者ＩＤ「userA」およびパスワード「aaaaaaaa」を含む利用者登録要求を受信して、利用者ＩＤ「userA」に関連付けられる暗号鍵「鍵a」を生成し、格納している。同様に、利用者登録手段２１０は、利用者ＩＤ「userB」に関連付けられる暗号鍵「鍵b」、および利用者ＩＤ「userC」に関連付けられる暗号鍵「鍵c」を生成し、格納している。
【００４１】
（実施例）
次に、図５から図９のファイル同期システムの概念図および図１０から図１２のフローチャートを参照して、本実施形態に係るサーバ上のストレージ領域にファイルを保存するオンラインストレージにおいて、通信障害時に編集中のファイルを安全に管理する方法の処理工程を説明する。本実施形態では、利用者Ａが『サンプル.doc』を編集中に通信障害が発生する場合について説明する。
【００４２】
（編集対象のファイルの取得）
まず初めに、図５のファイル同期システムの概念図および図１０のフローチャートを参照して、利用者Ａが編集対象のファイル『サンプル.doc』を取得するまでの処理工程を説明する。
【００４３】
利用者Ａがクライアント端末１０１を介して、ファイル同期サーバ１０３に認証要求を送信する（Ｓ１）。本実施形態では、図５の［１］に示されるように、クライアント端末１０１の認証要求手段３０９が、利用者ＩＤ「userA」およびパスワード「aaaaaaa」を含む認証要求を送信したものとする。ファイル同期サーバ１０３の認証手段２１１は、クライアント端末１０１から認証要求を受信すると、利用者情報記憶手段２０８を参照して認証を行う（Ｓ２）。本実施形態では、認証要求に含まれる利用者ＩＤおよびパスワードと一致するレコードが利用者情報記憶手段２０８に存在するので、認証は成功する。
【００４４】
利用者の認証が成功する場合、クライアント端末１０１の差分暗号化データ管理手段３１３は、認証された利用者の利用者ＩＤに関連付けられている差分暗号化データが差分暗号化データ記憶手段３０８に格納されているか否か判定する（Ｓ３）。本実施形態では、図５に示されるように、差分暗号化データ記憶手段３０８に差分暗号化データは存在しないので、Ｓ４に進む。
【００４５】
利用者の認証が成功する場合、認証手段２１１は、認証された利用者の利用者ＩＤに関連付けられている暗号鍵を利用者情報記憶手段２０８から取得して、クライアント端末１０１に配信する（Ｓ４）。本実施形態では、図３に示されるように、利用者ＩＤ「userA」に関連付けられている暗号鍵「鍵a」を利用者情報記憶手段２０８から取得して、クライアント端末１０１に配信する（図５の［２］）。クライアント端末１０１の認証要求手段３０９は、ファイル同期サーバ１０３から暗号鍵を受信すると、当該暗号鍵を保持する（Ｓ５）。
【００４６】
ファイル同期サーバ１０３は、利用者の認証が成功する場合、さらに、ファイル記憶手段２０９において当該利用者の利用者ＩＤに関連付けて格納されるファイルの一覧をクライアント端末１０１に提供する（Ｓ６）。本実施形態では、図５に示されるように、利用者ＩＤ「userA」に関連付けて格納される２つのファイル『サンプル.doc』および『テスト.doc』を含む一覧がクライアント端末１０１に提供される。
【００４７】
クライアント端末１０１のファイル選択手段３１０は、入力装置３０４を介した利用者からのファイル選択指示を受信すると、ファイル同期サーバ１０３にファイル選択要求を送信する（Ｓ７）。本実施形態では、ファイル選択手段３１０は、ファイル識別子としてファイル名「サンプル.doc」を含むファイル選択指示を受信して、当該ファイル名および利用者ＩＤ「userA」を含むファイル選択要求をファイル同期サーバ１０３に送信する。
【００４８】
ファイル同期サーバ１０３のファイル抽出手段２１２は、クライアント端末１０１からのファイル選択要求を受信すると、ファイル選択要求に基づいてファイル記憶手段２０９からファイルを抽出し、抽出したファイルをクライアント端末１０１に送信する（Ｓ８）。本実施形態では、図５の［３］に示されるように、ファイル抽出手段２１２は、利用者ＩＤ「userA」およびファイル名「サンプル.doc」を含むファイル選択要求を受信して、利用者ＩＤ「userA」およびファイル名「サンプル.doc」により特定されるファイルをファイル記憶手段２０９から抽出し、クライアント端末１０１に送信する。
【００４９】
クライアント端末の仮想ストレージ管理手段３１１は、ファイル同期サーバ１０３からファイルを受信すると、クライアント端末１０１のメモリ３０３上に、利用者ＩＤに関連付けられた仮想ストレージが構築されているか否か判定する（Ｓ９）。構築されていない場合、仮想ストレージ管理手段３１１は、仮想ストレージを構築する（Ｓ１０）。本実施形態では、利用者ＩＤ「userA」に関連付けられた仮想ストレージは構築されていないので、仮想ストレージを構築する。
【００５０】
仮想ストレージ管理手段３１１は、ファイル同期サーバ１０３から受信したファイルを、ファイル同期サーバ１０３と同期がとれている第１のファイルとして仮想ストレージに格納する（Ｓ１１）。本実施形態では、仮想ストレージ管理手段３１１は、図５に示されるように、バージョン１のファイル『サンプル.doc』を第１のファイルとして格納したものとする。
【００５１】
（ファイル同期サーバとクライアント端末との同期  −オンライン時−）
次に、図５、６のファイル同期システムの概念図および図１１のフローチャートを参照して、利用者Ａが編集操作を行い、ファイル同期サーバとクライアント端末との間で同期を完了するまでの処理工程を説明する。
【００５２】
第１のファイルが格納された後、利用者による編集操作に伴い第１のファイルが変更される場合、仮想ストレージ管理手段３１１は、第１のファイルに変更を加えた第２のファイルを仮想ストレージに格納する（Ｓ１２）。本実施形態では、図５に示されるように、利用者Ａによる編集操作に伴い、仮想ストレージ管理手段３１１が、バージョン２のファイル『サンプル.doc』を第２のファイルとして格納したものとする。
【００５３】
クライアント端末１０１の同期要求手段３１２は、ファイル比較イベントの発生に応答して（Ｓ１３）、第１のファイルと第２のファイルとを比較する（Ｓ１４）。本実施形態では、入力装置３０４を介した利用者からのファイル更新指示に応答して、同期要求手段３１２は、第１のファイルと第２のファイルとを比較するものとする。
【００５４】
両者の間に変更が生じる場合、同期要求手段３１２は、ファイル同期サーバ１０３に同期要求を送信する（Ｓ１５）。本実施形態では、バーション１のファイル『サンプル.doc』の最終更新日時を示す時刻情報とバージョン２のファイル『サンプル.doc』の最終更新日時を示す時刻情報とを比較すると、後者の時刻情報が更新されているので、同期要求手段３１２は、図５の［４］に示されるように、利用者ＩＤ「userA」、および変更後のファイルとしてバージョン２のファイル『サンプル.doc』を含む同期要求をファイル同期サーバ１０３に送信する。
【００５５】
また、同期要求手段３１２は、ファイル名を含む同期情報を仮想ストレージ管理手段３１１に送信する（Ｓ１６）。本実施形態では、ファイル名「サンプル.doc」を含む同期情報を仮想ストレージ管理手段３１１に送信する。
【００５６】
ファイル同期サーバ１０３の同期手段２１３は、クライアント端末１０１から同期要求を受信すると、同期要求に基づいてファイル記憶手段２０９のファイルを更新する（Ｓ１７）。本実施形態では、同期要求は利用者ＩＤ「userA」、および変更後のファイルとしてとしてバージョン２のファイル『サンプル.doc』を含み、同期手段２１３は、同期要求に含まれる利用者ＩＤ「userA」および変更後のファイルのファイル名「サンプル.doc」を用いてファイル記憶手段２０９に格納されるファイルを特定し、特定したファイルを変更後のファイルで置き換える。当該更新処理により、図６の［１］に示されるように、ファイル記憶手段２０９に格納される『サンプル.doc』はバージョン２となる。
【００５７】
同期手段２１３は、ファイルの更新が完了すると、クライアント端末１０１に更新完了通知を送信する（Ｓ１８）。ファイル同期サーバ１０３から更新完了通知を受信すると、仮想ストレージ管理手段３１１は、同期情報に基づいて仮想ストレージの第１のファイルを更新する（Ｓ１９）。本実施形態では、同期情報に含まれるファイル名「サンプル.doc」により特定される第１のファイルを第２のファイルで置き換える。当該更新処理により、図６の［３］に示されるように、第１のファイルは、バージョン２のファイル『サンプル.doc』となる。
【００５８】
（ファイル同期サーバとクライアント端末との同期  −オフライン時−）
次に、図７、８のファイル同期システムの概念図および図１２のフローチャートを参照して、利用者Ａが編集操作を行い、ファイル同期サーバとクライアント端末との間で同期が完了する前にクライアント端末をシャットダウンするまでの処理工程を説明する。
【００５９】
第１のファイルが格納または更新された後、利用者による編集操作に伴い第１のファイルが変更される場合、仮想ストレージ管理手段３１１は、第１のファイルに変更を加えた第２のファイルを仮想ストレージに格納する（Ｓ１２）。本実施形態では、図７に示されるように、利用者Ａによる編集操作に伴い、仮想ストレージ管理手段３１１が、バージョン３のファイル『サンプル.doc』を第２のファイルとして格納したものとする。
【００６０】
クライアント端末１０１の同期要求手段３１２は、ファイル比較イベントの発生に応答して（Ｓ１３）、第１のファイルと第２のファイルとを比較する（Ｓ１４）。本実施形態では、入力装置３０４を介した利用者からのファイル更新指示に応答して、同期要求手段３１２は、第１のファイルと第２のファイルとを比較するものとする。
【００６１】
両者の間に変更が生じる場合、同期要求手段３１２は、ファイル同期サーバ１０３に同期要求を送信する（Ｓ１５）。本実施形態では、バーション２のファイル『サンプル.doc』の最終更新日時を示す時刻情報とバージョン３のファイル『サンプル.doc』の最終更新日時を示す時刻情報とを比較すると、後者の時刻情報が更新されているので、同期要求手段３１２は、利用者ＩＤ「userA」、および変更後のファイルとしてバージョン３のファイル『サンプル.doc』を含む同期要求Ａをファイル同期サーバ１０３に送信する。
【００６２】
ここで、本実施形態では、ファイル同期サーバ１０３とクライアント端末１０１との間で通信障害が発生し、そのため、ファイル同期サーバ１０３は、クライアント端末１０１から同期要求Ａを受信していないものとする。
【００６３】
同期要求手段３１２は、ファイル名を含む同期情報を仮想ストレージ管理手段３１１に送信する（Ｓ１６）。本実施形態では、ファイル名「サンプル.doc」を含む同期情報Ａを仮想ストレージ管理手段３１１に送信する。
【００６４】
オンライン時は、ファイル同期サーバ１０３の同期手段２１３がクライアント端末１０１から同期要求Ａを受信することにより図１１のＳ１７に進むが、本実施形態では、前述したように、通信障害の発生により、ファイル同期サーバ１０３は、クライアント端末１０１から同期要求Ａを受信していない。また、本実施形態では、同期要求手段３１２が、５分に１度の時間単位でファイル比較イベントを生成するものとする。
【００６５】
同期要求手段３１２が生成したファイル比較イベントの発生に応答して（Ｓ１３）、同期要求手段３１２は、第１のファイルと第２のファイルとを比較する（Ｓ１４）。本実施形態では両者の間に変更が生じるので、同期要求手段３１２は、ファイル同期サーバ１０３に同期要求Ａ’を送信する（Ｓ１５）。また、同期要求手段３１２は、ファイル名「サンプル.doc」を含む同期情報Ａ’を仮想ストレージ管理手段３１１に送信する（Ｓ１６）。
【００６６】
この時点において、ファイル同期サーバ１０３とクライアント端末１０１との接続が復旧している場合、ファイル同期サーバ１０３の同期手段２１３がクライアント端末１０１から同期要求Ａ’を受信することにより図１１のＳ１７に進むが、本実施形態では、依然としてファイル同期サーバ１０３とクライアント端末１０１との間で通信障害が発生しているものとする。
【００６７】
クライアント端末１０１の差分暗号化データ管理手段３１３は、入力装置３０４を介した利用者からのプログラム終了指示を受信すると（Ｓ２０）、仮想ストレージ管理手段３１１が、同期情報を受信後にファイル同期サーバ１０３から更新完了通知を受信したか否かを判定する（Ｓ２１）。本実施形態では、プログラム終了指示を受信した際、更新完了通知を受信していないものとする。
【００６８】
同期情報を受信後に更新完了通知を受信していない場合、差分暗号化データ管理手段３１３は、第１のファイルと第２のファイルとの差分データを取得し、認証要求手段３０９が保持する暗号鍵を用いて、当該差分データを暗号化する（Ｓ２２）。本実施形態では、図７に示されるように、差分暗号化データ管理手段３１３は、第１のファイルと第２のファイルとの差分データを取得し、認証要求手段３０９が保持する暗号鍵「鍵a」を用いて差分暗号化データを生成する。
【００６９】
差分暗号化データ管理手段３１３は、差分暗号化データを利用者ＩＤに関連付けて差分暗号化データ記憶手段３０８に格納する（Ｓ２３）。本実施形態では、生成した差分暗号化データを利用者ＩＤ「userA」に関連付けて差分暗号化データ記憶手段３０８に格納する。
【００７０】
その後、利用者がクライアント端末１０１をシャットダウンすると、図８に示されるように、メモリ上で管理されていた仮想ストレージ内のファイルおよび暗号鍵は消去される。このように、クライアント端末１０１が配信された暗号鍵をメモリ上で管理することにより、クライアント端末１０１のシャットダウン後にクライアント端末１０１に残るのは差分暗号化データのみとなるので、当該差分暗号化データを安全に管理することができる。例えば、クライアント端末１０１が紛失してしまったとしても、差分暗号化データを復号する暗号鍵はクライアント端末１０１に存在しないので、差分暗号化データが漏洩するリスクを最大限に抑えることができる。
【００７１】
また、暗号化するデータをすべてのデータではなく、差分データとすることで、クライアント端末の暗号化処理の負担を軽減することができる。これにより、暗号化処理の処理時間および消費電力が最小限になり、クライアント端末の処理能力が低い場合であっても、その処理負担による影響を最小限に抑えることができる。
【００７２】
なお、別の実施形態では、差分暗号化データ管理手段３１３は、差分暗号化データを差分暗号化データ記憶手段３０８に格納したのち、メモリ上で管理されている仮想ストレージ内のファイルおよび暗号鍵を消去することもできる。
【００７３】
（ファイル同期サーバとクライアント端末との同期  −再接続時−）
次に、図９のファイル同期システムの概念図および図１０のフローチャートを参照して、クライアント端末に残された差分暗号化データに基づいて、ファイル同期サーバ上で管理するファイルを更新するまでの処理工程を説明する。
【００７４】
利用者Ａがクライアント端末１０１を介して、ファイル同期サーバ１０３に認証要求を送信する（Ｓ１）。本実施形態では、図９の［１］に示されるように、クライアント端末１０１の認証要求手段３０９が、利用者ＩＤ「userA」およびパスワード「aaaaaaa」を含む認証要求を送信したものとする。ファイル同期サーバ１０３の認証手段２１１は、クライアント端末１０１から認証要求を受信すると、利用者情報記憶手段２０８を参照して認証を行う（Ｓ２）。本実施形態では、認証要求に含まれる利用者ＩＤおよびパスワードと一致するレコードが利用者情報記憶手段２０８に存在するので、認証は成功する。
【００７５】
利用者の認証が成功する場合、クライアント端末１０１の差分暗号化データ管理手段３１３は、認証された利用者の利用者ＩＤに関連付けられている差分暗号化データが差分暗号化データ記憶手段３０８に格納されているか否か判定する（Ｓ３）。本実施形態では、図９に示されるように、認証された利用者の利用者ＩＤに関連付けられている差分暗号化データが格納されているので、Ｓ３０に進む。
【００７６】
差分暗号化データが格納されている場合、差分暗号化データ管理手段３１３は、差分暗号化データ復元要求をファイル同期サーバ１０３に送信する（Ｓ３０）。本実施形態では、差分暗号化データ管理手段３１３は、図９の［２］に示されるように、利用者ＩＤ「userA」、ファイル識別子「サンプル.doc」、および差分暗号化データを含む差分暗号化データ復元要求をファイル同期サーバ１０３に送信する。
【００７７】
差分暗号化データ復元手段２１４は、クライアント端末１０１から差分暗号化データ復元要求を受信すると、差分暗号化データ復元要求に含まれる利用者ＩＤに関連付けられている暗号鍵を利用者情報記憶手段２０８から取得して、取得した暗号鍵を用いて差分暗号化データを復号する（Ｓ３１）。本実施形態では、差分暗号化データ復元手段２１４は、利用者ＩＤ「userA」に関連付けられている暗号鍵「鍵a」を利用者情報記憶手段２０８から取得して、取得した暗号鍵を用いて差分暗号化データを復号する。
【００７８】
差分暗号化データ復元手段２１４は、差分暗号化データ復元要求に含まれる利用者ＩＤおよびファイル識別子を用いてファイル記憶手段２０９に格納されるファイルを特定し、復号した差分暗号化データを用いて特定したファイルを更新する（Ｓ３２）。本実施形態では、利用者ＩＤ「userA」およびファイル識別子「サンプル.doc」を用いてファイル記憶手段２０９に格納されるファイルを特定し、復号した差分暗号化データを用いて特定したファイルを更新する。当該更新処理により、図９の［３］に示されるように、ファイル記憶手段２０９に格納される『サンプル.doc』はバージョン３となる。その後、処理は同図のＳ４に戻る。
【００７９】
このように、クライアント端末１０１に残された差分暗号化データを、クライアント端末１０１とファイル同期サーバ１０３との再接続時に転送することにより、オフライン時に、クライアント端末１０１におけるローカルファイルの更新を可能としつつ、再接続時に、クライアント端末１０１における更新内容をファイル同期サーバ１０３で復元することができる。
【００８０】
なお、本実施形態では、差分暗号化データをクライアント端末１０１からファイル同期サーバ１０３に転送し、ファイル同期サーバ１０３において更新内容を復元しているが、別の実施形態では、クライアント端末１０１において更新内容を復元することもできる。この場合、差分暗号化データが差分暗号化データ記憶手段３０８に格納されているか否か判定した後（Ｓ３）、差分暗号化データ管理手段３１３は、前述した差分暗号化データ復元要求の代わりに、差分暗号化データ復元情報要求をファイル同期サーバ１０３に送信することができる。一実施形態では、差分暗号化データ管理手段３１３は、利用者ＩＤ「userA」およびファイル識別子「サンプル.doc」を含む差分暗号化データ復元情報要求をファイル同期サーバ１０３に送信する。
【００８１】
ファイル同期サーバ１０３は、差分暗号化データ復元情報要求を受信すると、当該差分暗号化データ復元情報要求に基づいて、利用者情報記憶手段２０８に格納される暗号鍵、およびファイル記憶手段２０９に格納されるファイルを取得して、クライアント端末１０１に送信する。これにより、クライアント端末１０１は、受信した暗号鍵を用いて差分暗号化データを復号し、復号した差分暗号化データを用いてファイルを更新することができる。
【図１】
0005795554.tif 000002
【図２】
0005795554.tif 000003
【図３】
0005795554.tif 000004
【図４】
0005795554.tif 000005
【図５】
0005795554.tif 000006
【図６】
0005795554.tif 000007
【図７】
0005795554.tif 000008
【図８】
0005795554.tif 000009
【図９】
0005795554.tif 000010
【図１０】
0005795554.tif 000011
【図１１】
0005795554.tif 000012
【図１２】
0005795554.tif 000013