説明

暗号化システム、暗号化方法

【課題】1つのサーバが故障してしまってもシステム全体がダウンしない暗号化システムを提供する。
【解決手段】本発明の暗号化システムは、複数のサーバと暗号装置と復号装置を含んでいる。そして、サーバが故障していない場合は、復号装置は、暗号装置または復号装置が選択したサーバから秘密情報を受信し、復号に用いる。選択されたサーバが故障してしまったときには、他のサーバから秘密情報を受信する。第1の暗号化システムでは暗号文にすべてのサーバ用の個別セッション情報と個別暗号文とが含まれている。第2の暗号化システムでは、各サーバがすべてのサーバのサーバ秘密鍵を共有している。第3の暗号化システムでは、上位サーバが、すべての下位サーバのサーバ秘密鍵を記録している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は平文を暗号化して送受信し、復号する暗号化システムおよび暗号化方法に関する。
【背景技術】
【0002】
IDベース暗号の基本構成として非特許文献1に示された技術が知られている。これらのIDベース暗号では、鍵生成サーバは、信頼できる絶対的存在であり、不正行為も行わず、故障してダウンすることも無い1つのサーバである。また、タイムリリース暗号としては、非特許文献2、3に示された技術が知られている。これらのタイムリリース暗号では、渡すべき復号指定時間に基づく秘密情報を、1つのタイムリリースサーバが保管しているか、複数のタイムリリースサーバで秘密分散させた形で保管している。さらに、IDベース暗号の応用方式として、ID部分に復号指定時間を適応させた構成もある。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】D. Boneh and X. Boyen, ”Secure Identity Based Encryption Without Random Oracles”, Proceedings of Crypto’04, LNCS 3152, 2004.
【非特許文献2】J. Cathalo, B. Libert, and J.-J. Quisquater, “Efficient ans non-interactive timed-release encryption”, in Int. Conf. On Information and Communications Security, LNCS 3783, pp.291-303, Springer-Verlag, 2005.
【非特許文献3】K. Chalkias and G. Stephanides, “Timed Release Cryptography from Bilinear Parings Using Hash Chains”, Communications and Multimedia Security, LNCS 4237, pp. 130-140, Springer-Verlag, 2006.
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述のように、従来技術では鍵生成サーバは1つであり、そのサーバは不正も行わない、かつ故障してダウンすることも無いことが前提となっている。しかし、現実のシステムでは、サーバが故障することもある。そのような場合、システム全体がダウンしてしまうという課題がある。
そこで、本発明は1つのサーバが故障してしまってもシステム全体がダウンしない暗号化システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の暗号化システムでは、独立して存在できる複数のサーバを用意し、そのうちの1つでも正常に機能していればシステム全体が正常に動作できるようにする。
【0006】
本発明の第1の暗号化システムは、N個のサーバと暗号装置と復号装置とを含む暗号化システムである。なお、Nは2以上の整数、nは1〜Nの整数とする。各サーバ(n番目のサーバ)は、第nサーバ秘密鍵ssnを生成するサーバ秘密鍵生成部と、第nサーバ公開鍵psnを生成して公開するサーバ公開鍵生成部と、第n秘密情報sanを生成して復号装置に送信する秘密情報生成部とを備える。暗号装置は、暗号化部と暗号文送信部とを備える。暗号化部は、すべてのサーバに対応した個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nを復号装置認証情報を用いて求め、個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nとを含む暗号文Cを求める。暗号文送信部は、暗号文Cを復号装置に送信する。復号装置は、復号装置認証情報を公開する復号装置認証情報公開部と、暗号文Cを受信する暗号文受信部と、選択したサーバから第n秘密情報sanを受信する秘密情報受信部と、個別セッション情報c1,nと第n秘密情報sanを用いて個別暗号文c2,nを平文mに復号する復号部とを備える。
【0007】
本発明の第2の暗号化システムは、N個のサーバと暗号装置と復号装置とを含む暗号化システムである。なお、Nは2以上の整数、nは1〜Nの整数、jはn以外の1〜Nの整数とする。各サーバ(n番目のサーバ)は、第nサーバ秘密鍵ssnを生成するサーバ秘密鍵生成部と、第nサーバ公開鍵psnを生成して公開するサーバ公開鍵生成部と、他のサーバと第1サーバ秘密鍵ss1から第Nサーバ秘密鍵ssNを共有するサーバ秘密鍵共有部と、復号装置に第n秘密情報sanを送信する秘密情報生成部と、復号装置に第j秘密情報sajを送信するバックアップ秘密情報生成部とを備える。暗号装置は、暗号化部と暗号文送信部とを備える。暗号装置は、N個のサーバの中から1つのサーバを選択する(ここでは、n番目のサーバが選択されたとする)。暗号化部は、選択したサーバに対応した個別セッション情報c1,nと個別暗号文c2,nを復号装置認証情報を用いて求め、個別セッション情報c1,nと個別暗号文c2,nを含む暗号文Cを求める。暗号文送信部は、暗号文Cを復号装置に送信する。復号装置は、復号装置認証情報を公開する復号装置認証情報公開部と、暗号文Cを受信する暗号文受信部と、暗号装置が選択したサーバから第n秘密情報sanを受信する秘密情報受信部と、暗号装置が選択したサーバ以外のサーバから第n秘密情報sanを受信するバックアップ秘密情報受信部と、個別セッション情報c1,nと第n秘密情報sanを用いて個別暗号文c2,nを平文mに復号する復号部とを備える。なお、サーバのバックアップ秘密情報生成部と復号装置のバックアップ秘密情報受信部は、暗号装置が選択したn番目のサーバが故障した場合に使用される。
【0008】
本発明の第3の暗号化システムは、上位サーバとN個の下位サーバと暗号装置と復号装置とを含む暗号化システムである。なお、この暗号化システムの場合は、Nは1以上の整数、nは1〜Nの整数とする。上位サーバは、1からNのすべてのnについて第nサーバ秘密鍵ssnを生成するサーバ秘密鍵生成部と、第nサーバ秘密鍵ssnをそれぞれn番目の下位サーバに送信するサーバ秘密鍵送信部と、第n秘密情報sanを生成して復号装置に送信するバックアップ秘密情報生成部とを備える。各下位サーバ(n番目の下位サーバ)は、第nサーバ秘密鍵ssnを受信するサーバ秘密鍵受信部と、第nサーバ公開鍵psnを生成して公開するサーバ公開鍵生成部と、第n秘密情報sanを生成して復号装置に送信する秘密情報生成部とを備える。暗号装置は、暗号装置は、暗号化部と暗号文送信部とを備える。暗号化部は、選択した下位サーバに対応した個別セッション情報c1,nと個別暗号文c2,nを復号装置認証情報を用いて求め、個別セッション情報c1,nと個別暗号文c2,nを含む暗号文Cを求める。暗号文送信部は、暗号文Cを復号装置に送信する。復号装置は、復号装置認証情報を公開する復号装置認証情報公開部と、暗号文Cを受信する暗号文受信部と、暗号装置が選択した下位サーバから第n秘密情報sanを受信する秘密情報受信部と、上位サーバから第n秘密情報sanを受信するバックアップ秘密情報受信部と、個別セッション情報c1,nと第n秘密情報sanを用いて個別暗号文c2,nを平文mに復号する復号部とを備える。なお、上位サーバのバックアップ秘密情報生成部と復号装置のバックアップ秘密情報受信部は、暗号装置が選択したn番目の下位サーバが故障した場合に使用される。なお、ここでは、上位サーバと下位サーバという2階層の例を示したが、サーバの階層を3階層以上としてもよい。
【0009】
また、サーバをタイムリリースサーバとしてもよい。さらには、第1の暗号化システム、第2の暗号化システム、第3の暗号化システムを組み合わせてもよい。
【発明の効果】
【0010】
本発明の暗号化システムは、いずれも複数のサーバと暗号装置と復号装置を含んでいる。そして、サーバが故障していない場合は、復号装置は、暗号装置または復号装置が選択したサーバから秘密情報を受信し、復号に用いる。
【0011】
第1の暗号化システムの場合には、選択されたサーバが故障してしまったときには、復号装置は、他のいずれかのサーバから当該サーバの秘密情報を受信する。第1の暗号化システムでは暗号文にすべてのサーバ用の個別セッション情報と個別暗号文とが含まれているので、復号装置はいずれかのサーバの秘密情報があれば復号できる。
【0012】
第2の暗号化システムの場合には、選択されたサーバが故障してしまったときには、復号装置は、他のいずれかのサーバから故障してしまったサーバから受信するはずだった秘密情報を受信する。第2の暗号化システムでは暗号文には暗号装置が選択したサーバ用の個別セッション情報と個別暗号文しか含まれていないが、各サーバがすべてのサーバのサーバ秘密鍵を共有しているので、どのサーバでも、故障してしまったサーバが送信するはずだった秘密情報を生成して送信できる。
【0013】
第3の暗号化システムの場合には、選択された下位サーバが故障してしまったときには、復号装置は、上位サーバから故障してしまった下位サーバから受信するはずだった秘密情報を受信する。第3の暗号化システムでは暗号文には暗号装置が選択したサーバ用の個別セッション情報と個別暗号文しか含まれていない。しかし、上位サーバは、すべての下位サーバのサーバ秘密鍵を、下位サーバの代わりに生成できるか、計算して求めることができるか、記録しているので、故障してしまった下位サーバが送信するはずだった秘密情報を生成して送信できる。
【0014】
このように、本発明の暗号化システムは、独立して存在できる複数のサーバを用意し、そのうちの1つでも正常に機能していればシステム全体がダウンしてしまうことを防ぐことができる。
【図面の簡単な説明】
【0015】
【図1】実施例1の暗号化システムの構成例を示す図。
【図2】実施例1と実施例2のサーバ(タイムリリースサーバ)の構成例を示す図。
【図3】実施例1と実施例2の暗号装置の構成例を示す図。
【図4】実施例1と実施例2の復号装置の構成例を示す図。
【図5】実施例1の暗号化システムの処理フローを示す図。
【図6】実施例2の暗号化システムの構成例を示す図。
【図7】実施例2の暗号化システムの処理フローを示す図。
【図8】実施例3の暗号化システムの構成例を示す図。
【図9】実施例3と実施例4のサーバ(タイムリリースサーバ)の構成例を示す図。
【図10】実施例3と実施例4の暗号装置の構成例を示す図。
【図11】実施例3と実施例4の復号装置の構成例を示す図。
【図12】実施例3の暗号化システムの処理フローを示す図。
【図13】実施例4の暗号化システムの構成例を示す図。
【図14】実施例4の暗号化システムの処理フローを示す図。
【図15】実施例5の暗号化システムの構成例を示す図。
【図16】実施例5と実施例6の上位サーバ(上位タイムリリースサーバ)の構成例を示す図。
【図17】実施例5と実施例6の下位サーバ(下位タイムリリースサーバ)の構成例を示す図。
【図18】実施例5と実施例6の暗号装置の構成例を示す図。
【図19】実施例5と実施例6の復号装置の構成例を示す図。
【図20】実施例5の暗号化システムの処理フローを示す図。
【図21】実施例6の暗号化システムの構成例を示す図。
【図22】実施例6の暗号化システムの処理フローを示す図。
【図23】コンピュータの機能構成例を示す図。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について、詳細に説明する。実施例1と実施例2に暗号文にすべてのサーバに対応した個別セッション情報と個別暗号文を含める方式(課題を解決するための手段で説明した第1の暗号化システムに対応)を、実施例3と実施例4にサーバ間でサーバ秘密鍵を共有する方式(第2の暗号化システムに対応)を、実施例5と実施例6にサーバが階層構造となっている方式(第3の暗号化システムに対応)を示す。また、実施例1、実施例3、実施例5がIDベース暗号の例であり、実施例2、実施例4、実施例6がタイムリリース暗号の例である。なお、同じ機能を有する構成部や処理には同じ番号を付し、重複説明を省略する。
【実施例1】
【0017】
図1に実施例1の暗号化システムの構成例を示す。暗号化システム100は、N個のサーバ200−nと暗号装置300と復号装置400とを含む(ただし、Nは2以上の整数、nは1〜Nの整数)。図2に実施例1のサーバの構成例、図3に暗号装置の構成例、図4に復号装置の構成例を示す。また、図5は実施例1の暗号化システムの処理フローを示す図である。各サーバ200−n(n番目のサーバ)は、サーバ秘密鍵生成部210−n、サーバ公開鍵生成部220−n、秘密情報生成部230−n、サーバ記録部290−nを備える。暗号装置300は、暗号化部310、暗号文送信部320、暗号化記録部390を備える。復号装置400は、復号装置認証情報公開部410、暗号文受信部420、秘密情報受信部430、復号部440、復号記録部490を備える。なお、サーバ記録部290−n、暗号化記録部390、復号記録部490は、各装置の動作に必要な情報を記録しておくための構成部である。
【0018】
各サーバ200−nのサーバ秘密鍵生成部210−nは、それぞれ第nサーバ秘密鍵ssnを生成する(S210−n)。つまり、サーバ200−1〜Nが、第1サーバ秘密鍵ss1,…,第Nサーバ秘密鍵ssNを生成する(S210−1〜N)。各サーバ200−nのサーバ公開鍵生成部220−nは、第nサーバ公開鍵psnを生成して公開する(S220−n)。つまり、サーバ200−1〜Nが、第1サーバ公開鍵ps1,…,第Nサーバ公開鍵psNを生成し、公開する(S220−1〜N)。
【0019】
復号装置400の復号装置認証情報公開部410は、復号装置認証情報p(または、pb1,…,pbN)を公開する(S412)。なお、復号装置認証情報は、全てのサーバに対して同じであるpとしてもよいし、サーバごとに異なるpb1,…,pbNとしてもよい。また、復号装置認証情報公開部410は、復号装置認証情報p(または、pb1,…,pbN)をあらかじめ復号記録部490に記録しておいてもよい。もしくは、復号装置認証情報公開部410は、復号装置認証情報pb1,…,pbNを、サーバ公開鍵psnなどを利用して生成してもよい(S411)。
【0020】
暗号装置300の暗号化部310は、1〜Nのすべてのn(すべてのサーバ)について、第nサーバ公開鍵psnと復号装置認証情報p(または、pbn)を用いて、個別セッション情報c1,nと個別暗号文c2,nを求める。そして、暗号化部310は、個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nとを含む暗号文Cを求める(S310)。例えば、C=(c1,1,c2,1,…,c1,N,c2,N)とすればよい。暗号文送信部320は、暗号文Cを復号装置400に送信する(S320)。復号装置400の暗号文受信部420は、暗号文Cを受信する(S420)。
【0021】
復号装置400に選択されたサーバ200−nの秘密情報生成部230−nは、第n秘密情報sanを生成し、復号装置400に送信する(S230−n)。なお、第n秘密情報sanは、第nサーバ秘密鍵ssnと復号装置認証情報p(または、pbn)を用いて生成すればよい。秘密情報受信部430は、選択したサーバ200−nから第n秘密情報sanを受信する(S430)。なお、秘密情報生成部230−nの動作は、たとえば、復号装置400がサーバを選択し、復号装置400がサーバ200−nに第n秘密情報sanをリクエストすることによって開始するようにすればよい。復号部440は、選択したサーバ200−nに対応した個別セッション情報c1,nと第n秘密情報sanを用いて個別暗号文c2,nを平文mに復号する(S440)。
【0022】
そして、万一、復号装置400が選択したサーバ200−nが故障していた場合には、復号装置400は別のサーバ200−j(ただし、jはn以外の1〜Nの整数)を再度選択し、サーバ200−jに第j秘密情報sajをリクエストする。そして、サーバ200−jの秘密情報生成部230−jは、第j秘密情報sajを生成して復号装置400に送信する(S230−j:バックアップ秘密情報生成ステップ)。秘密情報受信部430は、第j秘密情報sajを受信する(S430’:バックアップ秘密情報受信ステップ)。復号部440は、選択したサーバ200−jに対応した個別セッション情報c1,jと第j秘密情報sajを用いて個別暗号文c2,jを平文mに復号する(S440:バックアップ復号ステップ)。
【0023】
上述のように実施例1の暗号化システム100は、選択されたサーバ200−nが故障してしまったときには、復号装置400は、他のいずれかのサーバ200−jから当該サーバの第n秘密情報sajを受信する。暗号化システム100では暗号文Cにすべてのサーバ用の個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nとが含まれているので、復号装置400はいずれかのサーバ200−nの第n秘密情報sanがあれば復号できる。したがって、サーバの中の1つでも正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。なお、暗号装置や復号装置が故障した場合には、個別の暗号通信はできなくなるが、他の暗号装置と復号装置との暗号通信に影響は無いので、システム全体がダウンすることは無い。
【実施例2】
【0024】
図6に実施例2の暗号化システムの構成例を示す。暗号化システム1100は、N個のタイムリリースサーバ1200−nと暗号装置1300と復号装置1400とを含む(ただし、Nは2以上の整数、nは1〜Nの整数)。図2に実施例2のタイムリリースサーバの構成例、図3に暗号装置の構成例、図4に復号装置の構成例を示す。また、図7は実施例2の暗号化システムの処理フローを示す図である。各タイムリリースサーバ1200−n(n番目のタイムリリースサーバ)は、サーバ秘密鍵生成部1210−n、サーバ公開鍵生成部1220−n、秘密情報生成部1230−n、サーバ記録部1290−nを備える。暗号装置1300は、復号時間設定部1350、暗号鍵生成部1360、暗号化部1310、暗号文送信部320、暗号化記録部1390を備える。復号装置1400は、復号秘密鍵生成部1460、復号装置認証情報公開部1410、暗号文受信部420、秘密情報受信部430、復号部1440、復号記録部1490を備える。なお、サーバ記録部1290−n、暗号化記録部1390、復号記録部1490は、各装置の動作に必要な情報を記録しておくための構成部である。
【0025】
ここで、pは素数位数、G^とG^は素数位数pを持つ巡回群、e()はe:G^×G^→G^となる双線型写像、H()は任意長の情報{0,1}を群G^の要素に変換するハッシュ関数、H()は任意長の情報{0,1}をhビットと情報{0,1}に変換するハッシュ関数、mを平文、(+)を排他的論理和とする。
【0026】
各タイムリリースサーバ1200−nのサーバ秘密鍵生成部1210−nは、p未満の整数ssnをランダムに選択し、整数ssnを第nサーバ秘密鍵ssnとする(S1210−n)。つまり、タイムリリースサーバ1200−1〜Nが、第1サーバ秘密鍵ss1,…,第Nサーバ秘密鍵ssNを生成する(S1210−1〜N)。各タイムリリースサーバ1200−nのサーバ公開鍵生成部1220−nは、群G^の要素Gsnをランダムに選択し、Gsnとssnsnを第nサーバ公開鍵psnとし、公開する(S1220−n)。つまり、タイムリリースサーバ1200−1〜Nが、第1サーバ公開鍵ps1,…,第Nサーバ公開鍵psNを生成し、公開する(S1220−1〜N)。
【0027】
復号装置1400の復号秘密鍵生成部1460は、p未満の整数sをランダムに選択し、整数sを復号秘密鍵sとする(S1460)。なお、ステップS1460は、ステップS1220−1〜Nなどのタイムリリースサーバの処理よりも前に行ってもよい。復号装置認証情報公開部1410は、 タイムリリースサーバに対応した復号装置認証情報pb1,…,pbNを、1〜Nのすべてのnについて
bn=ssn
のように求め(S1411)、公開する(S412)。
【0028】
暗号装置1300の復号時間設定部1350は、復号時間tを選択し、N個のタイムリリースサーバ1200−1〜Nに復号時間tを設定する(S1350)。暗号鍵生成部1360は、p未満の整数rをランダムに選択し、H(t)をTとし、rをQとし、タイムリリースサーバ1200−1〜Nに対する暗号鍵K,…,Kを、1からNのすべてのnについて
an=e(ssnsn,Q
のように求める(S1360)。暗号化部1310は、すべてのタイムリリースサーバ1200−1〜Nに対応した個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nを、1からNのすべてのnについて
1,n=rbn
2,n=m(+)H(Kan
のように求め、個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nと復号時間tとを含む暗号文Cを求める(S1310)。例えば、C=(c1,1,c2,1,…,c1,N,c2,N,t)のようにすればよい。暗号文送信部320は、暗号文Cを復号装置1400に送信する(S320)。復号装置1400の暗号文受信部420は、暗号文Cを受信する(S420)。
【0029】
復号装置1400に選択されたタイムリリースサーバ1200−nの秘密情報生成部1230−nは、暗号装置1300が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置1400に第n秘密情報sanを送信する(S123−n)。第n秘密情報sanを上記の式で求めるには、一度H(t)をTとし、その上で
an=ssn
のように計算すればよい。なお、秘密情報生成部1230−nの動作は、たとえば、復号装置1400がタイムリリースサーバを選択し、復号装置1400がタイムリリースサーバ1200−nに第n秘密情報sanをリクエストすることによって開始するようにすればよい。復号装置1400の秘密情報受信部430は、選択したタイムリリースサーバ1200−nから、復号時間t以降に、第n秘密情報sanを受信する(S430)。復号部1440は、選択したタイムリリースサーバ1200−nに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める(S1440)。
【0030】
そして、万一、復号装置1400が選択したタイムリリースサーバ1200−nが故障していた場合には、復号装置1400は別のタイムリリースサーバ1200−j(ただし、jはn以外の1〜Nの整数)を再度選択し、タイムリリースサーバ1200−jに第j秘密情報sajをリクエストする。そして、タイムリリースサーバ1200−jの秘密情報生成部1230−jは、暗号装置1300が設定した復号時間tから第j秘密情報sajを、
aj=ssj(t)
のように求め、復号時間t以降に復号装置1400に第j秘密情報sajを送信する(S1230−j:バックアップ秘密情報生成ステップ)。なお、第j秘密情報sajを上記の式で求めるには、一度H(t)をTとし、その上で
aj=ssj
のように計算すればよい。復号装置1400の秘密情報受信部430は、選択したタイムリリースサーバ1200−jから、復号時間t以降に、第j秘密情報sajを受信する(S430’:バックアップ秘密情報受信ステップ)。復号部1440は、タイムリリースサーバ1200−jに対応する復号鍵Kbj
bj=e(s−11,j,saj
のように求め、平文mを
m=H(Kbj)(+)c2,j
のように求める(S1440:バックアップ復号ステップ)。
【0031】
このように、実施例2の暗号化システム1100も、選択されたタイムリリースサーバ1200−nが故障してしまったときには、復号装置1400は、他のいずれかのタイムリリースサーバ1200−jから当該タイムリリースサーバの秘密情報sajを受信する。暗号化システム1100では暗号文Cにすべてのタイムリリースサーバ用の個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nとが含まれているので、復号装置1400はいずれかのタイムリリースサーバ1200−nの秘密情報sanがあれば復号できる。したがって、サーバの中の1つでも正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。
【実施例3】
【0032】
図8に実施例3の暗号化システムの構成例を示す。暗号化システム2100は、N個のサーバ2200−nと暗号装置2300と復号装置2400とを含む(ただし、Nは2以上の整数、nは1〜Nの整数)。図9に実施例3のサーバの構成例、図10に暗号装置の構成例、図11に復号装置の構成例を示す。また、図12は実施例3の暗号化システムの処理フローを示す図である。各サーバ2200−n(n番目のサーバ)は、サーバ秘密鍵生成部210−n、サーバ公開鍵生成部220−n、秘密情報生成部230−n、サーバ秘密鍵共有部2240−n、バックアップ秘密情報生成部2250−n、サーバ記録部2290−nを備える。暗号装置2300は、暗号化部2310、暗号文送信部320、暗号化記録部2390を備える。復号装置2400は、復号装置認証情報公開部410、暗号文受信部420、秘密情報受信部430、復号部2440、バックアップ秘密情報受信部2450、復号記録部2490を備える。なお、サーバ記録部2290−n、暗号化記録部2390、復号記録部2490は、各装置の動作に必要な情報を記録しておくための構成部である。
【0033】
各サーバ2200−nのサーバ秘密鍵生成部210−nは、それぞれ第nサーバ秘密鍵ssnを生成する(S210−n)。つまり、サーバ2200−1〜Nが、第1サーバ秘密鍵ss1,…,第Nサーバ秘密鍵ssNを生成する(S210−1〜N)。サーバ秘密鍵共有部2240−1〜Nは、他のサーバと第1サーバ秘密鍵ss1から第Nサーバ秘密鍵ssNを共有する(S2240−1〜N)。各サーバ2200−nのサーバ公開鍵生成部220−nは、第nサーバ公開鍵psnを生成して公開する(S220−n)。つまり、サーバ200−1〜Nが、第1サーバ公開鍵ps1,…,第Nサーバ公開鍵psNを生成し、公開する(S220−1〜N)。なお、ステップS2240−1〜NとステップS220−1〜Nとの順番は逆でもよい。
【0034】
復号装置2400の復号装置認証情報公開部410は、復号装置認証情報p(または、pb1,…,pbN)を公開する(S412)。なお、復号装置認証情報は、全てのサーバに対して同じであるpとしてもよいし、サーバごとに異なるpb1,…,pbNとしてもよい。また、復号装置認証情報公開部410は、復号装置認証情報p(または、pb1,…,pbN)をあらかじめ復号記録部2490に記録しておいてもよい。もしくは、復号装置認証情報公開部410は、復号装置認証情報pb1,…,pbNを、サーバ公開鍵psnなどを利用して生成してもよい(S411)。
【0035】
暗号装置2300がN個のサーバの中から1つのサーバを選択し(ここでは、n番目のサーバが選択されたとする)、暗号化部2310が、第nサーバ公開鍵psnと復号装置認証情報p(または、pbn)を用いて、選択したサーバ2200−nに対応した個別セッション情報c1,nと個別暗号文c2,nを求める。そして、暗号化部2310は、個別セッション情報c1,nと個別暗号文c2,nとを含む暗号文Cを求める(S2310)。例えば、C=(c1,n,c2,n)とすればよい。暗号文送信部320は、暗号文Cを復号装置2400に送信する(S320)。復号装置2400の暗号文受信部420は、暗号文Cを受信する(S420)。
【0036】
暗号装置2300に選択されたサーバ2200−nの秘密情報生成部230−nは、第n秘密情報sanを生成し、復号装置2400に送信する(S230−n)。なお、第n秘密情報sanは、第nサーバ秘密鍵ssnと復号装置認証情報p(または、pbn)を用いて生成すればよい。秘密情報受信部430は、選択されたサーバ2200−nから第n秘密情報sanを受信する(S430)。なお、秘密情報生成部230−nの動作は、たとえば、復号装置2400が、受信した暗号文Cからサーバ2200−nを特定し、復号装置2400がサーバ2200−nに第n秘密情報sanをリクエストすることによって開始するようにすればよい。復号部2440は、選択されたサーバ2200−nに対応した個別セッション情報c1,nと第n秘密情報sanを用いて個別暗号文c2,nを平文mに復号する(S2440)。
【0037】
そして、万一、暗号装置2300が選択したサーバ2200−nが故障していた場合には、復号装置2400は別のサーバ2200−j(ただし、jはn以外の1〜Nの整数)を選択し、サーバ2200−jに第n秘密情報sanをリクエストする。そして、サーバ2200−jのバックアップ秘密情報生成部2250−jは、共有している第nサーバ秘密鍵ssnから第n秘密情報sanを生成して復号装置2400に送信する(S2250−j)。バックアップ秘密情報受信部2450は、第n秘密情報sanを受信する(S2450)。復号部2440は、暗号装置2300が選択したサーバ2200−n(故障しているサーバ)に対応した個別セッション情報c1,nと第n秘密情報sanを用いて個別暗号文c2,nを平文mに復号する(S2440:バックアップ復号ステップ)。
【0038】
このように、実施例3の暗号化システム2100は、選択されたサーバ2200−nが故障してしまったときには、復号装置2400は、他のいずれかのサーバ2200−jから故障してしまったサーバ2200−nから受信するはずだった第n秘密情報sanを受信する。暗号化システム2100では暗号文Cには暗号装置2300が選択したサーバ用の個別セッション情報c1,nと個別暗号文c2,nしか含まれていないが、各サーバがすべてのサーバのサーバ秘密鍵を共有しているので、どのサーバでも、故障してしまったサーバが送信するはずだった秘密情報を生成して送信できる。したがって、サーバの中の1つでも正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。
【実施例4】
【0039】
図13に実施例4の暗号化システムの構成例を示す。暗号化システム3100は、N個のタイムリリースサーバ3200−nと暗号装置3300と復号装置3400とを含む(ただし、Nは2以上の整数、nは1〜Nの整数)。図9に実施例4のタイムリリースサーバの構成例、図10に暗号装置の構成例、図11に復号装置の構成例を示す。また、図14は実施例4の暗号化システムの処理フローを示す図である。各タイムリリースサーバ3200−n(n番目のタイムリリースサーバ)は、サーバ秘密鍵生成部1210−n、サーバ公開鍵生成部1220−n、秘密情報生成部1230−n、サーバ秘密鍵共有部2240−n、バックアップ秘密情報生成部2250−n、サーバ記録部3290−nを備える。暗号装置3300は、復号時間設定部1350、暗号鍵生成部3360、暗号化部3310、暗号文送信部320、暗号化記録部3390を備える。復号装置3400は、復号秘密鍵生成部1460、復号装置認証情報公開部1410、暗号文受信部420、秘密情報受信部430、復号部3440、バックアップ秘密情報受信部2450、復号記録部3490を備える。なお、サーバ記録部3290−n、暗号化記録部3390、復号記録部3490は、各装置の動作に必要な情報を記録しておくための構成部である。
【0040】
ここで、pは素数位数、G^とG^は素数位数pを持つ巡回群、e()はe:G^×G^→G^となる双線型写像、H()は任意長の情報{0,1}を群G^の要素に変換するハッシュ関数、H()は任意長の情報{0,1}をhビットと情報{0,1}に変換するハッシュ関数、mを平文、(+)を排他的論理和とする。
【0041】
各タイムリリースサーバ3200−nのサーバ秘密鍵生成部1210−nは、p未満の整数ssnをランダムに選択し、整数ssnを第nサーバ秘密鍵ssnとする(S1210−n)。つまり、タイムリリースサーバ3200−1〜Nが、第1サーバ秘密鍵ss1,…,第Nサーバ秘密鍵ssNを生成する(S1210−1〜N)。サーバ秘密鍵共有部2240−1〜Nは、他のタイムリリースサーバと第1サーバ秘密鍵ss1から第Nサーバ秘密鍵ssNを共有する(S2240−1〜N)。各タイムリリースサーバ3200−nのサーバ公開鍵生成部1220−nは、群G^の要素Gsnをランダムに選択し、Gsnとssnsnを第nサーバ公開鍵psnとし、公開する(S1220−n)。つまり、タイムリリースサーバ1200−1〜Nが、第1サーバ公開鍵ps1,…,第Nサーバ公開鍵psNを生成し、公開する(S1220−1〜N)。なお、ステップS2240−1〜NとステップS1220−1〜Nとの順番は逆でもよい。
【0042】
復号装置3400の復号秘密鍵生成部1460は、p未満の整数sをランダムに選択し、整数sを復号秘密鍵sとする(S1460)。なお、ステップS1460は、ステップS1220−1〜Nなどのタイムリリースサーバの処理よりも前に行ってもよい。復号装置認証情報公開部1410は、タイムリリースサーバに対応した復号装置認証情報pb1,…,pbNを、1〜Nのすべてのnについて
bn=ssn
のように求め(S1411)、公開する(S412)。
【0043】
暗号装置3300がN個のタイムリリースサーバの中から1つのタイムリリースサーバを選択し(ここでは、n番目のタイムリリースサーバが選択されたとする)、復号時間設定部1350は、復号時間tを選択し、N個のタイムリリースサーバ1200−1〜Nに復号時間tを設定する(S1350)。暗号鍵生成部3360は、p未満の整数rをランダムに選択し、H(t)をTとし、rをQとし、選択したタイムリリースサーバ3200−nに対する暗号鍵Kを、
an=e(ssnsn,Q
のように求める(S3360)。暗号化部3310は、選択したタイムリリースサーバ3200−nに対応した個別セッション情報c1,nと個別暗号文c2,nを、
1,n=rbn
2,n=m(+)H(Kan
のように求め、個別セッション情報c1,nと個別暗号文c2,nと復号時間tとを含む暗号文Cを求める(S3310)。例えば、C=(c1,n,c2,n,t)のようにすればよい。暗号文送信部320は、暗号文Cを復号装置3400に送信する(S320)。復号装置3400の暗号文受信部420は、暗号文Cを受信する(S420)。
【0044】
暗号装置3300に選択されたタイムリリースサーバ3200−nの秘密情報生成部1230−nは、暗号装置3300が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置3400に第n秘密情報sanを送信する(S123−n)。第n秘密情報sanを上記の式で求めるには、一度H(t)をTとし、その上で
an=ssn
のように計算すればよい。なお、秘密情報生成部1230−nの動作は、たとえば、復号装置3400が受信した暗号文Cからタイムリリースサーバ3200−nを特定し、復号装置3400がタイムリリースサーバ3200−nに第n秘密情報sanをリクエストすることによって開始するようにすればよい。復号装置3400の秘密情報受信部430は、選択されたタイムリリースサーバ3200−nから、復号時間t以降に、第n秘密情報sanを受信する(S430)。復号部3440は、選択されたタイムリリースサーバ3200−nに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める(S3440)。
【0045】
そして、万一、暗号装置3300が選択したタイムリリースサーバ3200−nが故障していた場合には、復号装置3400は別のタイムリリースサーバ3200−j(ただし、jはn以外の1〜Nの整数)を選択し、タイムリリースサーバ3200−jに第n秘密情報sanをリクエストする。そして、タイムリリースサーバ3200−jのバックアップ秘密情報生成部3250−jは、共有している第nサーバ秘密鍵ssnと暗号装置3300が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置3400に第j秘密情報sajを送信する(S3250−j)。復号装置3400のバックアップ秘密情報受信部2450は、選択したタイムリリースサーバ3200−jから、復号時間t以降に、第n秘密情報sanを受信する(S2450)。復号部3440は、タイムリリースサーバ3200−nに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める(S3440:バックアップ復号ステップ)。
【0046】
このように、実施例4の暗号化システム3100は、選択されたタイムリリースサーバ3200−nが故障してしまったときには、復号装置3400は、他のいずれかのタイムリリースサーバ3200−jから故障してしまったタイムリリースサーバ3200−nから受信するはずだった第n秘密情報sanを受信する。暗号化システム3100では暗号文Cには暗号装置3300が選択したサーバ用の個別セッション情報c1,nと個別暗号文c2,nしか含まれていないが、各タイムリリースサーバがすべてのタイムリリースサーバのサーバ秘密鍵を共有しているので、どのタイムリリースサーバでも、故障してしまったタイムリリースサーバが送信するはずだった秘密情報を生成して送信できる。したがって、タイムリリースサーバの中の1つでも正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。
【実施例5】
【0047】
図15に実施例5の暗号化システムの構成例を示す。暗号化システム4100は、上位サーバ4500とN個の下位サーバ4200−nと暗号装置4300と復号装置4400とを含む(ただし、Nは1以上の整数、nは1〜Nの整数)。本実施例では、上位サーバがあるので、Nが1以上となっている。図16に実施例5の上位サーバの構成例、図17に下位サーバの構成例、図18に暗号装置の構成例、図19に復号装置の構成例を示す。また、図20は実施例5の暗号化システムの処理フローを示す図である。上位サーバ4500は、サーバ秘密鍵生成部4510、サーバ秘密鍵送信部4520、バックアップ秘密情報生成部4550、上位サーバ記録部4590を備える。各下位サーバ4200−n(n番目の下位サーバ)は、サーバ秘密鍵受信部4210−n、サーバ公開鍵生成部220−n、秘密情報生成部230−n、下位サーバ記録部4290−nを備える。暗号装置4300は、暗号化部2310、暗号文送信部320、暗号化記録部4390を備える。復号装置4400は、復号装置認証情報公開部410、暗号文受信部420、秘密情報受信部430、復号部2440、バックアップ秘密情報受信部4450、復号記録部2490を備える。なお、上位サーバ記録部4590、下位サーバ記録部4290−n、暗号化記録部4390、復号記録部4490は、各装置の動作に必要な情報を記録しておくための構成部である。
【0048】
上位サーバ4500のサーバ秘密鍵生成部4510は、1からNのすべてのnについて第nサーバ秘密鍵ssnを生成する(S4510)。サーバ秘密鍵送信部4520は、第nサーバ秘密鍵ssnをそれぞれn番目の下位サーバ4200−nに送信する(S4520)。各下位サーバ4200−n(n番目の下位サーバ)のサーバ秘密鍵受信部4210−nは、第nサーバ秘密鍵ssnを受信する(S4210−n)。つまり、下位サーバ4200−1〜Nが、第1サーバ秘密鍵ss1,…,第Nサーバ秘密鍵ssNを受信する(S4210−1〜N)。各下位サーバ4200−nのサーバ公開鍵生成部220−nは、第nサーバ公開鍵psnを生成して公開する(S220−n)。つまり、下位サーバ4200−1〜Nが、第1サーバ公開鍵ps1,…,第Nサーバ公開鍵psNを生成し、公開する(S220−1〜N)。
【0049】
復号装置4400の復号装置認証情報公開部410は、復号装置認証情報p(または、pb1,…,pbN)を公開する(S412)。なお、復号装置認証情報は、全ての下位サーバに対して同じであるpとしてもよいし、下位サーバごとに異なるpb1,…,pbNとしてもよい。また、復号装置認証情報公開部410は、復号装置認証情報p(または、pb1,…,pbN)をあらかじめ復号記録部4490に記録しておいてもよい。もしくは、復号装置認証情報公開部410は、復号装置認証情報pb1,…,pbNを、サーバ公開鍵psnなどを利用して生成してもよい(S411)。
【0050】
暗号装置4300がN個の下位サーバの中から1つの下位サーバを選択し(ここでは、n番目の下位サーバが選択されたとする)、暗号化部2310が、第nサーバ公開鍵psnと復号装置認証情報p(または、pbn)を用いて、選択した下位サーバ4200−nに対応した個別セッション情報c1,nと個別暗号文c2,nを求める。そして、暗号化部2310は、個別セッション情報c1,nと個別暗号文c2,nとを含む暗号文Cを求める(S2310)。例えば、C=(c1,n,c2,n)とすればよい。暗号文送信部320は、暗号文Cを復号装置4400に送信する(S320)。復号装置4400の暗号文受信部420は、暗号文Cを受信する(S420)。
【0051】
暗号装置4300に選択された下位サーバ4200−nの秘密情報生成部230−nは、第n秘密情報sanを生成し、復号装置4400に送信する(S230−n)。なお、第n秘密情報sanは、第nサーバ秘密鍵ssnと復号装置認証情報p(または、pbn)を用いて生成すればよい。秘密情報受信部430は、選択された下位サーバ4200−nから第n秘密情報sanを受信する(S430)。なお、秘密情報生成部230−nの動作は、たとえば、復号装置4400が、受信した暗号文Cから下位サーバ4200−nを特定し、復号装置4400が下位サーバ4200−nに第n秘密情報sanをリクエストすることによって開始するようにすればよい。復号部2440は、選択された下位サーバ4200−nに対応した個別セッション情報c1,nと第n秘密情報sanを用いて個別暗号文c2,nを平文mに復号する(S2440)。
【0052】
そして、万一、暗号装置3300が選択した下位サーバ4200−nが故障していた場合には、復号装置4400は上位サーバ4500に第n秘密情報sanをリクエストする。そして、上位サーバ4500のバックアップ秘密情報生成部4550は、保有している第nサーバ秘密鍵ssnから第n秘密情報sanを生成して復号装置4400に送信する(S4550)。バックアップ秘密情報受信部4450は、第n秘密情報sanを受信する(S4450)。復号部2440は、暗号装置4300が選択したサーバ2200−n(故障しているサーバ)に対応した個別セッション情報c1,nと第n秘密情報sanを用いて個別暗号文c2,nを平文mに復号する(S2440:バックアップ復号ステップ)。
【0053】
暗号化システム4100の場合には、選択された下位サーバ4200−nが故障してしまったときには、復号装置4400は、上位サーバ4500から故障してしまった下位サーバから受信するはずだった秘密情報を受信する。暗号化システム4100では暗号文Cには暗号装置4300が選択した下位サーバ用の個別セッション情報c1,nと個別暗号文c2,nしか含まれていない。しかし、上位サーバは、すべての下位サーバのサーバ秘密鍵を、下位サーバの代わりに生成できるか、計算して求めることができるか、記録しているので、故障してしまった下位サーバが送信するはずだった秘密情報を生成して送信できる。したがって、上位サーバまたは下位サーバが正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。なお、本実施例では、上位サーバと下位サーバという2階層の例を示したが、サーバの階層を3階層以上としてもよい。また、実施例1、3、5の暗号化システムを組み合わせてもよい。
【実施例6】
【0054】
図21に実施例6の暗号化システムの構成例を示す。暗号化システム5100は、上位タイムリリースサーバ5500とN個の下位タイムリリースサーバ5200−nと暗号装置5300と復号装置5400とを含む(ただし、Nは1以上の整数、nは1〜Nの整数)。本実施例では、上位タイムリリースサーバがあるので、Nが1以上となっている。図16に実施例6の上位タイムリリースサーバの構成例、図17に下位タイムリリースサーバの構成例、図18に暗号装置の構成例、図19に復号装置の構成例を示す。また、図22は実施例6の暗号化システムの処理フローを示す図である。上位タイムリリースサーバ5500は、サーバ秘密鍵生成部5510、サーバ秘密鍵送信部5520、バックアップ秘密情報生成部5550、上位サーバ記録部5590を備える。各下位タイムリリースサーバ5200−n(n番目の下位タイムリリースサーバ)は、サーバ秘密鍵受信部5210−n、サーバ公開鍵生成部1220−n、秘密情報生成部1230−n、下位サーバ記録部5290−nを備える。暗号装置5300は、復号時間設定部5350、暗号鍵生成部3360、暗号化部2310、暗号文送信部320、暗号化記録部5390を備える。復号装置5400は、復号秘密鍵生成部1460、復号装置認証情報公開部1410、暗号文受信部420、秘密情報受信部430、復号部3440、バックアップ秘密情報受信部5450、復号記録部5490を備える。なお、上位サーバ記録部5590、下位サーバ記録部5290−n、暗号化記録部5390、復号記録部5490は、各装置の動作に必要な情報を記録しておくための構成部である。
【0055】
ここで、pは素数位数、G^とG^は素数位数pを持つ巡回群、e()はe:G^×G^→G^となる双線型写像、H()は任意長の情報{0,1}を群G^の要素に変換するハッシュ関数、H()は任意長の情報{0,1}をhビットと情報{0,1}に変換するハッシュ関数、mを平文、(+)を排他的論理和とする。
【0056】
上位タイムリリースサーバ5500のサーバ秘密鍵生成部5510は、1からNのすべてのnについてp未満の整数ssnをランダムに選択し、整数ssnを第nサーバ秘密鍵ssnとする(S5510)。サーバ秘密鍵送信部5520は、第nサーバ秘密鍵ssnをそれぞれn番目の下位タイムリリースサーバ5200−nに送信する(S5520)。各下位タイムリリースサーバ5200−n(n番目の下位サーバ)のサーバ秘密鍵受信部5210−nは、第nサーバ秘密鍵ssnを受信する(S5210−n)。つまり、下位タイムリリースサーバ5200−1〜Nが、第1サーバ秘密鍵ss1,…,第Nサーバ秘密鍵ssNを受信する(S5210−1〜N)。各下位タイムリリースサーバ5200−nのサーバ公開鍵生成部1220−nは、群G^の要素Gsnをランダムに選択し、Gsnとssnsnを第nサーバ公開鍵psnとし、公開する(S1220−n)。つまり、下位タイムリリースサーバ5200−1〜Nが、第1サーバ公開鍵ps1,…,第Nサーバ公開鍵psNを生成し、公開する(S1220−1〜N)。
【0057】
復号装置5400の復号秘密鍵生成部1460は、p未満の整数sをランダムに選択し、整数sを復号秘密鍵sとする(S1460)。なお、ステップS1460は、ステップS1220−1〜Nなどの下位タイムリリースサーバの処理や上位タイムリリースサーバの処理よりも前に行ってもよい。復号装置認証情報公開部1410は、下位タイムリリースサーバに対応した復号装置認証情報pb1,…,pbNを、1〜Nのすべてのnについて
bn=ssn
のように求め(S1411)、公開する(S412)。
【0058】
暗号装置5300がN個の下位タイムリリースサーバの中から1つの下位タイムリリースサーバを選択し(ここでは、n番目の下位タイムリリースサーバが選択されたとする)、復号時間設定部5350は、復号時間tを選択し、上位タイムリリースサーバ5500と選択した下位タイムリリースサーバ5200−nに復号時間tを設定する(S5350)。暗号鍵生成部3360は、p未満の整数rをランダムに選択し、H(t)をTとし、rをQとし、選択した下位タイムリリースサーバ5200−nに対する暗号鍵Kを、
an=e(ssnsn,Q
のように求める(S3360)。暗号化部3310は、選択した下位タイムリリースサーバ5200−nに対応した個別セッション情報c1,nと個別暗号文c2,nを、
1,n=rbn
2,n=m(+)H(Kan
のように求め、個別セッション情報c1,nと個別暗号文c2,nと復号時間tとを含む暗号文Cを求める(S3310)。例えば、C=(c1,n,c2,n,t)のようにすればよい。暗号文送信部320は、暗号文Cを復号装置5400に送信する(S320)。復号装置5400の暗号文受信部420は、暗号文Cを受信する(S420)。
【0059】
暗号装置5300に選択された下位タイムリリースサーバ5200−nの秘密情報生成部1230−nは、暗号装置5300が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置5400に第n秘密情報sanを送信する(S123−n)。第n秘密情報sanを上記の式で求めるには、一度H(t)をTとし、その上で
an=ssn
のように計算すればよい。なお、秘密情報生成部1230−nの動作は、たとえば、復号装置5400が受信した暗号文Cから下位タイムリリースサーバ5200−nを特定し、復号装置3400が下位タイムリリースサーバ5200−nに第n秘密情報sanをリクエストすることによって開始するようにすればよい。また、下位タイムリリースサーバが1つしかない場合にはリクエストは不要であり、秘密情報生成部1230−nはリクエストなしで動作を開始すればよい。復号装置5400の秘密情報受信部430は、選択された下位タイムリリースサーバ5200−nから、復号時間t以降に、第n秘密情報sanを受信する(S430)。復号部5440は、選択された下位タイムリリースサーバ5200−nに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める(S3440)。
【0060】
そして、万一、暗号装置5300が選択した下位タイムリリースサーバ5200−nが故障していた場合には、復号装置5400は上位タイムリリースサーバ5500に第n秘密情報sanをリクエストする。そして、上位タイムリリースサーバ5500のバックアップ秘密情報生成部5550は、保有している第nサーバ秘密鍵ssnと暗号装置5300が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置5400に第n秘密情報sanを送信する(S5550)。復号装置5400のバックアップ秘密情報受信部5450は、上位タイムリリースサーバ5500から、復号時間t以降に、第n秘密情報sanを受信する(S5450)。復号部3440は、下位タイムリリースサーバ5200−nに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める(S3440:バックアップ復号ステップ)。
【0061】
暗号化システム5100の場合には、選択された下位タイムリリースサーバ5200−nが故障してしまったときには、復号装置5400は、上位タイムリリースサーバ5500から故障してしまった下位タイムリリースサーバから受信するはずだった秘密情報を受信する。暗号化システム5100では暗号文Cには暗号装置5300が選択した下位タイムリリースサーバ用の個別セッション情報c1,nと個別暗号文c2,nしか含まれていない。しかし、上位タイムリリースサーバは、すべての下位タイムリリースサーバのサーバ秘密鍵を、下位タイムリリースサーバの代わりに生成できるか、計算して求めることができるか、記録しているので、故障してしまった下位タイムリリースサーバが送信するはずだった秘密情報を生成して送信できる。したがって、上位タイムリリースサーバまたは下位タイムリリースサーバが正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。なお、本実施例では、上位タイムリリースサーバと下位タイムリリースサーバという2階層の例を示したが、タイムリリースサーバの階層を3階層以上としてもよい。また、実施例2、4、6の暗号化システムを組み合わせてもよい。
【0062】
図23に、コンピュータの機能構成例を示す。なお、本発明のサーバ、タイムリリースサーバ、上位サーバ、下位サーバ、上位タイムリリースサーバ、下位タイムリリースサーバ、暗号装置および復号装置は、コンピュータ9000の記録部9020に、本発明の各構成部としてコンピュータ9000を動作させるプログラムを読み込ませ、処理部9010、入力部9030、出力部9040などを動作させることで実現できる。また、コンピュータに読み込ませる方法としては、プログラムをコンピュータ読み取り可能な記録媒体に記録しておき、記録媒体からコンピュータに読み込ませる方法、サーバ等に記録されたプログラムを、電気通信回線等を通じてコンピュータに読み込ませる方法などがある。
【産業上の利用可能性】
【0063】
本発明は、情報セキュリティ技術に関するものであり、情報を暗号化して送受信し、復号するような通信などに利用することができる。
【符号の説明】
【0064】
100 暗号化システム 200 サーバ
210 サーバ秘密鍵生成部 220 サーバ公開鍵生成部
230 秘密情報生成部 290 サーバ記録部
300 暗号装置 310 暗号化部
320 暗号文送信部 390 暗号化記録部
400 復号装置 410 復号装置認証情報公開部
420 暗号文受信部 430 秘密情報受信部
440 復号部 490 復号記録部
1100 暗号化システム 1200 タイムリリースサーバ
1210 サーバ秘密鍵生成部 1220 サーバ公開鍵生成部
1230 秘密情報生成部 1290 サーバ記録部
1300 暗号装置 1310 暗号化部
1350 復号時間設定部 1360 暗号鍵生成部
1390 暗号化記録部 1400 復号装置
1410 復号装置認証情報公開部 1440 復号部
1460 復号秘密鍵生成部 1490 復号記録部
2100 暗号化システム 2200 サーバ
2240 サーバ秘密鍵共有部 2250 バックアップ秘密情報生成部
2290 サーバ記録部 2300 暗号装置
2310 暗号化部 2390 暗号化記録部
2400 復号装置 2440 復号部
2450 バックアップ秘密情報受信部 2490 復号記録部
3100 暗号化システム 3200 タイムリリースサーバ
3250 バックアップ秘密情報生成部 3290 サーバ記録部
3300 暗号装置 3310 暗号化部
3360 暗号鍵生成部 3390 暗号化記録部
3400 復号装置 3440 復号部
3490 復号記録部 4100 暗号化システム
4200 下位サーバ 4210 サーバ秘密鍵受信部
4290 下位サーバ記録部 4300 暗号装置
4390 暗号化記録部 4400 復号装置
4450 バックアップ秘密情報受信部 4490 復号記録部
4500 上位サーバ 4510 サーバ秘密鍵生成部
4520 サーバ秘密鍵送信部 4550 バックアップ秘密情報生成部
4590 上位サーバ記録部 5100 暗号化システム
5200 下位タイムリリースサーバ 5210 サーバ秘密鍵受信部
5290 下位サーバ記録部 5300 暗号装置
5350 復号時間設定部 5390 暗号化記録部
5400 復号装置 5440 復号部
5450 バックアップ秘密情報受信部 5490 復号記録部
5500 上位タイムリリースサーバ 5510 サーバ秘密鍵生成部
5520 サーバ秘密鍵送信部 5550 バックアップ秘密情報生成部
5590 上位サーバ記録部

【特許請求の範囲】
【請求項1】
N個のサーバと暗号装置と復号装置とを含む暗号化システムであって、
Nは2以上の整数、nは1〜Nの整数とし、
n番目の前記サーバは、
第nサーバ秘密鍵ssnを生成するサーバ秘密鍵生成部と、
第nサーバ公開鍵psnを生成し、公開するサーバ公開鍵生成部と、
第n秘密情報sanを生成し、復号装置に送信する秘密情報生成部と
を備え、
前記暗号装置は、
すべてのサーバに対応した個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nを復号装置認証情報を用いて求め、個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nとを含む暗号文Cを求める暗号化部と
前記暗号文Cを送信する暗号文送信部と
を備え、
前記復号装置は、
復号装置認証情報を公開する復号装置認証情報公開部と、
暗号文Cを受信する暗号文受信部と、
選択したサーバから、第n秘密情報sanを受信する秘密情報受信部と、
個別セッション情報c1,nと第n秘密情報sanを用いて、個別暗号文c2,nを平文mに復号する復号部と
を備える
ことを特徴とする暗号化システム。
【請求項2】
N個のタイムリリースサーバと暗号装置と復号装置とを含む暗号化システムであって、
Nは2以上の整数、nは1〜Nの整数、pは素数位数、G^とG^は素数位数pを持つ巡回群、e()はe:G^×G^→G^となる双線型写像、H()は任意長の情報{0,1}を群G^の要素に変換するハッシュ関数、H()は任意長の情報{0,1}をhビットと情報{0,1}に変換するハッシュ関数、mを平文、(+)を排他的論理和とし、
n番目の前記タイムリリースサーバは、
p未満の整数ssnをランダムに選択し、整数ssnを第nサーバ秘密鍵とするサーバ秘密鍵生成部と、
群G^の要素Gsnをランダムに選択し、Gsnとssnsnを第nサーバ公開鍵psnとし、公開するサーバ公開鍵生成部と、
前記暗号装置が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置に第n秘密情報sanを送信する秘密情報生成部と
を備え、
前記暗号装置は、
復号時間tを選択し、N個の前記タイムリリースサーバに前記復号時間tを設定する復号時間設定部と、
p未満の整数rをランダムに選択し、H(t)をTとし、rをQとし、タイムリリースサーバに対する暗号鍵K,…,Kを、1からNのすべてのnについて
an=e(ssnsn,Q
のように求める暗号鍵生成部と、
すべてのタイムリリースサーバに対応した個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nを、1からNのすべてのnについて
1,n=rbn
2,n=m(+)H(Kan
のように求め、個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nと復号時間tとを含む暗号文Cを求める暗号化部と、
前記暗号文Cを送信する暗号文送信部と
を備え、
前記復号装置は、
p未満の整数sをランダムに選択し、整数sを復号秘密鍵とする復号秘密鍵生成部と、
各タイムリリースサーバに対応した復号装置認証情報pb1,…,pbNを、1〜Nのすべてのnについて
bn=ssn
のように求め、公開する復号装置認証情報公開部と、
暗号文Cを受信する暗号文受信部と、
選択したタイムリリースサーバから、復号時間t以降に、第n秘密情報sanを受信する秘密情報受信部と、
前記選択したタイムリリースサーバに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める復号部と
を備える
ことを特徴とする暗号化システム。
【請求項3】
N個のサーバと暗号装置と復号装置とを含む暗号化システムであって、
Nは2以上の整数、nは1〜Nの整数、jはn以外の1〜Nの整数とし、
n番目の前記タイムリリースサーバは、
第nサーバ秘密鍵ssnを生成するサーバ秘密鍵生成部と、
第nサーバ公開鍵psnを生成し、公開するサーバ公開鍵生成部と、
他のサーバと第1サーバ秘密鍵ss1から第Nサーバ秘密鍵ssNを共有するサーバ秘密鍵共有部と、
復号装置に第n秘密情報sanを送信する秘密情報生成部と、
復号装置に第j秘密情報sajを送信するバックアップ秘密情報生成部と
を備え、
前記暗号装置は、
選択したサーバに対応した個別セッション情報c1,nと個別暗号文c2,nを復号装置認証情報を用いて求め、個別セッション情報c1,nと個別暗号文c2,nを含む暗号文Cを求める暗号化部と
前記暗号文Cを送信する暗号文送信部と
を備え、
前記復号装置は、
復号装置認証情報を公開する復号装置認証情報公開部と、
暗号文Cを受信する暗号文受信部と、
前記暗号装置が選択したサーバから、第n秘密情報sanを受信する秘密情報受信部と、
前記暗号装置が選択したサーバ以外のサーバから、第n秘密情報sanを受信するバックアップ秘密情報受信部と、
個別セッション情報c1,nと第n秘密情報sanを用いて、個別暗号文c2,nを平文mに復号する復号部と
を備える
ことを特徴とする暗号化システム。
【請求項4】
N個のタイムリリースサーバと暗号装置と復号装置とを含む暗号化システムであって、
Nは2以上の整数、nは1〜Nの整数、jはn以外の1〜Nの整数、pは素数位数、G^とG^は素数位数pを持つ巡回群、e()はe:G^×G^→G^となる双線型写像、H()は任意長の情報{0,1}を群G^の要素に変換するハッシュ関数、H()は任意長の情報{0,1}をhビットと情報{0,1}に変換するハッシュ関数、mを平文、(+)を排他的論理和とし、
n番目の前記タイムリリースサーバは、
p未満の整数ssnをランダムに選択し、整数ssnを第nサーバ秘密鍵とするサーバ秘密鍵生成部と、
群G^の要素Gsnをランダムに選択し、Gsnとssnsnを第nサーバ公開鍵psnとし、公開するサーバ公開鍵生成部と、
他のタイムリリースサーバと第1サーバ秘密鍵ss1から第Nサーバ秘密鍵ssNを共有するサーバ秘密鍵共有部と、
前記暗号装置が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置に第n秘密情報sanを送信する秘密情報生成部と、
前記暗号装置が設定した復号時間tから第j秘密情報sajを、
aj=ssj(t)
のように求め、復号時間t以降に復号装置に第j秘密情報sajを送信するバックアップ秘密情報生成部と
を備え、
前記暗号装置は、
復号時間tを選択し、N個の前記タイムリリースサーバに前記復号時間tを設定する復号時間設定部と、
p未満の整数rをランダムに選択し、H(t)をTとし、rをQとし、選択したタイムリリースサーバに対する暗号鍵Kを、
an=e(ssnsn,Q
のように求める暗号鍵生成部と、
選択したタイムリリースサーバに対応した個別セッション情報c1,nと個別暗号文c2,n
1,n=rbn
2,n=m(+)H(Kan
のように求め、個別セッション情報c1,nと個別暗号文c2,nと復号時間tとを含む暗号文Cを求める暗号化部と、
前記暗号文Cを送信する暗号文送信部と
を備え、
前記復号装置は、
p未満の整数sをランダムに選択し、整数sを復号秘密鍵とする復号秘密鍵生成部と、
各タイムリリースサーバに対応した復号装置認証情報pb1,…,pbNを、1〜Nのすべてのnについて
bn=ssn
のように求め、公開する復号装置認証情報公開部と、
暗号文Cを受信する暗号文受信部と、
前記暗号装置が選択したタイムリリースサーバから、復号時間t以降に、第n秘密情報sanを受信する秘密情報受信部と、
前記暗号装置が選択したタイムリリースサーバから第n秘密情報sanが受信できない場合に、他のタイムリリースサーバから第n秘密情報sanを受信するバックアップ秘密情報受信部と、
前記選択したタイムリリースサーバに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める復号部と
を備える
ことを特徴とする暗号化システム。
【請求項5】
上位サーバとN個の下位サーバと暗号装置と復号装置とを含む暗号化システムであって、
Nは1以上の整数、nは1〜Nの整数とし、
前記上位サーバは、
1からNのすべてのnについて、第nサーバ秘密鍵ssnを生成するサーバ秘密鍵生成部と、
前記第nサーバ秘密鍵ssnを、それぞれn番目の下位サーバに送信するサーバ秘密鍵送信部と、
第n秘密情報sanを生成し、復号装置に送信するバックアップ秘密情報生成部と
を備え、
n番目の下位サーバは、
第nサーバ秘密鍵ssnを受信するサーバ秘密鍵受信部と、
第nサーバ公開鍵psnを生成し、公開するサーバ公開鍵生成部と、
第n秘密情報sanを生成し、復号装置に送信する秘密情報生成部と
を備え、
前記暗号装置は、
選択した下位サーバに対応した個別セッション情報c1,nと個別暗号文c2,nを復号装置認証情報を用いて求め、個別セッション情報c1,nと個別暗号文c2,nを含む暗号文Cを求める暗号化部と
前記暗号文Cを送信する暗号文送信部と
を備え、
前記復号装置は、
復号装置認証情報を公開する復号装置認証情報公開部と、
暗号文Cを受信する暗号文受信部と、
前記暗号装置が選択した下位サーバから、第n秘密情報sanを受信する秘密情報受信部と、
前記上位サーバから、第n秘密情報sanを受信するバックアップ秘密情報受信部と、
個別セッション情報c1,nと第n秘密情報sanを用いて、個別暗号文c2,nを平文mに復号する復号部と
を備える
ことを特徴とする暗号化システム。
【請求項6】
上位タイムリリースサーバとN個の下位タイムリリースサーバと暗号装置と復号装置とを含む暗号化システムであって、
Nは1以上の整数、nは1〜Nの整数、pは素数位数、G^とG^は素数位数pを持つ巡回群、e()はe:G^×G^→G^となる双線型写像、H()は任意長の情報{0,1}を群G^の要素に変換するハッシュ関数、H()は任意長の情報{0,1}をhビットと情報{0,1}に変換するハッシュ関数、mを平文、(+)を排他的論理和とし、
前記上位タイムリリースサーバは、
1からNのすべてのnについて、p未満の整数ssnをランダムに選択し、整数ssnを第nサーバ秘密鍵とするサーバ秘密鍵生成部と、
前記第nサーバ秘密鍵ssnを、それぞれn番目の下位タイムリリースサーバに送信するサーバ秘密鍵送信部と、
前記暗号装置が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置に第n秘密情報sanを送信するバックアップ秘密情報生成部と
を備え、
n番目の下位タイムリリースサーバは、
第nサーバ秘密鍵ssnを受信するサーバ秘密鍵受信部と、
群G^の要素Gsnをランダムに選択し、Gsnとssnsnを第nサーバ公開鍵psnとし、公開するサーバ公開鍵生成部と、
前記暗号装置が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置に第n秘密情報sanを送信する秘密情報生成部と
を備え、
前記暗号装置は、
復号時間tを選択し、上位タイムリリースサーバとn番目の下位タイムリリースサーバに前記復号時間tを設定する復号時間設定部と、
p未満の整数rをランダムに選択し、H(t)をTとし、rをQとし、選択した下位タイムリリースサーバに対する暗号鍵Kを、
an=e(ssnsn,Q
のように求める暗号鍵生成部と、
選択したn番目の下位タイムリリースサーバに対応した個別セッション情報c1,nと個別暗号文c2,n
1,n=rbn
2,n=m(+)H(Kan
のように求め、個別セッション情報c1,nと個別暗号文c2,nと復号時間tとを含む暗号文Cを求める暗号化部と、
前記暗号文Cを送信する暗号文送信部と
を備え、
前記復号装置は、
p未満の整数sをランダムに選択し、整数sを復号秘密鍵とする復号秘密鍵生成部と、
各下位タイムリリースサーバに対応した復号装置認証情報pb1,…,pbNを、1〜Nのすべてのnについて
bn=ssn
のように求め、公開する復号装置認証情報公開部と、
暗号文Cを受信する暗号文受信部と、
前記暗号装置が選択した下位タイムリリースサーバから、復号時間t以降に、第n秘密情報sanを受信する秘密情報受信部と、
前記暗号装置が選択した下位タイムリリースサーバから第n秘密情報sanが受信できない場合に、上位タイムリリースサーバから第n秘密情報sanを受信するバックアップ秘密情報受信部と、
前記選択した下位タイムリリースサーバに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める復号部と
を備える
ことを特徴とする暗号化システム。
【請求項7】
N個のサーバと暗号装置と復号装置とを含む暗号化システムによる暗号化方法であって、
Nは2以上の整数、nは1〜Nの整数、jはn以外の1〜Nの整数とし、
すべての前記サーバが、
第nサーバ秘密鍵ssnを生成するサーバ秘密鍵生成ステップと、
第nサーバ公開鍵psnを生成し、公開するサーバ公開鍵生成ステップと、
前記復号装置が、
復号装置認証情報を公開する復号装置認証情報公開ステップと、
前記暗号装置が、
すべてのサーバに対応した個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nを復号装置認証情報を用いて求め、個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nとを含む暗号文Cを求める暗号化ステップと、
前記暗号文Cを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Cを受信する暗号文受信ステップと、
前記復号装置が選択したn番目の前記サーバが、
第n秘密情報sanを生成し、復号装置に送信する秘密情報生成ステップと
前記復号装置が、
選択したサーバから、第n秘密情報sanを受信する秘密情報受信ステップと、
個別セッション情報c1,nと第n秘密情報sanを用いて、個別暗号文c2,nを平文mに復号する復号ステップと、
前記選択したサーバが故障した場合には、前記復号装置が、前記選択したサーバ以外のサーバを再選択し、
前記復号装置が再選択したj番目の前記サーバが、
第n秘密情報sanを生成し、復号装置に送信するバックアップ秘密情報生成ステップと
前記復号装置が、
再選択したj番目の前記サーバから、第j秘密情報sajを受信するバックアップ秘密情報受信ステップと、
個別セッション情報c1,jと第j秘密情報sajを用いて、個別暗号文c2,jを平文mに復号するバックアップ復号ステップと、
を有する
ことを特徴とする暗号化方法。
【請求項8】
N個のタイムリリースサーバと暗号装置と復号装置とを含む暗号化システムによる暗号化方法であって、
Nは2以上の整数、nは1〜Nの整数、jはn以外の1〜Nの整数、pは素数位数、G^とG^は素数位数pを持つ巡回群、e()はe:G^×G^→G^となる双線型写像、H()は任意長の情報{0,1}を群G^の要素に変換するハッシュ関数、H()は任意長の情報{0,1}をhビットと情報{0,1}に変換するハッシュ関数、mを平文、(+)を排他的論理和とし、
すべての前記タイムリリースサーバが、
p未満の整数ssnをランダムに選択し、整数ssnを第nサーバ秘密鍵とするサーバ秘密鍵生成ステップと、
群G^の要素Gsnをランダムに選択し、Gsnとssnsnを第nサーバ公開鍵psnとし、公開するサーバ公開鍵生成ステップと、
前記復号装置が、
p未満の整数sをランダムに選択し、整数sを復号秘密鍵とする復号秘密鍵生成ステップと、
各タイムリリースサーバに対応した復号装置認証情報pb1,…,pbNを、1〜Nのすべてのnについて
bn=ssn
のように求め、公開する復号装置認証情報公開ステップと、
前記暗号装置が、
復号時間tを選択し、N個の前記タイムリリースサーバに前記復号時間tを設定する復号時間設定ステップと、
p未満の整数rをランダムに選択し、H(t)をTとし、rをQとし、タイムリリースサーバに対する暗号鍵K,…,Kを、1からNのすべてのnについて
an=e(ssnsn,Q
のように求める暗号鍵生成ステップと、
すべてのタイムリリースサーバに対応した個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nを、1からNのすべてのnについて
1,n=rbn
2,n=m(+)H(Kan
のように求め、個別セッション情報c1,1,…,c1,Nと個別暗号文c2,1,…,c2,Nと復号時間tとを含む暗号文Cを求める暗号化ステップと、
前記暗号文Cを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Cを受信する暗号文受信ステップと、
前記復号装置が選択したn番目の前記タイムリリースサーバが、
前記暗号装置が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置に第n秘密情報sanを送信する秘密情報生成ステップと、
前記復号装置が、
選択したタイムリリースサーバから、復号時間t以降に、第n秘密情報sanを受信する秘密情報受信ステップと、
前記選択したタイムリリースサーバに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める復号ステップと、
前記選択したタイムリリースサーバが故障した場合には、前記復号装置が、前記選択したタイムリリースサーバ以外のタイムリリースサーバを再選択し、
前記復号装置が選択したn番目の前記タイムリリースサーバが、
前記暗号装置が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置に第n秘密情報sanを送信する秘密情報生成ステップと、
前記復号装置が、
選択したタイムリリースサーバから、復号時間t以降に、第n秘密情報sanを受信する秘密情報受信ステップと、
前記選択したタイムリリースサーバに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める復号ステップと、
前記選択したタイムリリースサーバが故障した場合には、前記復号装置が、前記選択したタイムリリースサーバ以外のタイムリリースサーバを再選択し、
前記復号装置が再選択したn番目の前記タイムリリースサーバが、
前記暗号装置が設定した復号時間tから第j秘密情報sajを、
aj=ssj(t)
のように求め、復号時間t以降に復号装置に第j秘密情報sajを送信するバックアップ秘密情報生成ステップと、
前記復号装置が、
再選択したタイムリリースサーバから、復号時間t以降に、第j秘密情報sajを受信するバックアップ秘密情報受信ステップと、
前記再選択したタイムリリースサーバに対応する復号鍵Kbj
bj=e(s−11,j,saj
のように求め、平文mを
m=H(Kbj)(+)c2,j
のように求めるバックアップ復号ステップと、
を有する
ことを特徴とする暗号化方法。
【請求項9】
N個のサーバと暗号装置と復号装置とを含む暗号化システムによる暗号化方法であって、
Nは2以上の整数、nは1〜Nの整数、jはn以外の1〜Nの整数とし、
すべての前記タイムリリースサーバが、
第nサーバ秘密鍵ssnを生成するサーバ秘密鍵生成ステップと、
第nサーバ公開鍵psnを生成し、公開するサーバ公開鍵生成ステップと、
他のサーバと第1サーバ秘密鍵ss1から第Nサーバ秘密鍵ssNを共有するサーバ秘密鍵共有ステップと、
前記復号装置が、
復号装置認証情報を公開する復号装置認証情報公開ステップと、
前記暗号装置が、いずれかのタイムリリースサーバを選択し、
選択したサーバに対応した個別セッション情報c1,nと個別暗号文c2,nを復号装置認証情報を用いて求め、個別セッション情報c1,nと個別暗号文c2,nを含む暗号文Cを求める暗号化ステップと
前記暗号文Cを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Cを受信する暗号文受信ステップと、
n番目の前記タイムリリースサーバが、
復号装置に第n秘密情報sanを送信する秘密情報生成ステップと、
前記復号装置が、
前記暗号装置が選択したサーバから、第n秘密情報sanを受信する秘密情報受信ステップと、
個別セッション情報c1,nと第n秘密情報sanを用いて、個別暗号文c2,nを平文mに復号する復号ステップと
前記選択したサーバが故障した場合には、前記復号装置が、前記暗号装置が前記選択したサーバ以外のサーバを再選択し、
前記復号装置が再選択したj番目の前記タイムリリースサーバが、
復号装置に第n秘密情報sanを送信するバックアップ秘密情報生成ステップと
前記復号装置が、
前記復号装置が再選択したサーバから、第n秘密情報sanを受信するバックアップ秘密情報受信ステップと、
個別セッション情報c1,nと第n秘密情報sanを用いて、個別暗号文c2,nを平文mに復号するバックアップ復号ステップと
を有する
ことを特徴とする暗号化方法。
【請求項10】
N個のタイムリリースサーバと暗号装置と復号装置とを含む暗号化システムによる暗号化方法であって、
Nは2以上の整数、nは1〜Nの整数、jはn以外の1〜Nの整数、pは素数位数、G^とG^は素数位数pを持つ巡回群、e()はe:G^×G^→G^となる双線型写像、H()は任意長の情報{0,1}を群G^の要素に変換するハッシュ関数、H()は任意長の情報{0,1}をhビットと情報{0,1}に変換するハッシュ関数、mを平文、(+)を排他的論理和とし、
すべての前記タイムリリースサーバが、
p未満の整数ssnをランダムに選択し、整数ssnを第nサーバ秘密鍵とするサーバ秘密鍵生成ステップと、
群G^の要素Gsnをランダムに選択し、Gsnとssnsnを第nサーバ公開鍵psnとし、公開するサーバ公開鍵生成ステップと、
他のタイムリリースサーバと第1サーバ秘密鍵ss1から第Nサーバ秘密鍵ssNを共有するサーバ秘密鍵共有ステップと、
前記復号装置が、
p未満の整数sをランダムに選択し、整数sを復号秘密鍵とする復号秘密鍵生成ステップと、
各タイムリリースサーバに対応した復号装置認証情報pb1,…,pbNを、1〜Nのすべてのnについて
bn=ssn
のように求め、公開する復号装置認証情報公開ステップと、
前記暗号装置が、いずれかのサーバを選択し、
復号時間tを選択し、N個の前記タイムリリースサーバに前記復号時間tを設定する復号時間設定ステップと、
p未満の整数rをランダムに選択し、H(t)をTとし、rをQとし、選択したタイムリリースサーバに対する暗号鍵Kを、
an=e(ssnsn,Q
のように求める暗号鍵生成ステップと、
選択したタイムリリースサーバに対応した個別セッション情報c1,nと個別暗号文c2,n
1,n=rbn
2,n=m(+)H(Kan
のように求め、個別セッション情報c1,nと個別暗号文c2,nと復号時間tとを含む暗号文Cを求める暗号化ステップと、
前記暗号文Cを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Cを受信する暗号文受信ステップと、
前記暗号装置が選択したn番目の前記タイムリリースサーバが、
前記暗号装置が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置に第n秘密情報sanを送信する秘密情報生成ステップと、
前記復号装置が、
前記暗号装置が選択したタイムリリースサーバから、復号時間t以降に、第n秘密情報sanを受信する秘密情報受信ステップと、
前記選択したタイムリリースサーバに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める復号ステップと
前記選択したサーバが故障した場合には、前記復号装置が、前記暗号装置が前記選択したサーバ以外のサーバを再選択し、
前記復号装置が再選択したj番目の前記タイムリリースサーバが、
前記暗号装置が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置に第n秘密情報sanを送信するバックアップ秘密情報生成ステップと、
前記復号装置が、
前記復号装置が再選択したj番目の前記タイムリリースサーバから第n秘密情報sanを受信するバックアップ秘密情報受信ステップと、
前記選択したタイムリリースサーバに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求めるバックアップ復号ステップと
を有する
ことを特徴とする暗号化方法。
【請求項11】
上位サーバとN個の下位サーバと暗号装置と復号装置とを含む暗号化システムによる暗号化方法であって、
Nは1以上の整数、nは1〜Nの整数とし、
前記上位サーバが、
1からNのすべてのnについて、第nサーバ秘密鍵ssnを生成するサーバ秘密鍵生成ステップと、
前記第nサーバ秘密鍵ssnを、それぞれn番目の下位サーバに送信するサーバ秘密鍵送信ステップと、
すべての下位サーバが、
第nサーバ秘密鍵ssnを受信するサーバ秘密鍵受信ステップと、
第nサーバ公開鍵psnを生成し、公開するサーバ公開鍵生成ステップと、
前記復号装置が、
復号装置認証情報を公開する復号装置認証情報公開ステップと、
前記暗号装置が、いずれかの下位サーバを選択し、
選択した下位サーバに対応した個別セッション情報c1,nと個別暗号文c2,nを復号装置認証情報を用いて求め、個別セッション情報c1,nと個別暗号文c2,nを含む暗号文Cを求める暗号化ステップと、
前記暗号文Cを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Cを受信する暗号文受信ステップと、
前記暗号装置が選択したn番目の下位サーバが、
第n秘密情報sanを生成し、復号装置に送信する秘密情報生成ステップと、
前記復号装置が、
前記暗号装置が選択した下位サーバから、第n秘密情報sanを受信する秘密情報受信ステップと、
個別セッション情報c1,nと第n秘密情報sanを用いて、個別暗号文c2,nを平文mに復号する復号ステップと
前記選択したサーバが故障した場合には、
前記上位サーバが、
第n秘密情報sanを生成し、復号装置に送信するバックアップ秘密情報生成ステップと、
前記復号装置が、
前記上位サーバから、第n秘密情報sanを受信するバックアップ秘密情報受信ステップと、
個別セッション情報c1,nと第n秘密情報sanを用いて、個別暗号文c2,nを平文mに復号するバックアップ復号ステップと、
を有する
ことを特徴とする暗号化方法。
【請求項12】
上位タイムリリースサーバとN個の下位タイムリリースサーバと暗号装置と復号装置とを含む暗号化システムによる暗号方法であって、
Nは1以上の整数、nは1〜Nの整数、pは素数位数、G^とG^は素数位数pを持つ巡回群、e()はe:G^×G^→G^となる双線型写像、H()は任意長の情報{0,1}を群G^の要素に変換するハッシュ関数、H()は任意長の情報{0,1}をhビットと情報{0,1}に変換するハッシュ関数、mを平文、(+)を排他的論理和とし、
前記上位タイムリリースサーバが、
1からNのすべてのnについて、p未満の整数ssnをランダムに選択し、整数ssnを第nサーバ秘密鍵とするサーバ秘密鍵生成ステップと、
前記第nサーバ秘密鍵ssnを、それぞれn番目の下位タイムリリースサーバに送信するサーバ秘密鍵送信ステップと、
すべての下位タイムリリースサーバが、
第nサーバ秘密鍵ssnを受信するサーバ秘密鍵受信ステップと、
群G^の要素Gsnをランダムに選択し、Gsnとssnsnを第nサーバ公開鍵psnとし、公開するサーバ公開鍵生成ステップと、
前記復号装置が、
p未満の整数sをランダムに選択し、整数sを復号秘密鍵とする復号秘密鍵生成ステップと、
各下位タイムリリースサーバに対応した復号装置認証情報pb1,…,pbNを、1〜Nのすべてのnについて
bn=ssn
のように求め、公開する復号装置認証情報公開ステップと、
前記暗号装置が、
復号時間tを選択し、上位タイムリリースサーバとn番目の下位タイムリリースサーバに前記復号時間tを設定する復号時間設定ステップと、
p未満の整数rをランダムに選択し、H(t)をTとし、rをQとし、選択した下位タイムリリースサーバに対する暗号鍵Kを、
an=e(ssnsn,Q
のように求める暗号鍵生成ステップと、
選択したn番目の下位タイムリリースサーバに対応した個別セッション情報c1,nと個別暗号文c2,n
1,n=rbn
2,n=m(+)H(Kan
のように求め、個別セッション情報c1,nと個別暗号文c2,nと復号時間tとを含む暗号文Cを求める暗号化ステップと、
前記暗号文Cを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Cを受信する暗号文受信ステップと、
前記暗号装置が選択したn番目の下位タイムリリースサーバが、
前記暗号装置が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置に第n秘密情報sanを送信する秘密情報生成ステップと、
前記復号装置が、
前記暗号装置が選択した下位タイムリリースサーバから、復号時間t以降に、第n秘密情報sanを受信する秘密情報受信ステップと、
前記選択した下位タイムリリースサーバに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求める復号ステップと
前記選択した下位タイムリリースサーバが故障した場合には、
前記上位タイムリリースサーバが、
前記暗号装置が設定した復号時間tから第n秘密情報sanを、
an=ssn(t)
のように求め、復号時間t以降に復号装置に第n秘密情報sanを送信するバックアップ秘密情報生成ステップと、
前記復号装置が、
上位タイムリリースサーバから第n秘密情報sanを受信するバックアップ秘密情報受信ステップと、
前記選択した下位タイムリリースサーバに対応する復号鍵Kbn
bn=e(s−11,n,san
のように求め、平文mを
m=H(Kbn)(+)c2,n
のように求めるバックアップ復号ステップと
を有する
ことを特徴とする暗号化方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate