(57)【要約】【課題】情報処理装置の盗難や紛失によって情報が不正取得されることを防止する。【解決手段】記憶装置と、記憶装置に格納されたデータを、当該データの復元には予め定められた基準個数の部分データが必要となる秘密分散法により、基準個数以上の予め定められた第１個数の部分データに分割する分割部と、分割した第１個数の部分データのうち少なくとも１つの部分データを、他の少なくとも１つの情報処理装置に送信すると共に記憶装置から削除する送信部と、記憶装置へデータを復元する場合に、他の少なくとも１つの情報処理装置から少なくとも１つの部分データを取得して記憶装置に格納する取得部と、部分データが取得されたことにより記憶装置に基準個数の部分データが格納されたことを条件に、基準個数の当該部分データに基づいて、記憶装置へデータを復元する復元部とを備える情報処理装置を提供する。【選択図】図８
2009139990.tif 000002
【特許請求の範囲】
【請求項１】
他の少なくとも１つの情報処理装置と通信可能な情報処理装置であって、
記憶装置と、
前記記憶装置に格納されたデータを、当該データの復元には予め定められた基準個数の部分データが必要となる秘密分散法により、前記基準個数以上の予め定められた第１個数の部分データに分割する分割部と、
分割した前記第１個数の部分データのうち少なくとも１つの部分データを、他の少なくとも１つの情報処理装置に送信すると共に前記記憶装置から削除する送信部と、
前記記憶装置へデータを復元する場合に、前記他の少なくとも１つの情報処理装置から少なくとも１つの部分データを取得して前記記憶装置に格納する取得部と、
部分データが取得されたことにより前記記憶装置に前記基準個数の部分データが格納されたことを条件に、前記基準個数の当該部分データに基づいて、前記記憶装置へデータを復元する復元部と
を備える情報処理装置。
【請求項２】
前記送信部は、分割した前記第１個数の部分データのうち前記第１個数から前記基準個数を減じた数を超える数の部分データを、前記他の少なくとも１つの情報処理装置に送信すると共に前記記憶装置から削除し、
前記取得部は、前記記憶装置へデータを復元する場合に、少なくとも、前記記憶装置に既に格納されている部分データの個数と前記基準個数との差分の個数の部分データを、前記他の少なくとも１つの情報処理装置から取得して前記記憶装置に格納する、
請求項１に記載の情報処理装置。
【請求項３】
前記分割部は、当該情報処理装置の動作中に、当該情報処理装置が次回に起動した場合に用いるデータを前記記憶装置から読み出して前記第１個数の部分データに分割し、
前記取得部は、当該情報処理装置が次回に起動した場合に、前記他の少なくとも１つの情報処理装置から少なくとも１つの部分データを取得する、
請求項２に記載の情報処理装置。
【請求項４】
前記分割部は、当該情報処理装置の動作終了時に、当該記憶装置に記憶されたオペレーティングシステム・プログラムおよびユーザデータをアーカイブしてアーカイブ・データを生成し、生成した当該アーカイブ・データを第１個数の部分データに分割し、
前記取得部は、当該情報処理装置が次回に起動する場合に、前記他の少なくとも１つの情報処理装置から少なくとも１つの部分データを取得し、
前記復元部は、前記記憶装置に格納された前記基準個数の部分データに基づいて、前記記憶装置へ前記オペレーティングシステム・プログラムおよびユーザデータを復元することで、前記オペレーティングシステム・プログラムに基づくオペレーティングシステムの動作を開始させる、
請求項２に記載の情報処理装置。
【請求項５】
前記分割部は、当該記憶装置に記憶されたオペレーティングシステム・プログラムおよびユーザデータのアーカイブ・データを暗号化するための暗号鍵を生成して、生成した当該暗号鍵を第１個数の部分データに分割し、
当該情報処理装置の動作終了時に、オペレーティングシステム・プログラムおよびユーザデータをアーカイブしてアーカイブ・データを生成し、生成した当該アーカイブ・データを前記暗号鍵により暗号化して前記記憶装置に格納する暗号部を更に備え、
前記取得部は、当該情報処理装置が次回に起動する場合に、前記他の少なくとも１つの情報処理装置から少なくとも１つの部分データを取得し、
前記復元部は、前記記憶装置に格納された前記基準個数の部分データに基づいて前記暗号鍵を前記記憶装置へ復元すると共に、前記記憶装置に格納されたアーカイブ・データを当該暗号鍵によって復号することで、前記オペレーティングシステム・プログラムに基づくオペレーティングシステムの動作を開始させる、
請求項２に記載の情報処理装置。
【請求項６】
前記取得部は、前記他の少なくとも１つの情報処理装置のそれぞれに対し、当該部分データを返信するべき要求をブロードキャストすることで、当該部分データを取得する、請求項２に記載の情報処理装置。
【請求項７】
前記送信部は、分割した前記第１個数の部分データのうち前記第１個数から前記基準個数を減じた数を超える数の部分データを、他の少なくとも１つの情報処理装置に送信すると共に、送信先であるそれぞれの情報処理装置の識別情報を前記記憶装置に格納し、
前記取得部は、前記記憶装置から前記識別情報を読み出して、読み出した識別情報により識別される情報処理装置に対し、格納している部分データを返信するべき要求を送信することで、当該部分データを取得する、請求項２に記載の情報処理装置。
【請求項８】
他の情報処理装置から、当該他の情報処理装置が備える分割部によって分割された前記第１個数の部分データのうち当該他の情報処理装置が備える送信部により送信された部分データ、を受信して前記記憶装置に格納する受信部と、
当該他の情報処理装置の取得部の要求に応じて、当該他の情報処理装置から受信した前記部分データを前記記憶装置から読み出して、当該他の情報処理装置に提供する提供部と
を更に備える請求項２に記載の情報処理装置。
【請求項９】
前記送信部は、分割した前記第１個数の部分データのうち前記第１個数から前記基準個数を減じた数を超える数の部分データを、他の情報処理装置の中から無作為に選択した少なくとも１つの情報処理装置に対し送信する、請求項２に記載の情報処理装置。
【請求項１０】
前記分割部は、部分データを受信可能かどうかを問い合わせる要求を他のそれぞれの情報処理装置に送信することで、部分データを受信可能な他の情報処理装置の個数を判断し、判断した当該個数に基づいて前記第１個数および前記基準個数を設定する、請求項２に記載の情報処理装置。
【請求項１１】
前記記憶装置は、他の少なくとも１つの情報処理装置のそれぞれに対応付けて、当該情報処理装置が設置された位置の範囲を示す指示情報を予め記憶しており、
前記送信部は、部分データを受信可能な他の情報処理装置が複数存在する場合に、当該複数の他の情報処理装置のそれぞれが設置された位置を、前記指示情報に基づいて判断して、当該複数の他の情報処理装置の中から互いに設置される位置が異なる複数の情報処理装置を選択して、選択した当該複数の情報処理装置に、前記第１個数の部分データのうちそれぞれ異なる部分データを送信する、
請求項１０に記載の情報処理装置。
【請求項１２】
他の少なくとも１つの情報処理装置と通信可能な情報処理装置によって、当該情報処理装置の記憶装置に格納されたデータを処理させる方法であって、
前記記憶装置に格納されたデータを、当該データの復元には予め定められた基準個数の部分データが必要となる秘密分散法により、前記基準個数以上の予め定められた第１個数の部分データに分割するステップと、
分割した前記第１個数の部分データのうち少なくとも１つの部分データを、他の少なくとも１つの情報処理装置に送信すると共に前記記憶装置から削除するステップと、
前記記憶装置へデータを復元する場合に、前記他の少なくとも１つの情報処理装置から少なくとも１つの部分データを取得して前記記憶装置に格納するステップと、
部分データが取得されたことにより前記記憶装置に前記基準個数の部分データが格納されたことを条件に、前記基準個数の当該部分データに基づいて、前記記憶装置へデータを復元するステップと
を備える方法。
【請求項１３】
他の少なくとも１つの情報処理装置と通信可能な情報処理装置に、当該情報処理装置の記憶装置に格納されたデータを処理させるプログラムであって、
当該情報処理装置を、
前記記憶装置に格納されたデータを、当該データの復元には予め定められた基準個数の部分データが必要となる秘密分散法により、前記基準個数以上の予め定められた第１個数の部分データに分割する分割部と、
分割した前記第１個数の部分データのうち少なくとも１つの部分データを、他の少なくとも１つの情報処理装置に送信すると共に前記記憶装置から削除する送信部と、
前記記憶装置へデータを復元する場合に、前記他の少なくとも１つの情報処理装置から少なくとも１つの部分データを取得して前記記憶装置に格納する取得部と、
部分データが取得されたことにより前記記憶装置に前記基準個数の部分データが格納されたことを条件に、前記基準個数の当該部分データに基づいて、前記記憶装置へデータを復元する復元部
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の不正取得を防止する技術に関する。特に、本発明は、情報処理装置の記憶装置に格納された情報の不正取得を防止する技術に関する。
【背景技術】
【０００２】
近年、企業等で用いられる情報システムにおいて、不用意な情報の流出を未然に防止するために、シン・クライアントが利用されている。シン・クライアントは、ハードディスクドライブなどの不揮発性の記憶装置を備えていない。従って、業務に用いる各種のデータは、シン・クライアントではなくサーバ装置に格納される。このため、シン・クライアントの盗難によって情報が漏洩することが無く、安全性が高い。
【０００３】
シン・クライアントの実装方式は、イメージ伝送方式および画面伝送方式に分類される。イメージ伝送方式は、シン・クライアントの起動時に、サーバ装置から各シン・クライアントに対し、オペレーティング・システムその他のデータを送信する方式である。シン・クライアントの電源遮断時にはこれらのデータは削除される。画面伝送方式は、サーバ装置で実行したプログラムの出力、例えば画面イメージを、シン・クライアントに送信すると共に、シン・クライアントに対するユーザの入力を、シン・クライアントからサーバ装置に送信する方式である。
【特許文献１】特開２００３−１３２２２９号公報
【特許文献２】特開２００７−１２２４４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
イメージ伝送方式を採用すると、オペレーティング・システムその他のデータのために、ネットワークトラフィックが非常に大きくなってしまう場合がある。例えば、企業の情報システムを想定した場合において、始業時間にはネットワーク負荷が集中してしまい、各シン・クライアントの起動には長大な待ち時間が発生しかねない。
【０００５】
これに対し、オペレーティング・システムの基本部分のみはシン・クライアント内の不揮発性の記憶装置に格納させ、その更新差分やユーザデータのみをサーバ装置からシン・クライアントに送信する対策も考えられる。一例として、パーソナル・コンピュータのＣドライブを不揮発性に、Ｄドライブを揮発性に設定する方式などがこれに相当する。しかしながら、この対策では、シン・クライアント内の記憶装置（例えばＣドライブ）にユーザデータを保存することができてしまい、安全性が低下するおそれがある。
【０００６】
また、画面伝送方式では、サーバ装置において多数のシン・クライアントのために個別にプログラムを実行することから、サーバ装置の負荷が非常に高くなるおそれがある。例えば、企業の情報システムを想定した場合において、従来各自のパーソナル・コンピュータで動作していたアプリケーション・プログラムの処理負荷が、単一または少数のサーバ装置に集中するので、企業には多大な設備投資が必要となるおそれがある。また、このようなサーバ装置で動作させることができるのは、マルチ・ユーザに対応したプログラムに限定されてしまい、通常のパーソナル・コンピュータの利用に慣れた利用者にとって自由度が低く感じられてしまう。
【０００７】
以上のように、シン・クライアントを利用した情報システムには、安全性と通信・処理の負荷軽減との間にトレードオフが存在する場合が多かった。そこで本発明は、上記の課題を解決することのできる情報処理装置、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第１の形態においては、他の少なくとも１つの情報処理装置と通信可能な情報処理装置であって、記憶装置と、前記記憶装置に格納されたデータを、当該データの復元には予め定められた基準個数の部分データが必要となる秘密分散法により、前記基準個数以上の予め定められた第１個数の部分データに分割する分割部と、分割した前記第１個数の部分データのうち少なくとも１つの部分データを、他の少なくとも１つの情報処理装置に送信すると共に前記記憶装置から削除する送信部と、前記記憶装置へデータを復元する場合に、前記他の少なくとも１つの情報処理装置から少なくとも１つの部分データを取得して前記記憶装置に格納する取得部と、部分データが取得されたことにより前記記憶装置に前記基準個数の部分データが格納されたことを条件に、前記基準個数の当該部分データに基づいて、前記記憶装置へデータを復元する復元部とを備える情報処理装置を提供する。また、当該情報処理装置によってデータを処理する方法およびプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【０００９】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１０】
図１は、本実施形態に係る情報システム１０の全体構成の一例を示す。情報システム１０は、通信ネットワークにより相互に通信可能に接続された、サーバ装置１００と、複数のクライアント装置（例えばクライアント装置１１０Ａ−Ｄ）とを備える。サーバ装置１００は、情報処理装置の一例であり、例えばホスト・コンピュータなどと呼ばれる、据置型のコンピュータであってよい。サーバ装置１００は、業務上の機密情報などの重要なデータを記憶する場合が多い。従って、サーバ装置１００は、通常のオフィスルームとは別に設けられた安全性の高い専用の部屋に設けられる。
【００１１】
クライアント装置１１０Ａは、情報処理装置の一例であり、例えばノート型の、あるいは、ラップトップ型などの、携帯可能なコンピュータであってよい。これに代えて、クライアント装置１１０Ａは、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）または携帯電話などであってもよい。クライアント装置１１０Ｂ−Ｄのそれぞれについても、クライアント装置１１０Ａとは異なる利用者によって管理される他は、クライアント装置１１０Ａと略同一である。
【００１２】
クライアント装置１１０Ａは、一般の従業員が出入りするオフィスルームや、在宅で勤務する従業員の自宅に設けられる。従って、クライアント装置１１０Ａには、業務上の機密情報等の重要なデータを保存しないことが望ましい。本実施形態に係る情報システム１０は、このように比較的安全性の低いクライアント装置１１０Ａが盗難・紛失にあった場合であっても、機密情報が漏洩しないようにすることを目的とする。更に、本実施形態によれば、機密情報を全てサーバ装置１００に保存する場合と比較して、通信ネットワークの必要帯域やサーバ装置１００に必要な処理能力を低く抑えることができる。以下、具体的に説明してゆく。
【００１３】
図２は、本実施形態に係るクライアント装置１１０Ａの機能構成の一例を示す。クライアント装置１１０Ａは、ハードウェア構成として、いわゆるＰＣと呼ばれる個人向けコンピュータと略同一の構成を有する。具体的には、クライアント装置１１０Ａは、主要なハードウェアとして、ＣＰＵ１０００と、ＲＯＭ１０１０と、記憶装置１０４とを備える。ＲＯＭ１０１０は、読み出し専用の不揮発性の記憶装置であって、例えばＢＩＯＳプログラムなどの、オペレーティング・システム（以下ＯＳと呼ぶ）に依存せずに動作するプログラムを記憶している。
【００１４】
記憶装置１０４は、例えばハードディスク・ドライブなどの、読み出しのみならず書き込みが可能な記憶装置である。記憶装置１０４は、ＯＳプログラム、および、ユーザデータなどの、利用者が業務に使用する各種のデータを記憶している。具体的には、記憶装置１０４は、利用者が業務に使用する業務用ＯＳプログラム２０およびユーザデータ２２と、利用者が個人的な用途に使用する個人用ＯＳプログラム２４およびユーザデータ２６を記憶している。なお、業務用ＯＳプログラム２０および個人用ＯＳプログラム２４のそれぞれは、いわゆるカーネルと呼ばれるオペレーティング・システムの基本部分のみならず、それに付随する各種アプリケーション・プログラムを含む。
【００１５】
一例として、ＯＳとしてウィンドウズ（登録商標）・オペレーティング・システムを採用している場合において、記憶装置１０４は、業務用ＯＳプログラム２０を「Ｃ：￥Ｗｉｎｄｏｗｓ」フォルダに記憶し、ユーザデータ２２を「Ｃ：￥ＭｙＤｏｃｕｍｅｎｔｓ」フォルダに記憶してよい。一方、記憶装置１０４は、個人用ＯＳプログラム２４を「Ｄ：￥Ｗｉｎｄｏｗｓ」フォルダに記憶し、ユーザデータ２６を「Ｄ：￥ＭｙＤｏｃｕｍｅｎｔｓ」フォルダに記憶してよい。
【００１６】
ＣＰＵ１０００は、ＲＯＭ１０１０および／または記憶装置１０４に記憶されたプログラムを実行することで、各種のシステムとして機能する。具体的には、ＣＰＵ１０００は、例えばクライアント装置１１０Ａの起動時に、ＲＯＭ１０１０からＢＩＯＳプログラムを読み出して実行することで、ＢＩＯＳ２００として機能する。個人用ＯＳ２２０の機能によって、ＣＰＵ１０００は、記憶装置１０４から業務用ＯＳプログラム２０を読み出して実行する。この結果、ＣＰＵ１０００は業務用ＯＳ２１０として機能する。
【００１７】
利用者は、業務用ＯＳ２１０上で動作するアプリケーション・プログラムまたは業務用ＯＳ２１０自体を利用して、各種の業務を行う。この結果、記憶装置１０４には、例えば業務上の機密などを含むユーザデータ２２が格納される。また、ＢＩＯＳ２００が備えるいわゆるマルチブート機能によって、ＣＰＵ１０００は、記憶装置１０４から個人用ＯＳプログラム２４を読み出して実行してよい。この結果、サーバ装置１００は個人用ＯＳ２２０として機能する。利用者は、個人用ＯＳ２２０上で動作するアプリケーション・プログラムなどを利用して作業する。この結果、記憶装置１０４にはユーザデータ２６が格納される。
【００１８】
利用者が業務を終了すると、利用者は、クライアント装置１１０Ａの動作を終了させる場合が多い。動作を終了させる場合とは、例えば、クライアント装置１１０Ａの電源を遮断し、または、クライアント装置１１０Ａをスタンバイ状態またはハイバネーション状態に移行させる場合のことである。このような場合に、記憶装置１０４に機密情報を保存したままにしておくと、クライアント装置１１０Ａの盗難・紛失によりその機密情報が漏洩してしまう場合がある。これを未然に防ぐため、ＣＰＵ１０００は、記憶装置１０４内のデータを管理するデータ管理システム２３０として機能する。データ管理システム２３０は、例えば、ＲＯＭ１０１０などに格納されたプログラムによって実現されてよい。
【００１９】
具体的には、まず、データ管理システム２３０は、クライアント装置１１０Ａの動作を終了させる指示を受けると、記憶装置１０４から業務用ＯＳプログラム２０およびユーザデータ２２を読み出す。そして、データ管理システム２３０は、業務用ＯＳプログラム２０およびユーザデータ２２をアーカイブしてアーカイブ・データを生成する。そして、データ管理システム２３０は、生成したアーカイブ・データを、当該データの復元には予め定められた基準個数の部分データが必要となる秘密分散法により、当該基準個数以上の予め定められた第１個数の部分データに分割する。ここでは基準個数を３個とし、第１個数を４個とする。このようにして生成された部分データを、部分データ２８−１〜４とする。
【００２０】
そして、データ管理システム２３０は、部分データ２８−１〜４のうちの少なくとも一部、ここでは部分データ２８−１〜３を選択して、他の少なくとも１つの情報処理装置に対し送信すると共に、記憶装置１０４から削除する。この結果、例えば、部分データ２８−１はサーバ装置１００に送信されてサーバ装置１００内の記憶装置に格納され、部分データ２８−２はクライアント装置１１０Ｂに送信されてクライアント装置１１０Ｂ内の記憶装置に格納され、部分データ２８−３はクライアント装置１１０Ｃに送信されてクライアント装置１１０Ｃ内の記憶装置に格納される。部分データ２８−４は記憶装置１０４に記憶されたままである。そして、データ管理システム２３０は、指示に応じた終了処理を継続することで、クライアント装置１１０Ａの電源を遮断し、または、クライアント装置１１０Ａをスタンバイモードなどに移行させる。
【００２１】
ここで、元のアーカイブ・データの復元には、少なくとも３個の部分データが必要である。一方で、記憶装置１０４には１個の部分データしか記憶されていない。このため、たとえクライアント装置１１０Ａが盗難され、悪意あるユーザにより記憶装置１０４内のデータが解析されたとしても、業務上の機密を含むデータを復元することはできない。また、秘密分散法の特徴により、３個未満の部分データのみでは、元のアーカイブ・データの一部であっても復元することはできず、更に、復元するための解析作業の手がかりとすることすらできない。
【００２２】
データ管理システム２３０は、クライアント装置１１０Ａの動作を再開する指示（例えば起動の指示またはスタンバイモードの解除の指示）を受けると、他の情報処理装置、ここではサーバ装置１００、クライアント装置１１０Ｂおよびクライアント装置１１０Ｃに、部分データの返信を要求する。そして、データ管理システム２３０は、返信された部分データ２８−１〜３、および、既に格納している部分データ２８−４に基づいて、業務用ＯＳプログラム２０およびユーザデータ２２を記憶装置１０４へ復元する。そして、データ管理システム２３０は、クライアント装置１１０Ａの動作を再開する処理を継続することで、業務用ＯＳ２１０の動作を再開させる。
【００２３】
図３は、それぞれの部分データを送信した後における情報システム１０の状態を示す。クライアント装置１１０Ａから部分データ２８−１〜３が送信された結果、サーバ装置１００には部分データ２８−１が格納され、クライアント装置１１０Ｂには部分データ２８−２が格納される。また、クライアント装置１１０Ｃには部分データ２８−３が格納され、クライアント装置１１０Ａが部分データ２８−４が格納される。
【００２４】
この状態において、クライアント装置１１０Ａにおいては業務用ＯＳ２１０を動作させることはできない。一方で、クライアント装置１１０Ａにおいて個人用ＯＳ２２０を動作させることはできる。即ち、正当なユーザがクライアント装置１１０Ａを社外に持ち出して他の用途に使用することはでき、かつ、そのように使用しても、業務上の機密は漏洩しない。
【００２５】
図４は、アーカイブ・データを分割してそれぞれの部分データを生成する処理の概念図である。閾値秘密分散法においては、分割により生成する部分データの個数である第１個数と、復元のために必要な部分データの個数である基準個数とを、パラメータとして設定できる。図４は、第１個数として４個を設定し、基準個数として３個を設定した場合における、閾値秘密分散法の例を示している。
【００２６】
このような閾値秘密分散法を、閾値秘密分散法の英語表記であるＳｅｃｒｅｔ  Ｓｈａｒｉｎｇ  Ｓｃｈｅｍｅの頭文字を用いて、ＳＳＳ（４，３）と表記する。また、この方法により生成された４つの部分データを部分データ２８−１〜４とする。これらの部分データのうち少なくとも何れか３つが揃わないと、元のデータを復元することはできない。
【００２７】
そして、閾値秘密分散法によれば、基準個数以上の部分データが揃わない限りは、仮に高性能なコンピュータにより無限の計算時間で解析しても、元のデータのうち１ビットたりとも復元できないことが、数学的に証明されている。この点において、将来の高性能なコンピュータの出現、または、解読用のアルゴリズムの発見により解読されてしまう可能性のある暗号化方式と比較して、極めて安全に秘密を守ることができる。
【００２８】
したがって、上記データ管理システム２３０は、クライアント装置１１０Ａ単体で元のデータを復元できてしまわないように、第１個数から基準個数を減じた数（この例の場合１個）を超える数（例えば３個）の部分データを、他の情報処理装置に送信すればよい。また、できるだけ元のデータを復元しにくくするために、データ管理システム２３０は、複数の部分データを互いに異なる情報処理装置に送信することが望ましい。以上のように、秘密分散法の利用によれば、悪意ある利用者によるアーカイブ・データの復元を極めて困難にすることができる。図５にその一例を示す。
【００２９】
図５は、クライアント装置１１０Ａが盗難・紛失にあった場合における情報システム１０の状態を示す。クライアント装置１１０Ａが盗難・紛失にあうと、クライアント装置１１０Ａに格納されている部分データ２８−４が不正に取得されてしまうおそれがある。しかしながら、既に述べてきたように部分データ２８−４のみに基づいて元のデータを復元することはできない。
【００３０】
そこで、部分データ２８−１〜３についても不正に入手しようとすれば、サーバ装置１００およびクライアント装置１１０Ｂ−Ｃについてもまとめて盗み出す必要がある。上述のように、サーバ装置１００は特別に管理されているので、サーバ装置１００を盗み出すのは非常に困難である。また、クライアント装置１１０Ｂ−Ｃについても、通信ネットワークの構成によっては、クライアント装置１１０Ａと地理的に離れて設置されている場合もあることから、クライアント装置１１０Ａ−Ｃをまとめて盗み出すのは相当困難な場合が多い。
【００３１】
さらに、クライアント装置１１０Ａ単体の盗難防止策に比べて、通信ネットワークへの不正侵入に対しては、現状でも充分な対策が取られている場合が多く、通信ネットワークに不正侵入してサーバ装置１００およびクライアント装置１１０Ｂ−Ｃ等から部分データ２８−２などを取得することも相当困難である。更にこの不正取得は、サーバ装置１００およびクライアント装置１１０Ｂ−Ｃが稼動している時間帯、例えば業務時間内に限られ、極めて困難と考えられる。
【００３２】
以上のように、本実施形態に係る情報システム１０によれば、クライアント装置１１０Ａを盗み出すことによる情報の不正入手を極めて困難とすることができる。また、以下の図６に示すように、本実施形態に係る情報システム１０によれば、利用者の利便性を低下させることもほとんどない。
【００３３】
図６は、クライアント装置１１０Ｃが休止中の場合における情報システム１０の状態を示す。利用者がクライアント装置１１０Ａを起動して業務を開始しようとする場合には、少なくとも３つの部分データが必要である。そこで、クライアント装置１１０Ａがサーバ装置１００およびクライアント装置１１０Ｂ−Ｄのそれぞれに対し、部分データの返信を要求する。企業等において始業時間にクライアント装置１１０Ａを起動する場合を想定すると、サーバ装置１００およびクライアント装置１１０Ｂ−Ｄのうちの殆んどが既に稼働中か、間もなく起動することが予想される。
【００３４】
図６の例では、サーバ装置１００、クライアント装置１１０Ｂおよびクライアント装置１１０Ｄが稼働中でありクライアント装置１１０Ｃが休止中なので、クライアント装置１１０Ａは、サーバ装置１００およびクライアント装置１１０Ｂから部分データの返信を受ける。この結果、クライアント装置１１０Ａは３個の部分データを取得できるので、ユーザデータ２２を記憶装置１０４に復元して業務を開始させることができる。このように、送信した部分データの一部が不足しても起動できるので、企業等の組織などの同一時間帯に業務を行う環境においては、起動が失敗することも殆んど想定されない。また、秘密分散法のパラメータは任意に設定できるので、使用環境に合わせてパラメータを調整することで、起動の失敗を起こりにくくすることもできる。
【００３５】
さらに、クライアント装置１１０Ｂ−Ｄのそれぞれが、クライアント装置１１０Ａと同様の機能を有し、クライアント装置１１０Ａ−Ｄのそれぞれが部分データを相互に送信し合ってもよい。その例を図７に示す。
図７は、本実施形態においてクライアント装置１１０ＤがＯＳプログラム７０を分割して他のコンピュータに送信した場合における情報システム１０の状態を示す。クライアント装置１１０Ｄは、クライアント装置１１０Ｄの利用者の業務に利用するためのＯＳプログラム７０を記憶している。
【００３６】
そして、クライアント装置１１０Ｄは、ＯＳプログラム７０のアーカイブ・データを秘密分散法により複数の部分データに分割する。この結果生成された部分データを部分データ７２−１〜３とする。そして、クライアント装置１１０Ｄは、生成した部分データ７２−１〜３のそれぞれを、通信ネットワークを介して通信可能な他の情報処理装置、例えばサーバ装置１００、クライアント装置１１０Ａおよびクライアント装置１１０Ｃのそれぞれに送信する。これにより、クライアント装置１１０Ｄが盗難されてもＯＳプログラム７０などに含まれる情報の漏洩を防ぐことができる。
【００３７】
次に、秘密分散法によるアーカイブ・データの分割およびその復元の処理機能について、詳しく説明する。
図８は、本実施形態に係るデータ管理システム２３０の機能構成の一例を示す。データ管理システム２３０は、分割部７００と、送信部７１０と、取得部７２０と、復元部７３０と、受信部７４０と、提供部７５０と、暗号部７６０とを有する。分割部７００は、クライアント装置１１０Ａの動作終了時に、記憶装置１０４から業務用ＯＳプログラム２０およびユーザデータ２２を読み出して、業務用ＯＳプログラム２０およびユーザデータ２２のアーカイブ・データを生成する。
【００３８】
分割部７００は、生成したそのアーカイブ・データを、当該データの復元には予め定められた基準個数の部分データが必要となる秘密分散法により、当該基準個数以上の予め定められた第１個数の部分データに分割する。生成したこれらの部分データを部分データ２８−１〜４とする。
【００３９】
なお、分割部７００が分割の対象とするのは、記憶装置１０４に格納されたデータであればそのアーカイブ・データに限定されない。例えば、分割部７００は、クライアント装置１１０が次回に起動した場合に用いるデータであれば、そのアーカイブ・データでないデータを記憶装置１０４から読み出した分割してよい。そのようなデータの一例は、例えば後述の暗号鍵である。詳しくは後に説明する。
【００４０】
また、第１個数および基準個数は、第１個数が基準個数以上という条件を満たす限りにおいて、使用者の環境に応じて任意に設定可能であってよい。また、第１個数および基準個数の差分、または、第１個数に対する基準個数の割合が任意に設定可能であって、第１個数および基準個数自体は自動的に決定されてよい。
【００４１】
例えば、分割部７００は、部分データを受信可能かどうかを問い合わせる要求を他のそれぞれの情報処理装置に送信することで、部分データを受信可能な他の情報処理装置の個数を判断し、判断した当該個数に基づいて第１個数および基準個数を設定してよい。一例として、受信可能な情報処理装置の数が１０であれば、第１個数を１０に設定し、基準個数を、その第１個数から予め定められた個数である３個を減じた７個に設定してよい。
【００４２】
送信部７１０は、分割したこれら第１個数の部分データのうち少なくとも１つの部分データを、他の少なくとも１つの情報処理装置に送信すると共に記憶装置１０４から削除する。クライアント装置１１０Ａ単体でアーカイブ・データを復元できないようにするために、送信・削除する部分データの個数は、第１個数から基準個数を減じた数を超える個数であることが望ましい。
【００４３】
一例として、送信部７１０は、部分データ２８−１をサーバ装置１００に、部分データ２８−２をクライアント装置１１０Ｂに、部分データ２８−３をクライアント装置１１０Ｃに、それぞれ送信すると共に、記憶装置１０４から削除する。一方、分割部７００は、生成した部分データのうち残りの部分データ２８−４については記憶装置１０４に格納してよい。
【００４４】
一方、取得部７２０は、クライアント装置１１０Ａを次回に起動する場合に、記憶装置１０４へデータを復元する。データを復元する場合に、取得部７２０は、他の少なくとも１つの情報処理装置から少なくとも１つの部分データ２８を取得して記憶装置１０４に格納する。取得部７２０は、少なくとも、記憶装置１０４に既に格納されている部分データ２８の個数と基準個数との差分の個数の部分データ２８を取得すればよい。例えば、既に１つの部分データ２８が記憶装置１０４に格納されている場合において、基準個数が３個であれば、取得部７２０は、少なくとも２個の部分データ２８を他の情報処理装置から取得する。
【００４５】
そして、復元部７３０は、部分データ２８が取得されたことにより記憶装置１０４に基準個数の部分データが格納されたことを条件に、基準個数の当該部分データに基づいて、記憶装置１０４へデータを復元する。具体的には、復元部７３０は、記憶装置１０４へ業務用ＯＳプログラム２０およびユーザデータ２２を復元する。この結果、業務用ＯＳプログラム２０に基づく業務用ＯＳ２１０の動作が開始する。
【００４６】
以上の処理機能により、機密情報は秘密分散法により複数の部分データに分割して複数の情報処理装置に分散して格納されるので、情報処理装置が単体で盗難にあったとしても、機密情報の漏洩を防ぐことができる。また、機密情報をすべてサーバ装置１００に記憶する必要は無いので、サーバ装置１００の処理負荷およびネットワーク負荷の集中を防ぐことができる。
なお、以上の処理よりもなおネットワークの負荷を軽減するためには、アーカイブ・データに代えて、アーカイブ・データを暗号化した暗号鍵を分散して格納してよい。その一例を以下に示す。
【００４７】
分割部７００は、クライアント装置１１０Ａの動作終了時ではなく動作中に、記憶装置１０４に記憶された業務用ＯＳプログラム２０およびユーザデータ２２のアーカイブ・データを暗号化するための暗号鍵を生成して、記憶装置１０４に格納する。好ましくは、分割部７００は、生成したその暗号鍵を定期的に更新してよい。この定期的な更新によって、暗号鍵が不正に入手される危険を軽減できる。この暗号鍵は、特定の種類の暗号方式に基づくものに限定されない。一例として、暗号鍵は、例えば１０２４ビットなど、充分に長い安全な鍵であればよい。
【００４８】
そして、分割部７００は、暗号鍵を生成または更新する毎に、その暗号鍵を第１個数の部分データに分割する。送信部７１０は、分割したそれら第１個数の部分データのそれぞれを、他の少なくとも１つの情報処理装置、例えばサーバ装置１００およびクライアント装置１１０Ｂ−Ｃのそれぞれに対し送信する。このような処理により送信される暗号鍵のデータサイズは、アーカイブ・データ自体と比較して充分に小さいので、ネットワークや他の情報処理装置の負荷を軽減できる。
【００４９】
そしてこの場合、暗号部７６０は、クライアント装置１１０Ａの動作終了時に、業務用ＯＳプログラム２０およびユーザデータ２２をアーカイブしてアーカイブ・データを生成し、生成した当該アーカイブ・データをその暗号鍵により暗号化して記憶装置１０４に格納する。また、暗号部７６０は、暗号化に使用したその暗号鍵を記憶装置１０４から削除する。これにより、暗号鍵を取得しない限りは業務用ＯＳプログラム２０を再起動できないので、クライアント装置１１０Ａ自体の盗難による情報の漏洩を防止できる。
【００５０】
なお、暗号化に用いた暗号鍵の部分データは、その暗号鍵の生成時または更新時に、送信部７１０により既に他の情報処理装置に対し送信されている。従って、暗号部７６０は、動作終了時には他の情報処理装置の存在を前提としない。このため、企業等の組織で一人だけ遅い時間まで仕事を続ける場合など、部分データの送信先が不足する場合であっても、クライアント装置１１０Ａ内の機密情報を暗号化してクライアント装置１１０Ａを適切に終了させることができる。
【００５１】
この処理例において、取得部７２０の動作は、部分データがアーカイブ・データ自体についてものでなく暗号鍵についてのものであることの他は、既に述べた取得部７２０の動作と同様である。但し、復元部７３０については、暗号化と対応する処理を行う。具体的には、復元部７３０は、記憶装置１０４に格納された基準個数の部分データに基づいて暗号鍵を記憶装置１０４へ復元する。そして、復元部７３０は、記憶装置１０４に格納されたアーカイブ・データ（動作終了時に暗号化されたもの）を当該暗号鍵によって復号することで、業務用ＯＳプログラム２０に基づく業務用ＯＳ２１０の動作を開始させる。
【００５２】
図９は、本実施形態に係る情報システム１０の処理フローの第１例を示す。クライアント装置１１０Ａは、例えば電源を遮断する指示などの、クライアント装置１１０Ａの動作を終了させる指示を受けると（Ｓ９００）、本図の動作を開始する。まず、分割部７００は、記憶装置１０４に格納されたデータを、当該データの復元には予め定められた基準個数の部分データが必要な秘密分散法により、当該基準個数以上の予め定められた第１個数の部分データに分割する（Ｓ９１０）。
【００５３】
この図９の例において、具体的には、分割されるデータは、業務用ＯＳプログラム２０およびユーザデータ２２のアーカイブ・データである。より詳細には、上述のように、分割部７００は、ＣドライブのWindowsフォルダおよびＭｙｄｏｃｕｍｅｎｔフォルダ内のファイルのアーカイブ・データを生成して分割してよい。オペレーティング・システムの種類が異なる場合などには、これに代えて、分割部７００は、他の特定のフォルダまたはファイルのアーカイブ・データを生成してよい。また、これに代えて、分割部７００は、分割部７００中のファイルシステム全体のアーカイブ・データを生成してよい。
【００５４】
そして、分割に用いる秘密分散法は、例えば、閾値秘密分散法である。上述のように、閾値秘密分散法によれば、基準個数未満の部分データを取得しても、元のデータのうちの１ビットたりとも復元できず、また、復元する手がかりとすることもできない。これにより、元のデータを安全に保存することができる。これに代えて、分割に用いる秘密分散法は、ランプ型秘密分散法であってもよい。ランプ型秘密分散法によれば、安全性を殆んど低下させることなく、各部分データのサイズを小さくすることができる。
【００５５】
また、ＡＬＬ  ｏｒ  Ｎｏｔｈｉｎｇ  Ｔｒａｎｓｆｏｒｍ（ＡＯＮＴ）を秘密分散法として利用してもよい。詳細にはホームページ（http://trusted-solutions.jp/core/aont.html）を参照されたい。あるデータがＡＬＬ  ｏｒ  Ｎｏｔｈｉｎｇ  Ｔｒａｎｓｆｏｒｍ（ＡＯＮＴ）により変換された場合に、変換後のデータの一部でも失われると、変換前のデータは一切復元できない。この性質を利用して、分割部７００は、記憶装置１０４に格納されたデータ（例えばアーカイブ・データ）をＡＯＮＴにより変換し、変換後のデータを例えば単に所定のバイトサイズごとに第１個数の部分データに分割する。この場合の第１個数と基準個数とは等しい。これにより、第１個数の部分データが全て取得されない限りは、元のデータを一切秘密にしておくことができる。
【００５６】
次に、送信部７１０は、分割した当該第１個数の部分データを送信するべく、部分データの送信先となる情報処理装置を選択する（Ｓ９２０）。例えば、送信部７１０は、クライアント装置１１０Ａと通信可能な他の情報処理装置の中から無作為に複数の情報処理装置を選択してよい。選択する情報処理装置は、毎回異なることが望ましい。また、選択する情報処理装置の数は、第１個数から基準個数を減じた個数よりも多いことが望ましい。例えばＳＳＳ（４，３）による変換を仮定すれば、送信部７１０は、４から３を減じた１よりも多い個数の情報処理装置を選択する。
【００５７】
また、選択される情報処理装置は、地理的に離れて設置されていることが望ましい。これを実現するため、例えば記憶装置１０４は、通信ネットワークに接続された複数の情報処理装置のそれぞれに対応付けて、当該情報処理装置が設置された位置の範囲を示す指示情報を予め記憶している。指示情報の一例は、例えばＩＰアドレスである。
【００５８】
通信ネットワークの構成によれば、ＩＰアドレスの上位側の予め定められた桁の数値が、当該情報処理装置の設置された位置の範囲、例えば、国、州、県、市、建物または部署などに対応付けられている場合がある。この場合、送信部７１０は、そのＩＰアドレスに基づいて各情報処理装置が設置された位置の範囲を判別できる。これに代えて、指示情報は、国、州、県、市、建物または部署などの位置の範囲を直接に指し示す、文字、数値若しくは記号またはこれらの組合せであってよい。
【００５９】
そしてこの場合、送信部７１０は、クライアント装置１１０Ａと通信可能な他のそれぞれの情報処理装置が複数存在する場合に、当該複数の他の情報処理装置のそれぞれが設置された位置を、当該指示情報に基づいて判断する。そして、送信部７１０は、当該複数の他の情報処理装置の中から互いに設置される位置が異なる複数の情報処理装置を、部分データの宛先の情報処理装置として選択する。図９の例では、サーバ装置１００およびサーバ装置１００Ｂ−Ｃの合計３個の情報処理装置が選択される。
【００６０】
そして、送信部７１０は、第１個数から基準個数を減じた個数よりも多い個数、例えば３個の部分データを、サーバ装置１００およびサーバ装置１００Ｂ−Ｃのそれぞれに１個ずつ送信すると共に、記憶装置１０４から削除する。送信部７１０は、それぞれ異なる部分データを宛先の複数の情報処理装置に送信することが望ましい。これを受けて、例えば、サーバ装置１００の受信部７４０は部分データ２８−１を受信し（Ｓ９２２）、クライアント装置１１０Ｂの受信部７４０は部分データ２８−２を受信し（Ｓ９２４）、クライアント装置１１０Ｃの受信部７４０は部分データ２８−３を受信する（Ｓ９２６）。
【００６１】
そして、クライアント装置１１０Ａは、クライアント装置１１０Ａの電源を遮断する（Ｓ９３０）。これにより、電源が遮断された状態でクライアント装置１１０Ａが盗まれても、クライアント装置１１０Ａには元のデータを復元するための充分な部分データが記憶されていないので、機密情報の漏洩を防止できる。
【００６２】
続いて、クライアント装置１１０Ａは、クライアント装置１１０Ａを起動する指示を受けて動作を開始する（Ｓ９４０）。具体的には、クライアント装置１１０Ａは、ＲＯＭ１０１０からＢＩＯＳプログラムおよびデータ管理システム２３０のプログラムを読み出してＣＰＵ１０００に実行させてよい。そして、まず、データ管理システム２３０の取得部７２０は、部分データを取得するべく、部分データを返信する要求を、他の少なくとも１つの情報処理装置に送信する（Ｓ９５０）。
【００６３】
具体的には、取得部７２０は、他の少なくとも１つの情報処理装置のそれぞれに対し、部分データを返信するべき要求をブロードキャストしてもよい。これを実現するための具体例は以下の通りである。まず、返信の要求に対し適切に返信できるようにするため、Ｓ９２０において、送信部７１０は、返信先であるクライアント装置１１０Ａを識別する情報を、部分データに対応付けて送信して、送信先の情報処理装置に格納させる。
【００６４】
取得部７２０は、当該クライアント装置１１０Ａの識別情報を返信の要求に対応付けてブロードキャストする。この要求を受けた情報処理装置において、提供部７５０は、この要求に対応付けて受信した識別情報に対応する部分データを当該情報処理装置内の記憶装置から読み出して返信すればよい（Ｓ９５２，Ｓ９５４およびＳ９５６）。この識別情報は、具体的には、クライアント装置１１０ＡのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）アドレスであってよい。但し、識別情報はこのＭＡＣアドレスには限定されない。
【００６５】
これに代えて、取得部７２０は、他の少なくとも１つの情報処理装置のうち、部分データの送信先の情報処理装置に対してのみ、部分データを返信するべき要求を送信してよい。これを実現するための具体例は以下の通りである。まず、送信先の情報処理装置を適切に認識できるようにするため、Ｓ９２０において、送信部７１０は、複数の部分データのそれぞれを他のそれぞれの情報処理装置に送信すると共に、送信先であるそれぞれの情報処理装置の識別情報を記憶装置１０４に格納する。これらの識別情報は、記憶装置１０４に代えて、例えばＵＳＢメモリなどの、リムーバブル・メディアに格納されてもよい。
【００６６】
そして、取得部７２０は、記憶装置１０４からその識別情報を読み出して、読み出したその識別情報により識別される情報処理装置に対し、上記返信の要求を送信する。（若しくは、上記リムーバブル・メディアの装着されたコンピュータは、そのリムーバブル・メディアからその識別情報を読み出して、読み出したその識別情報により識別される情報処理装置に対し、上記返信の要求を送信する。）
【００６７】
これにより、その要求は送信先の情報処理装置にのみ送信されるので、ブロードキャストと比較してネットワークトラフィックを減少させることができる。また、要求を受けた情報処理装置の提供部７５０が部分データを単に返信すれば、クライアント装置１１０Ａにおいてデータを適切に復元できる。
【００６８】
更に他の例として、どの装置からどの装置へ部分データが送信されたかを、サーバ装置１００などのサーバ装置が集中的に管理してもよい。その実現方法の一例を、図１０を参照して説明する。
図１０は、本実施形態に係るサーバ装置１００に記録される各種情報の一例を示す。送信部７１０は、Ｓ９２０において部分データを送信する場合に、クライアント装置１１０Ａにログインしているユーザの識別情報（例えばログインＩＤ）と、当該部分データの送信先であるサーバ装置１００、クライアント装置１１０Ｂおよびクライアント装置１１０Ｃにログインしているユーザの識別情報とを対応付けてサーバ装置１００に登録する。登録された情報を送信先管理情報と呼ぶ。その一例を図１０上側に示す。
【００６９】
サーバ装置１００は、送信先管理情報において、ユーザＡＡＡを、ユーザＣＣＣ、ユーザＢＢＢおよびユーザＡＤＭＩＮに対応付けて記憶している。この送信先管理情報は、ＡＡＡがログインしている情報処理装置から、ＣＣＣがログインしている情報処理装置、ＢＢＢがログインしている情報処理装置およびＡＤＭＩＮがログインしている情報処理装置のそれぞれに、部分データが送信されたことを示している。
【００７０】
一方、図１０下側に示すように、サーバ装置１００は、ログイン管理情報を記憶している。ログイン管理情報は、それぞれの情報処理装置の識別情報（マシン識別情報、例えばＩＰアドレス）に、その情報処理装置にログインしているユーザの識別情報を対応付けて記録している。このログイン管理情報は、各クライアント装置１１０が、ユーザのログイン時にそのログインネームおよびそのクライアント装置１１０のＩＰアドレスを対応付けてクライアント装置１１０に登録することで生成される。
【００７１】
取得部７２０は、これらの情報に基づいて返信の要求を送信する。具体的には、まず、取得部７２０は、クライアント装置１１０Ａにログインしているユーザの識別情報を特定する。そして、取得部７２０は、その識別情報をサーバ装置１００に送信する。サーバ装置１００は、受信したその識別情報を送信元のユーザ識別情報として、その識別情報に対応する送信先のユーザ識別情報を、送信先管理情報から検索する。例えばクライアント装置１１０ＡにユーザＡＡＡがログインしているとすれば、それに対応付けられたユーザＢＢＢ、ＣＣＣおよびＡＤＭＩＮが検索される。
【００７２】
そして、サーバ装置１００は、検索されたそれぞれのユーザ識別情報に対応するマシン識別情報を、ログイン管理情報から検索する。この結果、例えば「１９２．１６８．０．Ｘ」、「１９２．１６８．０．Ｙ」および「１９２．１６８．０．Ｚ」の３つの識別情報が検索される。検索された識別情報はクライアント装置１１０Ａに対し返信される。これを受けて、取得部７２０は、返信を受けたそれぞれの識別情報により識別される情報処理装置に対し、部分データを返信する要求を送信する。
【００７３】
図９の説明に戻る。次に、復元部７３０は、部分データ２８が取得されたことにより記憶装置１０４に基準個数の部分データが格納されたことを条件に、基準個数の当該部分データに基づいて、記憶装置１０４へデータを復元する（Ｓ１１８０）。具体的には、復元部７３０は、記憶装置１０４へ業務用ＯＳプログラム２０およびユーザデータ２２を復元する。この場合、取得部７２０は、復元した業務用ＯＳプログラム２０が最新のバージョンであるかどうかをサーバ装置１００に問い合わせてよい。業務用ＯＳプログラム２０が最新のバージョンでない場合、取得部７２０は、業務用ＯＳプログラム２０と最新のバージョンのＯＳとの差分更新データをサーバ装置１００から取得する。
【００７４】
差分更新データは、このようにプログラム単位の差分を示してもよい。これに代えて、差分更新データは、アーカイブ・データを単位とした差分を示してもよいし、ファイルシステムを単位とした差分を示したよい。そして、取得部７２０は、取得したその差分更新データにより業務用ＯＳプログラム２０を更新する。このように、業務用ＯＳプログラム２０の管理は、上記秘密分散法に基づく方法と、サーバ装置１００から取得する方法とのハイブリッド型であってよい。
【００７５】
そして、取得部７２０は、業務用ＯＳプログラム２０に基づく業務用ＯＳ２１０の動作を開始させる（Ｓ１１９０）。また、クライアント装置１１０Ａは、動作を再度終了するときには、Ｓ９００の処理を戻して図９の処理を繰り返す。また、クライアント装置１１０Ｂ、クライアント装置１１０Ｃおよびクライアント装置１１０Ｄのそれぞれについても、クライアント装置１１０Ａと略同一に動作するから説明を省略する。
【００７６】
図１１は、本実施形態に係る情報システム１０の処理フローの第２例を示す。この第２例では、アーカイブ・データ自体に代えて、アーカイブ・データを暗号化するための暗号鍵を秘密分散法により分割して送信する。具体的には、まず、クライアント装置１１０Ａの分割部７００は、アーカイブ・データを暗号化するための暗号鍵を生成し、または、既に生成した暗号鍵を更新する（Ｓ１１００）。
【００７７】
次に、分割部７００は、生成し、または、更新したその暗号鍵を、第１個数の部分データに分割する（Ｓ１１１０）。そして、送信部７１０は、分割したそれら第１個数の部分データのうち少なくとも１つの部分データを、他の少なくとも１つの情報処理装置に送信すると共に記憶装置１０４から削除する（Ｓ１１２０）。ここでは例えば３個の部分データのそれぞれが、サーバ装置１００、クライアント装置１１０Ｂおよびクライアント装置１１０Ｃのそれぞれに送信される。
【００７８】
これに応じて、サーバ装置１００の受信部７４０、クライアント装置１１０Ｂの受信部７４０、および、クライアント装置１１０Ｃの受信部７４０のそれぞれが、部分データを受信して記憶する（Ｓ１１２２，Ｓ１１２４およびＳ１１２６）。
クライアント装置１１０Ａは、以上の処理を、電源の遮断指示を受けるまで例えば定期的に繰り返す。
【００７９】
そして、クライアント装置１１０Ａが動作の終了の指示、例えば電源の遮断指示を受けると（Ｓ１１３０）、クライアント装置１１０Ａの暗号部７６０は、記憶装置１０４に記憶された業務用ＯＳプログラム２０およびユーザデータ２２のアーカイブ・データを生成して、そのアーカイブ・データを最新の（即ち直近に更新された）暗号鍵により暗号化する（Ｓ１１４０）。暗号化されたアーカイブ・データは記憶装置１０４に格納される。暗号化が完了すると、クライアント装置１１０Ａは、その暗号鍵を記憶装置１０４から削除して電源を遮断する（Ｓ１１５０）。
【００８０】
その後に、クライアント装置１１０Ａが、クライアント装置１１０Ａを起動するべき指示を受けると（Ｓ１１６０）、クライアント装置１１０Ａの取得部７２０は、サーバ装置１００、クライアント装置１１０Ｂおよびクライアント装置１１０Ｃのそれぞれかが部分データを取得して記憶装置１０４に格納する（Ｓ１１７０）。即ち、サーバ装置１００、クライアント装置１１０Ｂおよびクライアント装置１１０Ｃのそれぞれは、クライアント装置１１０Ａの要求に応じて、クライアント装置１１０ＡからＳ１１２０において送信を受けた部分データを提供する（Ｓ１１７２，Ｓ１１７４およびＳ１１７６）。
【００８１】
そして、復元部７３０は、部分データ２８が取得されたことにより記憶装置１０４に基準個数の部分データが格納されたことを条件に、基準個数の当該部分データに基づいて、記憶装置１０４へデータを復元する（Ｓ１１８０）。具体的には、復元部７３０は、記憶装置１０４へ暗号鍵を復元する。そして、復元部７３０は、その暗号鍵によりアーカイブ・データを復号化して、その復号化したアーカイブ・データを伸張して業務用ＯＳプログラム２０およびユーザデータ２２を復元する。この結果、業務用ＯＳプログラム２０に基づく業務用ＯＳ２１０の動作が開始する（Ｓ１１９０）。
【００８２】
但し、上述のように、復元部７３０は、サーバ装置１００からＯＳなどのプログラムの更新差分を取得して、その更新差分によりそのプログラムを更新してからそのプログラムを実行してもよい。これにより、更新前のＯＳなどのデータをクライアント装置１１０Ａに残さないようにすることができると共に、クライアント装置１１０Ａの利用者はあたかも更新差分方式のシン・クライアントを利用しているかのような感覚で常に最新のＯＳを利用できる。
【００８３】
以上、図１１を参照して説明した第２例によれば、アーカイブ・データそれ自体で無くそれを暗号化するための暗号鍵を送信するので、ネットワークの負荷を更に軽減することができる。また、暗号鍵は定期的に更新するので、暗号が不正に解読されるリスクを軽減できる。更に、暗号鍵は、電源の遮断のタイミングとは無関係に、例えば定期的に送信することができるので、電源遮断時に充分に多くの情報処理装置が稼動していない場合であっても、機密データを適切に保護できる。
【００８４】
図１２は、本実施形態に係るクライアント装置１１０Ａのハードウェア構成の一例を示す。クライアント装置１１０Ａは、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００８５】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００８６】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、例えば上記記憶装置１０４の一例であり、クライアント装置１１０Ａが使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００８７】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、クライアント装置１１０Ａの起動時にＣＰＵ１０００が実行するブートプログラムや、クライアント装置１１０Ａのハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００８８】
クライアント装置１１０Ａに提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出されクライアント装置１１０Ａにインストールされて実行される。プログラムがクライアント装置１１０Ａ等に働きかけて行わせる動作は、図１から図１１において説明したクライアント装置１１０Ａにおける動作と同一であるから、説明を省略する。
【００８９】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをクライアント装置１１０Ａに提供してもよい。
【００９０】
以上、図１から図１２を参照して説明した実施例によれば、クライアント装置に記憶されたデータを秘密分散法により分散して他の装置に保存することで、クライアント装置自体に機密情報を保存しないようにすることができる。この結果、パーソナル・コンピュータなどの通常のクライアント装置を、通信ネットワークやサーバ装置を増強することなく、シン・クライアントのように動作させることができる。
【００９１】
実際に、本願発明者らの検証によれば、従来型の通信ネットワークやサーバ装置を増強せずにそのまま利用して、本実施形態に係るシステムを導入しても、充分実用的であることが確かめられた。具体的には、従来型の通信ネットワークやサーバ装置を増強せずにそのまま利用して、イメージ伝送方式を採用した従来のシン・クライアントを導入すると、１台のクライアント装置の起動に数十分を要して実用的でない。また、従来型の通信ネットワークやサーバ装置を増強せずにそのまま利用して、画面伝送方式を採用した従来のシン・クライアントを導入すると、画面表示に激しいコマ落ちが発生して実用的でない。これに対し、本実施形態においては１台のクライアント装置の起動は数分で完了し、充分実用的であることが確かめられた。
【００９２】
従って、企業経営者またはシステム管理者などの観点からは、膨大な追加投資なしでセキュリティを高めることができる。例えば、銀行や保険・証券などのセキュリティ確保が重要な業種においても、例えばコールセンターなどのように、多数のクライアント装置が稼動しているシステムが用いられている。そのようなシステムにおいても、クライアント装置の盗難のみならず、クライアント装置の故障または老朽化によるクライアント装置の入れ替えなどの場合において、破棄したクライアント装置から情報が漏洩することを防ぐことができる。
【００９３】
また、クライアント装置のユーザの観点からは、本実施形態に係るシステムを導入しても、パーソナル・コンピュータとほぼ同様の感覚で違和感無く業務を継続することができる。例えば、アプリケーション・プログラムの開発現場では、開発中のアプリケーション・プログラムや開発ツールを動作させるために通常のパーソナル・コンピュータを利用する必要がある一方で、開発中のプログラムまたはテストのアイデアなどの、機密情報が多数存在する。そのような場合であっても、本実施形態に係るシステムによれば、セキュリティを向上させつつも、通常のパーソナル・コンピュータのアプリケーション・プログラムをそのまま動作させることができる。
【００９４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００９５】
【図１】図１は、本実施形態に係る情報システム１０の全体構成の一例を示す。
【図２】図２は、本実施形態に係るクライアント装置１１０Ａの機能構成の一例を示す。
【図３】図３は、それぞれの部分データを送信した後における情報システム１０の状態を示す。
【図４】図４は、アーカイブ・データを分割してそれぞれの部分データを生成する処理の概念図である。
【図５】図５は、クライアント装置１１０Ａが盗難・紛失にあった場合における情報システム１０の状態を示す。
【図６】図６は、クライアント装置１１０Ｃが休止中の場合における情報システム１０の状態を示す。
【図７】図７は、本実施形態においてクライアント装置１１０ＤがＯＳプログラム７０を分割して他のコンピュータに送信した場合における情報システム１０の状態を示す。
【図８】図８は、本実施形態に係るデータ管理システム２３０の機能構成の一例を示す。
【図９】図９は、本実施形態に係る情報システム１０の処理フローの第１例を示す。
【図１０】図１０は、本実施形態に係るサーバ装置１００に記録される各種情報の一例を示す。
【図１１】図１１は、本実施形態に係る情報システム１０の処理フローの第２例を示す。
【図１２】図１２は、本実施形態に係るクライアント装置１１０Ａのハードウェア構成の一例を示す。
【符号の説明】
【００９６】
１０  情報システム
２０  業務用ＯＳプログラム
２２  ユーザデータ
２４  個人用ＯＳプログラム
２６  ユーザデータ
２８  部分データ
７０  ＯＳプログラム
７２  部分データ
１００  サーバ装置
１１０  クライアント装置
１０４  記憶装置
２００  ＢＩＯＳ
２１０  業務用ＯＳ
２２０  個人用ＯＳ
２３０  データ管理システム
７００  分割部
７１０  送信部
７２０  取得部
７３０  復元部
７４０  受信部
７５０  提供部
７６０  暗号部
１０００  ＣＰＵ
１０１０  ＲＯＭ
【図１】
2009139990.tif 000003
【図２】
2009139990.tif 000004
【図３】
2009139990.tif 000005
【図４】
2009139990.tif 000006
【図５】
2009139990.tif 000007
【図６】
2009139990.tif 000008
【図７】
2009139990.tif 000009
【図８】
2009139990.tif 000010
【図９】
2009139990.tif 000011
【図１０】
2009139990.tif 000012
【図１１】
2009139990.tif 000013
【図１２】
2009139990.tif 000014