以下、本発明に係る情報処理装置及び情報処理システムの実施形態について、図面を参照して説明する。以下、本発明に係る情報処理装置として、ノートPCを例示して説明する。但し、本発明に係る情報処理装置は、ノートPCに限定されず、例えばスマートフォン、PDA(Personal Digital Assistant)、又は電子書籍端末等でも良い。
本発明は、情報処理装置及び情報処理システムとして表現する以外に、ノートPCの様な装置をコンピュータとして動作させるためのプログラムとして表現することが可能である。更に、本発明は、当該ノートPCにより実行される処理(ステップ)を含む方法として表現することも可能である。
(実施の形態1)
本発明に係る実施の形態1の情報処理装置システム100の構成及び動作について、図1〜図8を参照して説明する。
図1は、実施の形態1の情報処理システム100の各内部構成を詳細に示すブロック図である。図1に示す様に、情報処理システム100は、情報処理装置101、サーバ103及び複数の記憶装置としてのオンラインストレージ104−1〜104−nを備える。
情報処理装置101とサーバ103とは、ネットワーク102aを介して接続されている。ネットワーク102aは、例えば、企業内の社内ポータルサイト等のイントラネット若しくはインターネット等の有線ネットワーク、又は、無線LAN(local area network)等の無線ネットワークである。
サーバ103とオンラインストレージ104−1〜104−nとは、ネットワーク102bを介して接続されている。ネットワーク102bは、例えば、企業内の社内ポータルサイト等のイントラネット若しくはインターネット等の有線ネットワーク、又は、無線LAN等の無線ネットワークである。
情報処理装置101は、ユーザの操作部OPの操作に応じて、各種の情報処理を行う。情報処理装置101は、外部記憶媒体105と接続可能であり、外部記憶媒体105にデータを書き込み、又は外部記憶媒体105からデータを読み込む。なお、操作部OPは、例えば情報処理装置101に接続可能なキーボード又はマウス等である。また、外部記憶媒体105は、例えばUSBメモリ、SDカード、外付けHDD等である。
情報処理装置101の構成及び動作を説明する。
図1に示す様に、情報処理装置101は、内部時計CLK、アプリケーション111、アクセス制御部112、符号化処理部113、セレクタ114、ファイルシステム管理部115、サーバ通信部116、記憶部117及びRAM118を含む構成である。
内部時計CLKは、例えば情報処理装置101をコンピュータとして動作させるOS(operating system)の機能の一つであり、情報処理装置101のシステムクロック(時計)である。内部時計CLKの出力信号、即ち情報処理装置101の時計情報は、アクセス制御部112に入力される。
アプリケーション111は、情報処理装置101に予めインストールされて使用可能とされ、ユーザの操作部OPの操作に応じた操作内容をアクセス制御部112に指示する。例えば、ユーザの操作部OPの操作に応じた操作内容が、記憶部117に記憶されている特定のファイル又はフォルダのデータを符号化する指示とする。
アプリケーション111は、ユーザの操作部OPの操作に応じて、指示されたファイル又はフォルダを特定して符号化する旨をアクセス制御部112に出力する。
アクセス制御部112は、内部時計CLKからの出力信号及びアプリケーション111からの出力信号を入力する。アクセス制御部112は、アプリケーション111からの出力に応じて、記憶部117に記憶されているマップテーブル119をRAM118に記憶する様にファイルシステム管理部115に指示する。なお、ファイルシステム管理部115は、この指示に応じて、マップテーブル119を記憶部117から読み出してRAM118に一時的に記憶する。
なお、本実施の形態では、マップテーブル119をRAM118にすべて展開しているが、アプリケーション111にて使用しているファイルの情報(マップテーブルの一部)のみを一時的に記憶して利用してもよい。
アクセス制御部112は、アプリケーション111からの出力に応じて、指示されたファイル又はフォルダに対するマップテーブル119のレコードを特定する。アクセス制御部112は、特定されたレコードに関する情報を符号化処理部113に出力する。
なお、指示されたファイル又はフォルダに対するマップテーブル119のレコードが存在しない場合、アクセス制御部112は、その旨をアプリケーション111に出力する。アプリケーション111は、指示されたファイル又はフォルダに対するマップテーブル119のレコードが存在しない旨を不図示の表示装置に表示し、ユーザにそのレコードの作成を促す様に通知する。
なお、レコードの作成を促す際、ユーザに対してマップテーブル119に必要なすべての項目を入力させるようにしても良いし、一部の項目を入力させて、残りの項目は情報処理装置101が自動で決めても良い。
この通知に対応して、ユーザの操作部OPの操作に応じた操作内容が、ファイル又はフォルダに対するマップテーブル119のレコードを追加する旨とする。この操作信号には、そのレコードに必要な各種情報が含まれているとする。
アプリケーション111は、ユーザの操作部OPの操作に応じて、指示されたファイル又はフォルダに対するマップテーブル119のレコードを追加する旨をアクセス制御部112に出力する。
アクセス制御部112は、RAM118に記憶されたマップテーブル119に、指示されたファイル又はフォルダに対するマップテーブル119のレコードを追加する。これにより、マップテーブル119が更新される。
なお、アクセス制御部112は、マップテーブル119の更新と同時に、情報処理装置101を識別する識別IDと追加されたレコードの内容とをサーバ通信部116に出力する。サーバ通信部116は、識別IDと追加したレコードの内容とをサーバ103に送信する。
なお、サーバ103は、情報処理装置101から送信された識別IDに対応するマップテーブルに、追加されたレコードの内容を更新する。更に、情報処理装置101の識別IDは、例えばサーバ通信部116が予め保持しても良いし、他の各部が予め保持しておき、サーバ通信部116が他の各部から取得しても良い。なお、上述したマップテーブル119の更新はレコードの追加に関する説明であるが、レコードの削除についても同様に情報処理装置101からの削除情報をサーバ103に送信した上で、削除処理を行う。
図2は、符号化処理部113(123)の内部構成を詳細に示したブロック図である。図2の説明において、情報処理装置101の符号化処理部113とサーバ103の符号化処理部123とは同一の構成であり、以下、情報処理装置101の符号化処理部113を説明する。更に、以下の説明において、符号化処理部113(123)は、情報処理装置101では符号化処理部113であり、サーバ103では符号化処理部123であることを示す。
図2に示す様に、符号化処理部113は、シード値生成部301、乱数生成部302、符号化処理判定部303、共通鍵暗号化部304、秘密分散処理部305、共通鍵復元部306、秘密分散復元部307及びヘッダ管理部308を備える。
符号化処理部113は、特定されたマップテーブル119のレコードに関する情報をアクセス制御部112から入力する。符号化処理部113は、入力されたレコードを参照し、情報処理装置101及びサーバ103における各符号化方式を判定し、判定された情報処理装置101における符号化方式に従って符号化対象のデータを符号化する。
なお、符号化処理部113は、使用する符号化方式をアクセス制御部112の情報を基に決定しているが、後述するヘッダの情報に基づいて決定しても良い。
符号化処理部113は、符号化処理として、共通鍵暗号化処理又は秘密分散処理を行う。なお、情報処理装置101及びサーバ103において、秘密分散処理のアルゴリズムは特に限定されず、以下の説明では、例えば下記参考非特許文献1に記載されている公知の(k,n)しきい値秘密分散法を用いるとする。以下の説明においては、パラメータk=2,パラメータn=2とする。
(参考非特許文献1)A.Shamir:“How to share a secret”, Communications of the ACM, 22, 11, pp.612−613(1979)
シード値生成部301は、共通鍵暗号化処理又は秘密分散処理を行う度に、共通鍵暗号化処理又は秘密分散処理に用いられる乱数の生成に必要な初期値(シード値)を生成する。シード値生成部301は、生成されたシード値を乱数生成部302に出力する。
乱数生成部302は、シード値生成部301からの出力値(シード値)を基に乱数を生成する。乱数生成部302は、生成された乱数を、共通鍵暗号化部304及び秘密分散処理部305にそれぞれ出力する。この乱数は、共通鍵暗号化部304において共通鍵として用いられ、又は、秘密分散処理部305において用いられる。
符号化処理判定部303は、アクセス制御部112からの出力に応じて、指示されたファイル又はフォルダに対する符号化処理の内容を判定する。アクセス制御部112からの出力信号には、指示されたファイル又はフォルダに対するマップテーブル119のレコードに関する情報が含まれている。
次に、情報処理装置101に記憶されているマップテーブル119について説明する。
図3(a)は、情報処理装置101におけるマップテーブル119の構成図である。同図(c)は、情報処理装置101及びサーバ103で秘密分散処理される場合の分散データの生成の様子を示した説明図である。なお、図3(b)の説明は後述する。
図3(a)に示す様に、マップテーブル119は、フォルダ/ファイル名401、表示方式402、符号化方式502、符号化方式503、分散データ1記憶場所403、分散データ2記憶場所404及び持ち出しフラグ405の各項目を含む構成である。
表示方式402が「A」とは、情報処理装置101と、サーバ103と又は外部記憶媒体105との接続状態に拘わらず、ファイルシステム管理部115が表示対象とするフォルダ又はファイルのアイコンを画面に表示する方式である。従って、情報処理装置101と、サーバ103と又は外部記憶媒体105とが接続されておらず、そのファイルを復元することが不可能な場合でも、そのファイルのアイコンを表示する。
表示方式402が「B」とは、ファイル又はフォルダが分散され復元できない状態では、ファイルシステム管理部115が分散データのアイコンを表示しない方式である。従って、表示方式402が「B」であると、ファイル又はフォルダが復元できる場合にはアイコンを表示し、ファイル又はフォルダが復元できない場合にはアイコンは表示されない。
符号化方式502は、情報処理装置101における符号化処理部113が符号化処理する内容を示す。図4(b)は、符号化方式Nに基づいて生成された各分散データの説明図である。図4(c)は、符号化方式Eに基づいて生成された各分散データの説明図である。図4(d)は、符号化方式Hに基づいて生成された各分散データの説明図である。
図4(b)に示す様に、符号化方式Nは符号化処理を行わないことを示し、符号化処理部113は、符号化対象の元データA505を、分散データ1と分散データ2とに分散する。分散データ1は、ヘッダ管理部308により付加されるヘッダ500と元データ505とを含む構成である。分散データ2は、ヘッダ管理部308により付加されるヘッダ500と空データとを含む構成である。
図4(c)に示す様に、符号化方式Eは共通鍵暗号化処理を行うことを示し、符号化処理部113は、符号化対象の元データA505を、分散データ1と分散データ2とに分散する。分散データ1は、ヘッダ管理部308により付加されるヘッダ500と、共通鍵暗号化処理された暗号化データA506とを含む構成である。分散データ2は、ヘッダ管理部308により付加されるヘッダ500と、共通鍵暗号化処理において用いられた共通鍵とを含む構成である。
図4(d)に示す様に、符号化方式Hは秘密分散処理を行うことを示し、符号化処理部113は、符号化対象の元データA505を、分散データ1と分散データ2とに秘密分散処理する。分散データ1は、ヘッダ管理部308により付加されるヘッダ500と、秘密分散処理された秘密分散データA508とを含む構成である。分散データ2は、ヘッダ管理部308により付加されるヘッダ500と、秘密分散処理された秘密分散データA509とを含む構成である。
符号化方式503は、サーバ103における符号化処理部123が符号化処理する内容を示す。符号化方式503における各符号化方式(N,E,H)の内容は、符号化方式502における各符号化方式(N,E,H)の内容と同一であるため、説明を省略する。
分散データ1記憶場所403は、分散データ1が記憶される場所を示し、具体的には、パラメータD、パラメータS、パラメータMの3種類により識別可能である。パラメータDは、分散データ1が情報処理装置101の記憶部117に記憶されることを示す。パラメータSは、分散データ1がサーバ103に記憶されることを示す。従って、情報処理装置101は、分散データ1記憶場所403がパラメータSである場合に、分散データ1がサーバ103に記憶されていると認識しているのみであり、具体的にオンラインストレージに保存する等どのような形で保存されているかは認識することができない。パラメータMは、分散データ1が外部記憶媒体105に記憶されることを示す。なお、分散データ2記憶場所404についても同様である。
持ち出しフラグ405は、ユーザがそのファイルのデータを例えば社外に持ち出したか否かを示す情報である。
例えば、ユーザの操作部OPの操作に応じて、アプリケーション111に対してそのデータを持ち出す操作が行われた場合に、アクセス制御部112は、アプリケーション111からの出力に応じて、持ち出しフラグ405を「○」又は「オン」に更新する。
また、ユーザの操作部OPの操作に応じて、アプリケーション111に対して分散データ1又は分散データ2を社外から持ち帰った操作が行われた場合に、アクセス制御部112は、アプリケーション111からの出力に応じて、持ち出しフラグ405を「×」又は「オフ」に更新する。
なお、図3(a)に示す様に、ファイル「abc.c」は、情報処理装置101及びサーバ103において秘密分散される。図3(c)に示す様に、ファイル「abc.c」の元データは、情報処理装置101の符号化処理部113により秘密分散され、2つの分散データ1と分散データ2とが生成される。
更に、分散データ2は、サーバ103の符号化処理部123により秘密分散され、2つの分散データ1’と分散データ2’とが生成される。
また、図3(a)に示す様に、フォルダ「/aaa/bbb/」は、サーバ103で秘密分散等によりデータを分割しないため、情報処理装置101から送信された分散データ2をそのまま分散データ1’とする。
共通鍵暗号化部304は、乱数生成部302により生成された乱数を共通鍵として、アクセス制御部112により特定されたレコードのフォルダ/ファイル名401で識別可能なデータを共通鍵暗号化処理する。共通鍵暗号化部304は、暗号化データA506をヘッダ管理部308に出力する。
秘密分散処理部305は、乱数生成部302により生成された乱数を用いて、アクセス制御部112により特定されたレコードのフォルダ/ファイル名401で識別可能なデータを秘密分散処理する。秘密分散処理部305は、秘密分散処理により生成された2つの分散データA508,A509をヘッダ管理部308に出力する。
共通鍵復元部306は、共通鍵暗号化部304における暗号化の際に用いられた同じ乱数を共通鍵として、2つの分散データA506,A507(図4(c)参照)から元データA505に復元(復号)処理する。共通鍵復元部306は、復元処理された元データA505をヘッダ管理部308に出力する。
秘密分散復元部307は、2つの分散データA508,A509(図4(d)参照)を元データA505に(秘密分散)復元処理する。秘密分散復元部307は、復元処理された元データA505をヘッダ管理部308に出力する。
ヘッダ管理部308は、符号化処理部113において符号化されない元データA505、共通鍵暗号化部304から出力された分散データA506,A507又は秘密分散処理部305から出力された分散データA508,A509を入力する。ヘッダ管理部308は、入力された各データに対し、ヘッダ500(図4(a)参照)を付加する。
具体的に、ヘッダ管理部308は、符号化処理部113において符号化されない元データA505の入力に応じて、元データA505にヘッダ500を付加した分散データ1と空データにヘッダ500を付加した分散データ2とをセレクタ114に出力する。
また、ヘッダ管理部308は、共通鍵暗号化部304から出力された分散データA506,A507の入力に応じて、分散データA506にヘッダ500を付加した分散データ1と分散データA507にヘッダ500を付加した分散データ2とをセレクタ114に出力する。
また、ヘッダ管理部308は、秘密分散処理部305から出力された分散データA508,A509の入力に応じて、分散データA508にヘッダ500を付加した分散データ1と分散データA509にヘッダ500を付加した分散データ2とをセレクタ114に出力する。
更に、ヘッダ管理部308は、共通鍵復号部306又は秘密分散復元部307から出力された元データA505から、元データA505のみをアクセス制御部112に出力する。
図4(a)は、ヘッダ管理部308により付加されるヘッダの説明図である。ヘッダ500は、分散データ番号501、符号化方式502、符号化方式503及び分散データの有効期間504を含む構成である。
分散データ番号501は、各分散データを識別する識別IDである。分散データの有効期間504は、分散データの有効期間である。分散データの有効期間504は、予め規定された所定の日数(例えば3日間)又は、日付が設定され、所定の時間、所定の時刻で設定することも可能である。
又は、分散データの有効期間504は、共通鍵暗号化部304又は秘密分散処理部305が共通鍵暗号化処理又は秘密分散処理する際に、不図示の表示装置にユーザに対して分散データの有効期間504の入力を促す様に入力画面を表示し、ユーザの回答入力に応じた有効期間でも良い。
セレクタ114は、符号化処理部113により生成又は符号化されないで出力された分散データ1及び分散データ2を入力する。セレクタ114は、RAM118に記憶されているマップテーブル119を基に、分散データ1記憶場所403及び分散データ2記憶場所404を判定(選択)する。
例えば、セレクタ114は、図3(a)に示す様に、ファイル「abc.c」の分散データ1記憶場所403を、パラメータD、即ち情報処理装置101の記憶部117と判定(選択)する。
更に、セレクタ114は、ファイル「abc.c」の分散データ2記憶場所404を、パラメータS、即ちサーバ103と判定する。なお、情報処理装置101はサーバ103に分散データ2を送信するため、情報処理装置101としては、サーバ103に保存されているとマップテーブル119に記憶しているが、本実施の形態ではサーバ103には保存しないため、分散データ2はオンラインストレージ104−1〜104−mのうちいずれのオンラインストレージに記憶され、その場所については、サーバ103が判定する。即ち、情報処理装置101は、サーバ103に保存することのみ判定し、複数のオンラインストレージのうちいずれのオンラインストレージに記憶するかは分からない。
なお、本実施の形態では、サーバ103で分散データの保存は行わず、オンラインストレージ104−1〜104−mに保存するとしているが、サーバ103とオンラインストレージ104−1〜104−mの内、その1つがサーバ103と一体であっても良いし、サーバ103本体に記憶しても良い。
セレクタ114は、判定(選択)された分散データ1記憶場所403及び分散データ2記憶場所404に応じて、各分散データをファイルシステム管理部115又はサーバ通信部116に出力する。
なお、本実施の形態では、セレクタ114は、マップテーブル119の分散データ1記憶場所403、分散データ2記憶場所404を参照して記憶場所を選択しているが、ヘッダ500にそれぞれの分散データの記憶場所を記憶し、そのヘッダ500にある分散データの記憶場所に基づいてセレクタ114を動作させても良い。
ファイルシステム管理部115は、アクセス制御部112からマップテーブル119の読み出し指示があると、記憶部117からマップテーブル119を読み出し、RAM118に記憶する。なお、図1には、ファイルシステム管理部115からRAM118へのマップテーブル119の記憶の制御に関する矢印を省略している。
ファイルシステム管理部115は、セレクタ114からの分散データ1又は分散データ2の読み出し指示又は書き込み指示に応じて、分散データ1又は分散データ2を記憶部117の所定のフォルダから読み出す又は所定のフォルダに書き込む。なお、所定のフォルダは、ユーザの操作部OPの操作に応じて、適宜変更可能である。
サーバ通信部116は、サーバ103と通信するためのインターフェースとして機能する。サーバ通信部116は、セレクタ114からの分散データ1又は分散データ2のサーバ103への送信指示に応じて、分散データ1又は分散データ2と、情報処理装置101の識別IDとを、ネットワーク102aを介してサーバ103に送信する。
また、サーバ通信部116は、サーバ103から分散データを受信した場合に、その分散データをセレクタ114に出力する。
記憶部117は、データの読み書きが自由な記憶装置であり、アプリケーション111、アクセス制御部112、符号化処理部113、セレクタ114及びファイルシステム管理部115により実行される各プログラム、及び当該各プログラムで利用される種々のデータを記憶する。
また、記憶部117は、マップテーブル119を記憶している。なお、図1には、マップテーブル119が記憶部117から読み出され、RAM118に一時的に記憶されている状態が示されている。
なお、アプリケーション111、アクセス制御部112、符号化処理部113、セレクタ114及びファイルシステム管理部115は、ハードウェア又はソフトウェアで構成することが可能である。特に、これらの各部がソフトウェアにより構成される場合、情報処理装置101に内蔵されているCPU(central processing unit)が各部の各動作が予め規定された各プログラムを記憶部117から読み出すことにより、各部が動作可能となる。
RAM118は、情報処理装置101の各部の各動作におけるワークメモリに利用され、例えばアクセス制御部112の出力に応じてファイルシステム管理部115が記憶部117から読み出したマップテーブル119が一時的に記憶される。
サーバ103の構成及び動作を説明する。
図1に示す様に、サーバ103は、情報処理装置通信部121、アクセス制御部122、符号化処理部123、セレクタ124、ストレージ管理部125、ストレージ126及びRAM128を含む構成である。以下、サーバ103の構成及び動作において、情報処理装置101と同一内容の説明は省略する。
情報処理装置通信部121は、複数の情報処理装置と通信するためのインターフェースとして機能し、サーバ通信部116から送信された分散データ1又は分散データ2と情報処理装置101の識別IDとを受信する。情報処理装置通信部121は、受信された分散データ1又は分散データ2と情報処理装置101の識別IDとをアクセス制御部122に出力する。
情報処理装置通信部121は、情報処理装置101においてマップテーブル119が更新された場合に、情報処理装置101の識別IDと追加又は削除されたマップテーブルのレコードの内容とを情報処理装置101(のサーバ通信部116)から受信する。情報処理装置通信部121は、受信された情報処理装置101の識別IDと追加又は削除されたマップテーブルのレコードの内容とをアクセス制御部122に出力する。
アクセス制御部122は、情報処理装置通信部121からの出力に応じて、ストレージ126に情報処理装置毎に記憶されている各マップテーブルのうち、情報処理装置101の識別IDに対応するマップテーブルをRAM128に記憶する様にストレージ管理部125に指示する。なお、ストレージ管理部125は、この指示に応じて、情報処理装置101の識別IDに対応するマップテーブル(符号127−1とする)をストレージ126から読み出し、RAM128に一時的に記憶する。
アクセス制御部122は、情報処理装置通信部121からの出力に応じて、指示されたファイル又はフォルダに対するマップテーブル127−1のレコードを特定する。アクセス制御部122は、特定されたレコードに関する情報を符号化処理部123に出力する。
図2に示す様に、符号化処理部123は、シード値生成部311、乱数生成部312、符号化処理判定部313、共通鍵暗号化部314、秘密分散処理部315、共通鍵復元部316、秘密分散復元部317及びヘッダ管理部318を備える。
符号化処理部123は、特定されたマップテーブル127−1のレコードに関する情報をアクセス制御部122から入力する。符号化処理部123は、入力されたレコードを参照し、サーバ103における符号化方式を判定し、判定されたサーバ103における符号化方式に従って符号化対象のデータを符号化する。
なお、例えば図3(a)のフォルダ「/aaa/bbb/」の例に示す様にサーバ103において符号化処理されない場合には、符号化処理部123は、アクセス制御部122から出力された分散データ1又は分散データ2の符号化を行わず、セレクタ124に出力する。
また、サーバ103は、上記機能のほかに、複数の情報処理装置101とそのユーザ情報を管理する機能を有した管理サーバであっても良い。
次に、サーバ103に記憶されているマップテーブル127−1について説明する。
図3(b)は、情報処理装置101毎にサーバ103に記憶されているマップテーブル127−1〜127−mの構成図である。以下、図3(b)には、情報処理装置101の識別IDに対応するマップテーブル127−1として説明する。
図3(b)に示す様に、マップテーブル127−1は、フォルダ/ファイル名401、符号化方式503、分散データ1’記憶場所412及び分散データ2’記憶場所413の各項目を含む構成である。フォルダ/ファイル名401及び符号化方式503は、図3(a)と同様であるため説明を省略する。
分散データ1’記憶場所412は、分散データ1’が記憶される場所を示し、具体的にはオンラインストレージ104−1〜104−nのうちいずれかのオンラインストレージの記憶場所を識別するURI(uniform resource identifier)を示す。
なお、図3(a)のフォルダ「/aaa/bbb/」の例に示す様にサーバ103において符号化処理されない場合には、図3(b)の分散データ1’記憶場所413は分散データ1’の記憶場所を示す。
図3(a)のファイル「abc.c」の例に示す様にサーバ103において符号化処理される場合には、サーバ103が受信した分散データ2(図3(c)参照)をサーバ103において、分散データ1’、分散データ2’に分散する(図3(c)参照)。
シード値生成部311は、共通鍵暗号化処理又は秘密分散処理を行う度に、共通鍵暗号化処理又は秘密分散処理に用いられる乱数の生成に必要な初期値(シード値)を生成する。シード値生成部311は、生成されたシード値を乱数生成部312に出力する。
乱数生成部312は、シード値生成部311からの出力値(シード値)を基に乱数を生成する。乱数生成部312は、生成された乱数を、共通鍵暗号化部314及び秘密分散処理部315にそれぞれ出力する。この乱数は、共通鍵暗号化部314において共通鍵として用いられ、秘密分散処理部315において用いられる。
符号化処理判定部313は、アクセス制御部122からの出力に応じて、符号化されるファイル又はフォルダに対する符号化処理の内容を判定する。アクセス制御部122からの出力信号には、指示されたファイル又はフォルダに対するマップテーブル127−1のレコードに関する情報が含まれている。
共通鍵暗号化部314は、乱数生成部312により生成された乱数を共通鍵として、アクセス制御部122により特定されたマップテーブル127−1のフォルダ/ファイル名401で識別可能なデータを共通鍵暗号化処理する。共通鍵暗号化部314は、暗号化データA506をヘッダ管理部318に出力する。
秘密分散処理部315は、乱数生成部312により生成された乱数を用いて、アクセス制御部122により特定されたレコードのフォルダ/ファイル名401で識別可能なデータを秘密分散処理する。秘密分散処理部315は、秘密分散処理により生成された2つの分散データA508,A509をヘッダ管理部318に出力する。
共通鍵復元部316は、共通鍵暗号化部314における暗号化の際に用いられた同じ乱数を共通鍵として、2つの分散データA506,A507(図4(c)参照)から元データA505に復元(復号)処理する。共通鍵復元部316は、復元処理された元データA505をヘッダ管理部318に出力する。
秘密分散復元部317は、秘密分散処理部315における秘密分散処理の際に用いられた同じ乱数を基に、2つの分散データA508,A509(図4(d)参照)を元データA505に(秘密分散)復元処理する。秘密分散復元部317は、復元処理された元データA505をヘッダ管理部318に出力する。
ヘッダ管理部318は、符号化処理部123において符号化されない元データA505、共通鍵暗号化部314から出力された分散データA506,A507又は秘密分散処理部315から出力された分散データA508,A509を入力する。ヘッダ管理部318は、入力された各データに対し、ヘッダ500(図4(a)参照)を付加する。
なお、サーバ103における元データA505は、情報処理装置101から受信したデータであり、情報処理装置101の符号化処理方法により、暗号化データ、分散データも含む。
具体的に、ヘッダ管理部318は、符号化処理部123において符号化されない元データA505の入力に応じて、元データA505にヘッダ500を付加した分散データ1’と空データにヘッダ500を付加した分散データ2’とをセレクタ124に出力する。
また、ヘッダ管理部318は、共通鍵暗号化部314から出力された分散データA506,A507の入力に応じて、分散データA506にヘッダ500を付加した分散データ1’と分散データA507にヘッダ500を付加した分散データ2’とをセレクタ124に出力する。
また、ヘッダ管理部318は、秘密分散処理部315から出力された分散データA508,A509の入力に応じて、分散データA508にヘッダ500を付加した分散データ1’と分散データA509にヘッダ500を付加した分散データ2’とをセレクタ124に出力する。
更に、ヘッダ管理部318は、共通鍵復号部316、秘密分散復元部317、又は符号化処理判定部303から出力された元データA505のみをアクセス制御部122に出力する。
セレクタ124は、符号化処理部123により生成又は符号化されないで出力された分散データ1’及び分散データ2’を入力する。セレクタ124は、RAM128に記憶されているマップテーブル127−1を基に、分散データ1記憶場所512及び分散データ2記憶場所513を判定(選択)する。
例えば、セレクタ124は、図3(b)に示す様に、ファイル「abc.c」の分散データ1’の記憶場所を、「http://1225.aaaaa.com/」と判定(選択)する。
なお、ファイル「abc.c」の分散データ1は情報処理装置101の記憶部117に記憶される。ファイル「abc.c」の分散データ2に対して符号化処理部123の秘密分散によって生成された分散データ1’は、オンラインストレージ104−1〜104−nのうちURI「http://1225.aaaaa.com/」で特定可能なオンラインストレージに記憶される。
また、例えば、セレクタ124は、図3(b)に示す様に、ファイル「abc.c」の分散データ2’の記憶場所を、「http://1226.aaaaa.com/」と判定(選択)する。
ファイル「abc.c」の分散データ2’に対して符号化処理部123の秘密分散によって生成された分散データ2’は、オンラインストレージ104−1〜104−nのうちURI「http://1226.aaaaa.com/」で特定可能なオンラインストレージに記憶される。
セレクタ124は、判定(選択)された各分散データの各記憶場所に応じて、各分散データをストレージ管理部125に出力する。
ストレージ管理部125は、アクセス制御部122からマップテーブル127−1の読み出し指示があると、ストレージ126から情報処理装置101の識別IDに対応するマップテーブル127−1を読み出し、RAM128に記憶する。
ストレージ管理部125は、セレクタ124からの分散データの読み出し指示又は書き込み指示に応じて、オンラインストレージ104−1〜104−nのうちいずれかのオンラインストレージ、即ちセレクタ124により判定(選択)された記憶場所から分散データを読み出す又は記憶場所に分散データを書き込む。
ストレージ管理部125は、オンラインストレージ104−1〜104−nのうちいずれかのオンラインストレージに分散データを書き込んだ又は読み出した場合に、オンラインストレージにアクセスした内容をアクセスログ129としてストレージ126に記憶する。
ストレージ126は、データの読み書きが自由な記憶装置であり、アクセス制御部122、符号化処理部123、セレクタ124及びストレージ管理部125により実行される各プログラム、及び当該各プログラムで利用される種々のデータを記憶する。
また、ストレージ126は、マップテーブル127−1〜127−mを記憶している。なお、図1には、マップテーブル127−1〜127−mがストレージ126から読み出され、RAM128に一時的に記憶されている状態が示されている。
なお、アクセス制御部122、符号化処理部123、セレクタ124及びストレージ管理部125は、ハードウェア又はソフトウェアで構成することが可能である。特に、これらの各部がソフトウェアにより構成される場合、サーバ103に内蔵されているCPU(central processing unit)が各部の各動作が予め規定された各プログラムをストレージ126から読込むことにより、各部が動作可能となる。
RAM128は、サーバ103の各部の各動作におけるワークメモリに利用され、例えばアクセス制御部122の出力に応じてストレージ管理部125がストレージ126から読み出したマップテーブル127−1が一時的に記憶される。
オンラインストレージ104−1〜104−mは、複数のオンラインストレージ(記憶装置)で構成され、サーバ103(ストレージ管理部125)から出力された分散データを記憶する。各オンラインストレージは同じ記憶装置である。
外部記憶媒体105は、例えば可搬性の記憶媒体又は半導体メモリカード等で構成可能であり、ファイルシステム管理部115から出力された分散データを記憶する。
情報処理装置101の符号化処理及び復元処理の詳細な動作を説明する。
図5は、実施の形態1の情報処理装置101における符号化処理を説明するシーケンス図である。図5において、ユーザの操作部OPの操作に応じて、情報処理装置101が例えば図3(a)のファイル「abc.c」を、図3(a)のマップテーブル119に従って符号化する例を説明する。
図5において、アプリケーション111は、ユーザの操作部OPの操作に応じて、符号化処理が指示された対象のファイル「abc.c」を特定する旨をアクセス制御部112に出力する(S1)。
アクセス制御部112は、アプリケーション111からの出力に応じて、記憶部117に記憶されているマップテーブル119をRAM118に記憶する様にファイルシステム管理部115に指示する(S2)。ファイルシステム管理部115は、この指示に応じて、マップテーブル119を記憶部117から読み出し、RAM118に一時的に記憶し、マップテーブル119をRAM118に記憶した旨をアクセス制御部112に出力する(応答)。
また、アクセス制御部112は、ステップS1のアプリケーション111からの出力に応じて、マップテーブル119から符号化処理が指示されたファイル「abc.c」のレコードを特定する(S3)。
符号化が指示されたファイル「abc.c」のレコードがマップテーブル119に存在しない場合、アクセス制御部112は、その旨をアプリケーション111に出力する。アプリケーション111は、符号化が指示されたファイル又はフォルダのレコードがマップテーブル119に存在しない旨を不図示の表示装置に表示して、ユーザにそのレコードの作成を促す様に通知する(S3−1)。
この通知に対応して、ユーザの操作部OPの操作に応じた操作内容が、符号化するファイル又はフォルダに対するマップテーブル119のレコードを追加する旨とする。この操作内容には、そのレコードに必要な各種情報が含まれている。
アプリケーション111は、ユーザの操作部OPの操作に応じて、指示されたファイル又はフォルダに対するマップテーブル119のレコードを追加する旨をアクセス制御部112に出力する(S3−2)。
アクセス制御部112は、RAM118に記憶されたマップテーブル119に、指示されたファイル又はフォルダに対するマップテーブル119のレコードを追加する。これにより、マップテーブル119が更新される(S4)。
なお、アクセス制御部112は、マップテーブル119を更新したと同時に、情報処理装置101を識別する識別IDと追加されたレコードの内容とをサーバ通信部116に出力する(S5)。サーバ通信部116は、識別IDと追加したレコードの内容をサーバ103に送信する。
なお、サーバ103は、情報処理装置101から送信された識別IDに対応するマップテーブルに、追加されたレコードの内容を更新する。更に、情報処理装置101の識別IDは、例えばサーバ通信部116が予め保持しても良いし、他の各部が予め保持しておき、サーバ通信部116が他の各部から取得しても良い。なお、上述したマップテーブル119の更新はレコードの追加に関する説明であるが、レコードの削除についても同様である。
なお、上記説明は、マップテーブル119にレコードがない場合について述べているが、レコードがあった場合には、レコードを特定(ステップS3)後、下記符号化処理指示(ステップS6)を行う。
アクセス制御部112は、特定されたレコードに関する情報及び符号化処理の指示を符号化処理部113に出力する(S6)。
符号化処理部113は、ステップS6により出力された符号化処理の指示に応じて、図3(a)のマップテーブル119を参照し、符号化処理の対象として特定されたファイル「abc.c.」を秘密分散処理する(S7)。
符号化処理部113は、秘密分散処理部305及びヘッダ管理部308によって生成されたヘッダ500をそれぞれ含む分散データ1及び分散データ2をセレクタ114に出力する(S8)。なお、上述した様に、ヘッダ500には、所定の有効期間又はユーザによって指定された分散データ1及び分散データ2の有効期間が含まれている。
セレクタ114は、マップテーブル119を参照し、分散データ1及び分散データ2の各記憶場所を判定(選択)する(S9)。
セレクタ114は、分散データ1の記憶場所を情報処理装置101の記憶部117と判定(選択)しているので、分散データ1をファイルシステム管理部115に出力する。
更に、セレクタ114は、分散データ2の記憶場所をサーバ103と判定(選択)しているので、分散データ2をサーバ通信部116に出力する。サーバ103は、サーバ通信部116から受信した分散データ2をオンラインストレージに記憶する。なお、このサーバ103の動作は図7を参照して後述する。
ファイルシステム管理部115は、セレクタ114により出力された分散データ1を記憶部117の所定のフォルダに記憶する(S10)。ステップS10の後、ファイルシステム管理部115は、分散データ1を記憶部117に記憶した旨をセレクタ114に出力する(応答)。
また、セレクタ114は、サーバ103が分散データ2を記憶した旨をサーバ通信部116から取得する(応答)。セレクタ114は、分散データ1及び分散データ2の記憶が記憶された旨をアクセス制御部112に出力する(応答)。アクセス制御部112は、分散データ1及び分散データ2が記憶された旨をアプリケーション111に出力する(応答)。これにより、アプリケーション111は、分散データ1及び分散データ2が記憶された旨を認識する。以上により、情報処理装置101の符号化処理は終了する。
これにより、ファイル「abc.c」がユーザの機密情報である場合に、ファイル「abc.c」を符号化(秘密分散)することにより、たとえ分散データが漏洩した場合でも、1つの分散データが漏洩しただけでは元データの復元はできないため、元データのセキュリティを担保することができる。
図6は、実施の形態1の情報処理装置101における復元処理を説明するシーケンス図である。図6において、ユーザの操作部OPの操作に応じて、情報処理装置101が例えば図3(a)のファイル「abc.c」の各分散データから元データを復元処理する例を説明する。
図6において、アプリケーション111は、ユーザの操作部OPの操作に応じて、復元処理が指示された対象の元データのファイル「abc.c」を特定する旨をアクセス制御部112に出力する(S11)。
アクセス制御部112は、アプリケーション111からの出力に応じて、記憶部117に記憶されているマップテーブル119をRAM118に記憶する様にファイルシステム管理部115に指示する(S12)。ファイルシステム管理部115は、この指示に応じて、マップテーブル119を記憶部117から読み出し、RAM118に一時的に記憶し、マップテーブル119をRAM118に記憶した旨をアクセス制御部112に出力する(応答)。
なお、上述したステップS12の処理は、マップテーブル119がRAM118に記憶されていない場合に行われ、マップテーブル119がRAM118に記憶されている場合には省略される。
アクセス制御部112は、ステップS11のアプリケーション111からの出力に応じて、マップテーブル119から復元処理が指示されたファイル「abc.c」のレコードを特定する(S13)。
アクセス制御部112は、特定されたレコードに関する情報及び分散データの読み出し処理の指示をセレクタ114に出力する(S14)。
セレクタ114は、アクセス制御部112からの出力に応じて、マップテーブル119を参照してファイル「abc.c」の分散データ1及び分散データ2の各記憶場所を判定(選択)する(S15)。
セレクタ114は、選択された分散データ1及び分散データ2の各記憶場所から、各分散データの読み出し指示及び取得指示をファイルシステム管理部115及びサーバ通信部116に出力する(S16)。
具体的には、セレクタ114は、分散データ1記憶場所403を情報処理装置101の記憶部117と判定(選択)しているので、分散データ1の読み出し指示をファイルシステム管理部115に出力する。
更に、セレクタ114は、分散データ2記憶場所404をサーバ103と判定(選択)しているので、分散データ2の取得指示をサーバ通信部116に出力する。
ファイルシステム管理部115は、セレクタ114からの出力に応じて、記憶部117から分散データ1を読み出し(S17)、分散データ1をセレクタ114に出力する(応答+分散データ1)。
サーバ通信部116は、セレクタ114からの出力に応じて、分散データ2の取得指示をサーバ103に送信する。なお、サーバ103は、後述する図8に示す動作によって分散データ2を復元処理し、分散データ2をサーバ通信部116に送信する。サーバ通信部116は、受信された分散データ2をセレクタ114に出力する(応答+分散データ2)。
セレクタ114は、分散データ1、分散データ2及び分散データ1と分散データ2とから元データを復元する旨の復元処理指示を符号化処理部113に出力する(S18)。
符号化処理部113は、ステップS17により出力された復元処理の指示に応じて、図3(a)のマップテーブル119を参照し、復元処理の対象として特定されたファイル「abc.c」の分散データ1及び分散データ2に対して(秘密分散)復元処理を行う(S19)。
符号化処理部113は、復元処理された元データのファイル「abc.c」をアクセス制御部112に出力する(S20)。
アクセス制御部112は、符号化処理部113の出力に応じて、元データのファイル「abc.c.」の復元処理が終了した旨をアプリケーション111に出力する(応答)。これにより、アプリケーション111は、元データのファイル「abc.c.」を利用することができる。以上により、情報処理装置101の復元処理は終了する。
図7は、実施の形態1の情報処理システム100を構成するサーバ103における符号化処理を説明するシーケンス図である。図7において、ユーザの操作部OPの操作に応じて、情報処理装置101が例えば図3(a)のファイル「abc.c」の秘密分散処理によって生成した分散データ2を、図3(b)のマップテーブル127−1に従って秘密分散処理する例を説明する。
図7において、情報処理装置通信部121は、情報処理装置101のサーバ通信部116から送信された分散データ2と情報処理装置101の識別IDとを受信する(S21)。情報処理装置通信部121は、受信された分散データ2と情報処理装置101の識別IDとをアクセス制御部122に出力する(S22)。
アクセス制御部122は、情報処理装置通信部121からの出力に応じて、ストレージ126に記憶されているマップテーブル127−1〜127−mのうち、情報処理装置101の識別IDに対応するマップテーブル127−1をRAM128に記憶する様にストレージ管理部125に指示する(S23)。
ストレージ管理部125は、この指示に応じて、マップテーブル127−1をストレージ126から読み出し、RAM128に一時的に記憶し、マップテーブル127−1をRAM128に記憶した旨をアクセス制御部122に出力する(応答)。
アクセス制御部122は、ステップS22の情報処理装置通信部121からの出力に応じて、マップテーブル127−1から分散データ2の符号化処理が指示されたファイル「abc.c」のレコードを特定する(S24)。
アクセス制御部122は、特定されたレコードに関する情報及び符号化処理の指示を符号化処理部123に出力する(S25)。
符号化処理部123は、ステップS25により出力された符号化処理の指示に応じて、図3(b)のマップテーブル127−1を参照し、符号化処理の対象として特定されたファイル「abc.c.」を秘密分散処理する(S26)。分散データ2に対して秘密分散処理によって生成された分散データを、分散データ1’,分散データ2’と示す(図3(c)参照)。
符号化処理部123は、秘密分散処理部315及びヘッダ管理部318によって生成されたヘッダ500をそれぞれ含む分散データ1’及び分散データ2’をセレクタ124に出力する(S27)。
なお、分散データ1’,分散データ2’の各ヘッダ500には、所定の有効期間又は情報処理装置101の符号化処理部113のヘッダ管理部308によって付加された有効期間が設定される。
例えば、情報処理装置101において符号化されずにサーバ103でのみ符号化される場合には、ヘッダ500の有効期間は所定の日数が設定されることが好ましい。更に、情報処理装置101において符号化されサーバ103でも符号化される場合には、ヘッダ500の有効期間は情報処理装置101の符号化処理部113のヘッダ管理部308によって付加された有効期間が設定されることが好ましい。
セレクタ124は、マップテーブル127−1を参照し、分散データ1’及び分散データ2’の各記憶場所を判定(選択)する(S28)。
セレクタ114は、分散データ1’の記憶場所をURI「http://1225.aaaaa.com/」に対応するオンラインストレージと判定(選択)しているので、分散データ1’をストレージ管理部125に出力する。
セレクタ114は、分散データ2’の記憶場所をURI「http://12256aaaaa.com/」に対応するオンラインストレージと判定(選択)しているので、分散データ2’をストレージ管理部125に出力する。
ストレージ管理部125は、セレクタ124により出力された分散データ1’を、URI「http://1225.aaaaa.com/」に対応するオンラインストレージに記憶する(S29+応答)。
ストレージ管理部125は、セレクタ124により出力された分散データ2’を、URI「http://1226.aaaaa.com/」に対応するオンラインストレージに記憶する(S30+応答)。
また、セレクタ124は、判定(選択)されたいずれかのオンラインストレージに分散データ1’及び分散データ2’が記憶された旨をストレージ管理部125から取得する(応答)。セレクタ124は、分散データ1’及び分散データ2’のが記憶された旨をアクセス制御部122に出力する(応答)。アクセス制御部122は、分散データ1’及び分散データ2’が記憶された旨を情報処理装置通信部121に出力する(応答)。これにより、情報処理装置通信部121は、分散データ1’及び分散データ2’が記憶された旨を情報処理装置101に送信する。以上により、サーバ103の符号化処理は終了する。
これにより、ファイル「abc.c」がユーザの機密情報である場合に、ファイル「abc.c」の分散データ2を更に符号化(秘密分散)することにより、たとえ分散データ1’及び分散データ2’が漏洩した場合でも、情報処理装置101に保存されている分散データ1がないと2つの分散データ1’及び分散データ2’が漏洩しただけでは元データの復元はできないため、元データのセキュリティを担保することができる。
なお、サーバ103は、オンラインストレージの選択の際、セキュリティを担保するために、サーバ103において複数の分散データを保存する際には異なるオンラインストレージを選択する必要がある。
図8は、実施の形態1の情報処理システム100を構成するサーバ103における復元処理を説明するシーケンス図である。図8において、ユーザの操作部OPの操作に応じて、情報処理装置101が例えば図3(a)及び(b)のファイル「abc.c」の符号化された分散データ1’,分散データ2’から分散データ2を復元する例を説明する。
図8において、情報処理装置通信部121は、情報処理装置101のサーバ通信部116から送信された分散データ2への復元処理の指示と情報処理装置101の識別IDとを受信する(S31)。情報処理装置通信部121は、受信された分散データ2への復元処理の指示をアクセス制御部122に出力する(S32)。
アクセス制御部122は、情報処理装置通信部121からの出力に応じて、ストレージ126に記憶されているマップテーブル127−1〜127−mのうち、情報処理装置101の識別IDに対応するマップテーブル127−1をRAM118に記憶する様にストレージ管理部125に指示する(S33)。
ストレージ管理部125は、この指示に応じて、マップテーブル127−1をストレージ126から読出し、RAM128に一時的に記憶し、マップテーブル127−1をRAM128に記憶した旨をアクセス制御部122に出力する(応答)。
なお、上述したステップS33の処理は、マップテーブル127−1がRAM128に記憶されていない場合に行われ、マップテーブル127−1がRAM128に記憶されている場合には省略される。
アクセス制御部122は、ステップS31の情報処理装置通信部121からの出力に応じて、マップテーブル127−1から分散データ2への復元処理が指示されたファイル「abc.c」のレコードを特定する(S34)。
アクセス制御部122は、特定されたレコードに関する情報及び分散データ2の読出し処理の指示をセレクタ124に出力する(S35)。
セレクタ124は、アクセス制御部122からの出力に応じて、マップテーブル127−1を参照してファイル「abc.c」の分散データ1’及び分散データ2’の各記憶場所を判定(選択)する(S36)。
セレクタ124は、選択された分散データ1’及び分散データ2’の各記憶場所から、各分散データの読み出し指示をストレージ管理部125に出力する(S37)。
ストレージ管理部125は、セレクタ124からの出力に応じて、URI「http://1225.aaaaa.com/」に対応するオンラインストレージから、分散データ1’を読み出して取得する(S38+応答)。
同様に、ストレージ管理部125は、セレクタ124からの出力に応じて、URI「http://1226.aaaaa.com/」に対応するオンラインストレージから、分散データ2’を読み出して取得する(S39+応答)。ストレージ管理部125は、2つの分散データ1’,分散データ2’をセレクタ124に出力する(応答)。
セレクタ124は、分散データ1’及び分散データ2’を読み出した旨をストレージ管理部125から取得する(応答)。セレクタ124は、分散データ1’、分散データ2’及び分散データ1’と分散データ2’とから分散データ2を復元する旨の復元処理指示を符号化処理部123に出力する(S40)。
符号化処理部123は、ステップS40により出力された復元処理の指示に応じて、図3(b)のマップテーブル127−1を参照し、復元処理の対象として特定されたファイル「abc.c」の分散データ1’及び分散データ2’に対して(秘密分散)復元処理を行う(S41)。
符号化処理部123は、復元されたファイル「abc.c」の分散データ2をアクセス制御部112に出力する(S42)。
アクセス制御部122は、符号化処理部123の出力に応じて、ファイル「abc.c.」の分散データ2への復元処理が終了した旨及び分散データ2を情報処理装置通信部121に出力する(応答)。なお、情報処理装置通信部121は、ファイル「abc.c.」の分散データ2への復元処理が終了した旨及び分散データ2を情報処理装置101のサーバ通信部116に送信する。この送信された分散データ2は、図6において、ステップS15における分散データ2の取得指示に対して、サーバ通信部116が受信した分散データに相当する。以上により、サーバ103の復元処理は終了する。
これにより、元データのファイル「abc.c」の分散データ1’及び分散データ2’から分散データ2を復元処理を行うことができ、元データ「abc.c」への復元処理を情報処理装置101とサーバ103とで分担して行うことになる。
即ち、秘密分散の処理の負荷を情報処理装置101とサーバ103とで分担することができ、更に、分散データの所有範囲を分担することで、元データの復元時におけるセキュリティを担保することができる。
なお、本実施形態では、秘密分散を行う際、2つに分散して行っているが、3つ以上に分散して行っても良く、また、3つ以上に分散して、所定の数(2つ以上)の分散データによって復元できるようにしても良い。
ここで、上記分散システムを用いたシステム、例えばユーザである社員が情報処理装置101と社内の機密情報(元データ)であるデータXのファイルの分散データのファイルとを社外に持ち出して外出先で使用し、その後社内に持ち帰る場合における情報処理システム100の動作を説明する。
なお、ここで本実施の形態における持ち出しとは、社内LAN等のネットワークに接続され機密情報を情報処理装置101とサーバ103に分割して保存している場合に、社外に情報処理装置101を持ち出すなどして社内LANに接続できない、又はネットワークに接続できない場合に、機密情報を情報処理装置101と外部記憶媒体105に保存してネットワークに接続できない場合にも機密情報にアクセスできるようにすることを指す。
ここでは、社員が情報処理装置101と社内の機密情報であるデータXのファイルの分散データのファイルとを社外に持ち出す場合、情報処理装置101は、先ず、別々に記憶されているデータXの各分散データを基にデータXを復元処理する。
更に、情報処理装置101は、復元処理されたデータXに対して、再度他の乱数に基づいた秘密分散処理によって再分散データX1’と再分散データX2’とを生成する。なお、秘密分散処理に用いられる乱数が異なるため、分散データX1と再分散データX1’とは異なり、分散データX2と再分散データX2’とは異なる。
つまり、データXは、分散データX1と分散データX2、再分散データX1’と再分散データX2’の2つの組み合わせ以外では復元することができない。
即ち、社員は、情報処理装置101と再分散データ(X2’とする)とを持ち出す。
以下、持ち出しにおける情報処理システム100について図9〜図18を参照して説明する。
図9は、情報処理装置101及び再分散データを持ち出す前の情報処理システム100の様子を示した説明図である。図9に示す情報処理装置101は、図1に示す情報処理装置101と同様の構成を備えるが、説明の都合上、記憶部117及びRAM118のみ図示している。以下、図11、図12及び図14についても同様である。更に、図9、図11、図12、図14において、マップテーブル119は、既にRAM118に記憶されているものとする。
図10は、情報処理装置101及び再分散データを持ち出す前の情報処理装置101に記憶されているマップテーブル119の構成図である。
図9において、元データのデータXのファイルは情報処理装置101、オンラインストレージ104−1及び外部記憶媒体105のうちいずれにも記憶されていない。
データXのファイルの分散データX1はオンラインストレージ104−1に記憶され、データXのファイルの分散データX2は記憶部117に記憶されている。即ち、社員が社内で業務を行う場合でも機密情報であるデータXを利用するとき以外は、情報処理装置101は、ユーザの操作部OPの操作に応じて、上述した様に、(2,2)しきい値秘密分散法によってデータXを秘密分散処理することで分散データX1,分散データX2を生成して別々の記憶場所に記憶する。
図10に示すマップテーブル119のデータXに対するレコードの各項目は次のとおりである。具体的には、表示方式402はパラメータAで定められる。符号化方式502はパラメータHで定められる。符号化方式503はパラメータNで定められる。
分散データ1記憶場所403はパラメータSで定められ、分散データX1はオンラインストレージ104−1に記憶されている。分散データ2記憶場所404はパラメータDで定められ、分散データX2は記憶部117に記憶されている。分散データのファイルが現時点では未だ持ち出しされていないため、持ち出しフラグ405は「×」である。
図11は、情報処理装置101において機密情報(元データ)であるデータXのファイルを復元処理する様子を示した説明図である。社員が情報処理装置101にインストールされているアプリケーション111において情報処理装置101及びデータXのファイルの再分散データを社外に持ち出すための操作を入力したとする。なお、この操作により、元データのデータXのファイルの復元後の再分散によって生成された再分散データX1’と再分散データX2’との各記憶場所及び有効期間を指定する内容が入力されているものとする。
この操作に応じて、情報処理装置101(の符号化処理部113)は、分散データX1と分散データX2とを基に、上記説明した様に、データXを復元処理する。
即ち、図11に示す様に、情報処理装置101は、オンラインストレージ104−1に記憶されている分散データX1を、サーバ103を介して受信する。但し、上記説明した様に、情報処理装置101は、分散データX1がサーバ103によってどこに記憶されているかは分からない。
更に、情報処理装置101(の符号化処理部113)は、受信された分散データX1と、記憶部117に記憶されている分散データX2とを基に、データXを復元処理する。情報処理装置101は、復元処理されたデータXをRAM118に記憶する。
図12は、情報処理装置101及び再分散データを持ち出すときの情報処理システム100の様子を示した説明図である。図13は、情報処理装置101及び再分散データを持ち出すときの情報処理装置100に記憶されているマップテーブル119の構成図である。
図13に示すマップテーブル119のデータXに対するレコードの各項目は次のとおりである。具体的には、表示方式402はパラメータAで定められる。符号化方式502はパラメータH(H)で定められる。なお、括弧の内容は上述した元データXの再分散の前の状態におけるパラメータを示し、括弧の前の内容は元データXの再分散の後の状態におけるパラメータを示す。符号化方式503はパラメータNで定められる。
分散データX1’(X1)記憶場所407はパラメータD(S)で定められ、分散データX1はオンラインストレージ104−1に記憶され、再分散データX1’は記憶部117に記憶されている。なお、括弧の内容は分散データX1の記憶場所を示し、括弧の前の内容は再分散データX1’の記憶場所を示す。
分散データX2’(X2)記憶場所408はパラメータM(D)で定められ、分散データX2は記憶部117に記憶され、再分散データX2’は外部記憶媒体105に記憶されている。なお、括弧の内容は分散データX2の記憶場所を示し、括弧の前の内容は再分散データX2’の記憶場所を示す。
また、再分散データのファイルを持ち出すための操作が入力された後の時点であるため、持ち出しフラグ405は、情報処理装置101(のアクセス制御部112)によって「○」に更新されている。
なお、図10のマップテーブル119のデータXに対するレコードの各項目の内容が図13のマップテーブル119のデータXに対するレコードの各項目の内容に更新されている。
従って、上記説明した様に、マップテーブル119の内容が更新された時点で、サーバ103のマップテーブル127−1も更新後の内容に更新される。即ち、アクセス制御部122は、分散データX1の記憶場所と分散データX2の記憶場所とを異ならしめる様にマップテーブル127−1を更新する。
上述した様に、社員が情報処理装置101にインストールされているアプリケーション111において情報処理装置101及びデータXの再分散データを社外に持ち出すための操作を入力したとする。
この操作に応じて、情報処理装置101(の符号化処理部113)は、分散データX1と分散データX2とを基に、上記説明した様に、データX(元データ)を復元処理する。
更に、図12に示す様に、情報処理装置101(の符号化処理部113)は、マップテーブル119を参照し、復元処理されたデータXを再度秘密分散処理(再分散処理)し、再分散データX1’と再分散データX2’とを生成する。情報処理装置101(の符号化処理部113)は、生成された再分散データX1’と再分散データX2’とをRAM118に記憶する。
更に、情報処理装置101(のファイルシステム管理部115)は、再分散データX1’を記憶部117に記憶し、再分散データX2’を外部記憶媒体105に記憶する。
更に、情報処理装置101(のセレクタ114)は、マップテーブル119を参照して分散データX2の記憶場所を判定(選択)し、分散データX2をサーバ通信部116に出力する。情報処理装置101(のサーバ通信部116)は、分散データX2をサーバ103に送信し、情報処理装置101に記憶されていた分散データX2を削除する。なお、サーバ103は、情報処理装置101の更新されたマップテーブル119に応じて更新されたマップテーブル127−1を参照し、受信された分散データX2をオンラインストレージ104−1とは異なる他のオンラインストレージ104−2に記憶する。
図14は、情報処理装置101及び再分散データのファイルを持ち帰った後の情報処理システム100の様子を示した説明図である。図15は、情報処理装置101及び再分散データのファイルを持ち帰った後の情報処理装置101に記憶されているマップテーブル119の構成図である。
図15に示すマップテーブル119のデータXに対するレコードの各項目は次のとおりである。具体的には、表示方式402はパラメータAで定められる。符号化方式502はパラメータHで定められる。符号化方式503はパラメータNで定められる。
分散データ1記憶場所403はパラメータSで定められ、分散データX1はサーバ103に記憶されている。なお、再分散データX1’は削除されている。
分散データ2記憶場所404はパラメータDで定められ、分散データX2は記憶部117に記憶されている。なお、再分散データX2’は削除されている。
また、再分散データのファイルを持ち帰った操作が入力された後の時点であるため、持ち出しフラグ405は、アクセス制御部112によって「×」に更新されている。
なお、図13のマップテーブル119のデータXに対するレコードの各項目の内容が図15のマップテーブル119のデータXに対するレコードの各項目の内容に更新されている。従って、上記説明した様に、マップテーブル119の内容が更新された時点で、サーバ103のマップテーブル127−1も更新後の内容に更新される。即ち、アクセス制御部122は、分散データX2の記憶場所を削除する様にマップテーブル127−1を更新する。
上述した様に、社員が情報処理装置101にインストールされているアプリケーション111において情報処理装置101及びデータXの再分散データのファイルを社外から持ち帰った操作を入力したとする。
この操作に応じて、情報処理装置101(のファイルシステム管理部115)は、記憶部117から再分散データX1’を読み出し、外部記憶媒体105から再分散データX2’を読み出す。情報処理装置101(のファイルシステム管理部115)は、読み出された再分散データX1’及び再分散データX2’を削除する。
更に、図14に示す様に、情報処理装置101(のファイルシステム管理部115)は、分散データX2をオンラインストレージ104−2から取得する旨をサーバ通信部116に出力する。サーバ通信部116は、分散データX2をオンラインストレージ104−2から取得する旨をサーバ103に送信する。
なお、サーバ103(のストレージ管理部125)は、オンラインストレージ104−2に記憶されている分散データX2を読み出し、情報処理装置通信部121に出力し、オンラインストレージ104−2から削除する。なお、図1には、ストレージ管理部125と情報処理装置通信部121との矢印は省略している。情報処理装置通信部121は、分散データX2を情報処理装置101に送信する。
情報処理装置101(のサーバ通信部106)は、受信された分散データX2をファイルシステム管理部115に出力する。情報処理装置101(のファイルシステム管理部115)は、サーバ通信部106からの出力に応じて、分散データX2を記憶部117に記憶する。
(情報処理装置及び再分散データを持ち出すときの動作)
図16は、情報処理装置100及び再分散データを持ち出すときの情報処理システム100の動作を示すシーケンス図である。
図16の説明の前提として、図9に示した様に、データXの分散データX1はオンラインストレージ104−1に記憶され、データXの分散データX2は記憶部117に記憶されているとする。
図16において、情報処理装置101(のアプリケーション111)は、社員から、情報処理装置101及びデータXの再分散データを社外に持出すための操作の入力を受け付けたとする(S51)。
なお、上述した様に、ステップ51の操作により、機密情報であるデータXの復元処理後の再分散によって生成された再分散データX1’と再分散データX2’との各記憶場所及び有効期間を指定する内容が入力されているものとする。
また、有効期間に関して、情報処理装置101がデータXを再分散するときに、不図示の表示装置に有効期間の入力を促す様に表示(通知)し、ユーザからの操作部OPを用いた有効期間の入力を受け付けても良い。
従って、ステップS51において入力された内容に応じて、情報処理装置101(のアクセス制御部112)は、RAM118に記憶されているマップテーブル119を更新する(S52)。なお、図16には図示していないが、情報処理装置101は、上記説明した様に、マップテーブル119を更新した旨をサーバ103に送信する。即ち、情報処理装置101は、サーバ103の情報処理装置101の識別IDに対応するマップテーブル127−1を更新する様に指示する。
ステップS52の後、情報処理装置101(のサーバ通信部116)は、サーバ103に分散データX1の取得指示を送信する(S53)。サーバ103は、分散データX1の取得指示を受信する。
サーバ103(のストレージ管理部125)は、分散データX1の取得指示に応じて、オンラインストレージ104−1から分散データX1を取得する(S54+応答)。サーバ103(の情報処理装置通信部121)は、分散データX1を情報処理装置101に送信する(応答)。
また、情報処理装置101(のファイルシステム管理部115)は、記憶部117に記憶されている分散データX2を読み出す(S55+応答)。情報処理装置101(の符号化処理部113)は、分散データX1と分散データX2とを基に、元データのデータXを復元処理する(S56)。
更に、情報処理装置101(の符号化処理部113)は、復元されたデータXのファイルを再分散処理し(S57)、再分散データX1’及び再分散データX2’を生成する。
情報処理装置101(のファイルシステム管理部115)は、再分散データX1’を記憶部117の所定のフォルダに記憶し(S58)、再分散データX2’を外部記憶媒体105に記憶する(S59)。
情報処理装置101(のサーバ通信部116)は、分散データX2をサーバ103に送信する(S60)。サーバ103(の情報処理装置通信部121)は、分散データX2を受信する。サーバ103(のセレクタ124)は、更新されたマップテーブル127−1を参照し、分散データX2の記憶場所を判定(選択)する。
サーバ103(のストレージ管理部125)は、セレクタ124からの出力に応じて、分散データX2をオンラインストレージ104−2に記憶する(S61+応答)。サーバ103(の情報処理装置通信部121)は、分散データX2を記憶した旨を情報処理装置101に送信する(応答)。その後、情報処理装置101(のファイルシステム管理部115)は、情報処理装置101(の記憶部117)に記憶されていた分散データX2を削除する(S62)。
情報処理装置101(のアクセス制御部112)は、サーバ103の応答の受信に応じて、マップテーブル119の持ち出しフラグを「×」から「○」に更新する(S63)。以上により、情報処理装置及び再分散データのファイルを持ち出すときの動作は終了する。
(情報処理装置及び再分散データを持ち出した後に再分散されたデータを読み出すときの動作)
図17は、情報処理装置及び再分散データのファイルを持ち出した後に再分散処理されたデータを読み出すときの情報処理装置の動作を示すフローチャートである。
図17では、社員が社外に持ち出した情報処理装置101及び再分散データを用いて元データのデータXのファイルを利用する例を想定している。又は、図17では、社員が情報処理装置101及び再分散データを紛失し、第三者が情報処理装置101及び再分散データを取得してデータX(元データ)のファイルを利用しようとする例を想定している。
なお、上述した様に、元データのデータXのファイルは、情報処理装置101が持ち出されるときに、再分散データX1’及び再分散データX2’が生成された後に削除されている。
図17において、社員又は第三者の操作部OPを用いた操作に応じて、ファイルシステム管理部115は、記憶部117に記憶されている再分散データX1’を記憶部117から読み出す(S71)。
アクセス制御部112は、再分散データX1’のヘッダ500の有効期間504と、内部時計CLKの出力信号(情報処理装置101の時計情報)とを比較する(S72)。
ここで、上述したように、有効期間には2つの方法があり、所定の日数または時間の場合、分散データ作成時の日時に所定の日数、時間を加算し、その日時と情報処理装置101の時計情報を比較し、有効期間が日付、又は時刻の場合、そのまま情報処理装置101の時計情報と比較する。
現在時刻がヘッダ500の有効期間504を超えている場合には(S73、YES)、アクセス制御部112は、再分散データX1’の有効期間が超過している旨の通知を、不図示の表示装置に表示する(S74)。なお、情報処理装置101がノートPCである場合には、不図示の表示装置はノートPCのディスプレイに相当する。
ステップS74の後、ファイルシステム管理部115は、有効期間が超過している再分散データX1’を記憶部117から削除する(S75)。更に、ファイルシステム管理部115は、情報処理装置101に接続されている外部記憶媒体105に記憶されている再分散データX2’を削除する(S76)。
ステップS76の後、アクセス制御部112は、再分散データX1’及び再分散データX2’の削除に応じて、マップテーブル119の再分散データX1’及び再分散データX2’に関する内容を削除し、マップテーブル119を更新する(S77)。
現在時刻がヘッダ500の有効期間504を超えていない場合には(S73、NO)、ファイルシステム管理部115は、外部記憶媒体105に記憶されている再分散データX2’を読み出す(S78)。なお、再分散データX1’及び再分散データX2’は、各ヘッダ500の有効期間504に同一の有効期間が設定されているため、現在時刻は、再分散データX2’の有効期間504を超えていないことになる。
符号化処理部113は、再分散データX1’及び再分散データX2’を用いて、上記説明した様に、再分散データX1’及び再分散データX2’を(秘密分散)復元処理し、元データのデータXのファイルを生成する(S79)。以上により、情報処理装置及び再分散データを持ち出した後に再分散されたデータを読み出すときのフローチャートは終了する。
(情報処理装置及び再分散データを持ち帰ったときのシーケンス)
図18は、情報処理装置及び再分散データを持ち帰ったときの情報処理システム100の動作を示すシーケンス図である。
図18では、社員(ユーザ)が社外に持ち出した情報処理装置101及び再分散データを社内に持ち帰ったときを想定している。
図18において、情報処理装置101(のアプリケーション111)は、社員から、情報処理装置101及び元データXの再分散データX2’を社内に持ち帰った操作の入力を受け付けたとする(S81)。
情報処理装置101(のファイルシステム管理部115)は、元データXの再分散データX1’を記憶部117から削除する(S82+応答)。
更に、情報処理装置101(のファイルシステム管理部115)は、元データXの再分散データX2’を外部記憶媒体105から削除する(S83)。
ステップS83の後、情報処理装置101(のアクセス制御部112)は、再分散データX1’及び再分散データX2’の削除に応じて、マップテーブル119の再分散データX1’及び再分散データX2’に関する内容を削除し、マップテーブル119を更新する(S84)。
情報処理装置101(のサーバ通信部116)は、分散データX2を情報処理装置101の記憶部117に記憶するため、分散データX2の取得指示をサーバ103に送信する(S85)。
サーバ103(の情報処理装置通信部121)は、分散データX2の取得指示を受信する。サーバ103(のストレージ管理部125)は、分散データX2の取得指示に応じて、サーバ103(のセレクタ124)により判定(選択)された分散データX2の記憶場所(オンラインストレージ104−2)から分散データX2を取得する(S86+応答)。
サーバ103(の情報処理装置通信部121)は、分散データX2を情報処理装置101に送信する(応答)。情報処理装置101(のサーバ通信部116)は、分散データX2をサーバ103から受信する。
情報処理装置101(のファイルシステム管理部115)は、分散データX2を記憶部117に記憶する(S87)。これにより、社員(ユーザ)が情報処理装置101及び再分散データX2’を社外から持ち帰った後、いずれかのオンラインストレージに別々に記憶されている分散データを情報処理装置101内に記憶することで、符号化処理部113において(秘密分散)復元処理することで、元データのデータXを利用することができる。
以上により、機密情報である元データXの一部(再分散データ)を紛失等した場合でも、第三者による機密情報である元データXの復元を効果的に防止し、機密情報である元データXのセキュリティを担保することができる。
つまり、持ち出し時に分散データX1と分散データX2をいずれかのオンラインストレージに保存し、再分散データX1’と再分散データX2’とを情報処理装置101、外部記憶媒体105にそれぞれ保存することで、情報処理端末101若しくは外部記憶媒体105を紛失したとしても、オンラインストレージの分散データでは、元データを復元することができないため、従来よりセキュリティが向上する。
さらに、オンラインストレージにバックアップとして、元の分散データである分散データX1、分散データX2を保存しているために、外部記憶媒体105を紛失したとしてもネットワークにアクセスすることでデータを復元することができる。
また、再分散データX1‘、再分散データX2’を持ち出し用のデータとして利用することで、持ち出し用のセキュリティを柔軟に変更することができる。
例えば、情報処理装置101といずれかのオンラインストレージに秘密分散を用いて有効期間100日として保存している場合に、持ち出す際に、共通鍵方式で有効期間3日というようにセキュリティの強度を変更することができる。
なお、本実施形態では、再分散データX1‘、X2’を持ち出し用としたが、分散データX1、X2を持ち出し用のデータとしても良い。つまり、再分散データX1‘、X2’をいずれかのオンラインストレージに保存し、情報処理装置101に分散データX1、外部記憶媒体105に分散データX2を保存することもできる。
以下、上述した様な本発明に係る情報処理装置及び情報処理システムの構成、作用及び効果を説明する。
本発明の第1の発明は、サーバ及び外部記憶媒体に接続可能な情報処理装置であって、ファイル又はフォルダのデータから少なくとも2つの分散データを生成する分散部と、少なくとも2つの前記分散データから前記ファイル又はフォルダのデータを復元する復元部と、前記分散データを記憶する記憶部と、を備え、データの持ち出し前には、前記分散部は、第1分散データと第2分散データとを生成し、前記第1分散データを前記記憶部、前記第2分散データを前記サーバに記憶し、データの持ち出し時には、前記復元部は前記第1分散データと前記第2分散データより前記ファイル又はフォルダのデータを復元し、前記分散部は復元した前記ファイル又はフォルダのデータから第3分散データと第4分散データとを生成し、前記第3分散データを前記記憶部、前記第4分散データを前記外部記憶媒体に記憶し、前記第1分散データを前記記憶部から削除する。
本発明の第1の発明によれば、機密情報の一部を紛失等した場合でも、第三者による機密情報の復元を効果的に防止し、機密情報のセキュリティを担保することができる。更に、再分散されて生成された第3分散データを記憶部、第4分散データを外部記憶媒体に記憶することにより、第4分散データを外部記憶媒体に記憶した上で持ち出しに利用することができる。
本発明の第2の発明は、サーバ及び外部記憶媒体に接続可能な情報処理装置であって、ファイル又はフォルダのデータから少なくとも2つの分散データを生成する分散部と、少なくとも2つの前記分散データから前記ファイル又はフォルダのデータを復元する復元部と、前記分散データを記憶する記憶部と、を備え、データの持ち出し前には、前記分散部は、第1分散データと第2分散データとを生成し、前記第1分散データを前記記憶部、前記第2分散データを前記サーバに記憶し、データの持ち出し時には、前記復元部は前記第1分散データと前記第2分散データより前記ファイル又はフォルダのデータを復元し、前記分散部は復元した前記ファイル又はフォルダのデータから第3分散データと第4分散データとを生成し、前記第3、第4分散データを前記サーバに記憶し、前記第2分散データを前記サーバから削除して前記外部記憶媒体に記憶する。
本発明の第2の発明によれば、機密情報の一部を紛失等した場合でも、第三者による機密情報の復元を効果的に防止し、機密情報のセキュリティを担保することができる。更に、再分散されて生成された第3分散データ及び第4分散データをサーバに記憶することにより、持ち出し時には第3分散データ及び第4分散データを記憶する必要無く、持ち出し先等でサーバに接続して第3分散データ及び第4分散データから元データを復元して利用することができる。
本発明の第3の発明は、第1又は第2の発明に係る情報処理装置であって、前記分散部は、共通鍵と前記共通鍵を元に前記ファイル又はフォルダのデータを暗号化し暗号化データを生成する共通鍵暗号化部を有し、前記共通鍵及び前記暗号化データを前記分散データとする。
本発明の第3の発明によれば、符号化が指示されたファイル又はフォルダに対し、マップテーブルの内容に応じて、共通鍵暗号化処理を行うことができる。
本発明の第4の発明は、第1又は第2の発明に係る情報処理装置であって、前記分散部は、前記ファイル又はフォルダのデータを秘密分散し、被秘密分散のデータを分散データとする。
本発明の第4の発明によれば、符号化が指示されたファイル又はフォルダに対し、マップテーブルの内容に応じて、秘密分散処理を行うことができる。
本発明の第5の発明は、第1又は第2の発明に係る情報処理装置であって、分散部は、前記分散データに有効期間を含むヘッダを付加する。
本発明の第5の発明によれば、有効期間を含むヘッダを分散データに付加することにより、分散データを効率的に管理することができる。
本発明の第6の発明は、第5の発明に係る情報処理装置であって、前記情報処理装置内の時間を計時する内部時計と、を更に備え、前記内部時計における前記時間と、前記外部記憶媒体に記憶された分散データの有効期間とを比較し、前記比較結果において前記内部時計における前記時間が前記有効期間を超過していない場合に、前記外部記憶媒体から前記分散データを読み出す。
本発明の第6の発明によれば、分散データのヘッダに含まれる有効期間を超過していない場合に限って分散データを読み出すことができる。
本発明の第7の発明は、第5の発明に係る情報処理装置であって、前記情報処理装置内の時間を計時する内部時計と、を更に備え、前記内部時計における前記時間と、前記外部記憶媒体に記憶された分散データの有効期間とを比較し、前記比較結果において前記内部時計における前記時間が前記有効期間を超過している場合に、前記外部記憶媒体から前記分散データを削除する。
本発明の第7の発明によれば、分散データのヘッダに含まれる有効期間を超過している場合には、分散データを削除して分散データの読み出しを防ぐことができる。
本発明の第8の発明は、外部記憶媒体に接続可能な情報処理装置と、前記情報処理装置及び複数の記憶装置に接続可能なサーバとを含む情報処理システムであって、前記情報処理装置は、ファイル又はフォルダのデータから少なくとも2つの分散データを生成する第1分散部と、少なくとも2つの前記分散データから前記ファイル又はフォルダのデータを復元する第2復元部と、前記分散データを記憶する記憶部と、前記分散データを前記サーバへ送信する第1送信部と、を備え、前記サーバは、前記記憶装置に前記分散データを送信する第2送信部と、を備え、データの持ち出し前には、前記第1分散部は第1分散データと第2分散データとを生成し、前記第1分散データを前記記憶部、前記第2分散データを前記サーバを介して前記記憶装置に記憶し、データの持ち出し時には、前記復元部は前記第1分散データと前記第2分散データより前記ファイル又はフォルダのデータを復元し、前記分散部は復元した前記ファイル又はフォルダのデータから第3分散データと第4分散データとを生成し、前記第3、第4分散データを前記サーバに記憶し、前記第2分散データを前記サーバを介して前記記憶装置から削除して前記外部記憶媒体に記憶する。
本発明の第8の発明によれば、機密情報の一部を紛失等した場合でも、第三者による機密情報の復元を効果的に防止し、機密情報のセキュリティを担保することができる。更に、再分散されて生成された第3分散データ及び第4分散データをサーバに記憶することにより、持ち出し時には第3分散データ及び第4分散データを記憶する必要無く、持ち出し先等でサーバに接続して第3分散データ及び第4分散データから元データを復元して利用することができる。
以上、図面を参照しながら各種の実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種実施形態の変更例または修正例、更に各種実施形態の組み合わせ例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
なお、上述した実施の形態においては、符号化処理の種類として、共通鍵暗号化処理及び秘密分散処理として説明したが、これらに限定されない。例えば、公開鍵暗号化処理を用いても良い。更に、秘密分散処理の方法も、(2,2)しきい値秘密分散法に限定されず、他の秘密分散処理の方法も適用可能である。