(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されそれぞれが異なるアカウントを備える複数の記憶装置に情報処理装置が端末装置から受け取ったコンテンツを保存する方法であって、
前記複数の記憶装置のアカウントを取得するステップと、
前記端末装置から受け取ったコンテンツを分割して複数の分割ファイルを生成するステップと、
前記複数の分割ファイルから前記コンテンツを復元するためのメタ情報を生成するステップと、
前記端末装置から受け取った公開鍵で前記メタ情報を暗号化するステップと、
前記暗号化したメタ情報を保存するステップと、
前記複数の分割ファイルのそれぞれを異なる前記複数の記憶装置に送付するステップと
を有する方法。
【請求項２】
前記複数の記憶装置をそれぞれ異なるストレージ・サービス・プロバイダが提供する請求項１に記載の方法。
【請求項３】
前記端末装置から受け取った前記コンテンツの取得要求に応じて前記暗号化したメタ情報を前記端末装置に送るステップと、
前記端末装置から復号した前記メタ情報を受け取るステップと、
前記復号したメタ情報を使って前記複数の記憶装置から取得した前記複数の分割ファイルから前記コンテンツを復元するステップと
を有する請求項１に記載の方法。
【請求項４】
前記メタ情報が、前記複数の記憶装置のアカウントを含む請求項１に記載の方法。
【請求項５】
前記端末装置が前記複数の記憶装置から直接前記複数の分割ファイルを取得して前記コンテンツを復元できるように前記端末装置に前記メタ情報を送付するステップを有する請求項１に記載の方法。
【請求項６】
同一の前記分割ファイルを複数個作成し、前記同一の複数の分割ファイルのそれぞれを異なる前記複数の記憶装置に保存するステップを有する請求項１に記載の方法。
【請求項７】
ネットワークに接続されそれぞれが異なるプロバイダのセキュリティ・システムで保護された複数の記憶装置に端末装置の作成したコンテンツを保存するために、前記ネットワークに接続された情報処理装置に、
前記端末装置から前記コンテンツを受け取る機能と、
前記コンテンツを分割して複数の分割ファイルを生成する機能と、
前記複数の分割ファイルから前記コンテンツを復元するためのメタ情報を生成する機能と、
前記端末装置から受け取った公開鍵で前記メタ情報を暗号化する機能と、
前記暗号化したメタ情報を保存する機能と
前記複数の分割ファイルをそれぞれ異なる前記複数の記憶装置に保存する機能と
を実現させるためのコンピュータ・プログラム。
【請求項８】
ネットワークを通じてそれぞれ異なるプロバイダが提供する複数の記憶装置にデータを保存することが可能な情報処理装置であって、
前記複数の記憶装置にアクセスするためのアカウントを取得するアカウント管理部と、
端末装置から受け取ったコンテンツを分割して複数の分割ファイルを生成する分割処理部と、
前記複数の分割ファイルから前記コンテンツを復元するためのメタ情報を生成し、前記端末装置から受け取った公開鍵で前記メタ情報を暗号化し、前記暗号化したメタ情報を保存し、前記複数の分割ファイルのそれぞれを異なる前記複数の記憶装置に保存する制御部と
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク環境に存在する記憶装置が記憶するコンテンツの情報セキュリティを向上させる技術に関し、さらに詳細にはそれぞれが独自のセキュリティ・システムで保護された複数の記憶装置を利用して情報セキュリティとシステム障害に対するロバストネス（耐性）を向上させる技術に関する。
【背景技術】
【０００２】
ネットワークを利用したクラウド環境でユーザのデータを保存するサービスを提供するストレージ・サービス・プロバイダ（以下、単にプロバイダという。）が存在する。ユーザはプロバイダが管理するストレージ・サーバに確保された領域を、ネットワークを経由してローカルのストレージ・デバイスのように使用することができる。特許文献１は、分散ファイル・システムを冗長化する方法を開示する。
【０００３】
特許文献２は、１つのファイルを複数のファイルに分割して物理的に異なる機器に保存する秘密分散方式について開示する。特許文献３は、電子コンテンツの情報プロバイダがコンテンツを暗号化して安全に配送する方法を開示する。特許文献４は、所定のグループの端末で扱うデータを断片化および復元する秘密分散サービスを提供するサービス事業者のシステムを開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−８９３４号公報
【特許文献２】特開２００７−３０４９６２号公報
【特許文献３】特開２００７−１８３９８２号公報
【特許文献４】特開２０１１−２４８７１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ユーザは、ストレージ・サーバを管理する任意のプロバイダを選択してデータを保存することができる。一般的にはユーザが単一のプロバイダを選択して、文書ファイルや画像などの形式のまとまりのあるデータ（コンテンツ）を保存する。プロバイダは、独自のセキュリティ・システムを採用して、ユーザのコンテンツを保護しているが、プロバイダからコンテンツが流出する事件がときどき発生する。
【０００６】
コンテンツ流出の外部的な要因として、ストレージ・サーバが常にハッカーの攻撃対象になっていること、および内部的な要因としてパスワードやＩＤなどのセキュリティ情報が関係者を通じて漏れることなどを挙げることができる。プロバイダからのコンテンツ流出を避けるために、ユーザはあらかじめ保存するコンテンツを暗号化してから保存することができる。さらに、ユーザは先行技術が開示するような方法であらかじめ個々のブロックからは意味のある情報を再現ができない程度までコンテンツを分割して複数のストレージ・サーバに分散的に保存することもできる。
【０００７】
しかし、このような処理は、クラウド環境を利用してローカル・ストレージのように手軽にコンテンツを保存するというユーザの利便性を損なう。また、ユーザがプロバイダの情報セキュリティ・システムを信頼してそのような処理をしない場合もある。さらに、単一のプロバイダの管轄下にあるストレージ・サーバに、ハードウェア的またはソフトウェア的な障害が発生すると、回復するまでユーザがコンテンツを取得できない事態も発生する。
【０００８】
そこで本発明の目的は、クラウド環境に保存するデータの情報セキュリティを確保する方法を提供することにある。さらに、本発明の目的はユーザの利便性を損なわないようにしながらクラウド環境にデータを保存する方法を提供することにある。さらに本発明の目的は、クラウド環境に提供される記憶装置のシステム障害に対するロバストネスを向上させる方法を提供することにある。さらに本発明の目的は、そのような方法に供する情報処理装置、端末装置およびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一の態様は、ネットワークに接続されそれぞれが異なるアカウントを備える複数の記憶装置に情報処理装置が端末装置から受け取ったコンテンツを保存する方法を提供する。情報処理装置は、複数の記憶装置のアカウントを取得する。情報処理装置は端末装置からコンテンツを受け取る。情報処理装置はコンテンツを分割して複数の分割ファイルを生成する。情報処理装置は分割ファイルのそれぞれを異なる記憶装置に送付する。
【００１０】
上記構成によれば、端末装置が情報処理装置にコンテンツの保存要求をすると、情報処理装置は異なるアカウントを備える複数の記憶装置にコンテンツの分割ファイルを分散して保存するため、単一のアカウントの記憶装置に保存するよりも情報セキュリティが向上する。複数の記憶装置は、それぞれ異なるストレージ・サービス・プロバイダが提供するものであってよい。この場合、情報処理装置は複数のストレージ・サービス・プロバイダを利用することで、個別のストレージ・サーバイス・プロバイダが抱える情報セキュリティの脆弱性を補うことができる。
【００１１】
情報処理装置は、複数の分割ファイルからコンテンツを復元するためのメタ情報を生成し、端末装置から受け取った公開鍵でメタ情報を暗号化して保存することができる。その結果、情報処理装置からのメタ情報の漏洩をなくしてコンテンツの安全を確保することができる。この場合、情報処理装置が、端末装置から受け取ったコンテンツの取得要求に応じて暗号化したメタ情報を端末装置に送って復号を要求し、端末装置から復号したメタ情報を受け取り、メタ情報を使って複数の記憶装置から取得した複数の分割ファイルからコンテンツを復元することができる。
【００１２】
メタ情報は、複数の記憶装置のアカウントを含んでもよい。情報処理装置が端末装置にメタ情報を送れば、端末装置がメタ情報を使って複数の記憶装置から直接複数の分割ファイルを取得してコンテンツを復元することができる。その結果、情報処理装置にシステム障害が発生しても端末装置がコンテンツを取得する機会を確保することができる。情報処理装置が、同一の分割ファイルを複数個作成し、同一の複数の分割ファイルのそれぞれを異なる記憶装置に保存することができる。その結果、分割ファイルが冗長化されて、システム障害に対するロバストネスが向上する。
【００１３】
本発明の他の態様は、端末装置から受け取ったコンテンツから分割ファイルを生成して異なるアカウントを備える複数の記憶装置に保存することが可能な情報処理装置を含むネットワーク環境において、端末装置がコンテンツを保存する方法を提供する。端末装置は、情報処理装置にコンテンツを送って保存要求をし、コンテンツを受け取った情報処理装置が分割ファイルの生成に応じて作成した、分割ファイルからコンテンツを復元するためのメタ情報を情報処理装置から受け取る。端末装置は、情報処理装置にコンテンツの取得要求をし、情報処理装置からコンテンツを取得できないときにメタ情報を使って複数の記憶装置に直接アクセスしてコンテンツを取得する。
【００１４】
その結果端末装置は、情報処理装置に保存要求をするだけで、分割ファイルは異なるアカウントの記憶装置に分散して保存され、かつ、情報処理装置にシステム障害があってもコンテンツを取得することができる。このとき取得要求から所定時間経過しても情報処理装置からコンテンツを取得できない場合に端末装置が複数の記憶装置に直接アクセスするようにすれば、端末装置に対してユーザが特別な操作をしないでも自動的にコンテンツを取得することができる。
【００１５】
メタ情報は、複数の記憶装置のアカウントを含んでもよい。端末装置は秘密鍵と公開鍵のペアを生成し、情報処理装置がメタ情報を暗号化して保存するために情報処理装置に公開鍵を送ることができる。その結果、情報処理装置からメタ情報が漏洩する危険性をなくすことができる。このとき端末装置は、保存したコンテンツの取得要求に応じて情報処理装置から公開鍵で暗号化したメタ情報を受け取り、暗号化したメタ情報を秘密鍵で復号し、復号したメタ情報を情報処理装置に送ることができる。
【発明の効果】
【００１６】
本発明により、クラウド環境に保存するデータの情報セキュリティを確保する方法を提供することができた。さらに、本発明によりユーザの利便性を損なわないようにしながらクラウド環境にデータを保存する方法を提供することができた。さらに本発明により、クラウド環境に提供される記憶装置のシステム障害に対するロバストネスを向上させる方法を提供することができた。さらに本発明により、そのような方法に供する情報処理装置、端末装置およびコンピュータ・プログラムを提供することができた。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態にかかるネットワーク・システム１０の一例を説明するための図である。
【図２】端末装置１００ａ〜１００ｄを代表する端末装置１００ａの構成の一例を示す機能ブロック図である。
【図３】フロント・サーバ２００の構成の一例を示す機能ブロック図である。
【図４】ネットワーク・システム１０にコンテンツ４００を保存する手順の一例を示すフローチャートである。
【図５】コンテンツ４００を分割した分割ファイルの保存方法を説明するための図である。
【発明を実施するための形態】
【００１８】
［ネットワーク・システム］
図１は、本実施の形態にかかるネットワーク・システム１０の一例を説明するための図である。ネットワーク１１は、ＬＡＮ、ＷＡＮ、インターネット、電話回線またはネットワーク専用回線などの複合体で構成することができる。ネットワーク１１には、ストレージ・サーバ１３ａ〜１３ｄ、フロント・サーバ２００、無線アクセス・ポイント（ＡＰ）１５および有線のルータ１７が接続されている。
【００１９】
ストレージ・サーバ１３ａ〜１３ｄは、相互に異なるプロバイダが、クラウド・コンピューティング技術を使って端末装置１００ａ〜１００ｄを使用するユーザにコンテンツを保存するサービスを提供するためのハードウェアおよびソフトウェアの集合体である。各プロバイダは、ストレージ・サーバ１３ａ〜１３ｄを利用するユーザに対して所定の識別子（ＩＤ）とパスワードを付与する。
【００２０】
以後、ＩＤとパスワードを含めたストレージ・サーバ１３ａ〜１３ｄにユーザがアクセスするために必要な情報をアカウントということにする。ストレージ・サーバ１３ａ〜１３ｄは、各プロバイダの独自のセキュリティ・システムで保存するコンテンツの情報セキュリティを確保する。ストレージ・サーバ１３ａ〜１３ｄは、ネットワークに接続された複数のストレージ・サーバで構成する分散ファイル・システムを備えている場合もある。分散ファイル・システムでは、端末装置１００ａ〜１００ｄのいずれかから受け取ったコンテンツを異なる複数のストレージ・サーバに保存して冗長化を図ることができる。
【００２１】
各プロバイダの独自のセキュリティ・システムは、ユーザのアカウントの保護を含む。さらに独自のセキュリティ・システムは、保存するコンテンツを暗号化し、または分散ファイル・システムと秘密分散技術を利用して保存する場合もある。それでも、ストレージ・サーバ１３ａ〜１３ｄは、内外の経路を通じたコンテンツの流出の危険に晒される。
【００２２】
また、ストレージ・サーバ１３ａ〜１３ｄは、分散ファイル・システムを導入したりコンテンツの暗号化を図ったりしていても、独自のセキュリティ・システムにアクセスするパスワードが内部から漏洩するとコンテンツの流出を防ぐことはできない。端末装置１００ａ、１００ｂは、例えばノート・ブック型パーソナル・コンピュータ、タブレット端末またはスマートフォンなどであり、無線アクセス・ポイント１５を経由して、ネットワーク１１にアクセスすることができる。
【００２３】
端末装置１００ｃ、１００ｄは、たとえば、デスクトップ型パーソナル・コンピュータまたはワークステーションなどであり、ルータ１７を経由してネットワーク１１にアクセスすることができる。端末装置１００ａ〜１００ｄは、クラウド環境に保存するためのコンテンツを作成する。端末装置１００ａ〜１００ｄは、いずれかのストレージ・サーバ１３ａ〜１３ｄのアカウントを取得してコンテンツを保存することができる。端末装置１００ａ〜１００ｄは、フロント・サーバ２００のアカウントを取得してコンテンツの保存要求をすることができる。
【００２４】
フロント・サーバ２００は、ストレージ・サーバ１３ａ〜１３ｄのプロバイダとは異なるプロバイダが、クラウド・コンピューティング技術を使って端末装置１００ａ〜１００ｄを使用するユーザにコンテンツを保存するサービスを提供するためのハードウェアおよびソフトウェアの集合体である。フロント・サーバ２００は、クラウド環境にデータを保存する端末装置１００ａ〜１００ｄに対するフロント・エンドの役割を担う。フロント・サーバ２００はネットワーク１１において、端末装置１００ａ〜１００ｄのユーザに対してストレージ・サービスを提供するポータル・サイトを提供する。
【００２５】
フロント・サーバ２００は、端末装置１００ａ〜１００ｄと同じ立場でストレージ・サーバ１３ａ〜１３ｄのアカウントを取得して、データを保存したり読み出したりすることができる。本実施の形態における特徴として、フロント・サーバ２００は、端末装置１００ａ〜１００ｄから受け取ったコンテンツを保有しないで、複数のストレージ・サーバ１３ａ〜１３ｄに保存する。したがって、フロント・サーバ２００はコンテンツの保存サービスを極小さな記憶装置だけを用意して行うことができる。
【００２６】
［端末装置］
端末装置１００ａ〜１００ｄの構成は、本発明に関する限り同一の要素として説明することができる。図２は、端末装置１００ａ〜１００ｄを代表する端末装置１００ａの構成の一例を示す機能ブロック図である。端末装置１００ａは、ネットワーク・インターフェース１０１、ユーザ・インターフェース１０３、アプリケーション実行部１０５、制御部１０７および記憶部１０９を含んでいる。端末装置１００ａの各要素は、ＣＰＵ、システム・メモリ、Ｉ／Ｏチップセット、および周辺デバイスなどのハードウェアと、ＣＰＵが実行するデバイス・ドライバ、ＯＳ、およびアプリケーション・プログラムなどのソフトウェアとの協働で構成することができる。
【００２７】
ネットワーク・インターフェース１０１は、ＡＰ１５またはルータ１７を通じてネットワーク１１にアクセスするネットワーク・コントローラを含んでいる。ユーザ・インターフェース１０３は、タッチパネル、キーボード、マウス、およびディスプレイといったユーザに対する入出力装置を含んでいる。
【００２８】
アプリケーション実行部１０５は本発明との関連において、ユーザ・インターフェース１０３との協働により、クラウド環境に保存するコンテンツ４００（図５）を作成する。制御部１０７は、ユーザ・インターフェース１０３との協働により、アプリケーション実行部１０５が作成したコンテンツ４００をクラウド環境に保存し、および保存しておいたコンテンツ４００をクラウド環境から取得するために、端末装置１００ａの全体の動作を制御する。制御部１０７は、メタ情報４５０を暗号化するための秘密鍵４５１ａと公開鍵４５１ｂ（図３）のペアを作成する。
【００２９】
記憶部１０９は、ＨＤＤまたはＳＳＤといった補助記憶装置およびコントローラを含む。記憶部１０９は、メタ情報４５０、秘密鍵４５１ａ、アクセス・モジュール４５３および必要に応じて公開鍵４５５ａをセキュアな領域に格納する。アクセス・モジュール４５３は、フロント・サーバ２００に障害が発生したときに、端末装置１００ａがストレージ・サーバ１３ａ〜１３ｄから分割ファイルのセットを取得してコンテンツ４００を復元するためのプログラムで制御部１０７が実行する。なお、アクセス・モジュール４５３は、フロント・サーバ２００が生成する。
【００３０】
［フロント・サーバ］
図３は、フロント・サーバ２００の構成の一例を示す機能ブロック図である。フロント・サーバ２００は、ネットワーク・インターフェース２０１、アカウント管理部２０３、制御部２０５、記憶部２０７および分割処理部２０９で構成している。フロント・サーバ２００の要素は、ＣＰＵ、システム・メモリ、Ｉ／Ｏチップセット、および周辺デバイスなどのハードウェアと、ＣＰＵが実行するデバイス・ドライバ、ＯＳ、およびアプリケーション・プログラムなどのソフトウェアとの協働で構成することができる。
【００３１】
ネットワーク・インターフェース２０１は、ネットワーク１１にアクセスするためのネットワーク・コントローラを含んでいる。アカウント管理部２０３は、フロント・サーバ２００のサービスに利用するストレージ・サーバ１３ａ〜１３ｄのアカウントを取得し、さらに端末装置１００ａ〜１００ｄに対するアカウントの付与および認証をする。アカウント管理部２０３は、端末装置１００ａ〜１００ｄに対する課金データを管理することができる。アカウント管理部２０３は、端末装置１００ａ〜１００ｄに対してコンテンツの保存サービスを提供するためのポータル・サイトを作成する。
【００３２】
ポータル・サイトには、フロント・サーバ２００が提供するサービスのグレードと記憶容量ごとの金額を提示することができる。サービスのグレードには、利用するストレージ・サーバのプロバイダ名、ストレージ・サーバの設定場所および後に説明する冗長化レベルなどを含めることができる。制御部２０５は、端末装置１００ａ〜１００ｄの要求に応じて、ストレージ・サーバ１３ａ〜１３ｄを利用したコンテンツ４００の保存、およびコンテンツ４００の端末装置１００ａ〜１００ｄに対する返送に関連する一連の処理をする。
【００３３】
制御部２０５は、端末装置１００ａ〜１００ｄから受け取ったそれぞれ異なる公開鍵４５１ｂを使ってメタ情報４５０を暗号化する。記憶部２０７はＨＤＤを含む。記憶部２０７は、公開鍵４５１ｂで暗号化したメタ情報４５０、公開鍵４５１ｂ、アクセス・モジュール４５３および必要に応じて秘密鍵４５５ｂを格納する。制御部２０５は、アカウントを取得した端末装置１００ａ〜１００ｄにアクセス・モジュール４５３を送る。
【００３４】
［コンテンツの保存方法］
図４は、端末装置１００ａがクラウド環境を構成するネットワーク・システム１０にコンテンツ４００を保存する手順の一例を示すフローチャートである。ブロック１５０〜１６７は端末装置１００ａの手順を示し、ブロック２５０〜２６７はフロント・サーバ２００の手順を示し、ブロック３５０〜３５５はストレージ・サーバ１３ａ〜１３ｄの手順を示す。
【００３５】
ブロック２５０で、アカウント管理部２０３はあらかじめ、ストレージ・サーバ１３ａ〜１３ｄのアカウントを取得し、さらに端末装置１００ａにフロント・サーバ２００に対するアカウントを付与している。また、制御部２０５は、アクセス・モジュール４５３を端末装置１００ａに送付している。制御部２０５はまた必要に応じて、秘密鍵４５５ｂと公開鍵４５５ａのペアを生成して、秘密鍵４５５ｂを記憶部２０７に格納し、公開鍵４５５ａを端末装置１００ａに送っている。
【００３６】
ブロック１５０で制御部１０７は、秘密鍵４５１ａと公開鍵４５１ｂのペアを生成して、秘密鍵４５１ａを記憶部１０９に格納し、公開鍵４５１ｂをフロント・サーバ２００に送っている。また、記憶部１０９は、フロント・サーバ２００から受け取ったアクセス・モジュール４５３および公開鍵４５５ａを格納している。公開鍵４５１ｂは、フロント・サーバ２００の記憶部２０７に格納されている。ブロック３５０で、ストレージ・サーバ１３ａ〜１３ｄは、アカウントを付与したフロント・サーバ２００に対してコンテンツの保存サービスを提供している。
【００３７】
ブロック１５１でユーザ・インターフェース１０３を通じたユーザからの指示に応じて、アプリケーション実行部１０５がコンテンツ４００を作成する。ブロック１５３でユーザは、フロント・サーバ２００のポータル・サイトを表示するアプリケーション実行部１０５に対して、コンテンツ４００を保存するための操作をする。保存の操作は、たとえば、デスクトップ画面に表示したフロント・サーバ２００のアイコンに保存したいコンテンツ４００をドラックすることで行う。なお、ユーザは従来の方法で、フロント・サーバ１３ａ〜１３ｄのアカウントを独自に取得して直接保存操作をすることもできる。
【００３８】
ブロック１５５でアプリケーション実行部１０５からの要求を受けた制御部１０７は、フロント・サーバ２００にコンテンツ４００を送って保存要求をする。ブロック２５１で保存要求を受け取ったフロント・サーバ２００は、アカウント管理部２０３が端末装置１００ａを認証する。制御部２０５は、コンテンツ４００を分割処理部２０９に送って複数の分割ファイルを生成するように指示する。
【００３９】
分割処理部２０９は、所定のアルゴリズムに基づいてコンテンツ４００を分割して一例として２個の分割ファイルで構成した分割ファイル４００ａ、４００ｂのセットを生成し制御部２０５に送る。分割処理部２０９は、分割数Ｍや分割方法を、コンテンツの内容により異なるものにすることができる。たとえば、ＪＰＥＧ形式の画像データでは、画像に影響を与えるセグメントとその他のデータをそれぞれ分割ファイルにすることができる。また、コンテンツが文書ファイルの場合は、コンテンツを構成する各１バイトのデータを４バイトずつに分割することもできる。
【００４０】
ここでは一例として図５に示すように、分割処理部２０９が、コンテンツ４００を物理的なデータ配列の中央部分で単純に２分割して分割ファイル４００ａ、４００ｂのセットを生成するものとする。ブロック２５３で分割ファイル４００ａ、４００ｂのセットを受け取った制御部２０５は、コンテンツ４００の冗長化レベルを決めて、利用するストレージ・サーバの数を決定する。ここでは一例として、冗長化レベルＮ（Ｎ＞１）を２とする。ここに冗長化レベルは、同一の分割ファイルの数に相当し、Ｎ−１台のストレージ・サーバにシステム障害が発生しても当該分割ファイルを取得できることを意味する。
【００４１】
制御部２０５は、一例として選択した分割数Ｍ＝２と冗長化レベルＮ＝２から利用するストレージ・サーバの数ＳをＳ＝Ｍ×Ｎの式で計算して４台とする。制御部２０５は、分割ファイル４００ａ、４００ｂをそれぞれ２個の分割ファイルにするために、分割ファイル４００ａをコピーして分割ファイル４００ａ１を生成し、分割ファイル４００ｂをコピーして分割ファイル４００ｂ１を生成する。
【００４２】
なお、秘密分散技術のなかには、分割ファイルがすべて揃わなくても元のコンテンツの復元を可能にするものがある。そのような技術を利用すれば、たとえば分割数Ｍを３にして異なる３台のストレージ・サーバに分割ファイルを保存したときに、１台のストレージ・サーバにシステム障害が発生しても残りの分割ファイルからコンテンツを復元することができる。本発明では、このような秘密分散技術と、同一の分割ファイルのコピーを組み合わせて冗長性を確保することもできる。
【００４３】
制御部２０５は、アカウント管理部２０３から４個の分割ファイル４００ａ、４００ａ１、４００ｂ、４００ｂ１を保存する４台のストレージ・サーバ１３ａ〜１３ｄのアカウントを取得してメタ情報４５０を作成する。メタ情報４５０は、ストレージ・サーバ１３ａ〜１３ｄにアクセスして復元に必要な分割ファイルのセットを取得し、コンテンツ４００を復元するために必要な情報に相当する。
【００４４】
メタ情報４５０は、各ストレージ・サーバ１３ａ〜１３ｄのアカウント、アカウントと分割ファイル４００ａ、４００ａ１、４００ｂ、４００ｂ１の対応を示す割付情報、分割ファイルのセットからコンテンツ４００を復元する方法を示す復元情報などを含む。平文のメタ情報４５０が流出すると、ストレージ・サーバ１３ａ〜１３ｄから不正にコンテンツ４００が取得されてしまうため、ブロック２５５で制御部２０５は、端末装置１００ａから受け取った公開鍵４５１ｂでメタ情報４５０を暗号化する。制御部２０５は、暗号化したメタ情報４５０を、アカウントおよびコンテンツ４００の識別子に対応付けて記憶部２０７に格納する。
【００４５】
ブロック２５７、３５１で制御部２０５は、メタ情報４５０を利用して、分割ファイル４００ａ、４００ａ１、４００ｂ、４００ｂ１をストレージ・サーバ１３ａ〜１３ｄにそれぞれ分散して保存する。ブロック２５９で制御部２０５は公開鍵４５１ｂで暗号化したメタ情報４５０を端末装置１００ａに送る。ブロック２６０で制御部２００は、平文のメタ情報４５０を破棄する。以後、フロント・サーバ２００は暗号化したメタ情報４５０を記憶部２０７に格納するが、平文のメタ情報４５０はいかなる方法でも保持しない。
【００４６】
ブロック１５７で制御部１０７は、受け取ったメタ情報４５０をコンテンツ４００の識別子に関連付けて記憶部１０９に保存する。端末装置１００ａは、このメタ情報４５０を元に、フロント・サーバ２００にシステム障害が発生したときに、直接ストレージ・サーバ１３ａ〜１３ｄにアクセスして分割ファイルのセットを取得し、コンテンツ４００を復元するために利用する。ここまでの手順で、クラウド環境に対する端末装置１００ａが作成したコンテンツ４００の保存が終了する。
【００４７】
ブロック１５９で端末装置１００ａのユーザが、ユーザ・インターフェース１０３を通じて、ポータル・サイトを表示するアプリケーション実行部１０５にフロント・サーバ２００からコンテンツ４００をダウンロードするように指示する。アプリケーション実行部１０５から指示を受けた制御部１０７は、フロント・サーバ２００にアクセスして、自らのアカウントに対応するコンテンツのリストをダウンロードする。ユーザがコンテンツ・リストからコンテンツ４００を選択して制御部１０７にダウンロードを指示する。制御部１０７が、フロント・サーバ２００にコンテンツ４００の取得要求をすると、それに応答してブロック２６１で制御部２０５は、端末装置１００ａのアカウントとコンテンツ４００の識別子に対応する暗号化したメタ情報４５０を記憶部２０７から取り出して端末装置１００ａに送付し復号を要求する。
【００４８】
ブロック１６１で暗号化したメタ情報４５０を受け取った制御部１０７は、記憶部１０９が格納する秘密鍵４５１ａを利用して復号した平文のメタ情報４５０をフロント・サーバ２００に返送する。ブロック２６３で復号した平文のメタ情報４５０を受け取った制御部２０５は、各ストレージ・サーバ１３ａ〜１３ｄにアクセスして分割ファイルのセットを取得する。
【００４９】
あるいはこのとき、制御部１０７はフロント・サーバ２００から受け取っていた公開鍵４５５ａで暗号化したメタ情報４５０をフロント・サーバ２００に返送することもできる。この場合、制御部２０５は自身が作成した秘密鍵４５５ｂを用いてメタ情報４５０を復号し、各ストレージ・サーバ１３ａ〜１３ｄにアクセスして分割ファイルのセットを取得することになる。 
【００５０】
このとき制御部２０５は、あらかじめアクセスするストレージ・サーバ１３ａ〜１３ｄの順番を決めておくことができる。ブロック３５３で各ストレージ・サーバ１３ａ〜１３ｄは保存している分割ファイル４００ａ、４００ａ１、４００ｂ、４００ｂ１をフロント・サーバ２００に返送する。制御部２０５は、コンテンツ４００を復元できる分割ファイルのセットを取得した時点で残りのストレージ・サーバへのアクセスを中止することができる。たとえば制御部２０５は、ストレージ・サーバ１３ｂ、１３ｄから分割ファイル４００ａ、４００ｂ１のセットを取得できた場合は、ストレージ・サーバ１３ｂ、１３ｃにアクセスする必要はない。
【００５１】
ブロック２６５で制御部２０５は、たとえばストレージ・サーバ１３ｂ、１３ｄから分割ファイル４００ａ，４００ｂ１のセットを取得する。制御部２０５は、さらにメタ情報４５０を使って復元したコンテンツ４００を端末装置１００ａに返送する。制御部２０５は、ネットワーク１１またはストレージ・サーバ１３ａ〜１３ｄのシステム障害により、コンテンツ４００を復元するために必要な分割ファイルのセットを取得できないと判断したときは端末装置１００ａに通知する。
【００５２】
ブロック２６７で、制御部２０５は端末装置１００ａから受け取った平文のメタ情報４５０または秘密鍵４５５ｂで復号した平文のメタ情報４５０を破棄する。ブロック１６５で制御部１０７は、ブロック１５９でコンテンツ４００の取得要求をしてからの経過時間を計時している。制御部１０７は、フロント・サーバ２００からコンテンツ４００を返送できない通知を受け取ったときはその時点で処理を中止することができる。フロント・サーバ２００にシステム障害が発生しているときは、制御部１０７がフロント・サーバ２００からコンテンツ４００の取得要求に対する一切の応答を受け取らない場合がある。
【００５３】
フロント・サーバ２００にシステム障害が発生して所定の時間内に応答がないときであっても、制御部１０７は、ストレージ・サーバ１３ａ〜１３ｄに直接アクセスしてコンテンツ４００を取得できる可能性がある。ブロック１６７で制御部１０７は、フロント・サーバ２００から所定の時間が経過しても応答がないときは、記憶部１０９から取り出したアクセス・モジュール４５３を実行する。制御部１０７は、メタ情報４５０を利用してストレージ・サーバ１３ａ〜１３ｄに直接アクセスし分割ファイルのセットをダウンロードし、さらにコンテンツ４００を復元する。ブロック３５５でストレージ・サーバ１３ａ〜１３ｄは、フロント・サーバ２００に付与したアカウントで直接アクセスする端末装置１００ａに対して分割ファイルのセットを返送する。
【００５４】
上記の手順は本発明の実施形態の一例を示したものであり、本発明の範囲はこれに限定されない。本発明の範囲はあくまで特許請求の範囲に記載の通りである。したがって、各手順のすべてが本発明の必須の要素ではなく、また、順番も本発明の範囲を逸脱しない範囲で変更することができる。たとえば、フロント・サーバ２００にシステム障害が生じない限り、ブロック１６５、１６７の手順を実行しないでも本発明の所定の効果を奏することができる。また、分割ファイルを冗長化しないでストレージ・サーバ１３ａ〜１３ｄに分散保存をしても、本発明の所定の効果を奏することができる。あるいは、公開鍵４５１ｂやアクセス・モジュール４５３の送付は、ブロック１５１の手順を開始した所定のタイミングで行ってもよい。
【００５５】
メタ情報４５０を公開鍵暗号方式で暗号化する例を示したが、共通鍵暗号方式を採用することでもよい。メタ情報４５０を端末装置１００ａの記憶部１０９とフロント・サーバ２００の記憶部２０７に保存する例を説明したが、ネットワーク１１を通じてアクセスできる別の場所に保存してもよい。また、秘密鍵４５１ａと公開鍵４５１ｂのペアおよび秘密鍵４５５ｂと公開鍵４５５ａのペアはコンテンツごとに作成してもよい。
【００５６】
フロント・サーバ２００は、上記手順で説明した方法により、端末装置１００ａがストレージ・サーバ１３ａ〜１３ｄに直接コンテンツ４００を保存するよりもコンテンツ４００に対する情報セキュリティとシステム障害に対するロバストネスを強固にすることができる。まず、情報セキュリティの面でフロント・サーバ２００は、コンテンツ４００を複数のストレージ・サーバ１３ａ〜１３ｄに分割ファイルの形式で分散保存する。この状態で、いずれか１台のストレージ・サーバから分割ファイルが流出してもコンテンツ４００が復元されることはない。攻撃者は、各ストレージ・サーバ１３ａ〜１３ｄから分割ファイル４００ａ、４００ａ１、４００ｂ、４００ｂ１のすべてまたは復元に必要な分割ファイルのセットを不正に取得してもメタ情報４５０を取得しない限り容易にコンテンツ４００を復元することはできない。
【００５７】
しかも、攻撃者にとってセキュリティ・システムが異なる複数のストレージ・サーバ１３ａ〜１３ｄに対する攻撃を成功させることは単一のストレージ・サーバを攻撃するよりも一層困難である。メタ情報４５０は、フロント・サーバ２００の記憶部２０７に公開鍵４５１ｂで暗号化して保存している。フロント・サーバ２００が攻撃を受けて暗号化メタ情報４５０が流出しても、端末装置１００ａの秘密鍵４５１ａが流出しない限り、攻撃者はコンテンツ４００を復元することができない。
【００５８】
すなわち、端末装置１００ａが秘密鍵４５１ａのセキュリティを確保している限り、フロント・サーバ２００またはストレージ・サーバ１３ａ〜１３ｄが保存するデータが漏洩してもコンテンツ４００のセキュリティを確保することができる。この点では、フロント・サーバ２００と端末装置１００ａ〜１００ｄの協働により、コンテンツ４００の保存に関する各プロバイダのセキュリティが、端末装置１００ａ〜１００ｄのセキュリティ・レベルまで向上しているともいえる。
【００５９】
つぎにシステム障害に対するロバストネスの面で、ストレージ・サーバ１３ａ〜１３ｄに所定の台数までのシステム障害が発生しても、フロント・サーバ２００はコンテンツ４００を復元することができる。具体的には、ストレージ・サーバ１３ａ、１３ｂのいずれか一方およびストレージ・サーバ１３ｃ、１３ｄのいずれか一方が正常であれば、２台のストレージ・サーバにシステム障害が発生してもフロント・サーバ２００または端末装置１００ａは、コンテンツ４００を復元することができる。
【００６０】
あるいは、ストレージ・サーバ１３ａ〜１３ｄのうちの任意の１台にシステム障害が発生してもコンテンツ４００を復元することができる。またフロント・サーバ２００にシステム障害が発生しても、所定の台数のストレージ・サーバが正常に動作していれば、端末装置１００ａ〜１００ｄは直接ストレージ・サーバ１３ａ〜１３ｄにアクセスして、コンテンツ４００を取得することができる。
【００６１】
上記のような特徴を備えるフロント・サーバ２００は、端末装置１００ａ〜１００ｄのユーザに対して新しいストレージ・サービスを提供することができる。フロント・サーバ２００は、単一のストレージ・サーバ１３ａ〜１３ｄよりもシステム障害に対するロバストネスが強固である必要はない、また、フロント・サーバ２００は、ストレージ・サーバ１３ａ〜１３ｄよりも情報セキュリティが強固である必要はない。しかし、フロント・サーバ２００は、既存のプロバイダが提供するストレージ・サーバ１３ａ〜１３ｄを端末装置１００ａ〜１００ｄに対してバックグランドで利用することで、システムの情報セキュリティおよびロバストネスを強固にする。
【００６２】
端末装置１００ａはコンテンツ４００の情報セキュリティおよびロバストネスを強固にするために、分割ファイル４００ａ、４００ｂのセットを生成したり、それらの冗長化処理をして分散保存したり、あるいはコンテンツ４００を暗号化したりする必要がない。また、アクセス・モジュール４５３は、フロント・サーバ２００からダウンロードするため端末装置１００ａが用意しておく必要はない。端末装置１００ａのユーザは、分割された状態でストレージ・サーバ１３ａ〜１３ｄにコンテンツ４００が保存されることを知っていても知らなくてもよいが、いずれか１台のストレージ・サーバにコンテンツを保存する手順とほぼ同じ手順をフロント・サーバ２００に対して行うだけでよい。
【００６３】
端末装置１００ａ〜１００ｄは、フロント・サーバ２００にシステム障害があっても、アクセス・モジュール４５３を実行する制御部１０７が、自動的にストレージ・サーバ１３ａ〜１３ｄにアクセスしてコンテンツ４００を取得することができる。端末装置１００ａ〜１００ｄのユーザは、フロント・サーバ２００がいずれのプロバイダにコンテンツを保存したかを意識する必要はない。コンテンツの保存に関して、課金が発生する場合は、ストレージ・サーバ１３ａ〜１３ｄのプロバイダがフロント・サーバ２００に課金し、フロント・サーバ２００のプロバイダが端末装置１００ａ〜１００ｄに課金することができる。
【００６４】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００６５】
１０  ネットワーク・システム
１１  ネットワーク
１３ａ〜１３ｄ  ストレージ・サーバ
１００ａ〜１００ｄ  端末装置
１０９  記憶部
２００  フロント・サーバ
２０７  記憶部
４００  コンテンツ
４００ａ、４００ａ１、４００ｂ、４００ｂ１  分割ファイル
【図１】
0006055023.tif 000002
【図２】
0006055023.tif 000003
【図３】
0006055023.tif 000004
【図４】
0006055023.tif 000005
【図５】
0006055023.tif 000006