(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2016-212293(P2016-212293A)
(43)【公開日】2016年12月15日
(54)【発明の名称】クラウド環境にデータを保存する情報処理装置、端末装置および保存方法
(51)【国際特許分類】
G09C 1/00 20060101AFI20161118BHJP
G06F 21/10 20130101ALI20161118BHJP
G06F 21/60 20130101ALI20161118BHJP
【FI】
G09C1/00 660D
G06F21/10
G06F21/60 320
【審査請求】有
【請求項の数】16
【出願形態】OL
【全頁数】15
(21)【出願番号】特願2015-96725(P2015-96725)
(22)【出願日】2015年5月11日
(71)【出願人】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100106699
【弁理士】
【氏名又は名称】渡部 弘道
(74)【代理人】
【識別番号】100077584
【弁理士】
【氏名又は名称】守谷 一雄
(72)【発明者】
【氏名】伊藤 浩
【テーマコード(参考)】
5J104
【Fターム(参考)】
5J104AA16
5J104AA32
5J104EA02
5J104EA08
5J104EA19
5J104JA21
5J104NA02
5J104NA06
5J104NA27
5J104NA37
5J104PA14
(57)【要約】
【課題】クラウド環境に端末装置のコンテンツを保存する。
【解決手段】ネットワーク11には、ストレージ・サーバ13a〜13d、フロント・サーバ200および端末装置100a〜100dが接続されている。端末装置は作成したコンテンツを保存する操作をフロント・サーバに対して行う。フロント・サーバは、各ストレージ・サーバのアカウントを取得している。フロント・サーバは受け取ったコンテンツを分割ファイルに分割して、それぞれを異なるストレージ・サーバに保存する。端末装置はフロント・サーバに保存したコンテンツのダウンロード要求をする。フロント・サーバは、ストレージ・サーバから分割ファイルを取得してコンテンツを復元し、端末装置に返送する。フロント・サーバは分割ファイルからコンテンツを復号するためのメタ情報を端末装置の公開鍵で暗号化して保存する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ネットワークに接続されそれぞれが異なるアカウントを備える複数の記憶装置に情報処理装置が端末装置から受け取ったコンテンツを保存する方法であって、
前記複数の記憶装置のアカウントを取得するステップと、
前記端末装置から受け取ったコンテンツを分割して複数の分割ファイルを生成するステップと、
前記複数の分割ファイルのそれぞれを異なる前記複数の記憶装置に送付するステップと
を有する方法。
【請求項2】
前記複数の記憶装置をそれぞれ異なるストレージ・サービス・プロバイダが提供する請求項1に記載の方法。
【請求項3】
前記複数の分割ファイルから前記コンテンツを復元するためのメタ情報を生成するステップと、
前記端末装置から受け取った公開鍵で前記メタ情報を暗号化するステップと、
前記暗号化したメタ情報を保存するステップと
を有する請求項1または請求項2に記載の方法。
【請求項4】
前記端末装置から受け取った前記コンテンツの取得要求に応じて前記暗号化したメタ情報を前記端末装置に送るステップと、
前記端末装置から復号した前記メタ情報を受け取るステップと、
復号した前記メタ情報を使って前記複数の記憶装置から取得した前記複数の分割ファイルから前記コンテンツを復元するステップと
を有する請求項3に記載の方法。
【請求項5】
前記メタ情報が、前記複数の記憶装置のアカウントを含む請求項3に記載の方法。
【請求項6】
前記端末装置に前記メタ情報を使って前記複数の記憶装置から直接前記複数の分割ファイルを取得して前記コンテンツを復元するためのプログラムを送付ステップと
を有する請求項3に記載の方法。
【請求項7】
同一の前記分割ファイルを複数個作成し、前記同一の複数の分割ファイルのそれぞれを異なる前記複数の記憶装置に保存するステップを有する請求項1に記載の方法。
【請求項8】
端末装置から受け取ったコンテンツから分割ファイルを生成してそれぞれを異なるアカウントを備える複数の記憶装置に保存することが可能な情報処理装置を含むネットワーク環境において前記端末装置がコンテンツを保存する方法であって、
前記情報処理装置に前記コンテンツを送って保存要求をするステップと、
前記コンテンツを受け取った前記情報処理装置が分割ファイルの生成に応じて作成した前記分割ファイルから前記コンテンツを復元するためのメタ情報を前記情報処理装置から受け取るステップと、
前記情報処理装置に前記コンテンツの取得要求をするステップと、
前記情報処理装置から前記コンテンツを取得できないときに前記メタ情報を使って前記複数の記憶装置に直接アクセスし前記コンテンツを取得するステップと
を有する方法。
【請求項9】
前記メタ情報が、前記複数の記憶装置のアカウントを含む請求項8に記載の方法。
【請求項10】
秘密鍵と公開鍵のペアを生成するステップと、
秘密鍵を保存するステップと、
前記情報処理装置が前記メタ情報を暗号化して保存するための前記公開鍵を前記情報処理装置に送るステップと
を有する請求項8に記載の方法。
【請求項11】
前記端末装置が、前記コンテンツの取得要求に応じて前記情報処理装置から前記公開鍵で暗号化したメタ情報を受け取るステップと、
前記暗号化したメタ情報を前記秘密鍵で復号し、前記復号したメタ情報を前記情報処理装置に送るステップと
を有する請求項10に記載の方法。
【請求項12】
前記直接アクセスしてコンテンツを取得するステップを、前記コンテンツの取得要求から所定時間経過しても前記情報処理装置から前記コンテンツを取得できない場合に実行する請求項8に記載の方法。
【請求項13】
ネットワークに接続されそれぞれが異なるプロバイダのセキュリティ・システムで保護された複数の記憶装置に端末装置の作成したコンテンツを保存するために、前記ネットワークに接続された情報処理装置に、
前記端末装置から前記コンテンツを受け取る機能と、
前記コンテンツを分割して分割ファイルを生成する機能と、
複数の前記分割ファイルをそれぞれ異なる前記記憶装置に保存する機能と
を実現させるためのコンピュータ・プログラム。
【請求項14】
コンテンツを作成する端末装置と、それぞれが異なるセキュリティ・システムで保護された複数の記憶装置と、前記端末装置から受け取ったコンテンツから生成した分割ファイルをそれぞれ異なる前記複数の記憶装置に保存する情報処理装置を含むネットワーク環境において、前記端末装置に、
前記情報処理装置に前記コンテンツを送って保存要求をする機能と、
前記情報処理装置に前記コンテンツの取得要求をする機能と、
前記情報処理装置から前記コンテンツを取得できないと判断したときに前記複数の記憶装置に直接アクセスして前記コンテンツの分割ファイルを取得する機能と、
前記分割ファイルから前記コンテンツを復元する機能と
を実現させるためのコンピュータ・プログラム。
【請求項15】
ネットワークを通じてそれぞれ異なるプロバイダが提供する複数の記憶装置にデータを保存することが可能な情報処理装置であって、
前記複数の記憶装置にアクセスするためのアカウントを取得するアカウント管理部と、
端末装置から受け取ったコンテンツを分割して分割ファイルを生成する分割処理部と、
前記分割ファイルのそれぞれを異なる前記複数の記憶装置に保存する制御部と
を有する情報処理装置。
【請求項16】
それぞれが異なるセキュリティ・システムで保護された複数の記憶装置と、端末装置から受け取ったコンテンツから生成した分割ファイルをそれぞれ異なる前記複数の記憶装置に保存する情報処理装置を含むネットワーク環境に接続することが可能な端末装置であって、
コンテンツを生成するアプリケーション実行部と、
前記情報処理装置に前記コンテンツの保存要求と取得要求をする制御部と、
前記情報処理装置から受け取った、前記分割ファイルから前記コンテンツを復元するためのメタ情報を保存する記憶部とを有し、
前記制御部が、前記情報処理装置から前記コンテンツを取得できないと判断したときに前記メタ情報を利用して前記複数の記憶装置から直接前記コンテンツの分割ファイルを取得し前記コンテンツを復元する端末装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク環境に存在する記憶装置が記憶するコンテンツの情報セキュリティを向上させる技術に関し、さらに詳細にはそれぞれが独自のセキュリティ・システムで保護された複数の記憶装置を利用して情報セキュリティとシステム障害に対するロバストネス(耐性)を向上させる技術に関する。
【背景技術】
【0002】
ネットワークを利用したクラウド環境でユーザのデータを保存するサービスを提供するストレージ・サービス・プロバイダ(以下、単にプロバイダという。)が存在する。ユーザはプロバイダが管理するストレージ・サーバに確保された領域を、ネットワークを経由してローカルのストレージ・デバイスのように使用することができる。特許文献1は、分散ファイル・システムを冗長化する方法を開示する。
【0003】
特許文献2は、1つのファイルを複数のファイルに分割して物理的に異なる機器に保存する秘密分散方式について開示する。特許文献3は、電子コンテンツの情報プロバイダがコンテンツを暗号化して安全に配送する方法を開示する。特許文献4は、所定のグループの端末で扱うデータを断片化および復元する秘密分散サービスを提供するサービス事業者のシステムを開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012−8934号公報
【特許文献2】特開2007−304962号公報
【特許文献3】特開2007−183982号公報
【特許文献4】特開2011−248711号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーザは、ストレージ・サーバを管理する任意のプロバイダを選択してデータを保存することができる。一般的にはユーザが単一のプロバイダを選択して、文書ファイルや画像などの形式のまとまりのあるデータ(コンテンツ)を保存する。プロバイダは、独自のセキュリティ・システムを採用して、ユーザのコンテンツを保護しているが、プロバイダからコンテンツが流出する事件がときどき発生する。
【0006】
コンテンツ流出の外部的な要因として、ストレージ・サーバが常にハッカーの攻撃対象になっていること、および内部的な要因としてパスワードやIDなどのセキュリティ情報が関係者を通じて漏れることなどを挙げることができる。プロバイダからのコンテンツ流出を避けるために、ユーザはあらかじめ保存するコンテンツを暗号化してから保存することができる。さらに、ユーザは先行技術が開示するような方法であらかじめ個々のブロックからは意味のある情報を再現ができない程度までコンテンツを分割して複数のストレージ・サーバに分散的に保存することもできる。
【0007】
しかし、このような処理は、クラウド環境を利用してローカル・ストレージのように手軽にコンテンツを保存するというユーザの利便性を損なう。また、ユーザがプロバイダの情報セキュリティ・システムを信頼してそのような処理をしない場合もある。さらに、単一のプロバイダの管轄下にあるストレージ・サーバに、ハードウェア的またはソフトウェア的な障害が発生すると、回復するまでユーザがコンテンツを取得できない事態も発生する。
【0008】
そこで本発明の目的は、クラウド環境に保存するデータの情報セキュリティを確保する方法を提供することにある。さらに、本発明の目的はユーザの利便性を損なわないようにしながらクラウド環境にデータを保存する方法を提供することにある。さらに本発明の目的は、クラウド環境に提供される記憶装置のシステム障害に対するロバストネスを向上させる方法を提供することにある。さらに本発明の目的は、そのような方法に供する情報処理装置、端末装置およびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【0009】
本発明の一の態様は、ネットワークに接続されそれぞれが異なるアカウントを備える複数の記憶装置に情報処理装置が端末装置から受け取ったコンテンツを保存する方法を提供する。情報処理装置は、複数の記憶装置のアカウントを取得する。情報処理装置は端末装置からコンテンツを受け取る。情報処理装置はコンテンツを分割して複数の分割ファイルを生成する。情報処理装置は分割ファイルのそれぞれを異なる記憶装置に送付する。
【0010】
上記構成によれば、端末装置が情報処理装置にコンテンツの保存要求をすると、情報処理装置は異なるアカウントを備える複数の記憶装置にコンテンツの分割ファイルを分散して保存するため、単一のアカウントの記憶装置に保存するよりも情報セキュリティが向上する。複数の記憶装置は、それぞれ異なるストレージ・サービス・プロバイダが提供するものであってよい。この場合、情報処理装置は複数のストレージ・サービス・プロバイダを利用することで、個別のストレージ・サーバイス・プロバイダが抱える情報セキュリティの脆弱性を補うことができる。
【0011】
情報処理装置は、複数の分割ファイルからコンテンツを復元するためのメタ情報を生成し、端末装置から受け取った公開鍵でメタ情報を暗号化して保存することができる。その結果、情報処理装置からのメタ情報の漏洩をなくしてコンテンツの安全を確保することができる。この場合、情報処理装置が、端末装置から受け取ったコンテンツの取得要求に応じて暗号化したメタ情報を端末装置に送って復号を要求し、端末装置から復号したメタ情報を受け取り、メタ情報を使って複数の記憶装置から取得した複数の分割ファイルからコンテンツを復元することができる。
【0012】
メタ情報は、複数の記憶装置のアカウントを含んでもよい。情報処理装置が端末装置にメタ情報を送れば、端末装置がメタ情報を使って複数の記憶装置から直接複数の分割ファイルを取得してコンテンツを復元することができる。その結果、情報処理装置にシステム障害が発生しても端末装置がコンテンツを取得する機会を確保することができる。情報処理装置が、同一の分割ファイルを複数個作成し、同一の複数の分割ファイルのそれぞれを異なる記憶装置に保存することができる。その結果、分割ファイルが冗長化されて、システム障害に対するロバストネスが向上する。
【0013】
本発明の他の態様は、端末装置から受け取ったコンテンツから分割ファイルを生成して異なるアカウントを備える複数の記憶装置に保存することが可能な情報処理装置を含むネットワーク環境において、端末装置がコンテンツを保存する方法を提供する。端末装置は、情報処理装置にコンテンツを送って保存要求をし、コンテンツを受け取った情報処理装置が分割ファイルの生成に応じて作成した、分割ファイルからコンテンツを復元するためのメタ情報を情報処理装置から受け取る。端末装置は、情報処理装置にコンテンツの取得要求をし、情報処理装置からコンテンツを取得できないときにメタ情報を使って複数の記憶装置に直接アクセスしてコンテンツを取得する。
【0014】
その結果端末装置は、情報処理装置に保存要求をするだけで、分割ファイルは異なるアカウントの記憶装置に分散して保存され、かつ、情報処理装置にシステム障害があってもコンテンツを取得することができる。このとき取得要求から所定時間経過しても情報処理装置からコンテンツを取得できない場合に端末装置が複数の記憶装置に直接アクセスするようにすれば、端末装置に対してユーザが特別な操作をしないでも自動的にコンテンツを取得することができる。
【0015】
メタ情報は、複数の記憶装置のアカウントを含んでもよい。端末装置は秘密鍵と公開鍵のペアを生成し、情報処理装置がメタ情報を暗号化して保存するために情報処理装置に公開鍵を送ることができる。その結果、情報処理装置からメタ情報が漏洩する危険性をなくすことができる。このとき端末装置は、保存したコンテンツの取得要求に応じて情報処理装置から公開鍵で暗号化したメタ情報を受け取り、暗号化したメタ情報を秘密鍵で復号し、復号したメタ情報を情報処理装置に送ることができる。
【発明の効果】
【0016】
本発明により、クラウド環境に保存するデータの情報セキュリティを確保する方法を提供することができた。さらに、本発明によりユーザの利便性を損なわないようにしながらクラウド環境にデータを保存する方法を提供することができた。さらに本発明により、クラウド環境に提供される記憶装置のシステム障害に対するロバストネスを向上させる方法を提供することができた。さらに本発明により、そのような方法に供する情報処理装置、端末装置およびコンピュータ・プログラムを提供することができた。
【図面の簡単な説明】
【0017】
【
図1】本実施の形態にかかるネットワーク・システム10の一例を説明するための図である。
【
図2】端末装置100a〜100dを代表する端末装置100aの構成の一例を示す機能ブロック図である。
【
図3】フロント・サーバ200の構成の一例を示す機能ブロック図である。
【
図4】ネットワーク・システム10にコンテンツ400を保存する手順の一例を示すフローチャートである。
【
図5】コンテンツ400を分割した分割ファイルの保存方法を説明するための図である。
【発明を実施するための形態】
【0018】
[ネットワーク・システム]
図1は、本実施の形態にかかるネットワーク・システム10の一例を説明するための図である。ネットワーク11は、LAN、WAN、インターネット、電話回線またはネットワーク専用回線などの複合体で構成することができる。ネットワーク11には、ストレージ・サーバ13a〜13d、フロント・サーバ200、無線アクセス・ポイント(AP)15および有線のルータ17が接続されている。
【0019】
ストレージ・サーバ13a〜13dは、相互に異なるプロバイダが、クラウド・コンピューティング技術を使って端末装置100a〜100dを使用するユーザにコンテンツを保存するサービスを提供するためのハードウェアおよびソフトウェアの集合体である。各プロバイダは、ストレージ・サーバ13a〜13dを利用するユーザに対して所定の識別子(ID)とパスワードを付与する。
【0020】
以後、IDとパスワードを含めたストレージ・サーバ13a〜13dにユーザがアクセスするために必要な情報をアカウントということにする。ストレージ・サーバ13a〜13dは、各プロバイダの独自のセキュリティ・システムで保存するコンテンツの情報セキュリティを確保する。ストレージ・サーバ13a〜13dは、ネットワークに接続された複数のストレージ・サーバで構成する分散ファイル・システムを備えている場合もある。分散ファイル・システムでは、端末装置100a〜100dのいずれかから受け取ったコンテンツを異なる複数のストレージ・サーバに保存して冗長化を図ることができる。
【0021】
各プロバイダの独自のセキュリティ・システムは、ユーザのアカウントの保護を含む。さらに独自のセキュリティ・システムは、保存するコンテンツを暗号化し、または分散ファイル・システムと秘密分散技術を利用して保存する場合もある。それでも、ストレージ・サーバ13a〜13dは、内外の経路を通じたコンテンツの流出の危険に晒される。
【0022】
また、ストレージ・サーバ13a〜13dは、分散ファイル・システムを導入したりコンテンツの暗号化を図ったりしていても、独自のセキュリティ・システムにアクセスするパスワードが内部から漏洩するとコンテンツの流出を防ぐことはできない。端末装置100a、100bは、例えばノート・ブック型パーソナル・コンピュータ、タブレット端末またはスマートフォンなどであり、無線アクセス・ポイント15を経由して、ネットワーク11にアクセスすることができる。
【0023】
端末装置100c、100dは、たとえば、デスクトップ型パーソナル・コンピュータまたはワークステーションなどであり、ルータ17を経由してネットワーク11にアクセスすることができる。端末装置100a〜100dは、クラウド環境に保存するためのコンテンツを作成する。端末装置100a〜100dは、いずれかのストレージ・サーバ13a〜13dのアカウントを取得してコンテンツを保存することができる。端末装置100a〜100dは、フロント・サーバ200のアカウントを取得してコンテンツの保存要求をすることができる。
【0024】
フロント・サーバ200は、ストレージ・サーバ13a〜13dのプロバイダとは異なるプロバイダが、クラウド・コンピューティング技術を使って端末装置100a〜100dを使用するユーザにコンテンツを保存するサービスを提供するためのハードウェアおよびソフトウェアの集合体である。フロント・サーバ200は、クラウド環境にデータを保存する端末装置100a〜100dに対するフロント・エンドの役割を担う。フロント・サーバ200はネットワーク11において、端末装置100a〜100dのユーザに対してストレージ・サービスを提供するポータル・サイトを提供する。
【0025】
フロント・サーバ200は、端末装置100a〜100dと同じ立場でストレージ・サーバ13a〜13dのアカウントを取得して、データを保存したり読み出したりすることができる。本実施の形態における特徴として、フロント・サーバ200は、端末装置100a〜100dから受け取ったコンテンツを保有しないで、複数のストレージ・サーバ13a〜13dに保存する。したがって、フロント・サーバ200はコンテンツの保存サービスを極小さな記憶装置だけを用意して行うことができる。
【0026】
[端末装置]
端末装置100a〜100dの構成は、本発明に関する限り同一の要素として説明することができる。
図2は、端末装置100a〜100dを代表する端末装置100aの構成の一例を示す機能ブロック図である。端末装置100aは、ネットワーク・インターフェース101、ユーザ・インターフェース103、アプリケーション実行部105、制御部107および記憶部109を含んでいる。端末装置100aの各要素は、CPU、システム・メモリ、I/Oチップセット、および周辺デバイスなどのハードウェアと、CPUが実行するデバイス・ドライバ、OS、およびアプリケーション・プログラムなどのソフトウェアとの協働で構成することができる。
【0027】
ネットワーク・インターフェース101は、AP15またはルータ17を通じてネットワーク11にアクセスするネットワーク・コントローラを含んでいる。ユーザ・インターフェース103は、タッチパネル、キーボード、マウス、およびディスプレイといったユーザに対する入出力装置を含んでいる。
【0028】
アプリケーション実行部105は本発明との関連において、ユーザ・インターフェース103との協働により、クラウド環境に保存するコンテンツ400(
図5)を作成する。制御部107は、ユーザ・インターフェース103との協働により、アプリケーション実行部105が作成したコンテンツ400をクラウド環境に保存し、および保存しておいたコンテンツ400をクラウド環境から取得するために、端末装置100aの全体の動作を制御する。制御部107は、メタ情報450を暗号化するための秘密鍵451aと公開鍵451b(
図3)のペアを作成する。
【0029】
記憶部109は、HDDまたはSSDといった補助記憶装置およびコントローラを含む。記憶部109は、メタ情報450、秘密鍵451a、アクセス・モジュール453および必要に応じて公開鍵455aをセキュアな領域に格納する。アクセス・モジュール453は、フロント・サーバ200に障害が発生したときに、端末装置100aがストレージ・サーバ13a〜13dから分割ファイルのセットを取得してコンテンツ400を復元するためのプログラムで制御部107が実行する。なお、アクセス・モジュール453は、フロント・サーバ200が生成する。
【0030】
[フロント・サーバ]
図3は、フロント・サーバ200の構成の一例を示す機能ブロック図である。フロント・サーバ200は、ネットワーク・インターフェース201、アカウント管理部203、制御部205、記憶部207および分割処理部209で構成している。フロント・サーバ200の要素は、CPU、システム・メモリ、I/Oチップセット、および周辺デバイスなどのハードウェアと、CPUが実行するデバイス・ドライバ、OS、およびアプリケーション・プログラムなどのソフトウェアとの協働で構成することができる。
【0031】
ネットワーク・インターフェース201は、ネットワーク11にアクセスするためのネットワーク・コントローラを含んでいる。アカウント管理部203は、フロント・サーバ200のサービスに利用するストレージ・サーバ13a〜13dのアカウントを取得し、さらに端末装置100a〜100dに対するアカウントの付与および認証をする。アカウント管理部203は、端末装置100a〜100dに対する課金データを管理することができる。アカウント管理部203は、端末装置100a〜100dに対してコンテンツの保存サービスを提供するためのポータル・サイトを作成する。
【0032】
ポータル・サイトには、フロント・サーバ200が提供するサービスのグレードと記憶容量ごとの金額を提示することができる。サービスのグレードには、利用するストレージ・サーバのプロバイダ名、ストレージ・サーバの設定場所および後に説明する冗長化レベルなどを含めることができる。制御部205は、端末装置100a〜100dの要求に応じて、ストレージ・サーバ13a〜13dを利用したコンテンツ400の保存、およびコンテンツ400の端末装置100a〜100dに対する返送に関連する一連の処理をする。
【0033】
制御部205は、端末装置100a〜100dから受け取ったそれぞれ異なる公開鍵451bを使ってメタ情報450を暗号化する。記憶部207はHDDを含む。記憶部207は、公開鍵451bで暗号化したメタ情報450、公開鍵451b、アクセス・モジュール453および必要に応じて秘密鍵455bを格納する。制御部205は、アカウントを取得した端末装置100a〜100dにアクセス・モジュール453を送る。
【0034】
[コンテンツの保存方法]
図4は、端末装置100aがクラウド環境を構成するネットワーク・システム10にコンテンツ400を保存する手順の一例を示すフローチャートである。ブロック150〜167は端末装置100aの手順を示し、ブロック250〜267はフロント・サーバ200の手順を示し、ブロック350〜355はストレージ・サーバ13a〜13dの手順を示す。
【0035】
ブロック250で、アカウント管理部203はあらかじめ、ストレージ・サーバ13a〜13dのアカウントを取得し、さらに端末装置100aにフロント・サーバ200に対するアカウントを付与している。また、制御部205は、アクセス・モジュール453を端末装置100aに送付している。制御部205はまた必要に応じて、秘密鍵455bと公開鍵455aのペアを生成して、秘密鍵455bを記憶部207に格納し、公開鍵455aを端末装置100aに送っている。
【0036】
ブロック150で制御部107は、秘密鍵451aと公開鍵451bのペアを生成して、秘密鍵451aを記憶部109に格納し、公開鍵451bをフロント・サーバ200に送っている。また、記憶部109は、フロント・サーバ200から受け取ったアクセス・モジュール453および公開鍵455aを格納している。公開鍵451bは、フロント・サーバ200の記憶部207に格納されている。ブロック350で、ストレージ・サーバ13a〜13dは、アカウントを付与したフロント・サーバ200に対してコンテンツの保存サービスを提供している。
【0037】
ブロック151でユーザ・インターフェース103を通じたユーザからの指示に応じて、アプリケーション実行部105がコンテンツ400を作成する。ブロック153でユーザは、フロント・サーバ200のポータル・サイトを表示するアプリケーション実行部105に対して、コンテンツ400を保存するための操作をする。保存の操作は、たとえば、デスクトップ画面に表示したフロント・サーバ200のアイコンに保存したいコンテンツ400をドラックすることで行う。なお、ユーザは従来の方法で、フロント・サーバ13a〜13dのアカウントを独自に取得して直接保存操作をすることもできる。
【0038】
ブロック155でアプリケーション実行部105からの要求を受けた制御部107は、フロント・サーバ200にコンテンツ400を送って保存要求をする。ブロック251で保存要求を受け取ったフロント・サーバ200は、アカウント管理部203が端末装置100aを認証する。制御部205は、コンテンツ400を分割処理部209に送って複数の分割ファイルを生成するように指示する。
【0039】
分割処理部209は、所定のアルゴリズムに基づいてコンテンツ400を分割して一例として2個の分割ファイルで構成した分割ファイル400a、400bのセットを生成し制御部205に送る。分割処理部209は、分割数Mや分割方法を、コンテンツの内容により異なるものにすることができる。たとえば、JPEG形式の画像データでは、画像に影響を与えるセグメントとその他のデータをそれぞれ分割ファイルにすることができる。また、コンテンツが文書ファイルの場合は、コンテンツを構成する各1バイトのデータを4バイトずつに分割することもできる。
【0040】
ここでは一例として
図5に示すように、分割処理部209が、コンテンツ400を物理的なデータ配列の中央部分で単純に2分割して分割ファイル400a、400bのセットを生成するものとする。ブロック253で分割ファイル400a、400bのセットを受け取った制御部205は、コンテンツ400の冗長化レベルを決めて、利用するストレージ・サーバの数を決定する。ここでは一例として、冗長化レベルN(N>1)を2とする。ここに冗長化レベルは、同一の分割ファイルの数に相当し、N−1台のストレージ・サーバにシステム障害が発生しても当該分割ファイルを取得できることを意味する。
【0041】
制御部205は、一例として選択した分割数M=2と冗長化レベルN=2から利用するストレージ・サーバの数SをS=M×Nの式で計算して4台とする。制御部205は、分割ファイル400a、400bをそれぞれ2個の分割ファイルにするために、分割ファイル400aをコピーして分割ファイル400a1を生成し、分割ファイル400bをコピーして分割ファイル400b1を生成する。
【0042】
なお、秘密分散技術のなかには、分割ファイルがすべて揃わなくても元のコンテンツの復元を可能にするものがある。そのような技術を利用すれば、たとえば分割数Mを3にして異なる3台のストレージ・サーバに分割ファイルを保存したときに、1台のストレージ・サーバにシステム障害が発生しても残りの分割ファイルからコンテンツを復元することができる。本発明では、このような秘密分散技術と、同一の分割ファイルのコピーを組み合わせて冗長性を確保することもできる。
【0043】
制御部205は、アカウント管理部203から4個の分割ファイル400a、400a1、400b、400b1を保存する4台のストレージ・サーバ13a〜13dのアカウントを取得してメタ情報450を作成する。メタ情報450は、ストレージ・サーバ13a〜13dにアクセスして復元に必要な分割ファイルのセットを取得し、コンテンツ400を復元するために必要な情報に相当する。
【0044】
メタ情報450は、各ストレージ・サーバ13a〜13dのアカウント、アカウントと分割ファイル400a、400a1、400b、400b1の対応を示す割付情報、分割ファイルのセットからコンテンツ400を復元する方法を示す復元情報などを含む。平文のメタ情報450が流出すると、ストレージ・サーバ13a〜13dから不正にコンテンツ400が取得されてしまうため、ブロック255で制御部205は、端末装置100aから受け取った公開鍵451bでメタ情報450を暗号化する。制御部205は、暗号化したメタ情報450を、アカウントおよびコンテンツ400の識別子に対応付けて記憶部207に格納する。
【0045】
ブロック257、351で制御部205は、メタ情報450を利用して、分割ファイル400a、400a1、400b、400b1をストレージ・サーバ13a〜13dにそれぞれ分散して保存する。ブロック259で制御部205は公開鍵451bで暗号化したメタ情報450を端末装置100aに送る。ブロック260で制御部200は、平文のメタ情報450を破棄する。以後、フロント・サーバ200は暗号化したメタ情報450を記憶部207に格納するが、平文のメタ情報450はいかなる方法でも保持しない。
【0046】
ブロック157で制御部107は、受け取ったメタ情報450をコンテンツ400の識別子に関連付けて記憶部109に保存する。端末装置100aは、このメタ情報450を元に、フロント・サーバ200にシステム障害が発生したときに、直接ストレージ・サーバ13a〜13dにアクセスして分割ファイルのセットを取得し、コンテンツ400を復元するために利用する。ここまでの手順で、クラウド環境に対する端末装置100aが作成したコンテンツ400の保存が終了する。
【0047】
ブロック159で端末装置100aのユーザが、ユーザ・インターフェース103を通じて、ポータル・サイトを表示するアプリケーション実行部105にフロント・サーバ200からコンテンツ400をダウンロードするように指示する。アプリケーション実行部105から指示を受けた制御部107は、フロント・サーバ200にアクセスして、自らのアカウントに対応するコンテンツのリストをダウンロードする。ユーザがコンテンツ・リストからコンテンツ400を選択して制御部107にダウンロードを指示する。制御部107が、フロント・サーバ200にコンテンツ400の取得要求をすると、それに応答してブロック261で制御部205は、端末装置100aのアカウントとコンテンツ400の識別子に対応する暗号化したメタ情報450を記憶部207から取り出して端末装置100aに送付し復号を要求する。
【0048】
ブロック161で暗号化したメタ情報450を受け取った制御部107は、記憶部109が格納する秘密鍵451aを利用して復号した平文のメタ情報450をフロント・サーバ200に返送する。ブロック263で復号した平文のメタ情報450を受け取った制御部205は、各ストレージ・サーバ13a〜13dにアクセスして分割ファイルのセットを取得する。
【0049】
あるいはこのとき、制御部107はフロント・サーバ200から受け取っていた公開鍵455aで暗号化したメタ情報450をフロント・サーバ200に返送することもできる。この場合、制御部205は自身が作成した秘密鍵455bを用いてメタ情報450を復号し、各ストレージ・サーバ13a〜13dにアクセスして分割ファイルのセットを取得することになる。
【0050】
このとき制御部205は、あらかじめアクセスするストレージ・サーバ13a〜13dの順番を決めておくことができる。ブロック353で各ストレージ・サーバ13a〜13dは保存している分割ファイル400a、400a1、400b、400b1をフロント・サーバ200に返送する。制御部205は、コンテンツ400を復元できる分割ファイルのセットを取得した時点で残りのストレージ・サーバへのアクセスを中止することができる。たとえば制御部205は、ストレージ・サーバ13b、13dから分割ファイル400a、400b1のセットを取得できた場合は、ストレージ・サーバ13b、13cにアクセスする必要はない。
【0051】
ブロック265で制御部205は、たとえばストレージ・サーバ13b、13dから分割ファイル400a,400b1のセットを取得する。制御部205は、さらにメタ情報450を使って復元したコンテンツ400を端末装置100aに返送する。制御部205は、ネットワーク11またはストレージ・サーバ13a〜13dのシステム障害により、コンテンツ400を復元するために必要な分割ファイルのセットを取得できないと判断したときは端末装置100aに通知する。
【0052】
ブロック267で、制御部205は端末装置100aから受け取った平文のメタ情報450または秘密鍵455bで復号した平文のメタ情報450を破棄する。ブロック165で制御部107は、ブロック159でコンテンツ400の取得要求をしてからの経過時間を計時している。制御部107は、フロント・サーバ200からコンテンツ400を返送できない通知を受け取ったときはその時点で処理を中止することができる。フロント・サーバ200にシステム障害が発生しているときは、制御部107がフロント・サーバ200からコンテンツ400の取得要求に対する一切の応答を受け取らない場合がある。
【0053】
フロント・サーバ200にシステム障害が発生して所定の時間内に応答がないときであっても、制御部107は、ストレージ・サーバ13a〜13dに直接アクセスしてコンテンツ400を取得できる可能性がある。ブロック167で制御部107は、フロント・サーバ200から所定の時間が経過しても応答がないときは、記憶部109から取り出したアクセス・モジュール453を実行する。制御部107は、メタ情報450を利用してストレージ・サーバ13a〜13dに直接アクセスし分割ファイルのセットをダウンロードし、さらにコンテンツ400を復元する。ブロック355でストレージ・サーバ13a〜13dは、フロント・サーバ200に付与したアカウントで直接アクセスする端末装置100aに対して分割ファイルのセットを返送する。
【0054】
上記の手順は本発明の実施形態の一例を示したものであり、本発明の範囲はこれに限定されない。本発明の範囲はあくまで特許請求の範囲に記載の通りである。したがって、各手順のすべてが本発明の必須の要素ではなく、また、順番も本発明の範囲を逸脱しない範囲で変更することができる。たとえば、フロント・サーバ200にシステム障害が生じない限り、ブロック165、167の手順を実行しないでも本発明の所定の効果を奏することができる。また、分割ファイルを冗長化しないでストレージ・サーバ13a〜13dに分散保存をしても、本発明の所定の効果を奏することができる。あるいは、公開鍵451bやアクセス・モジュール453の送付は、ブロック151の手順を開始した所定のタイミングで行ってもよい。
【0055】
メタ情報450を公開鍵暗号方式で暗号化する例を示したが、共通鍵暗号方式を採用することでもよい。メタ情報450を端末装置100aの記憶部109とフロント・サーバ200の記憶部207に保存する例を説明したが、ネットワーク11を通じてアクセスできる別の場所に保存してもよい。また、秘密鍵451aと公開鍵451bのペアおよび秘密鍵455bと公開鍵455aのペアはコンテンツごとに作成してもよい。
【0056】
フロント・サーバ200は、上記手順で説明した方法により、端末装置100aがストレージ・サーバ13a〜13dに直接コンテンツ400を保存するよりもコンテンツ400に対する情報セキュリティとシステム障害に対するロバストネスを強固にすることができる。まず、情報セキュリティの面でフロント・サーバ200は、コンテンツ400を複数のストレージ・サーバ13a〜13dに分割ファイルの形式で分散保存する。この状態で、いずれか1台のストレージ・サーバから分割ファイルが流出してもコンテンツ400が復元されることはない。攻撃者は、各ストレージ・サーバ13a〜13dから分割ファイル400a、400a1、400b、400b1のすべてまたは復元に必要な分割ファイルのセットを不正に取得してもメタ情報450を取得しない限り容易にコンテンツ400を復元することはできない。
【0057】
しかも、攻撃者にとってセキュリティ・システムが異なる複数のストレージ・サーバ13a〜13dに対する攻撃を成功させることは単一のストレージ・サーバを攻撃するよりも一層困難である。メタ情報450は、フロント・サーバ200の記憶部207に公開鍵451bで暗号化して保存している。フロント・サーバ200が攻撃を受けて暗号化メタ情報450が流出しても、端末装置100aの秘密鍵451aが流出しない限り、攻撃者はコンテンツ400を復元することができない。
【0058】
すなわち、端末装置100aが秘密鍵451aのセキュリティを確保している限り、フロント・サーバ200またはストレージ・サーバ13a〜13dが保存するデータが漏洩してもコンテンツ400のセキュリティを確保することができる。この点では、フロント・サーバ200と端末装置100a〜100dの協働により、コンテンツ400の保存に関する各プロバイダのセキュリティが、端末装置100a〜100dのセキュリティ・レベルまで向上しているともいえる。
【0059】
つぎにシステム障害に対するロバストネスの面で、ストレージ・サーバ13a〜13dに所定の台数までのシステム障害が発生しても、フロント・サーバ200はコンテンツ400を復元することができる。具体的には、ストレージ・サーバ13a、13bのいずれか一方およびストレージ・サーバ13c、13dのいずれか一方が正常であれば、2台のストレージ・サーバにシステム障害が発生してもフロント・サーバ200または端末装置100aは、コンテンツ400を復元することができる。
【0060】
あるいは、ストレージ・サーバ13a〜13dのうちの任意の1台にシステム障害が発生してもコンテンツ400を復元することができる。またフロント・サーバ200にシステム障害が発生しても、所定の台数のストレージ・サーバが正常に動作していれば、端末装置100a〜100dは直接ストレージ・サーバ13a〜13dにアクセスして、コンテンツ400を取得することができる。
【0061】
上記のような特徴を備えるフロント・サーバ200は、端末装置100a〜100dのユーザに対して新しいストレージ・サービスを提供することができる。フロント・サーバ200は、単一のストレージ・サーバ13a〜13dよりもシステム障害に対するロバストネスが強固である必要はない、また、フロント・サーバ200は、ストレージ・サーバ13a〜13dよりも情報セキュリティが強固である必要はない。しかし、フロント・サーバ200は、既存のプロバイダが提供するストレージ・サーバ13a〜13dを端末装置100a〜100dに対してバックグランドで利用することで、システムの情報セキュリティおよびロバストネスを強固にする。
【0062】
端末装置100aはコンテンツ400の情報セキュリティおよびロバストネスを強固にするために、分割ファイル400a、400bのセットを生成したり、それらの冗長化処理をして分散保存したり、あるいはコンテンツ400を暗号化したりする必要がない。また、アクセス・モジュール453は、フロント・サーバ200からダウンロードするため端末装置100aが用意しておく必要はない。端末装置100aのユーザは、分割された状態でストレージ・サーバ13a〜13dにコンテンツ400が保存されることを知っていても知らなくてもよいが、いずれか1台のストレージ・サーバにコンテンツを保存する手順とほぼ同じ手順をフロント・サーバ200に対して行うだけでよい。
【0063】
端末装置100a〜100dは、フロント・サーバ200にシステム障害があっても、アクセス・モジュール453を実行する制御部107が、自動的にストレージ・サーバ13a〜13dにアクセスしてコンテンツ400を取得することができる。端末装置100a〜100dのユーザは、フロント・サーバ200がいずれのプロバイダにコンテンツを保存したかを意識する必要はない。コンテンツの保存に関して、課金が発生する場合は、ストレージ・サーバ13a〜13dのプロバイダがフロント・サーバ200に課金し、フロント・サーバ200のプロバイダが端末装置100a〜100dに課金することができる。
【0064】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【0065】
10 ネットワーク・システム
11 ネットワーク
13a〜13d ストレージ・サーバ
100a〜100d 端末装置
109 記憶部
200 フロント・サーバ
207 記憶部
400 コンテンツ
400a、400a1、400b、400b1 分割ファイル