(57)【要約】【課題】暗号鍵をより安全に保管できる手法を提供する。【解決手段】第１の元データを暗号化して第１暗号化データを生成する第１暗号化部と、生成された前記第１暗号化データを復号化する第１復号鍵を生成する第１復号鍵生成部と、第２の元データを暗号化して第２暗号化データを生成する第２暗号化部と、生成された前記第２暗号化データを復号化する第２復号鍵を生成する第２復号鍵作成部と、前記第１暗号化データと、前記第２復号鍵との対から第１断片化データを作成する第１断片化データ作成部と、前記第２暗号化データと、前記第１復号鍵データとの対からなる第２断片化データを作成する第２断片化データ作成部とを備えることを特徴とするデータ処理装置。【選択図】図１
2007243329.tif 000002
【特許請求の範囲】
【請求項１】
第１の元データを暗号化して第１暗号化データを生成する第１暗号化部と、
生成された前記第１暗号化データを復号化する第１復号鍵を生成する第１復号鍵生成部と、
第２の元データを暗号化して第２暗号化データを生成する第２暗号化部と、
生成された前記第２暗号化データを復号化する第２復号鍵を生成する第２復号鍵作成部と、
前記第１暗号化データと、前記第２復号鍵との対から第１断片化データを作成する第１断片化データ作成部と、
前記第２暗号化データと、前記第１復号鍵データとの対からなる第２断片化データを作成する第２断片化データ作成部とを備えることを特徴とするデータ処理装置。
【請求項２】
前記第１暗号化部と前記第１復号鍵生成部と前記第１断片化データ作成部とが第１の装置に配置され、
前記第２暗号化部と前記第２復号鍵生成部と前記第２断片化データ作成部とが第２の装置に配置されて第１と第２の装置とが対をなし、
各装置は、対になる装置との間で第１および第２復号鍵を送受信する復号鍵通信部をさらに備える請求項１に記載のデータ処理装置。
【請求項３】
外部からの要求に応じて、前記第１断片化データ、あるいは、前記第２断片化データを外部へ提供する断片化データ通信部をさらに備える請求項２に記載のデータ処理装置。
【請求項４】
元データを前記第１元データと前記第２元データとに分割するデータ分割部をさらに備える請求項１に記載のデータ処理装置。
【請求項５】
元データを分割した一部分を暗号化し得られた暗号化部分データと、元データを分割した他の部分を暗号化し得られた暗号化部分データを復号化する復号鍵とからなる断片化データを外部より取得する断片化データ取得部と、
取得した各断片化データから暗号化部分データと復号鍵とを抽出する抽出部と、
抽出された各部分の暗号化部分データをそれに対応する前記復号鍵を用いて復号化し複数の分割された元データへと復号化する復号化部と、
復号化された前記複数の元データを合成することにより元データを取得するデータ合成部とを備えることを特徴とするデータ復元装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、秘密にしておきたいデータを暗号化して安全に保管するためのデータ処理装置および保管された前記元データを復元するデータ復元装置に関する。
【背景技術】
【０００２】
意図した特定の者以外に情報が取得できないようにするものとして、暗号処理が知られている。近年、コンピュータ等の情報処理装置によって情報をデータとしてやりとりするようになり、さらにインターネットに代表されるデータ通信手段の普及によって暗号化処理の重要性は高まりつつある。たとえば、個人情報を扱う企業や団体で、保管されている個人情報が外部に流出してしまうと、情報の対象となった個人が迷惑を蒙るだけでなく、個人情報を管理していた企業あるいは団体が社会的責任を問われ多大な損害を蒙ることになりかねない。
【０００３】
暗号方式には、大別して共通鍵暗号方式と、公開鍵暗号方式がある。共通鍵暗号方式は、データの暗号化と復号化に共通の暗号鍵（共通鍵）を用いる方式である。公開鍵方式は、データの暗号化と復号化に異なる暗号鍵（公開鍵と秘密鍵）を用いる方式である。これらの方式は、それぞれの長所、短所を持ち、用途によって使い分けられたり、２つの方式を組み合わせて用いられたりしている。たとえば、データを自分で安全に保管しておきたい場合には、共通鍵方式が多用される。共通鍵方式は、公開鍵方式に比べて暗号化処理が単純で短時間のうちに処理が可能であり、また、データを暗号化した者が共通鍵だけを管理すればよく、鍵の管理も単純だからである。一方、公開鍵方式は、相手に暗号化に用いる鍵を安全に渡せるという長所があり、通信を介して相手とデータをやり取りする場合に用いられる。ただし、暗号化処理が複雑で計算時間を要する。このため、長いデータをやり取りする場合には、共通鍵暗号方式と公開鍵暗号方式とが組み合わせて用いられることが多い。
【０００４】
前述のいずれの暗号方式も、暗号鍵を用いる点で共通する。暗号鍵とは、暗号処理に用いるデータである。暗号処理は、データ変換の一種であるといえ、当該データ変換の規則を示すデータが暗号鍵である。従って、いかに解読されにくい暗号方式を用いたとしても、暗号鍵を安全に保管できなければ、データの安全性は確保されない。これは、たとえばパスワードを用いて部外者のアクセスを制限するシステムにおいて、いかに複雑なパスワードを用いたとしても、部外者にそのパスワードが盗まれてしまえば、もはや部外者からのアクセスを制限できないのと同様である。
【０００５】
そこで、優れた暗号方式を用いることと同様に、暗号鍵を安全に保管する手法が重要になる。即ち、悪意の第三者によるネットワーク上の情報の盗み見や、いわゆるなりすまし、あるいはデータを保管した装置の盗難などがあっても悪意の第三者が暗号鍵を発見して使用することのないようにする手法が望まれている。
【０００６】
これに対して、デジタルコンテンツの不正利用対策という限定された分野であるが、分割したコンテンツを、それぞれ異なる暗号鍵によって暗号化し、暗号化されたコンテンツを配信することによって一部のコンテンツが不正に復号化されてもコンテンツ全体の復号化が困難なようにする手法が知られている（たとえば、特許文献１参照）。
【特許文献１】特開２００２−２０４２２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、分割されたコンテンツの各部分を復号化するための各暗号鍵をクライアント端末上に保存すると、クライアント端末が盗難に遭遇した場合に、すべての暗号鍵が盗まれてしまい、コンテンツが解読されてしまうリスクが大きい。さらに、ネットワークを介して各クライアント端末がコンテンツを取得するシステムの場合、各クライアント端末が暗号鍵の管理と更新を行う必要があり、各クライアント端末における暗号処理の負荷が大きい。一方、ネットワーク上のサーバーで暗号鍵を集中管理する方式をとると、ネットワーク上で暗号鍵のやりとりが頻繁に行われることになり、ネットワーク上で暗号鍵を盗み見られたり、なりすましによって暗号鍵が不正に取得されたりするリスクが大きい。
【０００８】
この発明は、このような事情を考慮してなされたものであり、暗号鍵をより安全に保管できる手法を提供するものである。
【課題を解決するための手段】
【０００９】
この発明は、
（１）第１の元データを暗号化して第１暗号化データを生成する第１暗号化部と、生成された前記第１暗号化データを復号化する第１復号鍵を生成する第１復号鍵生成部と、第２の元データを暗号化して第２暗号化データを生成する第２暗号化部と、生成された前記第２暗号化データを復号化する第２復号鍵を生成する第２復号鍵作成部と、前記第１暗号化データと、前記第２復号鍵との対から第１断片化データを作成する第１断片化データ作成部と、前記第２暗号化データと、前記第１復号鍵データとの対からなる第２断片化データを作成する第２断片化データ作成部とを備えることを特徴とするデータ処理装置を提供する。
【００１０】
（２）元データを分割した一部分を暗号化し得られた暗号化部分データと、元データを分割した他の部分を暗号化し得られた暗号化部分データを復号化する復号鍵とからなる断片化データを外部より取得する断片化データ取得部と、取得した各断片化データから暗号化部分データと復号鍵とを抽出する抽出部と、抽出された各部分の暗号化部分データをそれに対応する前記復号鍵を用いて復号化し複数の分割された元データへと復号化する復号化部と、復号化された前記複数の元データを合成することにより元データを取得するデータ合成部とを備えることを特徴とするデータ復元装置を提供する。
【発明の効果】
【００１１】
前記（１）のデータ処理装置は、前記第２暗号化データを復号化する第２復号鍵を生成する第２復号鍵作成部と、前記第１暗号化データと、前記第２復号鍵との対から第１断片化データを作成する第１断片化データ作成部と、前記第２暗号化データと、前記第１復号鍵データとの対からなる第２断片化データを作成する第２断片化データ作成部とを備えるので、第三者に秘密にしたいデータが複数の部分に断片化され、かつ暗号化され、さらに暗号化されたデータを復号化する復号鍵が断片化されて他の部分が暗号化された暗号化データと共に個別に保管され、データの安全性が確保される。たとえば、断片化データの一つが盗まれても暗号化されたデータを容易に復元することができない。
ここで、各断片化データを個別の場所に保管する形態は、各断片化データを互いに異なる装置に保管することが好ましいが、必ずしもこれに限定されるものではない。たとえば、同一装置内に独立して制御される複数の保管部がある場合に、各保管部に断片化データを分散して保管してもよい。あるいは同一保管部内に各断片化データを保管する場合であっても、互いのデータの関連性が第三者にわからないように分散して保管するようにしてもよい。
【００１２】
また、前記（２）のデータ復元装置は、各断片化データから暗号化部分データと復号鍵とを抽出する抽出部と、抽出された各部分の暗号化部分データをそれに対応する前記復号鍵を用いて復号化し複数の分割された元データへと復号化する復号化部と、前記復号化された複数の元データを合成することにより元データを取得するデータ合成部とを備えるので、外部もしくは内部のデータ保管部から取得された各断片化データから元データを取得することができる。従って、断片化されて安全に保管されたデータからもとのデータを復元することができる。
【００１３】
また、この発明は、複数部分からなる元データの各部分に対応する複数の断片化データであって、前記元データの一部分が暗号化された暗号化部分データと他の部分が暗号化された暗号化部分データを復号化する復号鍵とを対にしてなる断片化データを外部とやり取りするデータ通信部と、前記断片化データを保管するデータ保管部とを備えるデータ保管装置を提供する。
【００１４】
前記のデータ保管装置は、断片化データを外部とやり取りするデータ通信部と、前記断片化データを保管するデータ保管部とを備えるので、第三者に秘密にしたいデータを安全に保管することができる。たとえば、断片化データの一つが盗まれても、それはもとのデータの一断片にすぎず、しかも断片が暗号化されており、復号化に用いる鍵も断片化されているので、もとのデータを容易に復元することができない。
【００１５】
同一ネットワークに接続された複数のネットワークサーバーが、それぞれ前記（１）のデータ処理装置としての機能を有し、前記ネットワークを介して接続されたクライアント端末が前記（２）のデータ復元装置の機能を有していてもよい。また、前記ネットワークサーバーが、前記のデータ保管装置の機能をさらに有していてもよい。
この場合、各ネットワークサーバーがクライアント端末に断片化データを提供し、クライアント端末が、各ネットワークサーバーから受信した断片化データからデータを復元する。
【００１６】
前記（１）のデータ処理装置は、たとえば、マイクロプロセッサと当該マイクロプロセッサが実行する処理プログラムを記憶する記憶部とを有する汎用のネットワークサーバーである。この場合、前記データ処理装置の各部の機能は、前記マイクロプロセッサが予め記憶された処理プログラムを実行することによって実現される。
【００１７】
また、前記（２）のデータ復元装置は、たとえば、マイクロプロセッサと当該マイクロプロセッサが実行する処理プログラムを記憶する記憶部とを有する汎用のパーソナルコンピュータである。この場合、データ復元装置の各部の機能は、前記マイクロプロセッサが予め記憶された処理プログラムを実行することによって実現される。
【００１８】
異なる形態として、前記（１）のデータ処理装置の機能がクライアント端末上で実現され、前記クライアント端末とネットワークを介して接続される複数のネットワークサーバーが、それぞれ前記のデータ保管装置の機能を実現する形態であってもよい。さらに、前記クライアント端末は、前記（２）のデータ復元装置の機能を有する。
【００１９】
この場合、前記クライアント端末がデータを分割して複数の部分鍵と復号鍵とを生成し、それらを組み合わせて断片化データを作成し、各断片化データを各データ保管装置に保管させる。また、前記クライアント端末は、必要に応じて各データ保管装置から断片化データを取得し、もとのデータを復元する。
【００２０】
前記クライアント端末は、たとえば、マイクロプロセッサと当該マイクロプロセッサが実行する処理プログラムを記憶する記憶部とを有する汎用のパーソナルコンピュータである。この場合、前記クライアント端末のデータ処理装置ならびにデータ復元装置としての各部の機能は、前記マイクロプロセッサが予め記憶された処理プログラムを実行することによって実現される。
【００２１】
また、前記（１）、（２）の各装置および前記のデータ保管装置は、汎用のパーソナルコンピュータやネットワークサーバーに限らず、たとえば、ＰＯＳなど特定の用途に向けた情報処理装置や、個人情報携帯端末などで実現されてもよい。あるいは、電子機器に組み込まれたマイクロコンピュータで実現されてもよい。また、一部の機能がハードウェアで実現されてもよい。
【００２２】
前記（１）のデータ処理装置において、前記データ管理部の処理に対応して前記第１断片化データを保管するデータ保管部をさらに備えていてもよい。即ち、データ処理装置が、前記のデータ保管装置の機能を併せ持つものであり、データ処理装置内前記第１断片化データが保管されてもよい。
さらに、前記第２断片化データを含む他の断片化データが、外部の装置に保管されるデータであってもよい。即ち、第１断片化データ以外の断片化データが、第１断片化データが保管されるデータ処理装置と別の装置に保管されてもよい。
また、前記元データが、暗号処理に用いる暗号鍵、特に、暗号の解除処理に用いられる解除鍵であってもよい。
【００２３】
また、前記（１）のデータ処理装置において、前記第１暗号化部と前記第１復号鍵生成部と前記第１断片化データ作成部とが第１の装置に配置され、前記第２暗号化部と前記第２復号鍵生成部と前記第２断片化データ作成部とが第２の装置に配置されて第１と第２の装置とが対をなし、各装置は、対になる装置との間で第１および第２復号鍵を送受信する復号鍵通信部をさらに備えていてもよい。
さらに、外部からの要求に応じて、前記第１断片化データ、あるいは、前記第２断片化データを外部へ提供する断片化データ通信部をさらに備えていてもよい。
【００２４】
また、保管された第１断片化データを外部からの要求に応じて外部へ提供するデータ通信部をさらに備えていてもよい。しかし、第１断片化データを外部とやり取りする手法は、通信に限定されるものではなく、メモリカードなど着脱可能な記憶媒体でやり取りをしてもよい。
前記（１）のデータ処理装置において、前記データ管理部が、各断片化データを複数の外部装置に分散して保管させるように処理をしてもよい。
また、前記元データが、暗号処理に用いる暗号鍵、特に、暗号の解除処理に用いられる解除鍵であってもよい。
さらにまた、元データを前記第１元データと前記第２元データとに分割するデータ分割部をさらに備えていてもよい。
【００２５】
さらにまた、前記データ管理部が、各断片化データを複数の外部の装置に分けて保管させるように処理をするものであってもよい。このようにすれば、各断片化データが複数の装置に分けて保管されるので、すべての断片化データを盗むことは非常に困難になり、よりデータの安全性が確保される。ただし、各断片化データを同一装置内で個別に記憶するようにしてもよい。たとえば、一台の装置が独立して制御される複数の記憶部を備え、各記憶装置に分散して断片化データを記憶するようにしてもよい。
【００２６】
また、前記（２）のデータ復元装置において、前記データ保管部が、外部の複数の装置に配置されたものであり、前記断片化データ取得部が、各データ保管部に分かれて保管された各部分の断片化データを各装置から取得するものであってもよい。
さらにまた、前記元データが、暗号処理に用いる暗号鍵、特に、暗号の解除処理に用いられる解除鍵であってもよい。
また、前記断片化データが保管された外部の装置に前記断片化データを要求する断片化データ要求部をさらに備えていてもよい。
【発明を実施するための最良の形態】
【００２７】
以下、図面を用いてこの発明をさらに詳述する。以下の説明により、この発明をよりよく理解することが可能であろう。なお、以下の説明は、すべての点で例示であって、限定的なものではないと考えられるべきである。
【００２８】
（実施の形態１）
図１は、この実施の形態に係るシステムの各ブロックの構成を示すブロック図である。図１に示すように、このシステムは、暗号処理を行うクライアント端末１とネットワーク３を介して接続される複数のサーバーからなり、クライアント端末１は、重要なデータを暗号処理部で処理する。そして、前記暗号処理に用いた暗号鍵を第三者に秘密にしておきたいデータとして安全に保管するために暗号化する。以下の説明で、前記暗号処理に用いた暗号鍵をさらに暗号化する鍵を、他の鍵と区別し易いように秘密鍵という。以下の説明で用いる「秘密鍵」の語は、前述の公開鍵方式で一般的に用いられる「秘密鍵」の意味に限定されない。たとえば、共通鍵方式の「共通鍵」も、この説明の「秘密鍵」になり得る。クライアント端末１は、秘密鍵の断片を各サーバーから取得し、取得した秘密鍵の断片を合成し、前記暗号処理に用いる秘密鍵を復元する。
【００２９】
図１で、サーバーＡ ５は、クライアントが暗号処理に使用する秘密鍵の第１の部分（図１にａ２で示す）をクライアント端末１に提供する。サーバーＢ ７は、前記秘密鍵の第２の部分（図１にｂ２で示す）をクライアント端末１に提供する。ここで、前記第１部分の秘密鍵と、第２部分の秘密鍵とは、それぞれ暗号化されているものとする。サーバーＢ ７は、第１部分の秘密鍵ａ２を復号化する秘密鍵（第１復号鍵）ａｘを、前記第２部分の秘密鍵ｂ２とともにクライアント端末１に提供する。また、サーバーＡ ５は、前記第２部分の秘密鍵ｂ１を復号化する秘密鍵（第２復号鍵）ｂｘを、前記第１部分の秘密鍵ａ２と共に提供する。
【００３０】
サーバーＡ ５およびサーバーＢ ７は、上記機能を実現するために次の各ブロックを有する。第１部分鍵生成部９は、前記第１部分の秘密鍵である部分鍵ａ１を生成するサーバーＡ ５内のブロックである。第２部分鍵生成部１１は、前記第２部分の秘密鍵である部分鍵ｂ１を生成するサーバーＢ ７内のブロックである。なお、第１部分鍵生成部９と、第２部分鍵生成部１１とは、互いに独立して部分鍵ａ１と、部分鍵ｂ１とを生成する。最終的にクライアント端末１が暗号化処理に用いる秘密鍵は、ａ１とｂ１を合成したものであるが、ａ１とｂ１との相関を必要としない。
【００３１】
第１暗号化部１３は、第１部分鍵生成部９で生成された部分鍵ａ１を暗号化し、暗号化された部分鍵ａ２を生成するサーバーＡ ５内のブロックである。第２暗号化部１５は、第２部分鍵生成部１１で生成された部分鍵ｂ１を暗号化し、暗号化された部分鍵ｂ２を生成するサーバーＢ ７内のブロックである。この実施の形態において、第１暗号化部１３および第２暗号化部１５は、それぞれが請求項にいう暗号化部に対応する。また、サーバーＡ ５、サーバーＢ ７は、それぞれが請求項にいうデータ処理装置に対応する。さらに、サーバーＡ ５、サーバーＢ ７は、それぞれが請求項にいうデータ保管装置に対応する。また、クライアント端末１は、請求項にいうデータ復元装置に対応する。
【００３２】
また、第１復号鍵生成部１７は、暗号化された部分鍵ａ２を復号化する復号鍵ａｘを生成するサーバーＡ ５内のブロックである。第２復号鍵生成部１９は、暗号化された部分鍵ｂ２を復号化する復号鍵ｂｘを生成するサーバーＢ ７内のブロックである。第１復号鍵生成部１７および第２復号鍵生成部１９は、それぞれが請求項にいう復号鍵生成部に対応する。暗号化の方式としては、共通鍵暗号方式に分類されるＤＥＳ（Ｄａｔａ  Ｅｎｃｒｉｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）や、Ｒｉｊｎｄａｅｌなどの方式を用いることができる。ただし、これらの方式に限定されるものではなく、他の共通鍵暗号方式や、ＤＨ（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）などの公開鍵暗号方式を用いてもよい。また、サーバーごとに異なる暗号方式を用いてもよい。
【００３３】
第１復号鍵提供部２１は、第１復号鍵生成部１７で生成された復号鍵ａｘをサーバーＢ ７に提供するサーバーＡ ５内のブロックである。第２復号鍵提供部２３は、第２復号鍵生成部１９で生成された復号鍵ｂｘをサーバーＡ ５に提供するサーバーＢ ７内のブロックである。第１復号鍵提供部２１および第２復号鍵提供部２３は、それぞれが請求項にいう復号鍵提供部に対応する。
【００３４】
第１復号鍵取得部２５は、サーバーＢ ７の第２復号鍵提供部２３から、第２復号鍵ｂｘを取得するサーバーＡ ５内のブロックである。第２復号鍵取得部２７は、サーバーＡ ５の第１復号鍵提供部２１から、第１復号鍵ａｘを取得するサーバーＢ ７内のブロックである。第１復号鍵取得部２５および第２復号鍵取得部２７は、それぞれが請求項にいう復号鍵取得部に対応する。ここで、第２復号鍵提供部２３から第１復号鍵取得部２５へは、通信を介してやりとりしてもよい。この場合、通信回線は、サーバーＡ ５とサーバーＢ ７とを結ぶ専用の回線であることが好ましい。しかし、これに限定されるものではなく、ネットワーク３を介してやり取りをしてもよい。あるいは、通信を介さず、ＣＤ−ＲＷやメモリカードなどの着脱可能な記憶媒体でやり取りをしてもよい。
【００３５】
また、第１復号鍵をやり取りするタイミングと、第２復号鍵をやり取りするタイミングをずらすことにより、通信を盗み見られても前記の２つのやり取りに相関があることがより発見されにくいようにしてもよい。
【００３６】
第１断片化データ作成部２９は、暗号化された部分鍵ａ２と、サーバーＢ ７から取得した復号鍵ｂｘとを対にした第１断片化データ（ａ２＋ｂｘ）を作成するサーバーＡ ５内のブロックである。第２断片化データ作成部３１は、暗号化された部分鍵ｂ２と、サーバーＢ ７から取得した復号鍵ａｘとを対にした第２断片化データを作成するサーバーＢ ７内のブロックである。第１断片化データ作成部２９および第２断片化データ作成部３１は、それぞれが請求項にいう断片化データ作成部に対応する。
【００３７】
第１データ管理部３３は、第１断片化データ作成部２９で作成された第１断片化データ（ａ２＋ｂｘ）の保管を制御するサーバーＡ ５内のブロックであり、サーバーＡ ５内の第１データ保管部３５に、第１断片化データ（ａ２＋ｂｘ）を保管するように処理を行う。第２データ管理部３７は、第２断片化データ作成部３１で作成された第２断片化データの保管を制御するブロックであり、サーバーＢ ７内の第２データ保管部３９に、第２断片化データを保管するように処理を行うサーバーＢ ７内のブロックである。第１データ管理部３３および第２データ管理部３７は、それぞれが請求項にいうデータ管理部に対応する。また、第１データ保管部３５および第２データ保管部３９は、それぞれが請求項にいうデータ保管部に対応する。
【００３８】
第１データ通信部４１は、クライアント端末１からネットワーク３を介して復号鍵を提供するように要求を受けた場合に、第１データ保管部３５に保管されている第１断片化データ（ａ２＋ｂｘ）を前記要求に応じて取得し、クライアント端末１へ送信するサーバーＡ ５内のブロックである。第２データ通信部４３は、クライアント端末１からネットワーク３を介して復号鍵を提供するように要求を受けた場合に、第２データ保管部３９に保管されている第２断片化データ（ｂ２＋ａｘ）を前記要求に応じて取得し、クライアント端末１へ送信するサーバーＢ ７内のブロックである。第１データ通信部４１および第２データ通信部４３は、それぞれが請求項にいうデータ通信部に対応する。
【００３９】
クライアント端末１は、ネットワーク３に接続され、前記ネットワーク３を介してサーバーＡ ５、サーバーＢ ７とそれぞれやりとりをする。クライアント端末１は、サーバーＡ ５から第１断片化データを取得し、サーバーＢ ７から第２断片化データを取得し、取得した第１および第２断片化データに含まれる第１復号鍵ａｘを用いて部分鍵ａ２を復号化し、復号化された部分鍵ａ１を得る。また、第２復号鍵ｂｘを用いて部分鍵ｂ２を復号化し、復号化された部分鍵ｂ１を得る。そして、復号化された部分鍵ａ１とｂ１とを合成して秘密鍵（ａ１＋ｂ１）を生成し、生成した秘密鍵を暗号化処理に用いる。
【００４０】
クライアント端末１は、上記機能を実現するために次の各ブロックを有する。
断片化データ要求部４５は、クライアント端末１での暗号化処理に必要な秘密鍵に係る断片化データを提供するようにサーバーＡ ５およびサーバーＢ ７に対して要求を行うブロックである。なお、断片化データを要求する際に、クライアント端末１はユーザーに対して所定のＩＤやパスワードを入力するように要求してもよい。そして、入力されたＩＤとパスワード、クライアント端末１のコンピュータ名、クライアント端末１のＩＰアドレスがすべて予めサーバーＡ ５およびサーバーＢ ７に記憶された内容と一致した場合に限り、サーバーＡ ５およびサーバーＢ ７が要求に応じるようにしてもよい。このようにすれば、なりすましに対する安全性を確保することができる。
【００４１】
断片化データ取得部４７は、前記要求に応じてサーバーＡ ５から送られる第１断片化データ（ａ２＋ｂｘ）と、サーバーＢ ７から送られる第２断片化データ（ｂ２＋ａｘ）とを取得するブロックである。
【００４２】
復号化部４９は、サーバーＡ ５から取得した第１断片化データ（ａ２＋ｂｘ）に含まれる第２復号鍵ｂｘを用いて、サーバーＢ ７から取得した部分鍵ｂ２を復号化し、復号化された部分鍵ｂ１を得るブロックである。また、サーバーＢ ７から取得した第２断片化データ（ｂ２＋ａｘ）に含まれる第１復号鍵ａｘを用いて、サーバーＡ ５から取得した部分鍵ａ２を復号化し、復号化された部分鍵ａ１を得るブロックである。復号化部４９は、復号化処理を終えた後、不要になった復号鍵ａｘおよびｂｘの情報を消去する。これによって、復号鍵が意図しない者に取得されるリスクを低減する。
部分鍵合成部５１は、復号化された部分鍵ａ１とｂ１を合成して秘密鍵を取得するフロックである。部分鍵合成部５１は、請求項にいうデータ合成部に対応する。
【００４３】
暗号処理部５３は、取得された秘密鍵（ａ１＋ｂ１）を用いてデータの暗号処理を行うブロックである。ここで、前記暗号処理の一例は、次のようなものである。ネットワーク３上の図示しないデジタル情報サーバーから暗号化されたデジタル情報が提供され、提供されたデジタル情報をネットワーク３を介して受信し、受信したデジタル情報を復号化する。前記デジタル情報を復号化する部分鍵は、その断片化データがサーバーＡ ５およびサーバーＢ ７に保管されている。クライアント端末１は、サーバーＡ ５およびサーバーＢ ７から部分鍵の断片化データを取得し、取得した断片化データから秘密鍵を取得し、暗号化されたデジタル情報を復号化する。
暗号化処理を終了した後、クライアント端末１は秘密鍵の情報を消去する。
【００４４】
図３は、図１のサーバーＡ ５が実行する処理の手順を示すフローチャートである。また、図４は、図１のサーバーＢ ７が実行する処理の手順を示すフローチャートである。図３に示すように、サーバーＡ ５は、まず暗号処理部５３で使用する部分鍵ａ１を生成する（ステップＳ１０１）。この処理は、第１部分鍵生成部９の機能に対応する。部分鍵の生成は、たとえば、クライアント端末１から秘密鍵を生成するように要求があった場合、その要求に応答して前記秘密鍵の部分鍵を生成するようにしてもよい。クライアント端末１は、前述の秘密鍵の生成要求に識別情報を付加することが好ましい。付加された識別情報は、前記秘密鍵の部分鍵をクライアント端末１がサーバーＡ ５およびサーバーＢ ７から取得する際の識別情報として用いられる。前記識別情報の一例は、生成された秘密鍵を用いて暗号処理を行うデータに予め付された識別コードとユーザーに入力させたパスワードの組み合わせである。より具体的には、配信コンテンツに対してコンテンツの種類ごとに付されたＩＤコードとパスワードの組み合わせである。ただし、識別情報はこれに限定されるものではなく、暗号処理対象のデータに対応する秘密鍵を識別できる情報であればよい。
【００４５】
次に、生成した部分鍵ａ１を暗号化して、暗号化された部分鍵ａ２を生成する。この処理は、第１暗号化部１３の機能に対応する。また、同時に、部分鍵ａ２を復号化するための復号鍵ａｘを生成する（ステップＳ１０３）。この処理は、第１復号鍵生成部１７の機能に対応する。
続いて、生成した復号鍵ａｘをサーバーＢ ７へ送信する（ステップＳ１０５）。この処理は、第１復号鍵提供部２１の機能に対応する。
【００４６】
一方、図４に示すように、サーバーＢ ７は、秘密鍵の残りの部分となる部分鍵ｂ１を生成し（ステップＳ２０１）、さらに部分鍵ｂ１を暗号化して部分鍵ｂ２を生成すると共に部分鍵ｂ２を復号化する復号鍵ｂｘを生成する（ステップＳ２０３）。そして、生成した復号鍵ｂｘをサーバーＡ ５に送信する（ステップＳ２０５）。
【００４７】
サーバーＡ ５は、サーバーＢ ７から送信された復号鍵ｂｘを受信する（図３のステップＳ１０７）。この処理は、第１復号鍵取得部２５の機能に対応する。続いて、暗号化された部分鍵ａ２と受信した復号鍵ｂｘを組み合わせた第１断片化データ（ａ２＋ｂｘ）を作成する（ステップＳ１０９）。この処理は、第１断片化データ作成部２９の機能に対応する。そして、作成した第１断片化データ（ａ２＋ｂｘ）を第１保管部に保管する（ステップＳ１１１）。この処理は、第１データ管理部３３の機能に対応する。
【００４８】
一方、サーバーＢ ７は、サーバーＡ ５から送信された復号鍵ａｘを受信し（図４のステップＳ２０７）、暗号化された部分鍵ｂ２と受信した復号鍵ａｘを組み合わせた第２断片化データ（ｂ２＋ａｘ）を作成する（ステップＳ２０９）。そして、作成した第２断片化データ（ｂ２＋ａｘ）を第２保管部に保管する（ステップＳ２１１）。
【００４９】
その後、サーバーＡ ５は、クライアント端末１から秘密鍵を提供するように要求を受けると（図３のステップＳ１１３）、第１データ管理部３３にデータを読み出すように要求する。ここで、クライアント端末１は、前述の秘密鍵提供要求に、提供されるべき秘密鍵を特定する識別情報を付加することが好ましい。付加される識別情報は、クライアント端末１がサーバーＡ ５およびサーバーＢ ７に秘密鍵生成要求を送信するときに付加したものに対応するものであればよい。前記秘密鍵の要求を受けた第１データ管理部３３は、第１保管部に保管された第１断片化データ（ａ２＋ｂｘ）を読み出してクライアント端末１へ送信する（ステップＳ１１５）。この処理は、第１データ通信部４１の機能に対応する。また、クライアント端末１から秘密鍵の要求をサーバーＢ ７は、（図４のステップＳ２１３）、第２保管部に保管された第２断片化データ（ｂ２＋ａｘ）を読み出してクライアント端末１へ送信する（ステップＳ２１５）。
【００５０】
また、図５は、図１のクライアント端末１が実行する処理の手順を示すフローチャートである。図５に示すように、クライアント端末１は、暗号処理部５３で暗号処理を行うために復号鍵を取得する必要が生じた場合（ステップＳ３０１）、サーバーＡ ５に対して第１断片化データを要求する（ステップＳ３０３）。この処理は、断片化データ要求部４５の機能に対応する。
【００５１】
なお、断片化データを要求するクライアント端末１は、前述の暗号鍵の生成を要求したクライアント端末１と同じ端末である必要はなく、別の端末であってもよい。たとえば、コンテンツ配信サービスにおいて、配信者サービス提供者が購入者にコンテンツを配信する形態にこの実施形態をあてはめる。この場合、配信するコンテンツを暗号化するために、配信者サービス提供者のクライアント端末１が、配信者サービス提供者のサーバーＡ ５およびサーバーＢ ７に対して暗号鍵の生成を要求する。配信者サービス提供者のクライアント端末１は、生成された秘密鍵をサーバー取得し、その後、クライアント端末１は、前記要求に応答してサーバーＡ ５およびサーバーＢ ７から取得して配信コンテンツを暗号化する。そして、購入者へコンテンツを送信する。当該コンテンツを受信した購入者は、購入者の端末からサーバーＡ ５およびサーバーＢ ７にアクセスする。そして、サーバーＡ ５およびサーバーＢ ７に保管されている秘密鍵を取得してコンテンツを復号化する。以上に述べた形態においては、暗号鍵の生成を要求するクライアント端末１は配信者サービス提供者の端末であり、断片化データを要求するクライアント端末１は、購入者の端末である。
【００５２】
フローチャートの説明を続ける。クライアント端末１は、送られた第１断片化データ（ａ２＋ｂｘ）を受信する（ステップＳ３０５）。この処理は、断片化データ取得部４７の機能に対応する。
【００５３】
また、クライアント端末１は、サーバーＢ ７に対して第２断片化データを要求する（ステップＳ３０７）。この処理は、断片化データ要求部４５の機能に対応する。その後、クライアント端末１は、前記要求に応答してサーバーＢ ７から送られた第２断片化データ（ｂ２＋ａｘ）を受信する（ステップＳ３０９）。この処理は、断片化データ取得部４７の機能に対応する。
【００５４】
続いて、クライアント端末１は、取得した第１断片化データ（ａ２＋ｂｘ）に含まれる暗号化された部分鍵ａ２を第２断片化データ（ｂ２＋ａｘ）に含まれる復号鍵ａｘを用いて復号化し、部分鍵ａ１を生成する（ステップＳ３１１）。また、クライアント端末１は、取得した第２断片化データ（ｂ２＋ａｘ）に含まれる暗号化された部分鍵ｂ２を第１断片化データ（ａ２＋ｂｘ）に含まれる復号鍵ｂｘを用いて復号化し、部分鍵ｂ１を生成する（ステップＳ３１３）。前記ステップＳ３１１とＳ３１３の処理は、復号化部４９の機能に対応する。
【００５５】
次に、クライアント端末１は、部分鍵ａ１とｂ１を合成して秘密鍵（ａ１＋ｂ１）を作成する（ステップＳ３１５）。この処理は、部分鍵合成部５１の機能に対応する。クライアント端末１の暗号処理部５３は、得られた秘密鍵（ａ１＋ｂ１）を用いて暗号処理を行う（ステップＳ３１７）。暗号処理の一例は、配信者サービス提供者が、配信コンテンツを暗号化する処理である。また、他の一例は、配信コンテンツの購入者が、前記配信者サービス提供者によって暗号化されたコンテンツを復号化する処理である。暗号処理を終えた後、クライアント端末１は、取得した秘密鍵の情報を消去し（ステップＳ３１９）処理を終了する。
【００５６】
ここで、秘密鍵生成要求を受けたサーバーは生成した部分鍵を保管するだけでなく、クライアント端末１に提供するようにしてもよい。秘密鍵を生成するのは、クライアント端末１が秘密鍵を必要としていると考えられるので、改めてクライアント端末１が秘密鍵を要求する手順を省略してもよい。
【００５７】
なお、前述の説明は、２台のサーバーの場合を例に説明したが、サーバーは３台以上であってもよく、各サーバーに断片化データを保管すればよい。たとえば、３台のサーバーが、部分鍵ａ１、ｂ１、ｃ１をそれぞれ生成し、それらの部分鍵を暗号化してａ２、ｂ２、ｃ２を生成し、暗号化された各部分鍵の復号鍵ａｘ、ｂｘ、ｃｘをそれぞれ生成し、生成した復号鍵を交換し、第１のサーバーに（ａ２＋ｂｘ）の断片化データを保管し、第２のサーバーに（ｂ２＋ｃｘ）の断片化データを保管し、第３のサーバーに（ｃ２＋ａｘ）の断片化データを保管するようにしてもよい。この場合、クライアント端末１は、第１のサーバーから（ａ２＋ｂｘ）を取得し、第２のサーバーから（ｂ２＋ｃｘ）を取得し、第３のサーバーから（ｃ２＋ａｘ）を取得して、取得した各断片化データからａ１、ｂ１、ｃ１を復元して合成し、秘密鍵（ａ１＋ｂ１＋ｃ１）を取得するようにしてもよい。
【００５８】
また、上記の説明では、各サーバーがそれぞれ一つの断片化データを保管したが、サーバーが複数の断片化データを保管するようにしてもよい。たとえば、サーバーが複数のクライアントに秘密鍵を提供する場合、クライアントによって異なる秘密鍵を提供するように複数の秘密鍵を保管する態様が考えられる。あるいは、同じクライアントから、用途に応じて異なる秘密鍵の要求を受け、要求に応じた秘密鍵を提供する態様が考えられる。これらの場合、同一のサーバーに保管する断片化データは、それぞれ個別に保管することが好ましい。ただし、これに限定されるものではない。
【００５９】
さらに、秘密鍵の各部分の長さは同一である必要はなく、互いに異なるようにしてもよい。また、秘密鍵の各部分を暗号化する暗号化方式が、互いに異なる方式であってもよい。このようにすれば、通信を盗み見られても、より秘密鍵を発見されにくいようにできる。
また、サーバーＡ ５とサーバーＢ ７の機能を、一つの装置内で実現してもよい。この場合、当該装置内で各断片化データを個別に保管することが好ましい。
【００６０】
前記ネットワーク３上には、各断片化情報がやり取りされ、それらのデータが盗まれることもあり得る。しかし、多数の通信情報の中から、各断片化データを抽出し、それらのデータの相互関係を知ることは、第三者にとって容易なことではない。その観点から、データの安全性は十分確保されている。なお、ネットワーク３の盗み見に対して、より安全性を確保するためには、断片化データの数を増やしたり、類似のデータが同時にやり取りされないように通信を時間的に分散させたりする工夫が考えられる。たとえば、断片化データ要求部４５が、サーバーＡ ５とサーバーＢ ７に対して断片化データを要求する際に、図示しないタイマー手段を用いてサーバーＡ ５への通信からサーバーＢ ７への通信までに時間的な間隔をとるようにしてもよい。
【００６１】
（実施の形態２）
実施の形態１は、サーバー側で秘密鍵を生成する態様であるが、この実施の形態では、暗号処理を行うクライアント端末１側で秘密鍵を生成する態様の一例について説明する。実施の形態１は、たとえば、暗号化された情報（デジタルコンテンツなど）をクライアント端末１が受信して復号化する用途に適したものである。これに対して、以下に説明する実施形態は、たとえば、クライアント端末１側で扱う秘密にしておきたいデータ（個人情報や経理情報など）を暗号化し、暗号化したデータの復号鍵を外部のサーバーに保管する態様に適したものである。
【００６２】
図２は、この実施の形態に係るシステムの各ブロックの構成を示すブロック図である。図２に示すように、このシステムは、暗号処理を行うクライアント端末１とネットワーク３を介して接続される複数のサーバーからなり、クライアント端末１は、前記暗号処理に用いる暗号鍵（秘密鍵）を生成して分割し、分割された部分鍵を各サーバーに提供して保管させ、必要に応じて保管された部分鍵を各サーバーから取得し、取得した部分鍵の断片を合成し、前記暗号処理に用いる秘密鍵を復元する。
【００６３】
クライアント端末１は、上記機能を実現するために、次の各ブロックを有する。
秘密鍵生成部５５は、クライアント端末１が暗号化処理に用いる秘密鍵を生成するブロックである。ここで、前記暗号化処理の一例は、次のようなものである。クライアント端末１には、顧客管理情報が入力されて記憶されており、記憶された顧客管理情報を用いて作業をおこなっている。顧客管理情報は外部に対して秘密にしたい重要なデータであるので、暗号化してクライアント端末１に記憶している。作業を行う場合は、データを復号化して用いる。暗号化は、共通鍵方式を用いる。
【００６４】
暗号鍵生成部が用いる暗号化の方式としては、共通鍵暗号方式に分類されるＤＥＳ（Ｄａｔａ  Ｅｎｃｒｉｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）や、Ｒｉｊｎｄａｅｌなどの方式を用いることができる。ただし、これらの方式に限定されるものではなく、他の共通鍵暗号方式や、公開鍵暗号方式を用いてもよい。また、サーバーごとに異なる暗号方式を用いてもよい。
【００６５】
暗号処理部５３は、生成された秘密鍵（ｄ１＋ｅ１）を用いて前述のように重要なデータを暗号化するブロックである。生成された秘密鍵は、後の暗号処理、たとえば、暗号化された前記元データを復号化する処理や、別のデータを同じ秘密鍵を用いてさらに暗号化する処理などに用いるが、秘密鍵をそのときまで前記元データと共にクライアント端末１内に保管していたのでは、クライアント端末１が盗難に遭遇したり、記憶部の内部を盗み見られたりした場合に不正使用されるリスクが大きい。そこで、生成した秘密鍵を分割して暗号化し、外部のサーバーＤ ７５およびサーバーＥ ７７に保管する。保管後は、クライアント端末１から秘密鍵の情報を消去する。
【００６６】
秘密鍵分割部５７は、前述のように、サーバーＤ ７５およびサーバーＥ ７７に秘密鍵を分割して保管するため、生成した秘密鍵（ｄ１＋ｅ１）を複数の部分鍵ｄ１、ｅ１に分割するブロックである。秘密鍵分割部５７は、請求項にいうデータ分割部に対応する。
暗号化部５９は、前記部分鍵ｄ１、ｅ１をそれぞれ暗号化して暗号化された部分鍵ｄ２、ｅ２を生成するブロックである。
【００６７】
また、復号鍵生成部６１は、暗号化された部分鍵ｄ２、ｅ２をそれぞれ復号化する復号鍵ｄｘ、ｅｘを生成するブロックである。
断片化データ作成部６３は、暗号化された部分鍵ｄ２とｅｘとを組み合わせた第４断片化データ（ｄ２＋ｅｘ）を作成し、暗号化された部分鍵ｅ２とｄｘとを組み合わせた第５断片化データ（ｅ２＋ｄｘ）を作成するブロックである。
【００６８】
データ管理部６５は、クライアント端末１で作成された各断片化データをそれぞれのサーバーに保管させるように処理するブロックである。即ち、第４断片化データ（ｄ２＋ｅｘ）をサーバーＤ ７５に保管させ、第５断片化データ（ｅ２＋ｄｘ）をサーバーＥ ７７に保管させるように処理する。
【００６９】
サーバーＤ ７５は、クライアント端末１のデータ管理部６５の要求に応じてクライアント端末１と第４断片化データ（ｄ２＋ｅｘ）をやり取りする第４データ通信部６７と、受信した第４断片化データ（ｄ２＋ｅｘ）を保管する第４データ保管部６９とを有する。
サーバーＥ ７７は、クライアント端末１のデータ管理部６５の要求に応じてクライアント端末１と第５断片化データ（ｅ２＋ｄｘ）をやり取りする第５データ通信部７１と、受信した第５断片化データ（ｅ２＋ｄｘ）を保管する第５データ保管部７３とを有する。
【００７０】
さらに、クライアント端末１は、クライアント端末１での暗号化処理に必要な秘密鍵に係る断片化データを提供するようにサーバーＡ ５およびサーバーＢ ７に対して要求を行う断片化データ要求部４５を有する。
【００７１】
なお、断片化データを要求する際に、クライアント端末１はユーザーに対して所定のＩＤやパスワードを入力するように要求してもよい。そして、入力されたＩＤとパスワード、クライアント端末１のコンピュータ名、クライアント端末１のＩＰアドレスがすべて予めサーバーＡ ５およびサーバーＢ ７に記憶された内容と一致した場合に限り、サーバーＡ ５およびサーバーＢ ７が要求に応じるようにしてもよい。このようにすれば、なりすましに対する安全性を確保することができる。
【００７２】
また、クライアント端末１は、前記要求に応じてサーバーＤ ７５から送られる第４断片化データ（ｄ２＋ｅｘ）と、サーバーＥ ７７から送られる第５断片化データ（ｅ２＋ｄｘ）とを取得する断片化データ取得部４７を有する。
【００７３】
さらに、クライアント端末１は、サーバーＤ ７５から取得した第４断片化データ（ｄ２＋ｅｘ）に含まれる第４復号鍵ｅｘを用いて、サーバーＥ ７７から取得した第５断片化データ（ｅ２＋ｄｘ）に含まれる部分鍵ｅ２を復号化し、復号化された部分鍵ｅ１を得、また、サーバーＥ ７７から取得した第５断片化データ（ｅ２＋ｄｘ）に含まれる第３復号鍵ｄｘを用いて、サーバーＤ ７５から取得した第４断片化データ（ｄ２＋ｅｘ）に含まれる部分鍵ｄ２を復号化し、復号化された部分鍵ｄ１を得る復号化部４９を有する。復号化部４９は、復号化処理を終えた後、不要になった復号鍵ｄｘおよびｅｘの情報を消去する。これによって、復号鍵が意図しない者に取得されるリスクを低減する。
【００７４】
さらにまた、クライアント端末１は、復号化された部分鍵ｄ１とｅ１を合成して秘密鍵（ｄ１＋ｅ１）を復元する部分鍵合成部５１を有する。
そして、暗号処理部５３は、復元された秘密鍵（ｄ１＋ｅ１）を用いて暗号化処理を行う。暗号化処理の終了後、クライアント端末１は秘密鍵の情報を消去する。
【００７５】
なお、この実施の形態では、クライアント端末１が、請求項にいうデータ処理装置として機能し、さらに、クライアント端末１がデータ復元装置として機能する。サーバーは、データを保管するデータ保管装置として機能する。
【００７６】
図６は、図２のクライアント端末１が、秘密鍵を生成し、生成した秘密鍵を外部のサーバーに保管する際の処理の手順を示すフローチャートである。図６に示すように、クライアント端末１は、暗号処理部５３で暗号処理を行うために復号鍵を取得する必要が生じた場合（ステップＳ４０１）、秘密鍵（ｄ１＋ｅ１）を生成する（ステップＳ４０３）。ここで、秘密鍵をｄ１とｅ１の部分に分けて表記するのは、その後の処理で秘密鍵が分割されて保管されるための便宜的な表記であり、生成の時点では秘密鍵は一つのデータである。この処理は、秘密鍵生成部５５の機能に対応する。
【００７７】
続いて、クライアント端末１は、生成した秘密鍵をｄ１とｅ１の２つの部分鍵に分割する（ステップＳ４０５）。この処理は、秘密鍵分割部５７の機能に対応する。さらに、クライアント端末１は、部分鍵ｄ１を暗号化して暗号化された部分鍵ｄ２を生成し、部分鍵ｅ１を暗号化して暗号化された部分鍵ｅ２を生成する。この処理は、暗号化部５９の機能に対応する。また、暗号化された部分鍵ｄ２を復号化する復号鍵ｄｘと、暗号化された部分鍵ｅ２を復号化する復号鍵ｅｘを生成する。この処理は、復号鍵生成部６１の機能に対応する（ステップＳ４０７）。
【００７８】
次に、クライアント端末１は、暗号化された部分鍵ｄ２と復号鍵ｅｘを組み合わせて断片化データ（ｄ２＋ｅｘ）を作成し（ステップＳ４０９）、作成した断片化データ（ｄ２＋ｅｘ）をサーバーＤ ７５へ送信し、送信した断片化データをサーバーＤ ７５に保管させる（ステップＳ４１１）。また、クライアント端末１は、暗号化された部分鍵ｅ２と復号鍵ｄｘを組み合わせて断片化データ（ｅ２＋ｄｘ）を作成し（ステップＳ４１３）、作成した断片化データ（ｅ２＋ｄｘ）をサーバーＥ ７７へ送信し、送信した断片化データをサーバーＥ ７７に保管させる（ステップＳ４１５）。
【００７９】
クライアント端末１は、サーバーへ各断片化データを送信する際に、識別情報を付加して送信することが好ましい。付加された識別情報は、クライアント端末１がサーバーＤ ７５およびサーバーＥ ７７に保管された断片化データを後から取得する際に、断片化データを特定するために用いられる。識別情報の一例は、クライアント端末１のコンピュータ名とクライアント端末１が暗号処理を行うファイル名とユーザーに入力させたパスワードの組み合わせである。ただし、識別情報はこれに限定されるものではなく、暗号処理対象のデータに対応する断片化データを識別できる情報であればよい。
【００８０】
前記ステップＳ４０９とステップＳ４１３の処理は断片化データ作成部６３の機能に対応する。また、前記ステップＳ４１１とステップＳ４１５の処理は、データ管理部６５の機能に対応する。
また、クライアント端末１は、前記ステップＳ４０３で生成した秘密鍵（ｄ１＋ｅ１）を用いて暗号処理を行う（ステップＳ４１７）。この処理は、暗号処理部５３の機能に対応する。
【００８１】
その後、クライアント端末１は、追加の暗号処理のためにまだ秘密鍵が必要かどうかを判断し（ステップＳ４１９）、不要な場合は秘密鍵を消去して（ステップＳ４２１）処理を終了する。一方、追加の暗号処理のために秘密鍵が必要であっても、追加の暗号処理には更新された秘密鍵を用いる場合（ステップＳ４２３）は、秘密鍵を消去し（ステップＳ４２５）、新たな秘密鍵を生成するためにルーチンは、ステップＳ４０３へ進む。
一方、追加の暗号処理に生成された秘密鍵（ｄ１＋ｅ１）を用いる場合、ルーチンはステップＳ４１７へ進んで追加の暗号処理を行う。
【００８２】
図７は、クライアント端末１がサーバーに保管された断片化データから秘密鍵を取得して使用する場合の処理の手順を示すフローチャートである。
図７に示すように、クライアント端末１は、暗号処理部５３で暗号処理を行うために復号鍵を取得する必要が生じた場合（ステップＳ５０１）、サーバーＤ ７５に対して第４断片化データを要求する（ステップＳ５０３）。この処理は、断片化データ要求部４５の機能に対応する。なお、断片化データを要求するクライアント端末１は、前述の暗号鍵の生成を要求したクライアント端末１と同じ端末である必要はなく、別の端末であってもよい。
【００８３】
クライアント端末１は、送られた第４断片化データ（ｄ２＋ｅｘ）を受信する（ステップＳ５０５）。この処理は、断片化データ取得部４７の機能に対応する。
また、クライアント端末１は、サーバーＥ ７７に対して第５断片化データを要求する（ステップＳ５０７）。この処理は、断片化データ要求部４５の機能に対応する。その後、クライアント端末１は、前記要求に応答してサーバーＥ ７７から送られた第２断片化データ（ｅ２＋ｄｘ）を受信する（ステップＳ５０９）。この処理は、断片化データ取得部４７の機能に対応する。
【００８４】
続いて、クライアント端末１は、取得した第４断片化データ（ｄ２＋ｅｘ）に含まれる暗号化された部分鍵ｄ２を第５断片化データ（ｅ２＋ｄｘ）に含まれる復号鍵ｄｘを用いて復号化し、部分鍵ｄ１を生成する（ステップＳ５１１）。また、クライアント端末１は、取得した第５断片化データ（ｅ２＋ｄｘ）に含まれる暗号化された部分鍵ｅ２を第５断片化データ（ｄ２＋ｅｘ）に含まれる復号鍵ｅｘを用いて復号化し、部分鍵ｅ１を生成する（ステップＳ５１３）。前記ステップＳ５１１とＳ５１３の処理は、復号化部４９の機能に対応する。
【００８５】
次に、クライアント端末１は、部分鍵ｄ１とｅ１を合成して秘密鍵（ｄ１＋ｅ１）を作成する（ステップＳ５１５）。この処理は、部分鍵合成部５１の機能に対応する。クライアント端末１の暗号処理部５３は、得られた秘密鍵（ｄ１＋ｅ１）を用いて暗号処理を行う（ステップＳ５１７）。暗号処理の一例は、個人情報や経理情報などの秘密にしておきたいデータを暗号化したり復号する処理である。また、他の一例は配信者サービス提供者が、配信コンテンツを暗号化する処理である。また、他の一例は、配信コンテンツの購入者が、前記配信者サービス提供者によって暗号化されたコンテンツを復号化する処理である。暗号処理を終えた後、クライアント端末１は、取得した秘密鍵の情報を消去し（ステップＳ５１９）処理を終了する。
【００８６】
なお、上記説明では２台のサーバーの場合を例に説明したが、サーバーは３台以上であってもよく、各サーバーに断片化データを保管すればよい。たとえば、３台のサーバーが、部分鍵ｄ１、ｅ１、ｆ１をそれぞれ生成し、それらの部分鍵を暗号化してｄ２、ｅ２、ｆ２を生成し、暗号化された各部分鍵の復号鍵ｄｘ、ｅｘ、ｆｘをそれぞれ生成し、生成した復号鍵を交換し、第１のサーバーに（ｄ２＋ｅｘ）の断片化データを保管し、第２のサーバーに（ｅ２＋ｆｘ）の断片化データを保管し、第３のサーバーに（ｆ２＋ｄｘ）の断片化データを保管するようにしてもよい。この場合、クライアント端末１は、第１のサーバーから（ｄ２＋ｅｘ）を取得し、第２のサーバーから（ｅ２＋ｆｘ）を取得し、第３のサーバーから（ｆ２＋ｄｘ）を取得して、取得した各断片化データからｄ１、ｅ１、ｆ１を復元して合成し、秘密鍵（ｄ１＋ｅ１＋ｆ１）を取得するようにしてもよい。
【００８７】
また、クライアント端末１は、データを暗号化する毎に秘密鍵を生成し、複数の秘密鍵をサーバーに保管するようにしてもよい。この場合、たとえば、暗号化したデータのファイル名を断片化データの取得要求に識別コードとして付加し、各ファイルに対応する断片化データを取得できるようにすればよい。データごとに異なる秘密鍵を用いることで、万一一つの秘密鍵が盗まれても、すべての保管データに被害が及ばないようにすることができ、保管の安全性をより高めることができる。
【００８８】
さらに、秘密鍵の各部分の長さは同一である必要はなく、互いに異なるようにしてもよい。また、秘密鍵の各部分を暗号化する暗号化方式が、互いに異なる方式であってもよい。このようにすれば、通信を盗み見られても、より秘密鍵を発見されにくいようにできる。
また、サーバーＤ ７５とサーバーＥ ７７の機能を、一つの装置内で実現してもよい。この場合、当該装置内で各断片化データを個別に保管することが好ましい。
【００８９】
最後に、前述した実施の形態の他にも、この発明について種々の変形例があり得ることは明らかである。そのような変形例は、この発明の特徴及び範囲に属さないと解釈されるべきものではない。本発明の範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更とが含まれることが意図される。
【図面の簡単な説明】
【００９０】
【図１】この実施の形態に係るシステムの各ブロックの構成を示すブロック図である。（実施の形態１）
【図２】この実施の形態に係るシステムの各ブロックの構成を示すブロック図である。（実施の形態２）
【図３】図１のサーバーＡが実行する処理の手順を示すフローチャートである。
【図４】図１のサーバーＢが実行する処理の手順を示すフローチャートである。
【図５】図１のクライアント端末１が実行する処理の手順を示すフローチャートである。
【図６】図２のクライアント端末１が、秘密鍵を生成し、生成した秘密鍵を外部のサーバーに保管する際の処理の手順を示すフローチャートである。
【図７】クライアント端末１がサーバーに保管された断片化データから秘密鍵を取得して使用する場合の処理の手順を示すフローチャートである。
【符号の説明】
【００９１】
１・・・クライアント端末
３・・・ネットワーク
５・・・サーバーＡ
７・・・サーバーＢ
９・・・第１部分鍵生成部
１１・・・第２部分鍵生成部
１３・・・第１暗号化部
１５・・・第２暗号化部
１７・・・第１復号鍵生成部
１９・・・第２復号鍵生成部
２１・・・第１復号鍵提供部
２３・・・第２復号鍵提供部
２５・・・第１復号鍵取得部
２７・・・第２復号鍵取得部
２９・・・第１断片化データ作成部
３１・・・第２断片化データ作成部
３３・・・第１データ管理部
３５・・・第１データ保管部
３７・・・第２データ管理部
３９・・・第２データ保管部
４１・・・第１データ通信部
４３・・・第２データ通信部
４５・・・断片化データ要求部
４７・・・断片化データ取得部
４９・・・復号化部
５１・・・部分鍵合成部
５３・・・暗号処理部
５５・・・秘密鍵生成部
５７・・・秘密鍵分割部
５９・・・暗号化部
６１・・・復号鍵生成部
６３・・・断片化データ作成部
６５・・・データ管理部
６７・・・第４データ通信部
６９・・・第４データ保管部
７１・・・第５データ通信部
７３・・・第５データ保管部
７５・・・サーバーＤ
７７・・・サーバーＥ
【図１】
2007243329.tif 000003
【図２】
2007243329.tif 000004
【図３】
2007243329.tif 000005
【図４】
2007243329.tif 000006
【図５】
2007243329.tif 000007
【図６】
2007243329.tif 000008
【図７】
2007243329.tif 000009