(57)【要約】【課題】１つのサーバが故障してしまってもシステム全体がダウンしない暗号化システムを提供する。【解決手段】本発明の暗号化システムは、複数のサーバと暗号装置と復号装置を含んでいる。そして、サーバが故障していない場合は、復号装置は、暗号装置または復号装置が選択したサーバから秘密情報を受信し、復号に用いる。選択されたサーバが故障してしまったときには、他のサーバから秘密情報を受信する。第１の暗号化システムでは暗号文にすべてのサーバ用の個別セッション情報と個別暗号文とが含まれている。第２の暗号化システムでは、各サーバがすべてのサーバのサーバ秘密鍵を共有している。第３の暗号化システムでは、上位サーバが、すべての下位サーバのサーバ秘密鍵を記録している。【選択図】図１
2010183483.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ個のサーバと暗号装置と復号装置とを含む暗号化システムであって、
Ｎは２以上の整数、ｎは１〜Ｎの整数とし、
ｎ番目の前記サーバは、
第ｎサーバ秘密鍵ｓｓｎを生成するサーバ秘密鍵生成部と、
第ｎサーバ公開鍵ｐｓｎを生成し、公開するサーバ公開鍵生成部と、
第ｎ秘密情報ｓａｎを生成し、復号装置に送信する秘密情報生成部と
を備え、
前記暗号装置は、
すべてのサーバに対応した個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎを復号装置認証情報を用いて求め、個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎとを含む暗号文Ｃを求める暗号化部と
前記暗号文Ｃを送信する暗号文送信部と
を備え、
前記復号装置は、
復号装置認証情報を公開する復号装置認証情報公開部と、
暗号文Ｃを受信する暗号文受信部と、
選択したサーバから、第ｎ秘密情報ｓａｎを受信する秘密情報受信部と、
個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて、個別暗号文ｃ２，ｎを平文ｍに復号する復号部と
を備える
ことを特徴とする暗号化システム。
【請求項２】
Ｎ個のタイムリリースサーバと暗号装置と復号装置とを含む暗号化システムであって、
Ｎは２以上の整数、ｎは１〜Ｎの整数、ｐは素数位数、Ｇ＾とＧＴ＾は素数位数ｐを持つ巡回群、ｅ（）はｅ：Ｇ＾×Ｇ＾→ＧＴ＾となる双線型写像、Ｈ１（）は任意長の情報｛０，１｝＊を群Ｇ＾の要素に変換するハッシュ関数、Ｈ２（）は任意長の情報｛０，１｝＊をｈビットと情報｛０，１｝ｈに変換するハッシュ関数、ｍを平文、（＋）を排他的論理和とし、
ｎ番目の前記タイムリリースサーバは、
ｐ未満の整数ｓｓｎをランダムに選択し、整数ｓｓｎを第ｎサーバ秘密鍵とするサーバ秘密鍵生成部と、
群Ｇ＾の要素Ｇｓｎをランダムに選択し、ＧｓｎとｓｓｎＧｓｎを第ｎサーバ公開鍵ｐｓｎとし、公開するサーバ公開鍵生成部と、
前記暗号装置が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｎ秘密情報ｓａｎを送信する秘密情報生成部と
を備え、
前記暗号装置は、
復号時間ｔを選択し、Ｎ個の前記タイムリリースサーバに前記復号時間ｔを設定する復号時間設定部と、
ｐ未満の整数ｒａをランダムに選択し、Ｈ１（ｔ）をＴａとし、ｒａＴａをＱａとし、タイムリリースサーバに対する暗号鍵Ｋ１，…，ＫＮを、１からＮのすべてのｎについて
Ｋａｎ＝ｅ（ｓｓｎＧｓｎ，Ｑａ）
のように求める暗号鍵生成部と、
すべてのタイムリリースサーバに対応した個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎを、１からＮのすべてのｎについて
ｃ１，ｎ＝ｒａｐｂｎ
ｃ２，ｎ＝ｍ（＋）Ｈ２（Ｋａｎ）
のように求め、個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎと復号時間ｔとを含む暗号文Ｃを求める暗号化部と、
前記暗号文Ｃを送信する暗号文送信部と
を備え、
前記復号装置は、
ｐ未満の整数ｓｂをランダムに選択し、整数ｓｂを復号秘密鍵とする復号秘密鍵生成部と、
各タイムリリースサーバに対応した復号装置認証情報ｐｂ1，…，ｐｂＮを、１〜Ｎのすべてのｎについて
ｐｂｎ＝ｓｂＧｓｎ
のように求め、公開する復号装置認証情報公開部と、
暗号文Ｃを受信する暗号文受信部と、
選択したタイムリリースサーバから、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する秘密情報受信部と、
前記選択したタイムリリースサーバに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める復号部と
を備える
ことを特徴とする暗号化システム。
【請求項３】
Ｎ個のサーバと暗号装置と復号装置とを含む暗号化システムであって、
Ｎは２以上の整数、ｎは１〜Ｎの整数、ｊはｎ以外の１〜Ｎの整数とし、
ｎ番目の前記タイムリリースサーバは、
第ｎサーバ秘密鍵ｓｓｎを生成するサーバ秘密鍵生成部と、
第ｎサーバ公開鍵ｐｓｎを生成し、公開するサーバ公開鍵生成部と、
他のサーバと第１サーバ秘密鍵ｓｓ1から第Ｎサーバ秘密鍵ｓｓＮを共有するサーバ秘密鍵共有部と、
復号装置に第ｎ秘密情報ｓａｎを送信する秘密情報生成部と、
復号装置に第ｊ秘密情報ｓａｊを送信するバックアップ秘密情報生成部と
を備え、
前記暗号装置は、
選択したサーバに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを復号装置認証情報を用いて求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを含む暗号文Ｃを求める暗号化部と
前記暗号文Ｃを送信する暗号文送信部と
を備え、
前記復号装置は、
復号装置認証情報を公開する復号装置認証情報公開部と、
暗号文Ｃを受信する暗号文受信部と、
前記暗号装置が選択したサーバから、第ｎ秘密情報ｓａｎを受信する秘密情報受信部と、
前記暗号装置が選択したサーバ以外のサーバから、第ｎ秘密情報ｓａｎを受信するバックアップ秘密情報受信部と、
個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて、個別暗号文ｃ２，ｎを平文ｍに復号する復号部と
を備える
ことを特徴とする暗号化システム。
【請求項４】
Ｎ個のタイムリリースサーバと暗号装置と復号装置とを含む暗号化システムであって、
Ｎは２以上の整数、ｎは１〜Ｎの整数、ｊはｎ以外の１〜Ｎの整数、ｐは素数位数、Ｇ＾とＧＴ＾は素数位数ｐを持つ巡回群、ｅ（）はｅ：Ｇ＾×Ｇ＾→ＧＴ＾となる双線型写像、Ｈ１（）は任意長の情報｛０，１｝＊を群Ｇ＾の要素に変換するハッシュ関数、Ｈ２（）は任意長の情報｛０，１｝＊をｈビットと情報｛０，１｝ｈに変換するハッシュ関数、ｍを平文、（＋）を排他的論理和とし、
ｎ番目の前記タイムリリースサーバは、
ｐ未満の整数ｓｓｎをランダムに選択し、整数ｓｓｎを第ｎサーバ秘密鍵とするサーバ秘密鍵生成部と、
群Ｇ＾の要素Ｇｓｎをランダムに選択し、ＧｓｎとｓｓｎＧｓｎを第ｎサーバ公開鍵ｐｓｎとし、公開するサーバ公開鍵生成部と、
他のタイムリリースサーバと第１サーバ秘密鍵ｓｓ1から第Ｎサーバ秘密鍵ｓｓＮを共有するサーバ秘密鍵共有部と、
前記暗号装置が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｎ秘密情報ｓａｎを送信する秘密情報生成部と、
前記暗号装置が設定した復号時間ｔから第ｊ秘密情報ｓａｊを、
ｓａｊ＝ｓｓｊＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｊ秘密情報ｓａｊを送信するバックアップ秘密情報生成部と
を備え、
前記暗号装置は、
復号時間ｔを選択し、Ｎ個の前記タイムリリースサーバに前記復号時間ｔを設定する復号時間設定部と、
ｐ未満の整数ｒａをランダムに選択し、Ｈ１（ｔ）をＴａとし、ｒａＴａをＱａとし、選択したタイムリリースサーバに対する暗号鍵Ｋｎを、
Ｋａｎ＝ｅ（ｓｓｎＧｓｎ，Ｑａ）
のように求める暗号鍵生成部と、
選択したタイムリリースサーバに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを
ｃ１，ｎ＝ｒａｐｂｎ
ｃ２，ｎ＝ｍ（＋）Ｈ２（Ｋａｎ）
のように求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎと復号時間ｔとを含む暗号文Ｃを求める暗号化部と、
前記暗号文Ｃを送信する暗号文送信部と
を備え、
前記復号装置は、
ｐ未満の整数ｓｂをランダムに選択し、整数ｓｂを復号秘密鍵とする復号秘密鍵生成部と、
各タイムリリースサーバに対応した復号装置認証情報ｐｂ1，…，ｐｂＮを、１〜Ｎのすべてのｎについて
ｐｂｎ＝ｓｂＧｓｎ
のように求め、公開する復号装置認証情報公開部と、
暗号文Ｃを受信する暗号文受信部と、
前記暗号装置が選択したタイムリリースサーバから、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する秘密情報受信部と、
前記暗号装置が選択したタイムリリースサーバから第ｎ秘密情報ｓａｎが受信できない場合に、他のタイムリリースサーバから第ｎ秘密情報ｓａｎを受信するバックアップ秘密情報受信部と、
前記選択したタイムリリースサーバに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める復号部と
を備える
ことを特徴とする暗号化システム。
【請求項５】
上位サーバとＮ個の下位サーバと暗号装置と復号装置とを含む暗号化システムであって、
Ｎは１以上の整数、ｎは１〜Ｎの整数とし、
前記上位サーバは、
１からＮのすべてのｎについて、第ｎサーバ秘密鍵ｓｓｎを生成するサーバ秘密鍵生成部と、
前記第ｎサーバ秘密鍵ｓｓｎを、それぞれｎ番目の下位サーバに送信するサーバ秘密鍵送信部と、
第ｎ秘密情報ｓａｎを生成し、復号装置に送信するバックアップ秘密情報生成部と
を備え、
ｎ番目の下位サーバは、
第ｎサーバ秘密鍵ｓｓｎを受信するサーバ秘密鍵受信部と、
第ｎサーバ公開鍵ｐｓｎを生成し、公開するサーバ公開鍵生成部と、
第ｎ秘密情報ｓａｎを生成し、復号装置に送信する秘密情報生成部と
を備え、
前記暗号装置は、
選択した下位サーバに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを復号装置認証情報を用いて求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを含む暗号文Ｃを求める暗号化部と
前記暗号文Ｃを送信する暗号文送信部と
を備え、
前記復号装置は、
復号装置認証情報を公開する復号装置認証情報公開部と、
暗号文Ｃを受信する暗号文受信部と、
前記暗号装置が選択した下位サーバから、第ｎ秘密情報ｓａｎを受信する秘密情報受信部と、
前記上位サーバから、第ｎ秘密情報ｓａｎを受信するバックアップ秘密情報受信部と、
個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて、個別暗号文ｃ２，ｎを平文ｍに復号する復号部と
を備える
ことを特徴とする暗号化システム。
【請求項６】
上位タイムリリースサーバとＮ個の下位タイムリリースサーバと暗号装置と復号装置とを含む暗号化システムであって、
Ｎは１以上の整数、ｎは１〜Ｎの整数、ｐは素数位数、Ｇ＾とＧＴ＾は素数位数ｐを持つ巡回群、ｅ（）はｅ：Ｇ＾×Ｇ＾→ＧＴ＾となる双線型写像、Ｈ１（）は任意長の情報｛０，１｝＊を群Ｇ＾の要素に変換するハッシュ関数、Ｈ２（）は任意長の情報｛０，１｝＊をｈビットと情報｛０，１｝ｈに変換するハッシュ関数、ｍを平文、（＋）を排他的論理和とし、
前記上位タイムリリースサーバは、
１からＮのすべてのｎについて、ｐ未満の整数ｓｓｎをランダムに選択し、整数ｓｓｎを第ｎサーバ秘密鍵とするサーバ秘密鍵生成部と、
前記第ｎサーバ秘密鍵ｓｓｎを、それぞれｎ番目の下位タイムリリースサーバに送信するサーバ秘密鍵送信部と、
前記暗号装置が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｎ秘密情報ｓａｎを送信するバックアップ秘密情報生成部と
を備え、
ｎ番目の下位タイムリリースサーバは、
第ｎサーバ秘密鍵ｓｓｎを受信するサーバ秘密鍵受信部と、
群Ｇ＾の要素Ｇｓｎをランダムに選択し、ＧｓｎとｓｓｎＧｓｎを第ｎサーバ公開鍵ｐｓｎとし、公開するサーバ公開鍵生成部と、
前記暗号装置が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｎ秘密情報ｓａｎを送信する秘密情報生成部と
を備え、
前記暗号装置は、
復号時間ｔを選択し、上位タイムリリースサーバとｎ番目の下位タイムリリースサーバに前記復号時間ｔを設定する復号時間設定部と、
ｐ未満の整数ｒａをランダムに選択し、Ｈ１（ｔ）をＴａとし、ｒａＴａをＱａとし、選択した下位タイムリリースサーバに対する暗号鍵Ｋｎを、
Ｋａｎ＝ｅ（ｓｓｎＧｓｎ，Ｑａ）
のように求める暗号鍵生成部と、
選択したｎ番目の下位タイムリリースサーバに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを
ｃ１，ｎ＝ｒａｐｂｎ
ｃ２，ｎ＝ｍ（＋）Ｈ２（Ｋａｎ）
のように求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎと復号時間ｔとを含む暗号文Ｃを求める暗号化部と、
前記暗号文Ｃを送信する暗号文送信部と
を備え、
前記復号装置は、
ｐ未満の整数ｓｂをランダムに選択し、整数ｓｂを復号秘密鍵とする復号秘密鍵生成部と、
各下位タイムリリースサーバに対応した復号装置認証情報ｐｂ1，…，ｐｂＮを、１〜Ｎのすべてのｎについて
ｐｂｎ＝ｓｂＧｓｎ
のように求め、公開する復号装置認証情報公開部と、
暗号文Ｃを受信する暗号文受信部と、
前記暗号装置が選択した下位タイムリリースサーバから、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する秘密情報受信部と、
前記暗号装置が選択した下位タイムリリースサーバから第ｎ秘密情報ｓａｎが受信できない場合に、上位タイムリリースサーバから第ｎ秘密情報ｓａｎを受信するバックアップ秘密情報受信部と、
前記選択した下位タイムリリースサーバに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める復号部と
を備える
ことを特徴とする暗号化システム。
【請求項７】
Ｎ個のサーバと暗号装置と復号装置とを含む暗号化システムによる暗号化方法であって、
Ｎは２以上の整数、ｎは１〜Ｎの整数、ｊはｎ以外の１〜Ｎの整数とし、
すべての前記サーバが、
第ｎサーバ秘密鍵ｓｓｎを生成するサーバ秘密鍵生成ステップと、
第ｎサーバ公開鍵ｐｓｎを生成し、公開するサーバ公開鍵生成ステップと、
前記復号装置が、
復号装置認証情報を公開する復号装置認証情報公開ステップと、
前記暗号装置が、
すべてのサーバに対応した個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎを復号装置認証情報を用いて求め、個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎとを含む暗号文Ｃを求める暗号化ステップと、
前記暗号文Ｃを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Ｃを受信する暗号文受信ステップと、
前記復号装置が選択したｎ番目の前記サーバが、
第ｎ秘密情報ｓａｎを生成し、復号装置に送信する秘密情報生成ステップと
前記復号装置が、
選択したサーバから、第ｎ秘密情報ｓａｎを受信する秘密情報受信ステップと、
個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて、個別暗号文ｃ２，ｎを平文ｍに復号する復号ステップと、
前記選択したサーバが故障した場合には、前記復号装置が、前記選択したサーバ以外のサーバを再選択し、
前記復号装置が再選択したｊ番目の前記サーバが、
第ｎ秘密情報ｓａｎを生成し、復号装置に送信するバックアップ秘密情報生成ステップと
前記復号装置が、
再選択したｊ番目の前記サーバから、第ｊ秘密情報ｓａｊを受信するバックアップ秘密情報受信ステップと、
個別セッション情報ｃ１，ｊと第ｊ秘密情報ｓａｊを用いて、個別暗号文ｃ２，ｊを平文ｍに復号するバックアップ復号ステップと、
を有する
ことを特徴とする暗号化方法。
【請求項８】
Ｎ個のタイムリリースサーバと暗号装置と復号装置とを含む暗号化システムによる暗号化方法であって、
Ｎは２以上の整数、ｎは１〜Ｎの整数、ｊはｎ以外の１〜Ｎの整数、ｐは素数位数、Ｇ＾とＧＴ＾は素数位数ｐを持つ巡回群、ｅ（）はｅ：Ｇ＾×Ｇ＾→ＧＴ＾となる双線型写像、Ｈ１（）は任意長の情報｛０，１｝＊を群Ｇ＾の要素に変換するハッシュ関数、Ｈ２（）は任意長の情報｛０，１｝＊をｈビットと情報｛０，１｝ｈに変換するハッシュ関数、ｍを平文、（＋）を排他的論理和とし、
すべての前記タイムリリースサーバが、
ｐ未満の整数ｓｓｎをランダムに選択し、整数ｓｓｎを第ｎサーバ秘密鍵とするサーバ秘密鍵生成ステップと、
群Ｇ＾の要素Ｇｓｎをランダムに選択し、ＧｓｎとｓｓｎＧｓｎを第ｎサーバ公開鍵ｐｓｎとし、公開するサーバ公開鍵生成ステップと、
前記復号装置が、
ｐ未満の整数ｓｂをランダムに選択し、整数ｓｂを復号秘密鍵とする復号秘密鍵生成ステップと、
各タイムリリースサーバに対応した復号装置認証情報ｐｂ1，…，ｐｂＮを、１〜Ｎのすべてのｎについて
ｐｂｎ＝ｓｂＧｓｎ
のように求め、公開する復号装置認証情報公開ステップと、
前記暗号装置が、
復号時間ｔを選択し、Ｎ個の前記タイムリリースサーバに前記復号時間ｔを設定する復号時間設定ステップと、
ｐ未満の整数ｒａをランダムに選択し、Ｈ１（ｔ）をＴａとし、ｒａＴａをＱａとし、タイムリリースサーバに対する暗号鍵Ｋ１，…，ＫＮを、１からＮのすべてのｎについて
Ｋａｎ＝ｅ（ｓｓｎＧｓｎ，Ｑａ）
のように求める暗号鍵生成ステップと、
すべてのタイムリリースサーバに対応した個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎを、１からＮのすべてのｎについて
ｃ１，ｎ＝ｒａｐｂｎ
ｃ２，ｎ＝ｍ（＋）Ｈ２（Ｋａｎ）
のように求め、個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎと復号時間ｔとを含む暗号文Ｃを求める暗号化ステップと、
前記暗号文Ｃを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Ｃを受信する暗号文受信ステップと、
前記復号装置が選択したｎ番目の前記タイムリリースサーバが、
前記暗号装置が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｎ秘密情報ｓａｎを送信する秘密情報生成ステップと、
前記復号装置が、
選択したタイムリリースサーバから、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する秘密情報受信ステップと、
前記選択したタイムリリースサーバに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める復号ステップと、
前記選択したタイムリリースサーバが故障した場合には、前記復号装置が、前記選択したタイムリリースサーバ以外のタイムリリースサーバを再選択し、
前記復号装置が選択したｎ番目の前記タイムリリースサーバが、
前記暗号装置が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｎ秘密情報ｓａｎを送信する秘密情報生成ステップと、
前記復号装置が、
選択したタイムリリースサーバから、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する秘密情報受信ステップと、
前記選択したタイムリリースサーバに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める復号ステップと、
前記選択したタイムリリースサーバが故障した場合には、前記復号装置が、前記選択したタイムリリースサーバ以外のタイムリリースサーバを再選択し、
前記復号装置が再選択したｎ番目の前記タイムリリースサーバが、
前記暗号装置が設定した復号時間ｔから第ｊ秘密情報ｓａｊを、
ｓａｊ＝ｓｓｊＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｊ秘密情報ｓａｊを送信するバックアップ秘密情報生成ステップと、
前記復号装置が、
再選択したタイムリリースサーバから、復号時間ｔ以降に、第ｊ秘密情報ｓａｊを受信するバックアップ秘密情報受信ステップと、
前記再選択したタイムリリースサーバに対応する復号鍵Ｋｂｊを
Ｋｂｊ＝ｅ（ｓｂ−１ｃ１，ｊ，ｓａｊ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｊ）（＋）ｃ２，ｊ
のように求めるバックアップ復号ステップと、
を有する
ことを特徴とする暗号化方法。
【請求項９】
Ｎ個のサーバと暗号装置と復号装置とを含む暗号化システムによる暗号化方法であって、
Ｎは２以上の整数、ｎは１〜Ｎの整数、ｊはｎ以外の１〜Ｎの整数とし、
すべての前記タイムリリースサーバが、
第ｎサーバ秘密鍵ｓｓｎを生成するサーバ秘密鍵生成ステップと、
第ｎサーバ公開鍵ｐｓｎを生成し、公開するサーバ公開鍵生成ステップと、
他のサーバと第１サーバ秘密鍵ｓｓ1から第Ｎサーバ秘密鍵ｓｓＮを共有するサーバ秘密鍵共有ステップと、
前記復号装置が、
復号装置認証情報を公開する復号装置認証情報公開ステップと、
前記暗号装置が、いずれかのタイムリリースサーバを選択し、
選択したサーバに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを復号装置認証情報を用いて求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを含む暗号文Ｃを求める暗号化ステップと
前記暗号文Ｃを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Ｃを受信する暗号文受信ステップと、
ｎ番目の前記タイムリリースサーバが、
復号装置に第ｎ秘密情報ｓａｎを送信する秘密情報生成ステップと、
前記復号装置が、
前記暗号装置が選択したサーバから、第ｎ秘密情報ｓａｎを受信する秘密情報受信ステップと、
個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて、個別暗号文ｃ２，ｎを平文ｍに復号する復号ステップと
前記選択したサーバが故障した場合には、前記復号装置が、前記暗号装置が前記選択したサーバ以外のサーバを再選択し、
前記復号装置が再選択したｊ番目の前記タイムリリースサーバが、
復号装置に第ｎ秘密情報ｓａｎを送信するバックアップ秘密情報生成ステップと
前記復号装置が、
前記復号装置が再選択したサーバから、第ｎ秘密情報ｓａｎを受信するバックアップ秘密情報受信ステップと、
個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて、個別暗号文ｃ２，ｎを平文ｍに復号するバックアップ復号ステップと
を有する
ことを特徴とする暗号化方法。
【請求項１０】
Ｎ個のタイムリリースサーバと暗号装置と復号装置とを含む暗号化システムによる暗号化方法であって、
Ｎは２以上の整数、ｎは１〜Ｎの整数、ｊはｎ以外の１〜Ｎの整数、ｐは素数位数、Ｇ＾とＧＴ＾は素数位数ｐを持つ巡回群、ｅ（）はｅ：Ｇ＾×Ｇ＾→ＧＴ＾となる双線型写像、Ｈ１（）は任意長の情報｛０，１｝＊を群Ｇ＾の要素に変換するハッシュ関数、Ｈ２（）は任意長の情報｛０，１｝＊をｈビットと情報｛０，１｝ｈに変換するハッシュ関数、ｍを平文、（＋）を排他的論理和とし、
すべての前記タイムリリースサーバが、
ｐ未満の整数ｓｓｎをランダムに選択し、整数ｓｓｎを第ｎサーバ秘密鍵とするサーバ秘密鍵生成ステップと、
群Ｇ＾の要素Ｇｓｎをランダムに選択し、ＧｓｎとｓｓｎＧｓｎを第ｎサーバ公開鍵ｐｓｎとし、公開するサーバ公開鍵生成ステップと、
他のタイムリリースサーバと第１サーバ秘密鍵ｓｓ1から第Ｎサーバ秘密鍵ｓｓＮを共有するサーバ秘密鍵共有ステップと、
前記復号装置が、
ｐ未満の整数ｓｂをランダムに選択し、整数ｓｂを復号秘密鍵とする復号秘密鍵生成ステップと、
各タイムリリースサーバに対応した復号装置認証情報ｐｂ1，…，ｐｂＮを、１〜Ｎのすべてのｎについて
ｐｂｎ＝ｓｂＧｓｎ
のように求め、公開する復号装置認証情報公開ステップと、
前記暗号装置が、いずれかのサーバを選択し、
復号時間ｔを選択し、Ｎ個の前記タイムリリースサーバに前記復号時間ｔを設定する復号時間設定ステップと、
ｐ未満の整数ｒａをランダムに選択し、Ｈ１（ｔ）をＴａとし、ｒａＴａをＱａとし、選択したタイムリリースサーバに対する暗号鍵Ｋｎを、
Ｋａｎ＝ｅ（ｓｓｎＧｓｎ，Ｑａ）
のように求める暗号鍵生成ステップと、
選択したタイムリリースサーバに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを
ｃ１，ｎ＝ｒａｐｂｎ
ｃ２，ｎ＝ｍ（＋）Ｈ２（Ｋａｎ）
のように求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎと復号時間ｔとを含む暗号文Ｃを求める暗号化ステップと、
前記暗号文Ｃを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Ｃを受信する暗号文受信ステップと、
前記暗号装置が選択したｎ番目の前記タイムリリースサーバが、
前記暗号装置が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｎ秘密情報ｓａｎを送信する秘密情報生成ステップと、
前記復号装置が、
前記暗号装置が選択したタイムリリースサーバから、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する秘密情報受信ステップと、
前記選択したタイムリリースサーバに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める復号ステップと
前記選択したサーバが故障した場合には、前記復号装置が、前記暗号装置が前記選択したサーバ以外のサーバを再選択し、
前記復号装置が再選択したｊ番目の前記タイムリリースサーバが、
前記暗号装置が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｎ秘密情報ｓａｎを送信するバックアップ秘密情報生成ステップと、
前記復号装置が、
前記復号装置が再選択したｊ番目の前記タイムリリースサーバから第ｎ秘密情報ｓａｎを受信するバックアップ秘密情報受信ステップと、
前記選択したタイムリリースサーバに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求めるバックアップ復号ステップと
を有する
ことを特徴とする暗号化方法。
【請求項１１】
上位サーバとＮ個の下位サーバと暗号装置と復号装置とを含む暗号化システムによる暗号化方法であって、
Ｎは１以上の整数、ｎは１〜Ｎの整数とし、
前記上位サーバが、
１からＮのすべてのｎについて、第ｎサーバ秘密鍵ｓｓｎを生成するサーバ秘密鍵生成ステップと、
前記第ｎサーバ秘密鍵ｓｓｎを、それぞれｎ番目の下位サーバに送信するサーバ秘密鍵送信ステップと、
すべての下位サーバが、
第ｎサーバ秘密鍵ｓｓｎを受信するサーバ秘密鍵受信ステップと、
第ｎサーバ公開鍵ｐｓｎを生成し、公開するサーバ公開鍵生成ステップと、
前記復号装置が、
復号装置認証情報を公開する復号装置認証情報公開ステップと、
前記暗号装置が、いずれかの下位サーバを選択し、
選択した下位サーバに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを復号装置認証情報を用いて求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを含む暗号文Ｃを求める暗号化ステップと、
前記暗号文Ｃを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Ｃを受信する暗号文受信ステップと、
前記暗号装置が選択したｎ番目の下位サーバが、
第ｎ秘密情報ｓａｎを生成し、復号装置に送信する秘密情報生成ステップと、
前記復号装置が、
前記暗号装置が選択した下位サーバから、第ｎ秘密情報ｓａｎを受信する秘密情報受信ステップと、
個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて、個別暗号文ｃ２，ｎを平文ｍに復号する復号ステップと
前記選択したサーバが故障した場合には、
前記上位サーバが、
第ｎ秘密情報ｓａｎを生成し、復号装置に送信するバックアップ秘密情報生成ステップと、
前記復号装置が、
前記上位サーバから、第ｎ秘密情報ｓａｎを受信するバックアップ秘密情報受信ステップと、
個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて、個別暗号文ｃ２，ｎを平文ｍに復号するバックアップ復号ステップと、
を有する
ことを特徴とする暗号化方法。
【請求項１２】
上位タイムリリースサーバとＮ個の下位タイムリリースサーバと暗号装置と復号装置とを含む暗号化システムによる暗号方法であって、
Ｎは１以上の整数、ｎは１〜Ｎの整数、ｐは素数位数、Ｇ＾とＧＴ＾は素数位数ｐを持つ巡回群、ｅ（）はｅ：Ｇ＾×Ｇ＾→ＧＴ＾となる双線型写像、Ｈ１（）は任意長の情報｛０，１｝＊を群Ｇ＾の要素に変換するハッシュ関数、Ｈ２（）は任意長の情報｛０，１｝＊をｈビットと情報｛０，１｝ｈに変換するハッシュ関数、ｍを平文、（＋）を排他的論理和とし、
前記上位タイムリリースサーバが、
１からＮのすべてのｎについて、ｐ未満の整数ｓｓｎをランダムに選択し、整数ｓｓｎを第ｎサーバ秘密鍵とするサーバ秘密鍵生成ステップと、
前記第ｎサーバ秘密鍵ｓｓｎを、それぞれｎ番目の下位タイムリリースサーバに送信するサーバ秘密鍵送信ステップと、
すべての下位タイムリリースサーバが、
第ｎサーバ秘密鍵ｓｓｎを受信するサーバ秘密鍵受信ステップと、
群Ｇ＾の要素Ｇｓｎをランダムに選択し、ＧｓｎとｓｓｎＧｓｎを第ｎサーバ公開鍵ｐｓｎとし、公開するサーバ公開鍵生成ステップと、
前記復号装置が、
ｐ未満の整数ｓｂをランダムに選択し、整数ｓｂを復号秘密鍵とする復号秘密鍵生成ステップと、
各下位タイムリリースサーバに対応した復号装置認証情報ｐｂ1，…，ｐｂＮを、１〜Ｎのすべてのｎについて
ｐｂｎ＝ｓｂＧｓｎ
のように求め、公開する復号装置認証情報公開ステップと、
前記暗号装置が、
復号時間ｔを選択し、上位タイムリリースサーバとｎ番目の下位タイムリリースサーバに前記復号時間ｔを設定する復号時間設定ステップと、
ｐ未満の整数ｒａをランダムに選択し、Ｈ１（ｔ）をＴａとし、ｒａＴａをＱａとし、選択した下位タイムリリースサーバに対する暗号鍵Ｋｎを、
Ｋａｎ＝ｅ（ｓｓｎＧｓｎ，Ｑａ）
のように求める暗号鍵生成ステップと、
選択したｎ番目の下位タイムリリースサーバに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを
ｃ１，ｎ＝ｒａｐｂｎ
ｃ２，ｎ＝ｍ（＋）Ｈ２（Ｋａｎ）
のように求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎと復号時間ｔとを含む暗号文Ｃを求める暗号化ステップと、
前記暗号文Ｃを送信する暗号文送信ステップと、
前記復号装置が、
暗号文Ｃを受信する暗号文受信ステップと、
前記暗号装置が選択したｎ番目の下位タイムリリースサーバが、
前記暗号装置が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｎ秘密情報ｓａｎを送信する秘密情報生成ステップと、
前記復号装置が、
前記暗号装置が選択した下位タイムリリースサーバから、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する秘密情報受信ステップと、
前記選択した下位タイムリリースサーバに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める復号ステップと
前記選択した下位タイムリリースサーバが故障した場合には、
前記上位タイムリリースサーバが、
前記暗号装置が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置に第ｎ秘密情報ｓａｎを送信するバックアップ秘密情報生成ステップと、
前記復号装置が、
上位タイムリリースサーバから第ｎ秘密情報ｓａｎを受信するバックアップ秘密情報受信ステップと、
前記選択した下位タイムリリースサーバに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求めるバックアップ復号ステップと
を有する
ことを特徴とする暗号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は平文を暗号化して送受信し、復号する暗号化システムおよび暗号化方法に関する。
【背景技術】
【０００２】
ＩＤベース暗号の基本構成として非特許文献１に示された技術が知られている。これらのＩＤベース暗号では、鍵生成サーバは、信頼できる絶対的存在であり、不正行為も行わず、故障してダウンすることも無い１つのサーバである。また、タイムリリース暗号としては、非特許文献２、３に示された技術が知られている。これらのタイムリリース暗号では、渡すべき復号指定時間に基づく秘密情報を、１つのタイムリリースサーバが保管しているか、複数のタイムリリースサーバで秘密分散させた形で保管している。さらに、ＩＤベース暗号の応用方式として、ＩＤ部分に復号指定時間を適応させた構成もある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】D. Boneh and X. Boyen, ”Secure Identity Based Encryption Without Random Oracles”, Proceedings of Crypto’04, LNCS 3152, 2004.
【非特許文献２】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.
【非特許文献３】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.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のように、従来技術では鍵生成サーバは１つであり、そのサーバは不正も行わない、かつ故障してダウンすることも無いことが前提となっている。しかし、現実のシステムでは、サーバが故障することもある。そのような場合、システム全体がダウンしてしまうという課題がある。
そこで、本発明は１つのサーバが故障してしまってもシステム全体がダウンしない暗号化システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の暗号化システムでは、独立して存在できる複数のサーバを用意し、そのうちの１つでも正常に機能していればシステム全体が正常に動作できるようにする。
【０００６】
本発明の第１の暗号化システムは、Ｎ個のサーバと暗号装置と復号装置とを含む暗号化システムである。なお、Ｎは２以上の整数、ｎは１〜Ｎの整数とする。各サーバ（ｎ番目のサーバ）は、第ｎサーバ秘密鍵ｓｓｎを生成するサーバ秘密鍵生成部と、第ｎサーバ公開鍵ｐｓｎを生成して公開するサーバ公開鍵生成部と、第ｎ秘密情報ｓａｎを生成して復号装置に送信する秘密情報生成部とを備える。暗号装置は、暗号化部と暗号文送信部とを備える。暗号化部は、すべてのサーバに対応した個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎを復号装置認証情報を用いて求め、個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎとを含む暗号文Ｃを求める。暗号文送信部は、暗号文Ｃを復号装置に送信する。復号装置は、復号装置認証情報を公開する復号装置認証情報公開部と、暗号文Ｃを受信する暗号文受信部と、選択したサーバから第ｎ秘密情報ｓａｎを受信する秘密情報受信部と、個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて個別暗号文ｃ２，ｎを平文ｍに復号する復号部とを備える。
【０００７】
本発明の第２の暗号化システムは、Ｎ個のサーバと暗号装置と復号装置とを含む暗号化システムである。なお、Ｎは２以上の整数、ｎは１〜Ｎの整数、ｊはｎ以外の１〜Ｎの整数とする。各サーバ（ｎ番目のサーバ）は、第ｎサーバ秘密鍵ｓｓｎを生成するサーバ秘密鍵生成部と、第ｎサーバ公開鍵ｐｓｎを生成して公開するサーバ公開鍵生成部と、他のサーバと第１サーバ秘密鍵ｓｓ1から第Ｎサーバ秘密鍵ｓｓＮを共有するサーバ秘密鍵共有部と、復号装置に第ｎ秘密情報ｓａｎを送信する秘密情報生成部と、復号装置に第ｊ秘密情報ｓａｊを送信するバックアップ秘密情報生成部とを備える。暗号装置は、暗号化部と暗号文送信部とを備える。暗号装置は、Ｎ個のサーバの中から１つのサーバを選択する（ここでは、ｎ番目のサーバが選択されたとする）。暗号化部は、選択したサーバに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを復号装置認証情報を用いて求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを含む暗号文Ｃを求める。暗号文送信部は、暗号文Ｃを復号装置に送信する。復号装置は、復号装置認証情報を公開する復号装置認証情報公開部と、暗号文Ｃを受信する暗号文受信部と、暗号装置が選択したサーバから第ｎ秘密情報ｓａｎを受信する秘密情報受信部と、暗号装置が選択したサーバ以外のサーバから第ｎ秘密情報ｓａｎを受信するバックアップ秘密情報受信部と、個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて個別暗号文ｃ２，ｎを平文ｍに復号する復号部とを備える。なお、サーバのバックアップ秘密情報生成部と復号装置のバックアップ秘密情報受信部は、暗号装置が選択したｎ番目のサーバが故障した場合に使用される。
【０００８】
本発明の第３の暗号化システムは、上位サーバとＮ個の下位サーバと暗号装置と復号装置とを含む暗号化システムである。なお、この暗号化システムの場合は、Ｎは１以上の整数、ｎは１〜Ｎの整数とする。上位サーバは、１からＮのすべてのｎについて第ｎサーバ秘密鍵ｓｓｎを生成するサーバ秘密鍵生成部と、第ｎサーバ秘密鍵ｓｓｎをそれぞれｎ番目の下位サーバに送信するサーバ秘密鍵送信部と、第ｎ秘密情報ｓａｎを生成して復号装置に送信するバックアップ秘密情報生成部とを備える。各下位サーバ（ｎ番目の下位サーバ）は、第ｎサーバ秘密鍵ｓｓｎを受信するサーバ秘密鍵受信部と、第ｎサーバ公開鍵ｐｓｎを生成して公開するサーバ公開鍵生成部と、第ｎ秘密情報ｓａｎを生成して復号装置に送信する秘密情報生成部とを備える。暗号装置は、暗号装置は、暗号化部と暗号文送信部とを備える。暗号化部は、選択した下位サーバに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを復号装置認証情報を用いて求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを含む暗号文Ｃを求める。暗号文送信部は、暗号文Ｃを復号装置に送信する。復号装置は、復号装置認証情報を公開する復号装置認証情報公開部と、暗号文Ｃを受信する暗号文受信部と、暗号装置が選択した下位サーバから第ｎ秘密情報ｓａｎを受信する秘密情報受信部と、上位サーバから第ｎ秘密情報ｓａｎを受信するバックアップ秘密情報受信部と、個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて個別暗号文ｃ２，ｎを平文ｍに復号する復号部とを備える。なお、上位サーバのバックアップ秘密情報生成部と復号装置のバックアップ秘密情報受信部は、暗号装置が選択したｎ番目の下位サーバが故障した場合に使用される。なお、ここでは、上位サーバと下位サーバという２階層の例を示したが、サーバの階層を３階層以上としてもよい。
【０００９】
また、サーバをタイムリリースサーバとしてもよい。さらには、第１の暗号化システム、第２の暗号化システム、第３の暗号化システムを組み合わせてもよい。
【発明の効果】
【００１０】
本発明の暗号化システムは、いずれも複数のサーバと暗号装置と復号装置を含んでいる。そして、サーバが故障していない場合は、復号装置は、暗号装置または復号装置が選択したサーバから秘密情報を受信し、復号に用いる。
【００１１】
第１の暗号化システムの場合には、選択されたサーバが故障してしまったときには、復号装置は、他のいずれかのサーバから当該サーバの秘密情報を受信する。第１の暗号化システムでは暗号文にすべてのサーバ用の個別セッション情報と個別暗号文とが含まれているので、復号装置はいずれかのサーバの秘密情報があれば復号できる。
【００１２】
第２の暗号化システムの場合には、選択されたサーバが故障してしまったときには、復号装置は、他のいずれかのサーバから故障してしまったサーバから受信するはずだった秘密情報を受信する。第２の暗号化システムでは暗号文には暗号装置が選択したサーバ用の個別セッション情報と個別暗号文しか含まれていないが、各サーバがすべてのサーバのサーバ秘密鍵を共有しているので、どのサーバでも、故障してしまったサーバが送信するはずだった秘密情報を生成して送信できる。
【００１３】
第３の暗号化システムの場合には、選択された下位サーバが故障してしまったときには、復号装置は、上位サーバから故障してしまった下位サーバから受信するはずだった秘密情報を受信する。第３の暗号化システムでは暗号文には暗号装置が選択したサーバ用の個別セッション情報と個別暗号文しか含まれていない。しかし、上位サーバは、すべての下位サーバのサーバ秘密鍵を、下位サーバの代わりに生成できるか、計算して求めることができるか、記録しているので、故障してしまった下位サーバが送信するはずだった秘密情報を生成して送信できる。
【００１４】
このように、本発明の暗号化システムは、独立して存在できる複数のサーバを用意し、そのうちの１つでも正常に機能していればシステム全体がダウンしてしまうことを防ぐことができる。
【図面の簡単な説明】
【００１５】
【図１】実施例１の暗号化システムの構成例を示す図。
【図２】実施例１と実施例２のサーバ（タイムリリースサーバ）の構成例を示す図。
【図３】実施例１と実施例２の暗号装置の構成例を示す図。
【図４】実施例１と実施例２の復号装置の構成例を示す図。
【図５】実施例１の暗号化システムの処理フローを示す図。
【図６】実施例２の暗号化システムの構成例を示す図。
【図７】実施例２の暗号化システムの処理フローを示す図。
【図８】実施例３の暗号化システムの構成例を示す図。
【図９】実施例３と実施例４のサーバ（タイムリリースサーバ）の構成例を示す図。
【図１０】実施例３と実施例４の暗号装置の構成例を示す図。
【図１１】実施例３と実施例４の復号装置の構成例を示す図。
【図１２】実施例３の暗号化システムの処理フローを示す図。
【図１３】実施例４の暗号化システムの構成例を示す図。
【図１４】実施例４の暗号化システムの処理フローを示す図。
【図１５】実施例５の暗号化システムの構成例を示す図。
【図１６】実施例５と実施例６の上位サーバ（上位タイムリリースサーバ）の構成例を示す図。
【図１７】実施例５と実施例６の下位サーバ（下位タイムリリースサーバ）の構成例を示す図。
【図１８】実施例５と実施例６の暗号装置の構成例を示す図。
【図１９】実施例５と実施例６の復号装置の構成例を示す図。
【図２０】実施例５の暗号化システムの処理フローを示す図。
【図２１】実施例６の暗号化システムの構成例を示す図。
【図２２】実施例６の暗号化システムの処理フローを示す図。
【図２３】コンピュータの機能構成例を示す図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、詳細に説明する。実施例１と実施例２に暗号文にすべてのサーバに対応した個別セッション情報と個別暗号文を含める方式（課題を解決するための手段で説明した第１の暗号化システムに対応）を、実施例３と実施例４にサーバ間でサーバ秘密鍵を共有する方式（第２の暗号化システムに対応）を、実施例５と実施例６にサーバが階層構造となっている方式（第３の暗号化システムに対応）を示す。また、実施例１、実施例３、実施例５がＩＤベース暗号の例であり、実施例２、実施例４、実施例６がタイムリリース暗号の例である。なお、同じ機能を有する構成部や処理には同じ番号を付し、重複説明を省略する。
【実施例１】
【００１７】
図１に実施例１の暗号化システムの構成例を示す。暗号化システム１００は、Ｎ個のサーバ２００−ｎと暗号装置３００と復号装置４００とを含む（ただし、Ｎは２以上の整数、ｎは１〜Ｎの整数）。図２に実施例１のサーバの構成例、図３に暗号装置の構成例、図４に復号装置の構成例を示す。また、図５は実施例１の暗号化システムの処理フローを示す図である。各サーバ２００−ｎ（ｎ番目のサーバ）は、サーバ秘密鍵生成部２１０−ｎ、サーバ公開鍵生成部２２０−ｎ、秘密情報生成部２３０−ｎ、サーバ記録部２９０−ｎを備える。暗号装置３００は、暗号化部３１０、暗号文送信部３２０、暗号化記録部３９０を備える。復号装置４００は、復号装置認証情報公開部４１０、暗号文受信部４２０、秘密情報受信部４３０、復号部４４０、復号記録部４９０を備える。なお、サーバ記録部２９０−ｎ、暗号化記録部３９０、復号記録部４９０は、各装置の動作に必要な情報を記録しておくための構成部である。
【００１８】
各サーバ２００−ｎのサーバ秘密鍵生成部２１０−ｎは、それぞれ第ｎサーバ秘密鍵ｓｓｎを生成する（Ｓ２１０−ｎ）。つまり、サーバ２００−１〜Ｎが、第１サーバ秘密鍵ｓｓ１，…，第Ｎサーバ秘密鍵ｓｓＮを生成する（Ｓ２１０−１〜Ｎ）。各サーバ２００−ｎのサーバ公開鍵生成部２２０−ｎは、第ｎサーバ公開鍵ｐｓｎを生成して公開する（Ｓ２２０−ｎ）。つまり、サーバ２００−１〜Ｎが、第１サーバ公開鍵ｐｓ１，…，第Ｎサーバ公開鍵ｐｓＮを生成し、公開する（Ｓ２２０−１〜Ｎ）。
【００１９】
復号装置４００の復号装置認証情報公開部４１０は、復号装置認証情報ｐｂ（または、ｐｂ１，…，ｐｂＮ）を公開する（Ｓ４１２）。なお、復号装置認証情報は、全てのサーバに対して同じであるｐｂとしてもよいし、サーバごとに異なるｐｂ１，…，ｐｂＮとしてもよい。また、復号装置認証情報公開部４１０は、復号装置認証情報ｐｂ（または、ｐｂ１，…，ｐｂＮ）をあらかじめ復号記録部４９０に記録しておいてもよい。もしくは、復号装置認証情報公開部４１０は、復号装置認証情報ｐｂ１，…，ｐｂＮを、サーバ公開鍵ｐｓｎなどを利用して生成してもよい（Ｓ４１１）。
【００２０】
暗号装置３００の暗号化部３１０は、１〜Ｎのすべてのｎ（すべてのサーバ）について、第ｎサーバ公開鍵ｐｓｎと復号装置認証情報ｐｂ（または、ｐｂｎ）を用いて、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを求める。そして、暗号化部３１０は、個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎとを含む暗号文Ｃを求める（Ｓ３１０）。例えば、Ｃ＝（ｃ１，１，ｃ２，１，…，ｃ１，Ｎ，ｃ２，Ｎ）とすればよい。暗号文送信部３２０は、暗号文Ｃを復号装置４００に送信する（Ｓ３２０）。復号装置４００の暗号文受信部４２０は、暗号文Ｃを受信する（Ｓ４２０）。
【００２１】
復号装置４００に選択されたサーバ２００−ｎの秘密情報生成部２３０−ｎは、第ｎ秘密情報ｓａｎを生成し、復号装置４００に送信する（Ｓ２３０−ｎ）。なお、第ｎ秘密情報ｓａｎは、第ｎサーバ秘密鍵ｓｓｎと復号装置認証情報ｐｂ（または、ｐｂｎ）を用いて生成すればよい。秘密情報受信部４３０は、選択したサーバ２００−ｎから第ｎ秘密情報ｓａｎを受信する（Ｓ４３０）。なお、秘密情報生成部２３０−ｎの動作は、たとえば、復号装置４００がサーバを選択し、復号装置４００がサーバ２００−ｎに第ｎ秘密情報ｓａｎをリクエストすることによって開始するようにすればよい。復号部４４０は、選択したサーバ２００−ｎに対応した個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて個別暗号文ｃ２，ｎを平文ｍに復号する（Ｓ４４０）。
【００２２】
そして、万一、復号装置４００が選択したサーバ２００−ｎが故障していた場合には、復号装置４００は別のサーバ２００−ｊ（ただし、ｊはｎ以外の１〜Ｎの整数）を再度選択し、サーバ２００−ｊに第ｊ秘密情報ｓａｊをリクエストする。そして、サーバ２００−ｊの秘密情報生成部２３０−ｊは、第ｊ秘密情報ｓａｊを生成して復号装置４００に送信する（Ｓ２３０−ｊ：バックアップ秘密情報生成ステップ）。秘密情報受信部４３０は、第ｊ秘密情報ｓａｊを受信する（Ｓ４３０’：バックアップ秘密情報受信ステップ）。復号部４４０は、選択したサーバ２００−ｊに対応した個別セッション情報ｃ１，ｊと第ｊ秘密情報ｓａｊを用いて個別暗号文ｃ２，ｊを平文ｍに復号する（Ｓ４４０：バックアップ復号ステップ）。
【００２３】
上述のように実施例１の暗号化システム１００は、選択されたサーバ２００−ｎが故障してしまったときには、復号装置４００は、他のいずれかのサーバ２００−ｊから当該サーバの第ｎ秘密情報ｓａｊを受信する。暗号化システム１００では暗号文Ｃにすべてのサーバ用の個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎとが含まれているので、復号装置４００はいずれかのサーバ２００−ｎの第ｎ秘密情報ｓａｎがあれば復号できる。したがって、サーバの中の１つでも正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。なお、暗号装置や復号装置が故障した場合には、個別の暗号通信はできなくなるが、他の暗号装置と復号装置との暗号通信に影響は無いので、システム全体がダウンすることは無い。
【実施例２】
【００２４】
図６に実施例２の暗号化システムの構成例を示す。暗号化システム１１００は、Ｎ個のタイムリリースサーバ１２００−ｎと暗号装置１３００と復号装置１４００とを含む（ただし、Ｎは２以上の整数、ｎは１〜Ｎの整数）。図２に実施例２のタイムリリースサーバの構成例、図３に暗号装置の構成例、図４に復号装置の構成例を示す。また、図７は実施例２の暗号化システムの処理フローを示す図である。各タイムリリースサーバ１２００−ｎ（ｎ番目のタイムリリースサーバ）は、サーバ秘密鍵生成部１２１０−ｎ、サーバ公開鍵生成部１２２０−ｎ、秘密情報生成部１２３０−ｎ、サーバ記録部１２９０−ｎを備える。暗号装置１３００は、復号時間設定部１３５０、暗号鍵生成部１３６０、暗号化部１３１０、暗号文送信部３２０、暗号化記録部１３９０を備える。復号装置１４００は、復号秘密鍵生成部１４６０、復号装置認証情報公開部１４１０、暗号文受信部４２０、秘密情報受信部４３０、復号部１４４０、復号記録部１４９０を備える。なお、サーバ記録部１２９０−ｎ、暗号化記録部１３９０、復号記録部１４９０は、各装置の動作に必要な情報を記録しておくための構成部である。
【００２５】
ここで、ｐは素数位数、Ｇ＾とＧＴ＾は素数位数ｐを持つ巡回群、ｅ（）はｅ：Ｇ＾×Ｇ＾→ＧＴ＾となる双線型写像、Ｈ１（）は任意長の情報｛０，１｝＊を群Ｇ＾の要素に変換するハッシュ関数、Ｈ２（）は任意長の情報｛０，１｝＊をｈビットと情報｛０，１｝ｈに変換するハッシュ関数、ｍを平文、（＋）を排他的論理和とする。
【００２６】
各タイムリリースサーバ１２００−ｎのサーバ秘密鍵生成部１２１０−ｎは、ｐ未満の整数ｓｓｎをランダムに選択し、整数ｓｓｎを第ｎサーバ秘密鍵ｓｓｎとする（Ｓ１２１０−ｎ）。つまり、タイムリリースサーバ１２００−１〜Ｎが、第１サーバ秘密鍵ｓｓ１，…，第Ｎサーバ秘密鍵ｓｓＮを生成する（Ｓ１２１０−１〜Ｎ）。各タイムリリースサーバ１２００−ｎのサーバ公開鍵生成部１２２０−ｎは、群Ｇ＾の要素Ｇｓｎをランダムに選択し、ＧｓｎとｓｓｎＧｓｎを第ｎサーバ公開鍵ｐｓｎとし、公開する（Ｓ１２２０−ｎ）。つまり、タイムリリースサーバ１２００−１〜Ｎが、第１サーバ公開鍵ｐｓ１，…，第Ｎサーバ公開鍵ｐｓＮを生成し、公開する（Ｓ１２２０−１〜Ｎ）。
【００２７】
復号装置１４００の復号秘密鍵生成部１４６０は、ｐ未満の整数ｓｂをランダムに選択し、整数ｓｂを復号秘密鍵ｓｂとする（Ｓ１４６０）。なお、ステップＳ１４６０は、ステップＳ１２２０−１〜Ｎなどのタイムリリースサーバの処理よりも前に行ってもよい。復号装置認証情報公開部１４１０は、  タイムリリースサーバに対応した復号装置認証情報ｐｂ1，…，ｐｂＮを、１〜Ｎのすべてのｎについて
ｐｂｎ＝ｓｂＧｓｎ
のように求め（Ｓ１４１１）、公開する（Ｓ４１２）。
【００２８】
暗号装置１３００の復号時間設定部１３５０は、復号時間ｔを選択し、Ｎ個のタイムリリースサーバ１２００−１〜Ｎに復号時間ｔを設定する（Ｓ１３５０）。暗号鍵生成部１３６０は、ｐ未満の整数ｒａをランダムに選択し、Ｈ１（ｔ）をＴａとし、ｒａＴａをＱａとし、タイムリリースサーバ１２００−１〜Ｎに対する暗号鍵Ｋ１，…，ＫＮを、１からＮのすべてのｎについて
Ｋａｎ＝ｅ（ｓｓｎＧｓｎ，Ｑａ）
のように求める（Ｓ１３６０）。暗号化部１３１０は、すべてのタイムリリースサーバ１２００−１〜Ｎに対応した個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎを、１からＮのすべてのｎについて
ｃ１，ｎ＝ｒａｐｂｎ
ｃ２，ｎ＝ｍ（＋）Ｈ２（Ｋａｎ）
のように求め、個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎと復号時間ｔとを含む暗号文Ｃを求める（Ｓ１３１０）。例えば、Ｃ＝（ｃ１，１，ｃ２，１，…，ｃ１，Ｎ，ｃ２，Ｎ，ｔ）のようにすればよい。暗号文送信部３２０は、暗号文Ｃを復号装置１４００に送信する（Ｓ３２０）。復号装置１４００の暗号文受信部４２０は、暗号文Ｃを受信する（Ｓ４２０）。
【００２９】
復号装置１４００に選択されたタイムリリースサーバ１２００−ｎの秘密情報生成部１２３０−ｎは、暗号装置１３００が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置１４００に第ｎ秘密情報ｓａｎを送信する（Ｓ１２３−ｎ）。第ｎ秘密情報ｓａｎを上記の式で求めるには、一度Ｈ１（ｔ）をＴａとし、その上で
ｓａｎ＝ｓｓｎＴａ
のように計算すればよい。なお、秘密情報生成部１２３０−ｎの動作は、たとえば、復号装置１４００がタイムリリースサーバを選択し、復号装置１４００がタイムリリースサーバ１２００−ｎに第ｎ秘密情報ｓａｎをリクエストすることによって開始するようにすればよい。復号装置１４００の秘密情報受信部４３０は、選択したタイムリリースサーバ１２００−ｎから、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する（Ｓ４３０）。復号部１４４０は、選択したタイムリリースサーバ１２００−ｎに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める（Ｓ１４４０）。
【００３０】
そして、万一、復号装置１４００が選択したタイムリリースサーバ１２００−ｎが故障していた場合には、復号装置１４００は別のタイムリリースサーバ１２００−ｊ（ただし、ｊはｎ以外の１〜Ｎの整数）を再度選択し、タイムリリースサーバ１２００−ｊに第ｊ秘密情報ｓａｊをリクエストする。そして、タイムリリースサーバ１２００−ｊの秘密情報生成部１２３０−ｊは、暗号装置１３００が設定した復号時間ｔから第ｊ秘密情報ｓａｊを、
ｓａｊ＝ｓｓｊＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置１４００に第ｊ秘密情報ｓａｊを送信する（Ｓ１２３０−ｊ：バックアップ秘密情報生成ステップ）。なお、第ｊ秘密情報ｓａｊを上記の式で求めるには、一度Ｈ１（ｔ）をＴａとし、その上で
ｓａｊ＝ｓｓｊＴａ
のように計算すればよい。復号装置１４００の秘密情報受信部４３０は、選択したタイムリリースサーバ１２００−ｊから、復号時間ｔ以降に、第ｊ秘密情報ｓａｊを受信する（Ｓ４３０’：バックアップ秘密情報受信ステップ）。復号部１４４０は、タイムリリースサーバ１２００−ｊに対応する復号鍵Ｋｂｊを
Ｋｂｊ＝ｅ（ｓｂ−１ｃ１，ｊ，ｓａｊ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｊ）（＋）ｃ２，ｊ
のように求める（Ｓ１４４０：バックアップ復号ステップ）。
【００３１】
このように、実施例２の暗号化システム１１００も、選択されたタイムリリースサーバ１２００−ｎが故障してしまったときには、復号装置１４００は、他のいずれかのタイムリリースサーバ１２００−ｊから当該タイムリリースサーバの秘密情報ｓａｊを受信する。暗号化システム１１００では暗号文Ｃにすべてのタイムリリースサーバ用の個別セッション情報ｃ１，１，…，ｃ１，Ｎと個別暗号文ｃ２，１，…，ｃ２，Ｎとが含まれているので、復号装置１４００はいずれかのタイムリリースサーバ１２００−ｎの秘密情報ｓａｎがあれば復号できる。したがって、サーバの中の１つでも正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。
【実施例３】
【００３２】
図８に実施例３の暗号化システムの構成例を示す。暗号化システム２１００は、Ｎ個のサーバ２２００−ｎと暗号装置２３００と復号装置２４００とを含む（ただし、Ｎは２以上の整数、ｎは１〜Ｎの整数）。図９に実施例３のサーバの構成例、図１０に暗号装置の構成例、図１１に復号装置の構成例を示す。また、図１２は実施例３の暗号化システムの処理フローを示す図である。各サーバ２２００−ｎ（ｎ番目のサーバ）は、サーバ秘密鍵生成部２１０−ｎ、サーバ公開鍵生成部２２０−ｎ、秘密情報生成部２３０−ｎ、サーバ秘密鍵共有部２２４０−ｎ、バックアップ秘密情報生成部２２５０−ｎ、サーバ記録部２２９０−ｎを備える。暗号装置２３００は、暗号化部２３１０、暗号文送信部３２０、暗号化記録部２３９０を備える。復号装置２４００は、復号装置認証情報公開部４１０、暗号文受信部４２０、秘密情報受信部４３０、復号部２４４０、バックアップ秘密情報受信部２４５０、復号記録部２４９０を備える。なお、サーバ記録部２２９０−ｎ、暗号化記録部２３９０、復号記録部２４９０は、各装置の動作に必要な情報を記録しておくための構成部である。
【００３３】
各サーバ２２００−ｎのサーバ秘密鍵生成部２１０−ｎは、それぞれ第ｎサーバ秘密鍵ｓｓｎを生成する（Ｓ２１０−ｎ）。つまり、サーバ２２００−１〜Ｎが、第１サーバ秘密鍵ｓｓ１，…，第Ｎサーバ秘密鍵ｓｓＮを生成する（Ｓ２１０−１〜Ｎ）。サーバ秘密鍵共有部２２４０−１〜Ｎは、他のサーバと第１サーバ秘密鍵ｓｓ1から第Ｎサーバ秘密鍵ｓｓＮを共有する（Ｓ２２４０−１〜Ｎ）。各サーバ２２００−ｎのサーバ公開鍵生成部２２０−ｎは、第ｎサーバ公開鍵ｐｓｎを生成して公開する（Ｓ２２０−ｎ）。つまり、サーバ２００−１〜Ｎが、第１サーバ公開鍵ｐｓ１，…，第Ｎサーバ公開鍵ｐｓＮを生成し、公開する（Ｓ２２０−１〜Ｎ）。なお、ステップＳ２２４０−１〜ＮとステップＳ２２０−１〜Ｎとの順番は逆でもよい。
【００３４】
復号装置２４００の復号装置認証情報公開部４１０は、復号装置認証情報ｐｂ（または、ｐｂ１，…，ｐｂＮ）を公開する（Ｓ４１２）。なお、復号装置認証情報は、全てのサーバに対して同じであるｐｂとしてもよいし、サーバごとに異なるｐｂ１，…，ｐｂＮとしてもよい。また、復号装置認証情報公開部４１０は、復号装置認証情報ｐｂ（または、ｐｂ１，…，ｐｂＮ）をあらかじめ復号記録部２４９０に記録しておいてもよい。もしくは、復号装置認証情報公開部４１０は、復号装置認証情報ｐｂ１，…，ｐｂＮを、サーバ公開鍵ｐｓｎなどを利用して生成してもよい（Ｓ４１１）。
【００３５】
暗号装置２３００がＮ個のサーバの中から１つのサーバを選択し（ここでは、ｎ番目のサーバが選択されたとする）、暗号化部２３１０が、第ｎサーバ公開鍵ｐｓｎと復号装置認証情報ｐｂ（または、ｐｂｎ）を用いて、選択したサーバ２２００−ｎに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを求める。そして、暗号化部２３１０は、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎとを含む暗号文Ｃを求める（Ｓ２３１０）。例えば、Ｃ＝（ｃ１，ｎ，ｃ２，ｎ）とすればよい。暗号文送信部３２０は、暗号文Ｃを復号装置２４００に送信する（Ｓ３２０）。復号装置２４００の暗号文受信部４２０は、暗号文Ｃを受信する（Ｓ４２０）。
【００３６】
暗号装置２３００に選択されたサーバ２２００−ｎの秘密情報生成部２３０−ｎは、第ｎ秘密情報ｓａｎを生成し、復号装置２４００に送信する（Ｓ２３０−ｎ）。なお、第ｎ秘密情報ｓａｎは、第ｎサーバ秘密鍵ｓｓｎと復号装置認証情報ｐｂ（または、ｐｂｎ）を用いて生成すればよい。秘密情報受信部４３０は、選択されたサーバ２２００−ｎから第ｎ秘密情報ｓａｎを受信する（Ｓ４３０）。なお、秘密情報生成部２３０−ｎの動作は、たとえば、復号装置２４００が、受信した暗号文Ｃからサーバ２２００−ｎを特定し、復号装置２４００がサーバ２２００−ｎに第ｎ秘密情報ｓａｎをリクエストすることによって開始するようにすればよい。復号部２４４０は、選択されたサーバ２２００−ｎに対応した個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて個別暗号文ｃ２，ｎを平文ｍに復号する（Ｓ２４４０）。
【００３７】
そして、万一、暗号装置２３００が選択したサーバ２２００−ｎが故障していた場合には、復号装置２４００は別のサーバ２２００−ｊ（ただし、ｊはｎ以外の１〜Ｎの整数）を選択し、サーバ２２００−ｊに第ｎ秘密情報ｓａｎをリクエストする。そして、サーバ２２００−ｊのバックアップ秘密情報生成部２２５０−ｊは、共有している第ｎサーバ秘密鍵ｓｓｎから第ｎ秘密情報ｓａｎを生成して復号装置２４００に送信する（Ｓ２２５０−ｊ）。バックアップ秘密情報受信部２４５０は、第ｎ秘密情報ｓａｎを受信する（Ｓ２４５０）。復号部２４４０は、暗号装置２３００が選択したサーバ２２００−ｎ（故障しているサーバ）に対応した個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて個別暗号文ｃ２，ｎを平文ｍに復号する（Ｓ２４４０：バックアップ復号ステップ）。
【００３８】
このように、実施例３の暗号化システム２１００は、選択されたサーバ２２００−ｎが故障してしまったときには、復号装置２４００は、他のいずれかのサーバ２２００−ｊから故障してしまったサーバ２２００−ｎから受信するはずだった第ｎ秘密情報ｓａｎを受信する。暗号化システム２１００では暗号文Ｃには暗号装置２３００が選択したサーバ用の個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎしか含まれていないが、各サーバがすべてのサーバのサーバ秘密鍵を共有しているので、どのサーバでも、故障してしまったサーバが送信するはずだった秘密情報を生成して送信できる。したがって、サーバの中の１つでも正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。
【実施例４】
【００３９】
図１３に実施例４の暗号化システムの構成例を示す。暗号化システム３１００は、Ｎ個のタイムリリースサーバ３２００−ｎと暗号装置３３００と復号装置３４００とを含む（ただし、Ｎは２以上の整数、ｎは１〜Ｎの整数）。図９に実施例４のタイムリリースサーバの構成例、図１０に暗号装置の構成例、図１１に復号装置の構成例を示す。また、図１４は実施例４の暗号化システムの処理フローを示す図である。各タイムリリースサーバ３２００−ｎ（ｎ番目のタイムリリースサーバ）は、サーバ秘密鍵生成部１２１０−ｎ、サーバ公開鍵生成部１２２０−ｎ、秘密情報生成部１２３０−ｎ、サーバ秘密鍵共有部２２４０−ｎ、バックアップ秘密情報生成部２２５０−ｎ、サーバ記録部３２９０−ｎを備える。暗号装置３３００は、復号時間設定部１３５０、暗号鍵生成部３３６０、暗号化部３３１０、暗号文送信部３２０、暗号化記録部３３９０を備える。復号装置３４００は、復号秘密鍵生成部１４６０、復号装置認証情報公開部１４１０、暗号文受信部４２０、秘密情報受信部４３０、復号部３４４０、バックアップ秘密情報受信部２４５０、復号記録部３４９０を備える。なお、サーバ記録部３２９０−ｎ、暗号化記録部３３９０、復号記録部３４９０は、各装置の動作に必要な情報を記録しておくための構成部である。
【００４０】
ここで、ｐは素数位数、Ｇ＾とＧＴ＾は素数位数ｐを持つ巡回群、ｅ（）はｅ：Ｇ＾×Ｇ＾→ＧＴ＾となる双線型写像、Ｈ１（）は任意長の情報｛０，１｝＊を群Ｇ＾の要素に変換するハッシュ関数、Ｈ２（）は任意長の情報｛０，１｝＊をｈビットと情報｛０，１｝ｈに変換するハッシュ関数、ｍを平文、（＋）を排他的論理和とする。
【００４１】
各タイムリリースサーバ３２００−ｎのサーバ秘密鍵生成部１２１０−ｎは、ｐ未満の整数ｓｓｎをランダムに選択し、整数ｓｓｎを第ｎサーバ秘密鍵ｓｓｎとする（Ｓ１２１０−ｎ）。つまり、タイムリリースサーバ３２００−１〜Ｎが、第１サーバ秘密鍵ｓｓ１，…，第Ｎサーバ秘密鍵ｓｓＮを生成する（Ｓ１２１０−１〜Ｎ）。サーバ秘密鍵共有部２２４０−１〜Ｎは、他のタイムリリースサーバと第１サーバ秘密鍵ｓｓ1から第Ｎサーバ秘密鍵ｓｓＮを共有する（Ｓ２２４０−１〜Ｎ）。各タイムリリースサーバ３２００−ｎのサーバ公開鍵生成部１２２０−ｎは、群Ｇ＾の要素Ｇｓｎをランダムに選択し、ＧｓｎとｓｓｎＧｓｎを第ｎサーバ公開鍵ｐｓｎとし、公開する（Ｓ１２２０−ｎ）。つまり、タイムリリースサーバ１２００−１〜Ｎが、第１サーバ公開鍵ｐｓ１，…，第Ｎサーバ公開鍵ｐｓＮを生成し、公開する（Ｓ１２２０−１〜Ｎ）。なお、ステップＳ２２４０−１〜ＮとステップＳ１２２０−１〜Ｎとの順番は逆でもよい。
【００４２】
復号装置３４００の復号秘密鍵生成部１４６０は、ｐ未満の整数ｓｂをランダムに選択し、整数ｓｂを復号秘密鍵ｓｂとする（Ｓ１４６０）。なお、ステップＳ１４６０は、ステップＳ１２２０−１〜Ｎなどのタイムリリースサーバの処理よりも前に行ってもよい。復号装置認証情報公開部１４１０は、タイムリリースサーバに対応した復号装置認証情報ｐｂ1，…，ｐｂＮを、１〜Ｎのすべてのｎについて
ｐｂｎ＝ｓｂＧｓｎ
のように求め（Ｓ１４１１）、公開する（Ｓ４１２）。
【００４３】
暗号装置３３００がＮ個のタイムリリースサーバの中から１つのタイムリリースサーバを選択し（ここでは、ｎ番目のタイムリリースサーバが選択されたとする）、復号時間設定部１３５０は、復号時間ｔを選択し、Ｎ個のタイムリリースサーバ１２００−１〜Ｎに復号時間ｔを設定する（Ｓ１３５０）。暗号鍵生成部３３６０は、ｐ未満の整数ｒａをランダムに選択し、Ｈ１（ｔ）をＴａとし、ｒａＴａをＱａとし、選択したタイムリリースサーバ３２００−ｎに対する暗号鍵Ｋｎを、
Ｋａｎ＝ｅ（ｓｓｎＧｓｎ，Ｑａ）
のように求める（Ｓ３３６０）。暗号化部３３１０は、選択したタイムリリースサーバ３２００−ｎに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを、
ｃ１，ｎ＝ｒａｐｂｎ
ｃ２，ｎ＝ｍ（＋）Ｈ２（Ｋａｎ）
のように求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎと復号時間ｔとを含む暗号文Ｃを求める（Ｓ３３１０）。例えば、Ｃ＝（ｃ１，ｎ，ｃ２，ｎ，ｔ）のようにすればよい。暗号文送信部３２０は、暗号文Ｃを復号装置３４００に送信する（Ｓ３２０）。復号装置３４００の暗号文受信部４２０は、暗号文Ｃを受信する（Ｓ４２０）。
【００４４】
暗号装置３３００に選択されたタイムリリースサーバ３２００−ｎの秘密情報生成部１２３０−ｎは、暗号装置３３００が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置３４００に第ｎ秘密情報ｓａｎを送信する（Ｓ１２３−ｎ）。第ｎ秘密情報ｓａｎを上記の式で求めるには、一度Ｈ１（ｔ）をＴａとし、その上で
ｓａｎ＝ｓｓｎＴａ
のように計算すればよい。なお、秘密情報生成部１２３０−ｎの動作は、たとえば、復号装置３４００が受信した暗号文Ｃからタイムリリースサーバ３２００−ｎを特定し、復号装置３４００がタイムリリースサーバ３２００−ｎに第ｎ秘密情報ｓａｎをリクエストすることによって開始するようにすればよい。復号装置３４００の秘密情報受信部４３０は、選択されたタイムリリースサーバ３２００−ｎから、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する（Ｓ４３０）。復号部３４４０は、選択されたタイムリリースサーバ３２００−ｎに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める（Ｓ３４４０）。
【００４５】
そして、万一、暗号装置３３００が選択したタイムリリースサーバ３２００−ｎが故障していた場合には、復号装置３４００は別のタイムリリースサーバ３２００−ｊ（ただし、ｊはｎ以外の１〜Ｎの整数）を選択し、タイムリリースサーバ３２００−ｊに第ｎ秘密情報ｓａｎをリクエストする。そして、タイムリリースサーバ３２００−ｊのバックアップ秘密情報生成部３２５０−ｊは、共有している第ｎサーバ秘密鍵ｓｓｎと暗号装置３３００が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置３４００に第ｊ秘密情報ｓａｊを送信する（Ｓ３２５０−ｊ）。復号装置３４００のバックアップ秘密情報受信部２４５０は、選択したタイムリリースサーバ３２００−ｊから、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する（Ｓ２４５０）。復号部３４４０は、タイムリリースサーバ３２００−ｎに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める（Ｓ３４４０：バックアップ復号ステップ）。
【００４６】
このように、実施例４の暗号化システム３１００は、選択されたタイムリリースサーバ３２００−ｎが故障してしまったときには、復号装置３４００は、他のいずれかのタイムリリースサーバ３２００−ｊから故障してしまったタイムリリースサーバ３２００−ｎから受信するはずだった第ｎ秘密情報ｓａｎを受信する。暗号化システム３１００では暗号文Ｃには暗号装置３３００が選択したサーバ用の個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎしか含まれていないが、各タイムリリースサーバがすべてのタイムリリースサーバのサーバ秘密鍵を共有しているので、どのタイムリリースサーバでも、故障してしまったタイムリリースサーバが送信するはずだった秘密情報を生成して送信できる。したがって、タイムリリースサーバの中の１つでも正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。
【実施例５】
【００４７】
図１５に実施例５の暗号化システムの構成例を示す。暗号化システム４１００は、上位サーバ４５００とＮ個の下位サーバ４２００−ｎと暗号装置４３００と復号装置４４００とを含む（ただし、Ｎは１以上の整数、ｎは１〜Ｎの整数）。本実施例では、上位サーバがあるので、Ｎが１以上となっている。図１６に実施例５の上位サーバの構成例、図１７に下位サーバの構成例、図１８に暗号装置の構成例、図１９に復号装置の構成例を示す。また、図２０は実施例５の暗号化システムの処理フローを示す図である。上位サーバ４５００は、サーバ秘密鍵生成部４５１０、サーバ秘密鍵送信部４５２０、バックアップ秘密情報生成部４５５０、上位サーバ記録部４５９０を備える。各下位サーバ４２００−ｎ（ｎ番目の下位サーバ）は、サーバ秘密鍵受信部４２１０−ｎ、サーバ公開鍵生成部２２０−ｎ、秘密情報生成部２３０−ｎ、下位サーバ記録部４２９０−ｎを備える。暗号装置４３００は、暗号化部２３１０、暗号文送信部３２０、暗号化記録部４３９０を備える。復号装置４４００は、復号装置認証情報公開部４１０、暗号文受信部４２０、秘密情報受信部４３０、復号部２４４０、バックアップ秘密情報受信部４４５０、復号記録部２４９０を備える。なお、上位サーバ記録部４５９０、下位サーバ記録部４２９０−ｎ、暗号化記録部４３９０、復号記録部４４９０は、各装置の動作に必要な情報を記録しておくための構成部である。
【００４８】
上位サーバ４５００のサーバ秘密鍵生成部４５１０は、１からＮのすべてのｎについて第ｎサーバ秘密鍵ｓｓｎを生成する（Ｓ４５１０）。サーバ秘密鍵送信部４５２０は、第ｎサーバ秘密鍵ｓｓｎをそれぞれｎ番目の下位サーバ４２００−ｎに送信する（Ｓ４５２０）。各下位サーバ４２００−ｎ（ｎ番目の下位サーバ）のサーバ秘密鍵受信部４２１０−ｎは、第ｎサーバ秘密鍵ｓｓｎを受信する（Ｓ４２１０−ｎ）。つまり、下位サーバ４２００−１〜Ｎが、第１サーバ秘密鍵ｓｓ１，…，第Ｎサーバ秘密鍵ｓｓＮを受信する（Ｓ４２１０−１〜Ｎ）。各下位サーバ４２００−ｎのサーバ公開鍵生成部２２０−ｎは、第ｎサーバ公開鍵ｐｓｎを生成して公開する（Ｓ２２０−ｎ）。つまり、下位サーバ４２００−１〜Ｎが、第１サーバ公開鍵ｐｓ１，…，第Ｎサーバ公開鍵ｐｓＮを生成し、公開する（Ｓ２２０−１〜Ｎ）。
【００４９】
復号装置４４００の復号装置認証情報公開部４１０は、復号装置認証情報ｐｂ（または、ｐｂ１，…，ｐｂＮ）を公開する（Ｓ４１２）。なお、復号装置認証情報は、全ての下位サーバに対して同じであるｐｂとしてもよいし、下位サーバごとに異なるｐｂ１，…，ｐｂＮとしてもよい。また、復号装置認証情報公開部４１０は、復号装置認証情報ｐｂ（または、ｐｂ１，…，ｐｂＮ）をあらかじめ復号記録部４４９０に記録しておいてもよい。もしくは、復号装置認証情報公開部４１０は、復号装置認証情報ｐｂ１，…，ｐｂＮを、サーバ公開鍵ｐｓｎなどを利用して生成してもよい（Ｓ４１１）。
【００５０】
暗号装置４３００がＮ個の下位サーバの中から１つの下位サーバを選択し（ここでは、ｎ番目の下位サーバが選択されたとする）、暗号化部２３１０が、第ｎサーバ公開鍵ｐｓｎと復号装置認証情報ｐｂ（または、ｐｂｎ）を用いて、選択した下位サーバ４２００−ｎに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを求める。そして、暗号化部２３１０は、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎとを含む暗号文Ｃを求める（Ｓ２３１０）。例えば、Ｃ＝（ｃ１，ｎ，ｃ２，ｎ）とすればよい。暗号文送信部３２０は、暗号文Ｃを復号装置４４００に送信する（Ｓ３２０）。復号装置４４００の暗号文受信部４２０は、暗号文Ｃを受信する（Ｓ４２０）。
【００５１】
暗号装置４３００に選択された下位サーバ４２００−ｎの秘密情報生成部２３０−ｎは、第ｎ秘密情報ｓａｎを生成し、復号装置４４００に送信する（Ｓ２３０−ｎ）。なお、第ｎ秘密情報ｓａｎは、第ｎサーバ秘密鍵ｓｓｎと復号装置認証情報ｐｂ（または、ｐｂｎ）を用いて生成すればよい。秘密情報受信部４３０は、選択された下位サーバ４２００−ｎから第ｎ秘密情報ｓａｎを受信する（Ｓ４３０）。なお、秘密情報生成部２３０−ｎの動作は、たとえば、復号装置４４００が、受信した暗号文Ｃから下位サーバ４２００−ｎを特定し、復号装置４４００が下位サーバ４２００−ｎに第ｎ秘密情報ｓａｎをリクエストすることによって開始するようにすればよい。復号部２４４０は、選択された下位サーバ４２００−ｎに対応した個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて個別暗号文ｃ２，ｎを平文ｍに復号する（Ｓ２４４０）。
【００５２】
そして、万一、暗号装置３３００が選択した下位サーバ４２００−ｎが故障していた場合には、復号装置４４００は上位サーバ４５００に第ｎ秘密情報ｓａｎをリクエストする。そして、上位サーバ４５００のバックアップ秘密情報生成部４５５０は、保有している第ｎサーバ秘密鍵ｓｓｎから第ｎ秘密情報ｓａｎを生成して復号装置４４００に送信する（Ｓ４５５０）。バックアップ秘密情報受信部４４５０は、第ｎ秘密情報ｓａｎを受信する（Ｓ４４５０）。復号部２４４０は、暗号装置４３００が選択したサーバ２２００−ｎ（故障しているサーバ）に対応した個別セッション情報ｃ１，ｎと第ｎ秘密情報ｓａｎを用いて個別暗号文ｃ２，ｎを平文ｍに復号する（Ｓ２４４０：バックアップ復号ステップ）。
【００５３】
暗号化システム４１００の場合には、選択された下位サーバ４２００−ｎが故障してしまったときには、復号装置４４００は、上位サーバ４５００から故障してしまった下位サーバから受信するはずだった秘密情報を受信する。暗号化システム４１００では暗号文Ｃには暗号装置４３００が選択した下位サーバ用の個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎしか含まれていない。しかし、上位サーバは、すべての下位サーバのサーバ秘密鍵を、下位サーバの代わりに生成できるか、計算して求めることができるか、記録しているので、故障してしまった下位サーバが送信するはずだった秘密情報を生成して送信できる。したがって、上位サーバまたは下位サーバが正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。なお、本実施例では、上位サーバと下位サーバという２階層の例を示したが、サーバの階層を３階層以上としてもよい。また、実施例１、３、５の暗号化システムを組み合わせてもよい。
【実施例６】
【００５４】
図２１に実施例６の暗号化システムの構成例を示す。暗号化システム５１００は、上位タイムリリースサーバ５５００とＮ個の下位タイムリリースサーバ５２００−ｎと暗号装置５３００と復号装置５４００とを含む（ただし、Ｎは１以上の整数、ｎは１〜Ｎの整数）。本実施例では、上位タイムリリースサーバがあるので、Ｎが１以上となっている。図１６に実施例６の上位タイムリリースサーバの構成例、図１７に下位タイムリリースサーバの構成例、図１８に暗号装置の構成例、図１９に復号装置の構成例を示す。また、図２２は実施例６の暗号化システムの処理フローを示す図である。上位タイムリリースサーバ５５００は、サーバ秘密鍵生成部５５１０、サーバ秘密鍵送信部５５２０、バックアップ秘密情報生成部５５５０、上位サーバ記録部５５９０を備える。各下位タイムリリースサーバ５２００−ｎ（ｎ番目の下位タイムリリースサーバ）は、サーバ秘密鍵受信部５２１０−ｎ、サーバ公開鍵生成部１２２０−ｎ、秘密情報生成部１２３０−ｎ、下位サーバ記録部５２９０−ｎを備える。暗号装置５３００は、復号時間設定部５３５０、暗号鍵生成部３３６０、暗号化部２３１０、暗号文送信部３２０、暗号化記録部５３９０を備える。復号装置５４００は、復号秘密鍵生成部１４６０、復号装置認証情報公開部１４１０、暗号文受信部４２０、秘密情報受信部４３０、復号部３４４０、バックアップ秘密情報受信部５４５０、復号記録部５４９０を備える。なお、上位サーバ記録部５５９０、下位サーバ記録部５２９０−ｎ、暗号化記録部５３９０、復号記録部５４９０は、各装置の動作に必要な情報を記録しておくための構成部である。
【００５５】
ここで、ｐは素数位数、Ｇ＾とＧＴ＾は素数位数ｐを持つ巡回群、ｅ（）はｅ：Ｇ＾×Ｇ＾→ＧＴ＾となる双線型写像、Ｈ１（）は任意長の情報｛０，１｝＊を群Ｇ＾の要素に変換するハッシュ関数、Ｈ２（）は任意長の情報｛０，１｝＊をｈビットと情報｛０，１｝ｈに変換するハッシュ関数、ｍを平文、（＋）を排他的論理和とする。
【００５６】
上位タイムリリースサーバ５５００のサーバ秘密鍵生成部５５１０は、１からＮのすべてのｎについてｐ未満の整数ｓｓｎをランダムに選択し、整数ｓｓｎを第ｎサーバ秘密鍵ｓｓｎとする（Ｓ５５１０）。サーバ秘密鍵送信部５５２０は、第ｎサーバ秘密鍵ｓｓｎをそれぞれｎ番目の下位タイムリリースサーバ５２００−ｎに送信する（Ｓ５５２０）。各下位タイムリリースサーバ５２００−ｎ（ｎ番目の下位サーバ）のサーバ秘密鍵受信部５２１０−ｎは、第ｎサーバ秘密鍵ｓｓｎを受信する（Ｓ５２１０−ｎ）。つまり、下位タイムリリースサーバ５２００−１〜Ｎが、第１サーバ秘密鍵ｓｓ１，…，第Ｎサーバ秘密鍵ｓｓＮを受信する（Ｓ５２１０−１〜Ｎ）。各下位タイムリリースサーバ５２００−ｎのサーバ公開鍵生成部１２２０−ｎは、群Ｇ＾の要素Ｇｓｎをランダムに選択し、ＧｓｎとｓｓｎＧｓｎを第ｎサーバ公開鍵ｐｓｎとし、公開する（Ｓ１２２０−ｎ）。つまり、下位タイムリリースサーバ５２００−１〜Ｎが、第１サーバ公開鍵ｐｓ１，…，第Ｎサーバ公開鍵ｐｓＮを生成し、公開する（Ｓ１２２０−１〜Ｎ）。
【００５７】
復号装置５４００の復号秘密鍵生成部１４６０は、ｐ未満の整数ｓｂをランダムに選択し、整数ｓｂを復号秘密鍵ｓｂとする（Ｓ１４６０）。なお、ステップＳ１４６０は、ステップＳ１２２０−１〜Ｎなどの下位タイムリリースサーバの処理や上位タイムリリースサーバの処理よりも前に行ってもよい。復号装置認証情報公開部１４１０は、下位タイムリリースサーバに対応した復号装置認証情報ｐｂ1，…，ｐｂＮを、１〜Ｎのすべてのｎについて
ｐｂｎ＝ｓｂＧｓｎ
のように求め（Ｓ１４１１）、公開する（Ｓ４１２）。
【００５８】
暗号装置５３００がＮ個の下位タイムリリースサーバの中から１つの下位タイムリリースサーバを選択し（ここでは、ｎ番目の下位タイムリリースサーバが選択されたとする）、復号時間設定部５３５０は、復号時間ｔを選択し、上位タイムリリースサーバ５５００と選択した下位タイムリリースサーバ５２００−ｎに復号時間ｔを設定する（Ｓ５３５０）。暗号鍵生成部３３６０は、ｐ未満の整数ｒａをランダムに選択し、Ｈ１（ｔ）をＴａとし、ｒａＴａをＱａとし、選択した下位タイムリリースサーバ５２００−ｎに対する暗号鍵Ｋｎを、
Ｋａｎ＝ｅ（ｓｓｎＧｓｎ，Ｑａ）
のように求める（Ｓ３３６０）。暗号化部３３１０は、選択した下位タイムリリースサーバ５２００−ｎに対応した個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎを、
ｃ１，ｎ＝ｒａｐｂｎ
ｃ２，ｎ＝ｍ（＋）Ｈ２（Ｋａｎ）
のように求め、個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎと復号時間ｔとを含む暗号文Ｃを求める（Ｓ３３１０）。例えば、Ｃ＝（ｃ１，ｎ，ｃ２，ｎ，ｔ）のようにすればよい。暗号文送信部３２０は、暗号文Ｃを復号装置５４００に送信する（Ｓ３２０）。復号装置５４００の暗号文受信部４２０は、暗号文Ｃを受信する（Ｓ４２０）。
【００５９】
暗号装置５３００に選択された下位タイムリリースサーバ５２００−ｎの秘密情報生成部１２３０−ｎは、暗号装置５３００が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置５４００に第ｎ秘密情報ｓａｎを送信する（Ｓ１２３−ｎ）。第ｎ秘密情報ｓａｎを上記の式で求めるには、一度Ｈ１（ｔ）をＴａとし、その上で
ｓａｎ＝ｓｓｎＴａ
のように計算すればよい。なお、秘密情報生成部１２３０−ｎの動作は、たとえば、復号装置５４００が受信した暗号文Ｃから下位タイムリリースサーバ５２００−ｎを特定し、復号装置３４００が下位タイムリリースサーバ５２００−ｎに第ｎ秘密情報ｓａｎをリクエストすることによって開始するようにすればよい。また、下位タイムリリースサーバが１つしかない場合にはリクエストは不要であり、秘密情報生成部１２３０−ｎはリクエストなしで動作を開始すればよい。復号装置５４００の秘密情報受信部４３０は、選択された下位タイムリリースサーバ５２００−ｎから、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する（Ｓ４３０）。復号部５４４０は、選択された下位タイムリリースサーバ５２００−ｎに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める（Ｓ３４４０）。
【００６０】
そして、万一、暗号装置５３００が選択した下位タイムリリースサーバ５２００−ｎが故障していた場合には、復号装置５４００は上位タイムリリースサーバ５５００に第ｎ秘密情報ｓａｎをリクエストする。そして、上位タイムリリースサーバ５５００のバックアップ秘密情報生成部５５５０は、保有している第ｎサーバ秘密鍵ｓｓｎと暗号装置５３００が設定した復号時間ｔから第ｎ秘密情報ｓａｎを、
ｓａｎ＝ｓｓｎＨ１（ｔ）
のように求め、復号時間ｔ以降に復号装置５４００に第ｎ秘密情報ｓａｎを送信する（Ｓ５５５０）。復号装置５４００のバックアップ秘密情報受信部５４５０は、上位タイムリリースサーバ５５００から、復号時間ｔ以降に、第ｎ秘密情報ｓａｎを受信する（Ｓ５４５０）。復号部３４４０は、下位タイムリリースサーバ５２００−ｎに対応する復号鍵Ｋｂｎを
Ｋｂｎ＝ｅ（ｓｂ−１ｃ１，ｎ，ｓａｎ）
のように求め、平文ｍを
ｍ＝Ｈ２（Ｋｂｎ）（＋）ｃ２，ｎ
のように求める（Ｓ３４４０：バックアップ復号ステップ）。
【００６１】
暗号化システム５１００の場合には、選択された下位タイムリリースサーバ５２００−ｎが故障してしまったときには、復号装置５４００は、上位タイムリリースサーバ５５００から故障してしまった下位タイムリリースサーバから受信するはずだった秘密情報を受信する。暗号化システム５１００では暗号文Ｃには暗号装置５３００が選択した下位タイムリリースサーバ用の個別セッション情報ｃ１，ｎと個別暗号文ｃ２，ｎしか含まれていない。しかし、上位タイムリリースサーバは、すべての下位タイムリリースサーバのサーバ秘密鍵を、下位タイムリリースサーバの代わりに生成できるか、計算して求めることができるか、記録しているので、故障してしまった下位タイムリリースサーバが送信するはずだった秘密情報を生成して送信できる。したがって、上位タイムリリースサーバまたは下位タイムリリースサーバが正常に機能していれば、システム全体がダウンしてしまうことを防ぐことができる。なお、本実施例では、上位タイムリリースサーバと下位タイムリリースサーバという２階層の例を示したが、タイムリリースサーバの階層を３階層以上としてもよい。また、実施例２、４、６の暗号化システムを組み合わせてもよい。
【００６２】
図２３に、コンピュータの機能構成例を示す。なお、本発明のサーバ、タイムリリースサーバ、上位サーバ、下位サーバ、上位タイムリリースサーバ、下位タイムリリースサーバ、暗号装置および復号装置は、コンピュータ９０００の記録部９０２０に、本発明の各構成部としてコンピュータ９０００を動作させるプログラムを読み込ませ、処理部９０１０、入力部９０３０、出力部９０４０などを動作させることで実現できる。また、コンピュータに読み込ませる方法としては、プログラムをコンピュータ読み取り可能な記録媒体に記録しておき、記録媒体からコンピュータに読み込ませる方法、サーバ等に記録されたプログラムを、電気通信回線等を通じてコンピュータに読み込ませる方法などがある。
【産業上の利用可能性】
【００６３】
本発明は、情報セキュリティ技術に関するものであり、情報を暗号化して送受信し、復号するような通信などに利用することができる。
【符号の説明】
【００６４】
１００  暗号化システム                    ２００  サーバ
２１０  サーバ秘密鍵生成部                ２２０  サーバ公開鍵生成部
２３０  秘密情報生成部                    ２９０  サーバ記録部
３００  暗号装置                          ３１０  暗号化部
３２０  暗号文送信部                      ３９０  暗号化記録部
４００  復号装置                          ４１０  復号装置認証情報公開部
４２０  暗号文受信部                      ４３０  秘密情報受信部
４４０  復号部                            ４９０  復号記録部
１１００  暗号化システム                  １２００  タイムリリースサーバ
１２１０  サーバ秘密鍵生成部              １２２０  サーバ公開鍵生成部
１２３０  秘密情報生成部                  １２９０  サーバ記録部
１３００  暗号装置                        １３１０  暗号化部
１３５０  復号時間設定部                  １３６０  暗号鍵生成部
１３９０  暗号化記録部                    １４００  復号装置
１４１０  復号装置認証情報公開部          １４４０  復号部
１４６０  復号秘密鍵生成部                １４９０  復号記録部
２１００  暗号化システム                  ２２００  サーバ
２２４０  サーバ秘密鍵共有部              ２２５０  バックアップ秘密情報生成部
２２９０  サーバ記録部                    ２３００  暗号装置
２３１０  暗号化部                        ２３９０  暗号化記録部
２４００  復号装置                        ２４４０  復号部
２４５０  バックアップ秘密情報受信部      ２４９０  復号記録部
３１００  暗号化システム                  ３２００  タイムリリースサーバ
３２５０  バックアップ秘密情報生成部      ３２９０  サーバ記録部
３３００  暗号装置                        ３３１０  暗号化部
３３６０  暗号鍵生成部                    ３３９０  暗号化記録部
３４００  復号装置                        ３４４０  復号部
３４９０  復号記録部                      ４１００  暗号化システム
４２００  下位サーバ                      ４２１０  サーバ秘密鍵受信部
４２９０  下位サーバ記録部                ４３００  暗号装置
４３９０  暗号化記録部                    ４４００  復号装置
４４５０  バックアップ秘密情報受信部      ４４９０  復号記録部
４５００  上位サーバ                      ４５１０  サーバ秘密鍵生成部
４５２０  サーバ秘密鍵送信部              ４５５０  バックアップ秘密情報生成部
４５９０  上位サーバ記録部                ５１００  暗号化システム
５２００  下位タイムリリースサーバ        ５２１０  サーバ秘密鍵受信部
５２９０  下位サーバ記録部                ５３００  暗号装置
５３５０  復号時間設定部                  ５３９０  暗号化記録部
５４００  復号装置                        ５４４０  復号部
５４５０  バックアップ秘密情報受信部      ５４９０  復号記録部
５５００  上位タイムリリースサーバ        ５５１０  サーバ秘密鍵生成部
５５２０  サーバ秘密鍵送信部              ５５５０  バックアップ秘密情報生成部
５５９０  上位サーバ記録部
【図１】
2010183483.tif 000003
【図２】
2010183483.tif 000004
【図３】
2010183483.tif 000005
【図４】
2010183483.tif 000006
【図５】
2010183483.tif 000007
【図６】
2010183483.tif 000008
【図７】
2010183483.tif 000009
【図８】
2010183483.tif 000010
【図９】
2010183483.tif 000011
【図１０】
2010183483.tif 000012
【図１１】
2010183483.tif 000013
【図１２】
2010183483.tif 000014
【図１３】
2010183483.tif 000015
【図１４】
2010183483.tif 000016
【図１５】
2010183483.tif 000017
【図１６】
2010183483.tif 000018
【図１７】
2010183483.tif 000019
【図１８】
2010183483.tif 000020
【図１９】
2010183483.tif 000021
【図２０】
2010183483.tif 000022
【図２１】
2010183483.tif 000023
【図２２】
2010183483.tif 000024
【図２３】
2010183483.tif 000025