(57)【特許請求の範囲】
【請求項１】
暗号化装置と復号装置と管理装置とによって実行されるＩＤベース暗号利用方法であって、
(A) 前記復号装置の識別子とＩＤベース暗号方式のシステムパラメータと参照子とを対応付けて格納した記憶部を含む前記管理装置が、特定の復号装置の識別子である利用識別子と、当該記憶部で当該利用識別子と同一の前記識別子に対応付けられた参照子である第１利用参照子と、を含むサービス利用証明書を生成するステップと、
(B) 前記暗号化装置が、前記サービス利用証明書の入力を受け付けるステップと、
(C) 前記暗号化装置が、前記サービス利用証明書に含まれる前記第１利用参照子を前記管理装置に対して出力するステップと、
(D) 前記管理装置が、前記ステップ(C)で出力された前記第１利用参照子と同一の前記参照子に対応付けられた前記システムパラメータの少なくとも一部である第１利用システムパラメータを前記記憶部から抽出するステップと、
(E) 前記管理装置が、前記第１利用システムパラメータを含む暗号化処理用情報を生成するステップと、
(F) 前記管理装置が、前記暗号化処理用情報を前記暗号化装置に対して出力するステップと、
(G) 前記暗号化装置が、前記サービス利用証明書が含む前記利用識別子と、前記暗号化処理用情報が含む前記第１利用システムパラメータとを用い、ＩＤベース暗号方式に則った暗号文を生成するステップと、
を有するＩＤベース暗号利用方法。
【請求項２】
請求項１のＩＤベース暗号利用方法であって、
前記サービス利用証明書は、前記利用識別子と前記第１利用参照子とを含む情報に対する前記管理装置の第１電子署名を含み、
前記暗号化処理用情報は、さらに、第１参照子と、当該第１参照子及び前記第１利用システムパラメータを含む情報に対する前記管理装置の第２電子署名と、を含み、
前記ステップ(C)は、前記暗号化装置で行われた前記第１電子署名に対する検証処理の結果が成功であった場合に実行されるステップであり、
前記ステップ(G)は、前記暗号化装置で行われた前記第２電子署名に対する検証処理の結果が成功であり、かつ、前記サービス利用証明書が含む前記第１利用参照子と前記暗号化処理用情報が含む前記第１参照子とが同一であると前記暗号化装置で判定された場合に実行されるステップである、
ことを特徴とするＩＤベース暗号利用方法。
【請求項３】
請求項１又は２のＩＤベース暗号利用方法であって、
(H) 前記暗号化装置が、前記第１利用参照子と前記暗号文とを、前記特定の復号装置に対して出力するステップと、
(I) 前記特定の復号装置が、前記ステップ(H)で出力された前記第１利用参照子を前記管理装置に対して出力するステップと、
(J) 前記管理装置が、前記第１利用参照子と同一の前記参照子に対応付けられた前記システムパラメータの少なくとも一部である第２利用システムパラメータを前記記憶部から抽出するステップと、
(K) 前記管理装置が、前記第２利用システムパラメータを含む復号処理用情報を生成するステップと、
(L) 前記管理装置が、前記復号処理用情報を前記特定の復号装置に対して出力するステップと、
を有するＩＤベース暗号利用方法。
【請求項４】
請求項３のＩＤベース暗号利用方法であって、
(M) 前記管理装置が、前記第１利用参照子と同一の前記参照子に対応付けられた前記システムパラメータの少なくとも一部である第３利用システムパラメータを前記記憶部から抽出するステップと、
(N) 前記管理装置が、前記第３利用システムパラメータと前記利用識別子とを用いて復号鍵を生成するステップと、
(O) 前記管理装置が、前記復号鍵を前記特定の復号装置に対して出力するステップと、
を有するＩＤベース暗号利用方法。
【請求項５】
請求項４のＩＤベース暗号利用方法であって、
前記復号処理用情報は、さらに、第２参照子と、当該第２参照子及び前記第２利用システムパラメータを含む情報に対する前記管理装置の第３電子署名と、を含み、
前記ステップ(M),(N),(O)は、前記特定の復号装置で行われた前記第３電子署名に対する検証処理の結果が成功であり、かつ、前記ステップ(H)で出力された前記第１利用参照子と前記復号処理用情報が含む前記第２参照子とが同一であると前記特定の復号装置で判定された場合に実行されるステップである、
ことを特徴とするＩＤベース暗号利用方法。
【請求項６】
請求項４又は５のＩＤベース暗号利用方法であって、
(P) 前記特定の復号装置が、前記第１利用参照子と前記利用識別子とを前記管理装置に対して出力するステップと、
(Q) 前記管理装置が、前記第１利用参照子と同一の前記参照子と、前記利用識別子と同一の前記識別子とが、前記記憶部で対応付けられているか否かを判定するステップと、
前記ステップ(P)は、前記ステップ(H)と前記ステップ(M)との間に実行されるステップであり、
前記ステップ(Q)は、前記ステップ(P)と前記ステップ(O)との間に実行されるステップであり、
前記ステップ(N)は、前記第１利用参照子と同一の前記参照子と、前記利用識別子と同一の前記識別子とが、前記記憶部で対応付けられていると判定された場合に実行されるステップである、
ことを特徴とするＩＤベース暗号利用方法。
【請求項７】
請求項１又は２のＩＤベース暗号利用方法であって、
前記暗号化処理用情報は、さらに、前記記憶部で前記利用識別子と同一の前記識別子に対応付けられた参照子である第２利用参照子を含み、
前記ＩＤベース暗号利用方法は、
(H) 前記暗号化装置が、前記第２利用参照子と前記暗号文とを、前記特定の復号装置に対して出力するステップと、
(I) 前記特定の復号装置が、前記ステップ(H)で出力された前記第２利用参照子を前記管理装置に対して出力するステップと、
(J) 前記管理装置が、前記第２利用参照子と同一の前記参照子に対応付けられた前記システムパラメータの少なくとも一部である第２利用システムパラメータを前記記憶部から抽出するステップと、
(K) 前記管理装置が、前記第２利用システムパラメータを含む復号処理用情報を生成するステップと、
(L) 前記管理装置が、前記復号処理用情報を前記特定の復号装置に対して出力するステップと、
を有するＩＤベース暗号利用方法。
【請求項８】
請求項７のＩＤベース暗号利用方法であって、
(M) 前記管理装置が、前記第２利用参照子と同一の前記参照子に対応付けられた前記システムパラメータの少なくとも一部である第３利用システムパラメータを前記記憶部から抽出するステップと、
(N) 前記管理装置が、前記第３利用システムパラメータと前記利用識別子とを用いて復号鍵を生成するステップと、
(O) 前記管理装置が、前記復号鍵を前記特定の復号装置に対して出力するステップと、
を有するＩＤベース暗号利用方法。
【請求項９】
請求項８のＩＤベース暗号利用方法であって、
前記復号処理用情報は、さらに、第２参照子と、当該第２参照子及び前記第２利用システムパラメータを含む情報に対する前記管理装置の第３電子署名と、を含み、
前記ステップ(M),(N),(O)は、前記特定の復号装置で行われた前記第３電子署名に対する検証処理の結果が成功であり、かつ、前記ステップ(H)で出力された前記第２利用参照子と前記復号処理用情報が含む前記第２参照子とが同一であると前記特定の復号装置で判定された場合に実行されるステップである、
ことを特徴とするＩＤベース暗号利用方法。
【請求項１０】
請求項７又は８のＩＤベース暗号利用方法であって、
(P) 前記特定の復号装置が、前記第２利用参照子と前記利用識別子とを前記管理装置に対して出力するステップと、
(Q) 前記管理装置が、前記第２利用参照子と同一の前記参照子と、前記利用識別子と同一の前記識別子とが、前記記憶部で対応付けられているか否かを判定するステップと、
前記ステップ(P)は、前記ステップ(H)と前記ステップ(M)との間に実行されるステップであり、
前記ステップ(Q)は、前記ステップ(P)と前記ステップ(O)との間に実行されるステップであり、
前記ステップ(N)は、前記第２利用参照子と同一の前記参照子と、前記利用識別子と同一の前記識別子とが、前記記憶部で対応付けられていると判定された場合に実行されるステップである、
ことを特徴とするＩＤベース暗号利用方法。
【請求項１１】
特定の復号装置が復号可能なＩＤベース暗号方式の暗号文を生成する暗号化装置であって、
前記特定の復号装置の利用識別子と利用参照子とを含むサービス利用証明書の入力を受け付ける第１入力部と、
前記サービス利用証明書に含まれる前記利用参照子を管理装置に対して出力する出力部と、
前記管理装置から出力された、利用システムパラメータを含む暗号化処理用情報の入力を受け付ける第２入力部と、
前記サービス利用証明書が含む前記利用識別子と、前記暗号化処理用情報が含む前記利用システムパラメータとを用い、ＩＤベース暗号方式に則った暗号文を生成する暗号化部と、
を有する暗号化装置。
【請求項１２】
復号装置の識別子とＩＤベース暗号方式のシステムパラメータと参照子とを対応付けて格納する記憶部と、
前記記憶部を参照し、特定の復号装置の識別子である利用識別子と、当該利用識別子と同一の前記識別子に対応付けられた前記参照子である利用参照子と、を含むサービス利用証明書を生成するサービス利用証明書生成部と、
前記サービス利用証明書を出力する第１出力部と、
前記サービス利用証明書が含む利用参照子の入力を受け付ける入力部と、
前記入力部に入力された前記利用参照子と同一の前記参照子に対応付けられた前記システムパラメータの少なくとも一部である利用システムパラメータを前記記憶部から抽出する抽出部と、
前記利用システムパラメータを含む暗号化処理用情報を生成する暗号化処理用情報生成部と、
前記暗号化処理用情報を前記暗号化装置に対して出力する第２出力部と、
を有する管理装置。
【請求項１３】
請求項１１の暗号化装置としてコンピュータを機能させるためのプログラム。
【請求項１４】
請求項１２の管理装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号技術に関し、特に、ＩＤベース暗号技術に関する。
【背景技術】
【０００２】
インターネット等の公衆ネットワークを介して情報を送受信する際、情報の盗聴や改ざんなどを防止するために公開鍵暗号方式が用いられる場合がある。公開鍵暗号方式には様々なものが存在するが、近年注目を集める方式の一つにＩＤベース暗号（IBE: Identity-Based Encryption）方式がある（例えば、非特許文献１参照）。
【０００３】
ＩＤベース暗号方式の基本構成は、暗号化を行う暗号化装置と復号を行う特定の復号装置と復号鍵の生成を行う鍵生成装置とを含む。ＩＤベース暗号方式では、暗号化装置と復号を行う特定の復号装置との間で正しいシステムパラメータ（公開パラメータ）が共有されること（系の一致）を前提に暗号化処理及び復号処理が行われる。
【０００４】
例えば、ＩＤベース暗号方式の暗号化装置は、システムパラメータと任意の文字列である識別子（ID）とを用い、ＩＤベース暗号方式に則った暗号化処理を行って暗号文を生成する。なお、識別子（ID）の例は、ＩＤベース暗号方式の復号装置に関連する氏名、メールアドレス、電話番号、位置、日時などを表す文字列である。当該復号装置は、暗号化に用いられる識別子（ID）を鍵生成装置に送り、鍵生成装置は、送られた識別子（ID）とシステムパラメータと非公開のマスター秘密鍵とを用いて生成した当該識別子（ID）に対応する復号鍵（プライベート鍵）を復号装置に返す。復号装置は、復号鍵とシステムパラメータとを用い、ＩＤベース暗号方式に則った復号処理を行って暗号文を復号する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】D.Boneh and M.franklin, Identity-based encryption from the Weil pairing, CRYPT’01, volume 2139 of LNCS, pages 213-229. Springer, 2001.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＩＤベース暗号方式は暗号化装置と復号を行う特定の復号装置との間での系の一致を仮定的条件として安全性が担保された方式である。当該系の一致が保障されない環境下では、以下のような「なりすまし」による攻撃を受ける可能性がある。
【０００７】
・攻撃者が、暗号化装置による暗号化処理に用いられる正当な識別子（ID）を取得する。
【０００８】
・攻撃者が、暗号化装置と特定の復号装置との間で使用すべき正しいシステムパラメータとは異なる不当なシステムパラメータを利用する。攻撃者は、不当なシステムパラメータ及び識別子（ID）を用いて生成された暗号文を復号可能な不当な復号鍵を取得可能である。
【０００９】
・暗号化装置が正当な識別子（ID）を用いて暗号化処理を行おうとする際、攻撃者が上記特定の復号装置になりすまし、不当なシステムパラメータを用いて暗号化するように暗号化装置に要求する。
【００１０】
・暗号化装置は、正当な識別子（ID）と不当なシステムパラメータとを用いて暗号文を生成して出力する。
【００１１】
ここで、暗号化装置は、上記特定の復号装置が復号可能な暗号文を生成したつもりである。ところが、上記特定の復号装置は、システムパラメータの不一致が原因で当該暗号文を正しく復号できない。一方、攻撃者は、不当なシステムパラメータ及び不当な復号鍵を用いることでこのような暗号文を復号できる。暗号化装置は、特定の復号装置で復号が失敗したことを知るまで「なりすまし」の事実を知ることができず、正当な復号装置に暗号文が届かなかった場合には「なりすまし」が行われたこと自体知ることができない。
【００１２】
本発明はこのような点に鑑みてなされたものであり、少なくとも、暗号化装置と特定の復号装置との間での系の一致を担保するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明では、復号装置の識別子とＩＤベース暗号方式のシステムパラメータと参照子とを対応付けて格納した記憶部を含む管理装置が用いられる。管理装置は、特定の復号装置の識別子である利用識別子と、当該記憶部で当該利用識別子と同一の識別子に対応付けられた参照子である第１利用参照子と、を含むサービス利用証明書を生成する。暗号化装置は、サービス利用証明書の入力を受け付け、サービス利用証明書に含まれる第１利用参照子を管理装置に対して出力する。管理装置は、当該第１利用参照子と同一の参照子に対応付けられたシステムパラメータの少なくとも一部である第１利用システムパラメータを記憶部から抽出する。管理装置は、第１利用システムパラメータを含む暗号化処理用情報を生成し、暗号化装置に対して出力する。暗号化装置は、サービス利用証明書が含む利用識別子と暗号化処理用情報が含む第１利用システムパラメータとを用い、ＩＤベース暗号方式に則った暗号文を生成する。
【発明の効果】
【００１４】
本発明では、サービス利用証明書によって、特定の復号装置の利用識別子と第１利用参照子との対応の正当性が担保される。また、暗号化装置が管理装置に対して当該第１利用参照子を出力して第１利用システムパラメータを含む暗号化処理用情報を得ることで、特定の復号装置の利用識別子と第１利用システムパラメータとの対応の正当性が担保される。その結果、暗号化装置と特定の復号装置との間での系の一致が担保される。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施形態におけるＩＤベース暗号利用システムの構成を説明するための図である。
【図２】図２は、第１実施形態の暗号化装置の構成を説明するための図である。
【図３】図３は、第１実施形態の復号装置の構成を説明するための図である。
【図４】図４は、第１実施形態の管理装置の構成を説明するための図である。
【図５】図５Ａ及び図５Ｂは、暗号化処理用情報の具体例を説明するための図である。
【図６】図６は、第１実施形態の処理を説明するための図である。
【図７】図７は、第１実施形態の処理を説明するための図である。
【図８】図８は、第１実施形態の処理を説明するための図である。
【図９】図９は、第１実施形態の処理を説明するための図である。
【図１０】図１０は、第１実施形態の処理を説明するための図である。
【図１１】図１１は、第１実施形態の処理を説明するための図である。
【図１２】図１２は、第１実施形態の処理を説明するための図である。
【図１３】図１３は、第１実施形態の処理を説明するための図である。
【図１４】図１４は、第１実施形態の処理を説明するための図である。
【図１５】図１５は、第２実施形態の暗号化装置の構成を説明するための図である。
【図１６】図１６は、第２実施形態の復号装置の構成を説明するための図である。
【図１７】図１７は、第２実施形態の管理装置の構成を説明するための図である。
【図１８】図１８は、第２実施形態の処理を説明するための図である。
【図１９】図１９は、第２実施形態の処理を説明するための図である。
【図２０】図２０は、第２実施形態の処理を説明するための図である。
【図２１】図２１は、第２実施形態の処理を説明するための図である。
【図２２】図２２は、第２実施形態の処理を説明するための図である。
【図２３】図２３は、第２実施形態の処理を説明するための図である。
【図２４】図２４は、第２実施形態の処理を説明するための図である。
【図２５】図２５は、第２実施形態の処理を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態を説明する。
【００１７】
〔第１実施形態〕
まず、本発明の第１実施形態を説明する。
【００１８】
＜構成＞
図１に例示するように、第１実施形態のＩＤベース暗号利用システム１は、暗号化装置１１０と復号装置１２０と管理装置１３０とを有し、これらはネットワーク経由で通信可能に構成されている。なお、複数の暗号化装置や復号装置や管理装置が存在してもよいが、ここでは簡略化のため１つずつの暗号化装置１１０と復号装置１２０と管理装置１３０のみを図示する。
【００１９】
［暗号化装置１１０］
図２に例示するように、第１実施形態の暗号化装置１１０は、メモリ１１１とサービス利用証明書取得部１１２ａと署名検証部１１２ｂと処理用情報取得部１１２ｃと照合部１１２ｄと平文生成部１１２ｅと暗号化部１１２ｆと通信部１１３（「入力部」や「出力部」に相当）とを有する。
【００２０】
なお、暗号化装置１１０は、例えば、CPU(central processing unit),RAM(random-access memory)などから構成される公知又は専用のコンピュータに所定のプログラムが読み込まれることで構成される特別な装置である。メモリ１１１は、例えば、RAM、キャッシュメモリ、レジスタ若しくはハードディスクなどの補助記憶装置、又は、それらの少なくとも一部が結合された記憶領域である。サービス利用証明書取得部１１２ａや署名検証部１１２ｂや処理用情報取得部１１２ｃや照合部１１２ｄや平文生成部１１２ｅや暗号化部１１２ｆなどの処理部は、例えば、所定のプログラムが読み込まれたCPUなどである。また、これらの処理部の少なくとも一部が集積回路によって構成されてもよい。通信部１１３は、所定のプログラムが読み込まれたCPUの制御のもとで駆動する通信装置である。なお、暗号化装置１１０は１つの筐体内に構成されていてもよいし、複数の筐体内にそれぞれ構成された装置がネットワークを介して接続されることで構成されてもよい。
【００２１】
［復号装置１２０］
図３に例示するように、第１実施形態の復号装置１２０は、メモリ１２１と登録処理部１２２ａと認証処理部１２２ｂとサービス利用証明書取得部１２２ｃと署名検証部１２２ｄと処理用情報取得部１２２ｅと照合部１２２ｆと復号鍵取得部１２２ｇと復号部１２２ｈと通信部１２３（「入力部」や「出力部」に相当）とを有する。
【００２２】
なお、復号装置１２０は、例えば、CPU,RAMなどから構成される公知又は専用のコンピュータに所定のプログラムが読み込まれることで構成される特別な装置である。メモリ１２１は、例えば、RAM、キャッシュメモリ、レジスタ若しくはハードディスクなどの補助記憶装置、又は、それらの少なくとも一部が結合された記憶領域である。登録処理部１２２ａや認証処理部１２２ｂやサービス利用証明書取得部１２２ｃや署名検証部１２２ｄや処理用情報取得部１２２ｅや照合部１２２ｆや復号鍵取得部１２２ｇや復号部１２２ｈなどの処理部は、例えば、所定のプログラムが読み込まれたCPUなどである。また、これらの処理部の少なくとも一部が集積回路によって構成されてもよい。通信部１２３は、所定のプログラムが読み込まれたCPUの制御のもとで駆動する通信装置である。なお、復号装置１２０は１つの筐体内に構成されていてもよいし、複数の筐体内にそれぞれ構成された装置がネットワークを介して接続されることで構成されてもよい。
【００２３】
［管理装置１３０］
図４に例示するように、第１実施形態の管理装置１３０は、鍵メモリ１３１ａとパラメータデータベース（ＤＢ）記憶部１３１ｂと利用者データベース（ＤＢ）記憶部１３１ｃとパラメータ制御部１３２と処理用情報生成部１３３と署名処理部１３４と鍵生成部１３５−１〜ｎ（ｎは１以上の整数）とを有する。パラメータＤＢ記憶部１３１ｂと利用者ＤＢ記憶部１３１ｃとの組み合わせによって、「復号装置の識別子とＩＤベース暗号方式のシステムパラメータと参照子とを対応付けて格納する記憶部」が構成される。また、パラメータ制御部１３２は、登録処理部１３２ａと認証処理部１３２ｂと鍵生成制御部１３２ｃとサービス利用証明書生成部１３２ｄと抽出部１３２ｅと通信部１３２ｆ（「入力部」や「出力部」に相当）とを有する。
【００２４】
なお、管理装置１３０は、例えば、CPU,RAMなどから構成される公知又は専用のコンピュータに所定のプログラムが読み込まれることで構成される特別な装置である。鍵メモリ１３１ａやパラメータデータベース（ＤＢ）記憶部１３１ｂや利用者データベース（ＤＢ）記憶部１３１ｃは、例えば、RAM、キャッシュメモリ、レジスタ若しくはハードディスクなどの補助記憶装置、又は、それらの少なくとも一部が結合された記憶領域である。登録処理部１３２ａや認証処理部１３２ｂや鍵生成制御部１３２ｃやサービス利用証明書生成部１３２ｄや抽出部１３２ｅや処理用情報生成部１３３や署名処理部１３４や鍵生成部１３５−１〜ｎ（ｎは１以上の整数）などの処理部は、例えば、所定のプログラムが読み込まれたCPUなどである。また、これらの処理部の少なくとも一部が集積回路によって構成されてもよい。通信部１３２ｆは、所定のプログラムが読み込まれたCPUの制御のもとで駆動する通信装置である。なお、管理装置１３０は１つの筐体内に構成されていてもよいし、複数の筐体内にそれぞれ構成された装置がネットワークを介して接続されることで構成されてもよい。
【００２５】
＜処理＞
次に、本形態の処理を説明する。
【００２６】
［事前処理］
管理装置１３０（図４）の鍵メモリ１３１ａに、署名鍵（SIGK）とそれに対応する検証鍵(VERK)とが格納される。また、各鍵生成部１３５−１〜ｎに、それぞれ乱数等から生成された整数のマスター秘密鍵(S1〜Sn)が格納される。また、パラメータＤＢ記憶部１３１ｂに、各鍵生成部１３５−１〜ｎにそれぞれ対応するPKG識別子（PKG-ID）とＩＤベース暗号方式のシステムパラメータ（Sys-param）と参照子（Ref）とが対応付けられたパラメータＤＢが格納される。図４の例では、各鍵生成部１３５−１〜ｎにそれぞれ対応するPKG識別子（#1〜#n）とシステムパラメータ（(P1,Q1)〜(Pn,Qn)）と参照子（Ref-1〜n）とが対応付けられたパラメータＤＢがパラメータＤＢ記憶部１３１ｂに格納される。なお、具体的なシステムパラメータは、ＩＤベース暗号方式に依存する。例えば、非特許文献１の方式の場合には、暗号化処理や復号処理などに用いられる素数p、自然数n、有限体上で定義された楕円曲線上の点P、点Pを当該楕円曲線上でマスター秘密鍵の値だけ倍算した点Ppub、及びハッシュ関数H,Gが、システムパラメータとされる。
【００２７】
また、復号装置１２０（図３）のメモリ１２１には、復号装置１２０に対応する識別子（ID-r）(rは1以上の自然数)が格納される。識別子（ID-r）の具体例は、復号装置１２０の利用者の氏名、メールアドレス、電話番号、復号装置１２０の位置、復号を行う日時などを表す文字列などである。
【００２８】
［ユーザ登録処理（図６）］
復号装置１２０（図３）がユーザ登録処理を行う。まず、復号装置１２０の登録処理部１２２ａがメモリ１２１から識別子（ID-r）を抽出し、識別子（ID-r）を含むユーザ登録要求情報を生成する。識別子（ID-r）を含むユーザ登録要求情報は、通信部１２３からネットワーク経由で管理装置１３０（図４）のパラメータ制御部１３２に送信される（ステップＳ１）。ユーザ登録要求情報は、通信部１３２ｆで受信されて登録処理部１３２ａに送られる。登録処理部１３２ａは、ユーザ登録要求情報が含む識別子（ID-r）を認証するために用いる認証情報（Auth-r）を生成する（ステップＳ２）。認証情報（Auth-r）の例は、パスワードなどである。また、登録処理部１３２ａは、識別子（ID-r）に対応する何れか１つの鍵生成部１３５−ｒを選択し、選択した鍵生成部１３５−ｒに対応するPKG識別子（#r）を設定する（ステップＳ３）。登録処理部１３２ａは、識別子（ID-r）とPKG識別子（#r）と認証情報（Auth-r）とを対応付けて利用者ＤＢ記憶部１３１ｃに格納し、利用者ＤＢ１３１ｃに格納された利用者ＤＢを更新する（ユーザ登録／ステップＳ４）。ユーザ登録が終了すると、登録処理部１３２ａは、識別子（ID-r）とPKG識別子（#r）と認証情報（Auth-r）と含む登録通知情報を生成し、通信部１３２ｆに送る。通信部１３２ｆは、ネットワーク経由で登録通知情報を復号装置１２０に送信する。登録通知情報は、復号装置１２０（図３）の通信部１２３で受信され登録処理部１２２ａに送られる。登録処理部１２２ａは、登録通知情報が含む識別子（ID-r）とPKG識別子（#r）と認証情報（Auth-r）とをメモリ１２１に格納する（ステップＳ５）。
【００２９】
［暗号化処理（ステップ図６〜図１１）］
暗号化処理が行われる場合、まず、復号装置１２０（図３）の認証処理部１２２ｂが、メモリ１２１から識別子（ID-r）と認証情報（Auth-r）と読み込み、これらを含む認証要求情報を、通信部１２３からネットワーク経由で管理装置１３０（図４）のパラメータ制御部１３２に送信する（ステップＳ９）。認証要求情報は、パラメータ制御部１３２の通信部１３２ｆに受信され、認証処理部１３２ｂに送られる。認証処理部１３２ｂは、認証要求情報が含む識別子（ID-r）と認証情報（Auth-r）と同一の組が利用者ＤＢ記憶部１３１ｃに格納された利用者ＤＢに含まれるかを判定する（認証処理／ステップＳ１０）。すなわち、認証要求情報が含む識別子（ID-r）と認証情報（Auth-r）と同一の組が利用者ＤＢ記憶部１３１ｃに格納された利用者ＤＢに含まれる場合には認証成功（OK）と判定し、含まれない場合には認証失敗(NG)と判定する。あるいは、認証要求情報が認証情報（Auth-r）を含むことなく、公知のゼロ知識証明技術を用いて認証処理が行われてもよい。
【００３０】
ここで、認証成功（OK）である場合にはログインが許可され、認証失敗(NG)である場合にはログインが拒否される。また、この認証結果は通信部１３２ｆからネットワーク経由で復号装置１２０（図３）に送信され、通信部１２３で受信されて認証処理部１２２ｂに送られる。認証処理部１２２ｂは、認証結果が認証失敗(NG)であった場合（ステップＳ１２）には処理をエラー終了させる（ステップＳ１３）。
【００３１】
認証結果が認証成功（OK）であった場合（ステップＳ１２）、復号装置１２０（図３）のサービス利用証明書取得部１２２ｃが、メモリ１２１から識別子（ID-r）を読み出し、識別子（ID-r）を含むサービス利用証明書要求情報を生成する。サービス利用証明書要求情報は、通信部１２３からネットワーク経由で管理装置１３０（図４）のパラメータ制御部１３２に送信される（ステップＳ１４）。サービス利用証明書要求情報は、管理装置１３０の通信部１３２ｆに受信され、サービス利用証明書生成部１３２ｄに送られる。サービス利用証明書生成部１３２ｄは、サービス利用証明書要求情報が含む識別子（ID-r）を抽出部１３２ｅに送る。抽出部１３２ｅは、識別子（ID-r）をキーとして利用者ＤＢ記憶部１３１ｃに格納された利用者ＤＢを検索し、利用者ＤＢで識別子（ID-r）に対応付けられているPKG識別子(#r)を抽出する（ステップＳ１５）。次に、抽出部１３２ｅは、PKG識別子(#r)をキーとしてパラメータＤＢ記憶部１３１ｂに格納されたパラメータＤＢを検索し、パラメータＤＢでPKG識別子(#r)に対応付けられている参照子(Ref-r)を抽出し、サービス利用証明書生成部１３２ｄに送る（ステップＳ１６）。サービス利用証明書生成部１３２ｄは、識別子（ID-r）と参照子(Ref-r)とを署名処理部１３４に送る。署名処理部１３４は、鍵メモリ１３１ａから署名鍵（SIGK）を抽出し、署名鍵（SIGK）を用いて、識別子（ID-r）と参照子(Ref-r)とに対する電子署名Sig'を生成する（ステップＳ１８）。署名処理部１３４は、識別子（ID-r）（特定の復号装置の識別子である利用識別子）と、参照子(Ref-r)（記憶部で当該利用識別子と同一の識別子に対応付けられた参照子である第１利用参照子）と、それらを含む情報に対する電子署名Sig'（第１電子署名）とを含むサービス利用証明書（ID-r, Ref-r, Sig'）を生成する。生成されたサービス利用証明書（ID-r, Ref-r, Sig'）は、パラメータ制御部１３２のサービス利用証明書生成部１３２ｄに送られる（ステップＳ２０）。サービス利用証明書（ID-r, Ref-r, Sig'）は通信部１３２ｆに送られ、そこからネットワーク経由で復号装置１２０（図３）に送信される。サービス利用証明書（ID-r, Ref-r, Sig'）は、復号装置１２０の通信部１２３に受信され、サービス利用証明書取得部１２２ｃに送られ、そこからメモリ１２１に格納される（ステップＳ２１）。
【００３２】
次に、復号装置１２０のサービス利用証明書取得部１２２ｃがメモリ１２１からサービス利用証明書（ID-r, Ref-r, Sig'）を読み出して通信部１２３に送る。通信部１２３は、サービス利用証明書（ID-r, Ref-r, Sig'）をネットワーク経由で暗号化装置１１０に送信する（ステップＳ２２）。サービス利用証明書（ID-r, Ref-r, Sig'）は、暗号化装置１１０（図２）の通信部１１３に受信される（入力を受け付ける）。サービス利用証明書（ID-r, Ref-r, Sig'）は、サービス利用証明書取得部１１２ａに入力され、メモリ１１１に格納される。
【００３３】
次に、暗号化装置１１０の署名検証部１１２ｂが検証鍵取得要求情報を生成する。検証鍵取得要求情報は、通信部１１３からネットワーク経由で管理装置１３０に送信される（ステップＳ２３）。検証鍵取得要求情報は、管理装置１３０（図４）のパラメータ制御部１３２の通信部１３２ｆで受信され、署名処理部１３４に送られる（ステップＳ２４）。署名処理部１３４は、鍵メモリ１３１ａから検証鍵（VERK）を読み込み（ステップＳ２５）、パラメータ制御部１３２の通信部１３２ｆに送る（ステップＳ２６）。通信部１３２ｆは、ネットワーク経由で検証鍵（VERK）を暗号化装置１１０に送信する（ステップＳ２７）。検証鍵（VERK）は、暗号化装置１１０（図２）の通信部１１３で受信され、署名検証部１１２ｂに送られる。署名検証部１１２ｂは、検証鍵（VERK）を用い、メモリ１１１から読み込んだサービス利用証明書（ID-r, Ref-r, Sig'）が含む電子署名Sig'（第１電子署名）に対する署名検証を行う（ステップＳ２８）。ここで、検証処理の結果が失敗（不合格）であった場合には（ステップＳ２９）、署名検証部１１２ｂは、暗号化装置１１０の処理をエラー終了させる（ステップＳ３０）。これにより、暗号化装置１１０が不当なシステムパラメータを用いて暗号化を行うことを防止できる。また、サービス利用証明書（ID-r, Ref-r, Sig'）は、プログラムやパラメータの情報を含んでいない。そのため、不当なサービス利用証明書に、装置やネットワークの多くのリソースが費やされてしまうことを抑制できる。
【００３４】
一方、検証処理の結果が成功（合格）であった場合には（ステップＳ２９）、処理用情報取得部１１２ｃが、メモリ１１１からサービス利用証明書（ID-r, Ref-r, Sig'）に含まれる参照子(Ref-r)を抽出する（ステップＳ３１）。処理用情報取得部１１２ｃは参照子(Ref-r)を通信部１１３に送る。通信部１１３は、ネットワーク経由で参照子(Ref-r)（第１利用参照子）を管理装置１３０に対して送信（出力）する（ステップＳ３２）。
【００３５】
参照子(Ref-r)は、管理装置１３０（図４）のパラメータ制御部１３２の通信部１３２ｆで受信され、処理用情報生成部１３３に送られる。処理用情報生成部１３３は、参照子(Ref-r)（第１利用参照子）を抽出部１３２ｅに送る。抽出部１３２ｅは、参照子(Ref-r)をキーとして、パラメータＤＢ記憶部１３１ｂに格納されたパラメータＤＢを検索する。抽出部１３２ｅは、参照子(Ref-r)と同一の参照子に対応付けられたシステムパラメータ(Pr, Qr)をパラメータＤＢ記憶部１３１ｂから抽出する（ステップＳ３３）。参照子(Ref-r)とシステムパラメータ(Pr, Qr)とは、処理用情報生成部１３３に送られる（ステップＳ３４）。処理用情報生成部１３３は、参照子(Ref-r)（第１利用参照子）とシステムパラメータ(Pr, Qr)（第１利用システムパラメータ）とをＩＤベース暗号用プログラム（IBE-prog）に設定する（ステップＳ３５）。なお、本形態のＩＤベース暗号用プログラム（IBE-prog）は、暗号処理用のプログラムと復号処理用のプログラムとを含む。また、参照子(Ref-r)とシステムパラメータ(Pr, Qr)とをＩＤベース暗号用プログラム（IBE-prog）に設定する方法としては、例えば、ＩＤベース暗号用プログラム（IBE-prog）内に参照子(Ref-r)とシステムパラメータ(Pr, Qr)とを設定する方法（設定例１）や、ＩＤベース暗号用プログラム（IBE-prog）が参照子(Ref-r)とシステムパラメータ(Pr, Qr)とを参照するように設定する方法（設定例２）などがある。
【００３６】
参照子(Ref-r)とシステムパラメータ(Pr, Qr)が設定されたＩＤベース暗号用プログラム（IBE-prog）は、署名処理部１３４に送られる（ステップＳ３６）。署名処理部１３４は、鍵メモリ１３１ａから署名鍵（SIGK）を読み込み、署名鍵（SIGK）を用い、参照子(Ref-r)とシステムパラメータ(Pr, Qr)とが設定されたＩＤベース暗号用プログラム（IBE-prog）に対する電子署名（Sig）を生成する（ステップＳ３７）。例えば、設定例１の場合には、内部に参照子(Ref-r)とシステムパラメータ(Pr, Qr)とが設定されたＩＤベース暗号用プログラム（IBE-prog）に対する電子署名(Sig)が生成される（図５Ａ）。また、設定例２の場合には、参照子(Ref-r)とシステムパラメータ(Pr, Qr)とを参照するように構成されたＩＤベース暗号用プログラム（IBE-prog）に対し、その改変を検出するコードサイニング（例えば、Message Authentication Code）が付され、ＩＤベース暗号用プログラム（IBE-prog）と参照子(Ref-r)とシステムパラメータ(Pr, Qr)とに対する電子署名(Sig)が生成される（図５Ｂ）。生成された電子署名(Sig)は、処理用情報生成部１３３に送られる（ステップＳ３８）。
【００３７】
処理用情報生成部１３３は、参照子(Ref-r)（第１参照子）とシステムパラメータ(Pr, Qr)とＩＤベース暗号用プログラム（IBE-prog）とそれらに対する電子署名(Sig)（第１参照子及び第１利用システムパラメータを含む情報に対する管理装置の第２電子署名）とを含む暗号化処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)を生成し（図５Ａ，図５Ｂ）、生成した暗号化処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)を通信部１３２ｆに送る（ステップＳ３９）。通信部１３２ｆは、暗号化処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)をネットワーク経由で暗号化装置１１０に送信（出力）する（ステップＳ４０）。暗号化処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)は、暗号化装置１１０（図２）の通信部１１３で受信され、処理用情報取得部１１２ｃによってメモリ１１１に格納される。
【００３８】
次に、署名検証部１１２ｂがステップＳ２３〜Ｓ２７と同様に検証鍵（VERK）を取得し（ステップＳ４１〜Ｓ４５）、検証鍵（VERK）を用い、メモリ１１１から読み込まれた暗号化処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)の電子署名（Sig）に対する検証処理を行う（ステップＳ４６）。ここで、検証処理の結果が失敗（不合格）であった場合には（ステップＳ４７）、署名検証部１１２ｂは、暗号化装置１１０の処理をエラー終了させる（ステップＳ４８）。これにより、暗号化装置１１０が不当なシステムパラメータを用いて暗号化を行うことを防止できる。
【００３９】
一方、検証処理の結果が成功（合格）であった場合には（ステップＳ４７）、照合部１１２ｄが、メモリ１１１から読み込んだ、サービス利用証明書（ID-r, Ref-r, Sig'）が含む参照子（Ref-r）（第１利用参照子）と、暗号化処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)が含む参照子(Ref-r)（第１参照子）とが同一であるか否かを判定する（ステップＳ４９）。ここで、これらが同一でないと判定された場合には（ステップＳ５０）、照合部１１２ｄは、暗号化装置１１０の処理をエラー終了させる（ステップＳ５１）。これにより、暗号化装置１１０がリプレイアタックなどによって不当なシステムパラメータが与えられ、当該不当なシステムパラメータを用いて暗号化を行うことを防止できる。
【００４０】
一方、これらが同一であると判定された場合、平文生成部１１２ｅが平文(M)を生成してメモリ１１１に格納する。この処理は、平文生成部１１２ｅが平文(M)自体を生成する処理であってもよいし、別途入力された情報を暗号化処理可能な形式の平文(M)に変更する処理であってもよい（ステップＳ５２）。次に、暗号化部１１２ｆが、メモリ１１１から読み込んだサービス利用証明書（ID-r, Ref-r, Sig'）が含む識別子（ID-r）（利用識別子）と、暗号化処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)が含むシステムパラメータ(Pr, Qr)（第１利用システムパラメータ）とを用い、ＩＤベース暗号用プログラム（IBE-prog）によって特定されるＩＤベース暗号方式に則り、メモリ１１１から読み込んだ平文Mの暗号文（Enc(ID-r, (Pr, Qr), M)）を生成する。例えば、非特許文献１の方式の場合には、暗号文
Enc(ID-r, (Pr, Qr), M)=(r・P, M(+)H(gIDr))
が生成される。なお、gID=e(MAPID,Ppub)であり、eはペアリングなどの双線形写像であり、MAPIDは識別子（ID-r）を楕円曲線上に写像した点であり、rは整数の乱数であり、Mはビット列であり、(+)は排他的論理和演算子である。
【００４１】
暗号化部１１２ｆは、暗号文（Enc(ID-r, (Pr, Qr), M))と参照子(Ref-r)（第１利用参照子）と識別子(ID-r)とを通信部１１３に送る（ステップＳ５３）。通信部１１３は、これらを、ネットワーク経由で復号装置１２０に送信（出力）する（ステップＳ５４）。
【００４２】
［復号処理（ステップ図１２〜図１４）］
暗号文（Enc(ID-r, (Pr, Qr), M))と参照子(Ref-r)と識別子(ID-r)とは、復号装置１２０（図３）の通信部１２３で受信され、復号部１２２ｈに送られ、メモリ１２１に格納される。次に、処理用情報取得部１２２ｅが、メモリ１２１からサービス利用証明書（ID-r, Ref-r, Sig'）に含まれる参照子(Ref-r)を抽出して通信部１２３に送る。通信部１２３は、ネットワーク経由で参照子(Ref-r)（第１利用参照子）を管理装置１３０に対して送信（出力）する（ステップＳ５５）。
【００４３】
参照子(Ref-r)は、管理装置１３０（図４）のパラメータ制御部１３２の通信部１３２ｆで受信され、処理用情報生成部１３３に送られる。処理用情報生成部１３３は、参照子(Ref-r)（第１利用参照子）を抽出部１３２ｅに送る。抽出部１３２ｅは、参照子(Ref-r)をキーとして、パラメータＤＢ記憶部１３１ｂに格納されたパラメータＤＢを検索する。抽出部１３２ｅは、参照子(Ref-r)と同一の参照子に対応付けられたシステムパラメータ(Pr, Qr)をパラメータＤＢ記憶部１３１ｂから抽出し（ステップＳ５６）、処理用情報生成部１３３に送る（ステップＳ５７）。処理用情報生成部１３３は、参照子(Ref-r)（第１利用参照子）とシステムパラメータ(Pr, Qr)（第２利用システムパラメータ）とをＩＤベース暗号用プログラム（IBE-prog）に設定する（ステップＳ５８）。また、参照子(Ref-r)とシステムパラメータ(Pr, Qr)とをＩＤベース暗号用プログラム（IBE-prog）に設定する方法としては、前述した設定例１，２（図５Ａ，図５Ｂ）などがある。参照子(Ref-r)とシステムパラメータ(Pr, Qr)が設定されたＩＤベース暗号用プログラム（IBE-prog）は署名処理部１３４に送られる。署名処理部１３４は、鍵メモリ１３１ａから署名鍵（SIGK）を読み込み、署名鍵（SIGK）を用い、参照子(Ref-r)とシステムパラメータ(Pr, Qr)とが設定されたＩＤベース暗号用プログラム（IBE-prog）に対する電子署名（Sig）を生成する（ステップＳ５９）。生成された電子署名(Sig)は、処理用情報生成部１３３に送られる（ステップＳ６０）。
【００４４】
処理用情報生成部１３３は、参照子(Ref-r)（第２参照子）とシステムパラメータ(Pr, Qr)とＩＤベース暗号用プログラム（IBE-prog）とそれらに対する電子署名(Sig)（第２参照子及び第２利用システムパラメータを含む情報に対する管理装置の第３電子署名）とを含む復号処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)を生成し、生成した復号処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)を通信部１３２ｆに送る（ステップＳ６１）。通信部１３２ｆは、復号処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)をネットワーク経由で復号装置１２０に送信（出力）する（ステップＳ６２）。復号処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)は、復号装置１２０（図３）の通信部１２３で受信され、処理用情報取得部１２２ｅによってメモリ１２１に格納される。
【００４５】
次に、署名検証部１２２ｄがステップＳ２３〜Ｓ２７と同様な処理によって検証鍵（VERK）を取得し（ステップＳ６３〜Ｓ６７）、検証鍵（VERK）を用いてメモリ１２１から読み込まれた復号処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)の電子署名（Sig）に対する検証処理を行う（ステップＳ６８）。ここで、検証処理の結果が失敗（不合格）であった場合には（ステップＳ６９）、署名検証部１２２ｄは、復号装置１２０の処理をエラー終了させる（ステップＳ７０）。これにより、不当なシステムパラメータに対応する不当な復号鍵の生成や当該不当な復号鍵を用いた復号処理といった不当な処理が行われることを防止できる。その結果、不当な処理に復号装置１２０や管理装置１３０のリソースが利用されることを防止できる。
【００４６】
一方、検証処理の結果が成功（合格）であった場合には（ステップＳ６９）、照合部１２２ｆが、メモリ１２１から暗号文（Enc(ID-r, (Pr, Qr), M))とともに送られた参照子(Ref-r)（第１利用参照子）と、復号処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)が含む参照子(Ref-r)（第２参照子）とが同一であるか否かを判定する（ステップＳ７１）。ここで、これらが同一でないと判定された場合には（ステップＳ７２）、照合部１２２ｆは、復号装置１２０の処理をエラー終了させる（ステップＳ７３）。これにより、リプレイアタックなどによって送りつけられた不当なシステムパラメータに対応する不当な復号鍵の生成や当該不当な復号鍵を用いた復号処理といった不当な処理が行われることを防止できる。その結果、不当な処理に復号装置１２０や管理装置１３０のリソースが利用されることを防止できる。
【００４７】
一方、これらが同一であると判定された場合、復号鍵取得部１２２ｇがメモリ１２１から参照子(Ref-r)（第１利用参照子）と識別子(ID-r)（利用識別子）とを読み込み、これらを含む復号鍵要求情報を生成する。復号鍵要求情報は通信部１２３からネットワーク経由で管理装置１３０（図４）のパラメータ制御部１３２に送信される（ステップＳ７４）。次に、復号装置１２０の認証処理部１２２ｂと管理装置１３０の認証処理部１３２との間で、前述のステップＳ９〜Ｓ１３と同様な認証プロセスが実行される。認証プロセスにおいて認証成功（OK）となった場合、復号鍵要求情報が含む参照子(Ref-r)と識別子(ID-r)が鍵生成制御部１３２ｃに送られる。鍵生成制御部１３２ｃは参照子(Ref-r)を抽出部１３２ｅに送る。抽出部１３２ｅは、参照子(Ref-r)をキーとして、パラメータＤＢ記憶部１３１ｂに格納されたパラメータＤＢを検索する。抽出部１３２ｅは、参照子(Ref-r)と同一の参照子に対応付けられたシステムパラメータ(Pr, Qr)（第３利用システムパラメータ）をパラメータＤＢ記憶部１３１ｂから抽出し、鍵生成制御部１３２ｃに送る（ステップＳ７５）。また、鍵生成制御部１３２ｃは、参照子(Ref-r)と識別子(ID-r)とを抽出部１３２ｅに送る。抽出部１３２ｅは、参照子(Ref-r)をキーとして、パラメータＤＢ記憶部１３１ｂに格納されたパラメータＤＢ及び利用者ＤＢ記憶部１３１ｃに格納された利用者ＤＢを検索し、パラメータＤＢ記憶部１３１ｂ及び利用者ＤＢ記憶部１３１ｃで、参照子(Ref-r)と識別子(ID-r)とが対応付けられているか否かを判定する（ステップＳ７６）。ここで、これらが対応付けられていないと判定された場合には（ステップＳ７７）、鍵生成部の利用権限がないとして処理がエラー終了される（ステップＳ７８）。これにより、鍵生成部の利用権限がない者に対して復号鍵が生成されることを抑制できる。
【００４８】
一方、参照子(Ref-r)と識別子(ID-r)とが対応付けられていると判定された場合には（ステップＳ７７）、識別子(ID-r)に対応付けられたPKG識別子（#r）が利用者ＤＢ記憶部１３１ｃから抽出され、鍵生成制御部１３２ｃに送られる（ステップＳ７９）。鍵生成制御部１３２ｃは、PKG識別子（#r）によって特定される鍵生成部１３５−ｒに対し、識別子(ID-r)（利用識別子）とシステムパラメータ(Pr, Qr)（第３利用システムパラメータ）とを送る（ステップＳ７９）。鍵生成部１３５−ｒは、識別子(ID-r)とシステムパラメータ(Pr, Qr)とマスター秘密鍵Srとを用い、識別子(ID-r)に対応する復号鍵（PK-r）を生成する（ステップＳ８０）。例えば、非特許文献１の方式の場合には、ハッシュ関数Gなどを用いて識別子(ID-r)を楕円曲線上の点MAPIDに写像し、楕円スカラー倍算結果Sr・MAPIDを復号鍵（PK-r）とする。復号鍵（PK-r）は鍵生成制御部１３２ｃに送られ（ステップＳ８１）、さらに通信部１３２に送られる。通信部１３２は、復号鍵（PK-r）をネットワーク経由で復号装置１２０に送信（出力）する（ステップＳ８２）。
【００４９】
復号鍵（PK-r）は、復号装置１２０（図３）の通信部１２３で受信され、復号部１２２ｈに送られ、メモリ１２１に格納される。復号部１２２は、メモリ１２１から復号鍵（PK-r）と、復号処理用情報(IBE-prog, Ref-r, (Pr, Qr), Sig)と、暗号文暗号文（Enc(ID-r, (Pr, Qr), M)）とを読み込み、ＩＤベース暗号用プログラム（IBE-prog）によって特定されるＩＤベース暗号方式に則り、暗号文（Enc(ID-r, (Pr, Qr), M)）を復号して平文(M)を生成し、出力する（ステップＳ８３）。例えば、非特許文献１の方式の場合には、
M=M(+)H(gIDr)(+)H(e(PK-r,r・P))
によって平文(M)が生成される。
【００５０】
以上により、暗号化装置１１０と復号装置１２０と管理装置１３０との間での系の一致を担保できる。
【００５１】
〔第２実施形態〕
次に、本発明の第２実施形態を説明する。本形態は、第１実施形態の変形例である。本形態では、暗号化装置と復号装置とで異なる参照子が用いられる。以下では、第１実施形態との相違点を中心に説明する。また、本形態において第１実施形態と共通する部分やステップについては第１実施形態と同じ参照番号やステップ番号を用い、説明を省略する。
【００５２】
＜構成＞
図１に例示するように、第２実施形態のＩＤベース暗号利用システム２は、暗号化装置２１０と復号装置２２０と管理装置２３０とを有し、これらはネットワーク経由で通信可能に構成されている。なお、複数の暗号化装置や復号装置や管理装置が存在してもよいが、ここでは簡略化のため１つずつの暗号化装置２１０と復号装置２２０と管理装置２３０のみを図示する。
【００５３】
［暗号化装置２１０］
図１５に例示するように、第２実施形態の暗号化装置２１０は、メモリ１１１とサービス利用証明書取得部２１２ａと署名検証部２１２ｂと処理用情報取得部２１２ｃと照合部２１２ｄと平文生成部１１２ｅと暗号化部２１２ｆと通信部１１３（「入力部」や「出力部」に相当）とを有する。
【００５４】
なお、暗号化装置２１０は、例えば、CPU,RAMなどから構成される公知又は専用のコンピュータに所定のプログラムが読み込まれることで構成される特別な装置である。また、暗号化装置２１０は１つの筐体内に構成されていてもよいし、複数の筐体内にそれぞれ構成された装置がネットワークを介して接続されることで構成されてもよい。
【００５５】
［復号装置２２０］
図１６に例示するように、第２実施形態の復号装置２２０は、メモリ１２１と登録処理部１２２ａと認証処理部１２２ｂとサービス利用証明書取得部２２２ｃと署名検証部２２２ｄと処理用情報取得部２２２ｅと照合部２２２ｆと復号鍵取得部１２２ｇと復号部２２２ｈと通信部１２３（「入力部」や「出力部」に相当）とを有する。
【００５６】
なお、復号装置２２０は、例えば、CPU,RAMなどから構成される公知又は専用のコンピュータに所定のプログラムが読み込まれることで構成される特別な装置である。また、復号装置２２０は１つの筐体内に構成されていてもよいし、複数の筐体内にそれぞれ構成された装置がネットワークを介して接続されることで構成されてもよい。
【００５７】
［管理装置２３０］
図１７に例示するように、第２実施形態の管理装置２３０は、鍵メモリ１３１ａとパラメータデータベース（ＤＢ）記憶部２３１ｂと利用者データベース（ＤＢ）記憶部１３１ｃとパラメータ制御部２３２と処理用情報生成部２３３と署名処理部２３４と鍵生成部１３５−１〜ｎ（ｎは１以上の整数）とを有する。パラメータＤＢ記憶部２３１ｂと利用者ＤＢ記憶部１３１ｃとの組み合わせによって、「復号装置の識別子とＩＤベース暗号方式のシステムパラメータと参照子とを対応付けて格納する記憶部」が構成される。また、パラメータ制御部２３２は、登録処理部１３２ａと認証処理部１３２ｂと鍵生成制御部１３２ｃとサービス利用証明書生成部２３２ｄと抽出部２３２ｅと通信部１３２ｆ（「入力部」や「出力部」に相当）とを有する。
【００５８】
なお、管理装置２３０は、例えば、CPU,RAMなどから構成される公知又は専用のコンピュータに所定のプログラムが読み込まれることで構成される特別な装置である。管理装置２３０は１つの筐体内に構成されていてもよいし、複数の筐体内にそれぞれ構成された装置がネットワークを介して接続されることで構成されてもよい。
【００５９】
＜処理＞
次に、本形態の処理を説明する。
［事前処理］
管理装置２３０（図１７）のパラメータＤＢ記憶部２３１ｂに、各鍵生成部１３５−１〜ｎにそれぞれ対応するPKG識別子（PKG-ID）とＩＤベース暗号方式のシステムパラメータ（Sys-param）と参照子（Ref）とが対応付けられたパラメータＤＢが格納される。ただし、第１実施形態の場合と異なり、暗号化処理用の参照子と復号処理用の参照子とが独立に設定される。本形態では、鍵生成部１３５−ｒに対応する暗号化処理用の参照子をRef-r-eと表し、鍵生成部１３５−ｒに対応する復号処理用の参照子をRef-r-dと表す。なお、本形態では、参照子(Ref-r-e)に対応付けられるシステムパラメータ(Pr,Qr)と参照子(Ref-r-d)に対応付けられるシステムパラメータ(Pr,Qr)とは同一であるが、システムパラメータ(Pr,Qr)のうち暗号化処理に必要なものだけが参照子(Ref-r-e)に対応付けられ、システムパラメータ(Pr,Qr)のうち復号処理に必要なものだけが参照子(Ref-r-d)に対応付けられてもよい。
【００６０】
その他の事前処理は第１実施形態と同様である。
【００６１】
［ユーザ登録処理（図６）］
本形態のユーザ登録処理は第１実施形態と同じである。
【００６２】
［暗号化処理（図６、図１８〜図２２）］
暗号化処理が行われる場合、復号装置２２０と管理装置２３０との間で、第１実施形態で説明した認証プロセスが実行される（ステップＳ９〜Ｓ１３）。認証プロセスにおいて認証成功（OK）であった場合、第１実施形態のステップＳ１４、Ｓ１５と同様の処理が実行される。管理装置２３０（図１７）のパラメータ制御部２３２の抽出部２３２ｅは、PKG識別子(#r)をキーとしてパラメータＤＢ記憶部２３１ｂに格納されたパラメータＤＢを検索し、パラメータＤＢでPKG識別子(#r)に対応付けられている暗号化処理用の参照子(Ref-r-e)を抽出し、サービス利用証明書生成部２３２ｄに送る（ステップＳ１１６）。サービス利用証明書生成部２３２ｄは、識別子（ID-r）と参照子(Ref-r-e)とを署名処理部２３４に送る。署名処理部２３４は、鍵メモリ１３１ａから署名鍵（SIGK）を抽出し、署名鍵（SIGK）を用いて、識別子（ID-r）と参照子(Ref-r-e)とに対する電子署名Sig'を生成する（ステップＳ１１８）。署名処理部２３４は、識別子（ID-r）（特定の復号装置の識別子である利用識別子）と、参照子(Ref-r-e)（記憶部で当該利用識別子と同一の識別子に対応付けられた参照子である第１利用参照子）と、それらを含む情報に対する電子署名Sig'（第１電子署名）とを含むサービス利用証明書（ID-r, Ref-r-e, Sig'）を生成する。生成されたサービス利用証明書（ID-r, Ref-r-e, Sig'）は、パラメータ制御部２３２のサービス利用証明書生成部２３２ｄに送られる（ステップＳ１２０）。サービス利用証明書（ID-r, Ref-r-e, Sig'）は通信部１３２ｆに送られ、そこからネットワーク経由で復号装置２２０（図１６）に送信される。サービス利用証明書（ID-r, Ref-r-e, Sig'）は、復号装置２２０の通信部１２３に受信され、サービス利用証明書取得部２２２ｃに送られ、そこからメモリ１２１に格納される（ステップＳ１２１）。
【００６３】
次に、復号装置２２０のサービス利用証明書取得部２２２ｃがメモリ１２１からサービス利用証明書（ID-r, Ref-r-e, Sig'）を読み出して通信部１２３に送る。通信部１２３は、サービス利用証明書（ID-r, Ref-r-e, Sig'）をネットワーク経由で暗号化装置２１０に送信する（ステップＳ１２２）。サービス利用証明書（ID-r, Ref-r-e, Sig'）は、暗号化装置２１０（図１５）の通信部１１３に受信される（入力を受け付ける）。サービス利用証明書（ID-r, Ref-r-e, Sig'）は、サービス利用証明書取得部２１２ａに入力され、メモリ１１１に格納される。
【００６４】
次に、暗号化装置２１０（図１５）の署名検証部２１２ｂが、第１実施形態のステップＳ２３〜Ｓ２７と同様な処理によって検証鍵（VERK）を取得する。署名検証部２１２ｂは、検証鍵（VERK）を用い、メモリ１１１から読み込んだサービス利用証明書（ID-r, Ref-r-e, Sig'）が含む電子署名Sig'（第１電子署名）に対する署名検証を行う（ステップＳ１２８）。ここで、検証処理の結果が失敗（不合格）であった場合には（ステップＳ２９）、署名検証部２１２ｂは、暗号化装置２１０の処理をエラー終了させる（ステップＳ３０）。これにより、暗号化装置２１０が不当なシステムパラメータを用いて暗号化を行うことを防止できる。
【００６５】
一方、検証処理の結果が成功（合格）であった場合には、暗号化装置２１０（図１５）の処理用情報取得部２１２ｃが、メモリ１１１からサービス利用証明書（ID-r, Ref-r-e, Sig'）に含まれる参照子(Ref-r-e)を抽出する（ステップＳ１３１）。処理用情報取得部２１２ｃは参照子(Ref-r-e)を通信部１１３に送る。通信部１１３は、ネットワーク経由で参照子(Ref-r-e)（第１利用参照子）を管理装置２３０に対して送信（出力）する（ステップＳ１３２）。
【００６６】
参照子(Ref-r-e)は、管理装置２３０（図１７）のパラメータ制御部２３２の通信部１３２ｆで受信され、処理用情報生成部２３３に送られる。処理用情報生成部２３３は、参照子(Ref-r-e)（第１利用参照子）を抽出部２３２ｅに送る。抽出部２３２ｅは、参照子(Ref-r-e)をキーとして、パラメータＤＢ記憶部２３１ｂに格納されたパラメータＤＢを検索する。抽出部２３２ｅは、参照子(Ref-r-e)と同一の参照子に対応付けられたシステムパラメータ(Pr, Qr)をパラメータＤＢ記憶部２３１ｂから抽出する。また、抽出部２３２ｅは、参照子(Ref-r-e)をキーとして、参照子(Ref-r-e)と同一の参照子に対応付けられたPKG識別子(#r)を特定し、当該PKG識別子(#r)に対応付けられた復号用の参照子(Ref-r-d)をパラメータＤＢ記憶部２３１ｂから抽出する（ステップＳ１３３）。当該復号用の参照子(Ref-r-d)（第２利用参照子）は、利用者ＤＢ記憶部１３１ｃ及びパラメータＤＢ記憶部２３１ｂにおいて、識別子（ID-r）（利用識別子）と同一の識別子に対応付けられた参照子である。抽出部２３２ｅは、参照子(Ref-r-e), (Ref-r-d)とシステムパラメータ(Pr, Qr)とを処理用情報生成部２３３に送る（ステップＳ１３４）。処理用情報生成部２３３は、参照子(Ref-r-e)（第１利用参照子）及び参照子(Ref-r-d)（第２利用参照子）とシステムパラメータ(Pr, Qr)（第１利用システムパラメータ）とをＩＤベース暗号用プログラム（IBE-prog）に設定する（ステップＳ１３５）。この処理は、参照子(Ref-r)が参照子(Ref-r-e)及び(Ref-r-d)となる以外、第１実施形態と同様である。ただし、本形態の場合、ステップＳ１３５で参照子(Ref-r-e)（第１利用参照子）及び参照子(Ref-r-d)（第２利用参照子）とシステムパラメータ(Pr, Qr)（第１利用システムパラメータ）とが設定されるＩＤベース暗号用プログラム（IBE-prog）が暗号化処理のみに対応していてもよい。
【００６７】
参照子(Ref-r-e),(Ref-r-d)とシステムパラメータ(Pr, Qr)が設定されたＩＤベース暗号用プログラム（IBE-prog）は、署名処理部２３４に送られる（ステップＳ１３６）。署名処理部２３４は、鍵メモリ１３１ａから署名鍵（SIGK）を読み込み、署名鍵（SIGK）を用い、参照子(Ref-r-e),(Ref-r-d)とシステムパラメータ(Pr, Qr)とが設定されたＩＤベース暗号用プログラム（IBE-prog）に対する電子署名（Sig）を生成する（ステップＳ１３７）。生成された電子署名(Sig)は、処理用情報生成部２３３に送られる（ステップＳ１３８）。
【００６８】
処理用情報生成部２３３は、参照子(Ref-r-e),(Ref-r-d)とシステムパラメータ(Pr, Qr)とＩＤベース暗号用プログラム（IBE-prog）とそれらに対する電子署名(Sig) とを含む暗号化処理用情報(IBE-prog, Ref-r-e, Ref-r-d, (Pr, Qr), Sig)を生成し、生成した暗号化処理用情報(IBE-prog, Ref-r-e, Ref-r-d, (Pr, Qr), Sig)を通信部１３２ｆに送る（ステップＳ１３９）。通信部１３２ｆは、暗号化処理用情報(IBE-prog, Ref-r-e, Ref-r-d, (Pr, Qr), Sig)をネットワーク経由で暗号化装置２１０に送信（出力）する（ステップＳ１４０）。暗号化処理用情報(IBE-prog, Ref-r-e, Ref-r-d, (Pr, Qr), Sig)は、暗号化装置２１０（図１５）の通信部１１３で受信され、処理用情報取得部２１２ｃによってメモリ１１１に格納される。
【００６９】
次に、署名検証部２１２ｂが第１実施形態のステップＳ４１〜Ｓ４５と同様に検証鍵（VERK）を取得し、検証鍵（VERK）を用い、メモリ１１１から読み込まれた暗号化処理用情報(IBE-prog, Ref-r-e, Ref-r-d, (Pr, Qr), Sig)の電子署名（Sig）に対する検証処理を行う（ステップＳ１４６）。ここで、検証処理の結果が失敗（不合格）であった場合には（ステップＳ４７）、署名検証部２１２ｂは、暗号化装置２１０の処理をエラー終了させる（ステップＳ４８）。これにより、暗号化装置２１０が不当なシステムパラメータを用いて暗号化を行うことを防止できる。
【００７０】
一方、検証処理の結果が成功（合格）であった場合には、照合部２１２ｄが、メモリ１１１から読み込んだ、サービス利用証明書（ID-r, Ref-r-e, Sig'）が含む参照子（Ref-r-e）（第１利用参照子）と、暗号化処理用情報(IBE-prog, Ref-r-e, Ref-r-d, (Pr, Qr), Sig)が含む参照子(Ref-r-e)（第１参照子）とが同一であるか否かを判定する（ステップＳ１４９）。ここで、これらが同一でないと判定された場合には（ステップＳ５０）、照合部２１２ｄは、暗号化装置２１０の処理をエラー終了させる（ステップＳ５１）。これにより、暗号化装置２１０がリプレイアタックなどによって不当なシステムパラメータが与えられ、当該不当なシステムパラメータを用いて暗号化を行うことを防止できる。
【００７１】
一方、これらが同一であると判定された場合、平文生成部１１２ｅが平文(M)を生成してメモリ１１１に格納する（ステップＳ５２）。次に、暗号化部２１２ｆが、メモリ１１１から読み込んだサービス利用証明書（ID-r, Ref-r-e, Sig'）が含む識別子（ID-r）（利用識別子）と、暗号化処理用情報(IBE-prog, Ref-r-e, Ref-r-d, (Pr, Qr), Sig)が含むシステムパラメータ(Pr, Qr)（第１利用システムパラメータ）とを用い、ＩＤベース暗号用プログラム（IBE-prog）によって特定されるＩＤベース暗号方式に則り、メモリ１１１から読み込んだ平文Mの暗号文（Enc(ID-r, (Pr, Qr), M)）を生成する。また、暗号化部２１２ｆは、暗号文（Enc(ID-r, (Pr, Qr), M)）と、メモリ１１１に格納された暗号化処理用情報(IBE-prog, Ref-r-e, Ref-r-d, (Pr, Qr), Sig)が含む参照子(Ref-r-d)（第２利用参照子）と、識別子(ID-r)とを通信部１１３に送る（ステップＳ１５３）。通信部１１３は、これらをネットワーク経由で復号装置２２０に送信（出力）する（ステップＳ１５４）。
【００７２】
［復号処理（ステップ図２３〜図２５）］
暗号文（Enc(ID-r, (Pr, Qr), M))と参照子(Ref-r-d)と識別子(ID-r)とは、復号装置２２０（図１６）の通信部１２３で受信され、復号部２２２ｈに送られ、メモリ１２１に格納される。次に、処理用情報取得部２２２ｅが、メモリ１２１から参照子(Ref-r-d)を抽出して通信部１２３に送る。通信部１２３は、ネットワーク経由で参照子(Ref-r-d)（第２利用参照子）を管理装置２３０に対して送信（出力）する（ステップＳ１５５）。
【００７３】
参照子(Ref-r-d)は、管理装置２３０（図１７）のパラメータ制御部２３２の通信部１３２ｆで受信され、処理用情報生成部２３３に送られる。処理用情報生成部２３３は、参照子(Ref-r-d)（第２利用参照子）を抽出部２３２ｅに送る。抽出部２３２ｅは、参照子(Ref-r-d)をキーとして、パラメータＤＢ記憶部２３１ｂに格納されたパラメータＤＢを検索する。抽出部２３２ｅは、参照子(Ref-r-d)と同一の参照子に対応付けられたシステムパラメータ(Pr, Qr)をパラメータＤＢ記憶部２３１ｂから抽出し（ステップＳ１５６）、処理用情報生成部２３３に送る（ステップＳ１５７）。処理用情報生成部２３３は、参照子(Ref-r-d)（第２利用参照子）とシステムパラメータ(Pr, Qr)（第２利用システムパラメータ）とをＩＤベース暗号用プログラム（IBE-prog）に設定する（ステップＳ１５８）。この処理は、参照子(Ref-r)が参照子(Ref-r-d)となる以外、第１実施形態と同様である。ただし、本形態の場合、ステップＳ１５８で参照子(Ref-r-d)（第２利用参照子）とシステムパラメータ(Pr, Qr)（第１利用システムパラメータ）とが設定されるＩＤベース暗号用プログラム（IBE-prog）が復号処理のみに対応していてもよい。
【００７４】
参照子(Ref-r-d)とシステムパラメータ(Pr, Qr)が設定されたＩＤベース暗号用プログラム（IBE-prog）は署名処理部２３４に送られる。署名処理部２３４は、鍵メモリ１３１ａから署名鍵（SIGK）を読み込み、署名鍵（SIGK）を用い、参照子(Ref-r-d)とシステムパラメータ(Pr, Qr)とが設定されたＩＤベース暗号用プログラム（IBE-prog）に対する電子署名（Sig）を生成する（ステップＳ１５９）。生成された電子署名(Sig)は、処理用情報生成部２３３に送られる（ステップＳ１６０）。
【００７５】
処理用情報生成部２３３は、参照子(Ref-r-d)（第２参照子）とシステムパラメータ(Pr, Qr)とＩＤベース暗号用プログラム（IBE-prog）とそれらに対する電子署名(Sig)（第２参照子及び第２利用システムパラメータを含む情報に対する管理装置の第３電子署名）とを含む復号処理用情報(IBE-prog, Ref-r-d, (Pr, Qr), Sig)を生成し、生成した復号処理用情報(IBE-prog, Ref-r-d, (Pr, Qr), Sig)を通信部１３２ｆに送る（ステップＳ１６１）。通信部１３２ｆは、復号処理用情報(IBE-prog, Ref-r-d, (Pr, Qr), Sig)をネットワーク経由で復号装置２２０に送信（出力）する（ステップＳ１６２）。復号処理用情報(IBE-prog, Ref-r-d, (Pr, Qr), Sig)は、復号装置２２０（図１６）の通信部１２３で受信され、処理用情報取得部２２２ｅによってメモリ１２１に格納される。
【００７６】
次に、署名検証部２２２ｄがステップＳ２３〜Ｓ２７と同様な処理によって検証鍵（VERK）を取得し（ステップＳ６３〜Ｓ６７）、検証鍵（VERK）を用いてメモリ１２１から読み込まれた復号処理用情報(IBE-prog, Ref-r-d, (Pr, Qr), Sig)の電子署名（Sig）に対する検証処理を行う（ステップＳ１６８）。ここで、検証処理の結果が失敗（不合格）であった場合には（ステップＳ６９）、署名検証部２２２ｄは、復号装置２２０の処理をエラー終了させる（ステップＳ７０）。これにより、不当なシステムパラメータに対応する不当な復号鍵の生成や当該不当な復号鍵を用いた復号処理といった不当な処理が行われることを防止できる。その結果、不当な処理に復号装置２２０や管理装置２３０のリソースが利用されることを防止できる。
【００７７】
一方、検証処理の結果が成功（合格）であった場合には（ステップＳ６９）、照合部２２２ｆが、メモリ１２１から暗号文（Enc(ID-r, (Pr, Qr), M))とともに送られた参照子(Ref-r-d)（第２利用参照子）と、復号処理用情報(IBE-prog, Ref-r-d, (Pr, Qr), Sig)が含む参照子(Ref-r-d)（第２参照子）とが同一であるか否かを判定する（ステップＳ１７１）。ここで、これらが同一でないと判定された場合には（ステップＳ７２）、照合部２２２ｆは、復号装置２２０の処理をエラー終了させる（ステップＳ７３）。これにより、リプレイアタックなどによって送りつけられた不当なシステムパラメータに対応する不当な復号鍵の生成や当該不当な復号鍵を用いた復号処理といった不当な処理が行われることを防止できる。その結果、不当な処理に復号装置２２０や管理装置２３０のリソースが利用されることを抑制できる。
【００７８】
一方、これらが同一であると判定された場合、復号鍵取得部１２２ｇがメモリ１２１から参照子(Ref-r-d)と識別子(ID-r)とを読み込み、これらを含む復号鍵要求情報を生成する。復号鍵要求情報は通信部１２３からネットワーク経由で管理装置２３０（図１７）のパラメータ制御部２３２に送信される（ステップＳ１７４）。次に、復号装置２２０の認証処理部２２２ｂと管理装置２３０の認証処理部２３２との間で、前述のステップＳ９〜Ｓ１３と同様な認証プロセスが実行される。認証プロセスにおいて認証成功（OK）となった場合、復号鍵要求情報に含まれる参照子(Ref-r-d)と識別子(ID-r)が鍵生成制御部１３２ｃに送られる。鍵生成制御部１３２ｃは参照子(Ref-r-d)を抽出部２３２ｅに送る。抽出部２３２ｅは、参照子(Ref-r-d)をキーとして、パラメータＤＢ記憶部２３１ｂに格納されたパラメータＤＢを検索する。抽出部２３２ｅは、参照子(Ref-r-d)と同一の参照子に対応付けられたシステムパラメータ(Pr, Qr)（第３利用システムパラメータ）をパラメータＤＢ記憶部２３１ｂから抽出し、鍵生成制御部１３２ｃに送る（ステップＳ１７５）。また、鍵生成制御部１３２ｃは、参照子(Ref-r-d)と識別子(ID-r)とを抽出部２３２ｅに送る。抽出部２３２ｅは、参照子(Ref-r-d)をキーとして、パラメータＤＢ記憶部２３１ｂに格納されたパラメータＤＢ及び利用者ＤＢ記憶部１３１ｃに格納された利用者ＤＢを検索し、パラメータＤＢ記憶部２３１ｂ及び利用者ＤＢ記憶部１３１ｃで、参照子(Ref-r-d)と識別子(ID-r)とが対応付けられているか否かを判定する（ステップＳ１７６）。ここで、これらが対応付けられていないと判定された場合には（ステップＳ７７）、鍵生成部の利用権限がないとして処理がエラー終了される（ステップＳ７８）。これにより、鍵生成部の利用権限がない者に対して復号鍵が生成されることを抑制できる。一方、参照子(Ref-r-d)と識別子(ID-r)とが対応付けられていると判定された場合には、第１実施形態のステップＳ７７〜Ｓ８３と同様に、システムパラメータ(Pr, Qr)を用いた識別子(ID-r)に対応する復号鍵(PK-r)の生成及び配送、システムパラメータ(Pr, Qr)及び復号鍵(PK-r)を用いた暗号文（Enc(ID-r, (Pr, Qr), M))の復号処理が実行される。
【００７９】
以上により、暗号化装置２１０と復号装置２２０と管理装置２３０との間での系の一致を担保できる。
【００８０】
〔その他の変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上記の各実施形態では、各装置間がネットワークを介して接続され、ネットワークを介して情報のやり取りを行うこととした。しかし、少なくとも一部の装置間での情報のやり取りがネットワークを介することなく行われてもよい。例えば、情報が可搬型記録媒体を介してやり取りされてもよい。また、サービス利用証明書の情報が紙などに記載されたバーコード情報やＱＲコードなどであってもよい。
【００８１】
また、上記の各実施形態では、パラメータＤＢにおいてPKG識別子（PKG-ID）ごとにシステムパラメータが対応付けられていたが、複数のPKG識別子（PKG-ID）に対して共通のシステムパラメータが対応付けられていてもよい。例えば、パラメータＤＢにおいてすべてのPKG識別子（PKG-ID）に対して同一のシステムパラメータが対応付けられていてもよい。
【００８２】
また、パラメータＤＢに格納されたシステムパラメータのうち、暗号化処理に必要な一部のシステムパラメータのみが暗号化処理用情報に含まれてもよく、復号処理に必要な一部のシステムパラメータのみが復号処理用情報に含まれてもよい。
【００８３】
また、処理情報生成部の処理のうち、ＩＤベース暗号用プログラムに参照子やシステムパラメータを設定する処理がパラメータ制御部で実行されるなど、各処理が実行される部分の一部が上記実施形態と異なる形態であってもよい。
【００８４】
また、本発明はすべてのＩＤベース暗号方式に適用できる。
【００８５】
また、パラメータＤＢと利用者ＤＢとが一つのデータベースとして構成されていてもよいし、パラメータＤＢや利用者ＤＢがさらに複数のデータベースに分割されていてもよい。
【００８６】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００８７】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００８８】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００８９】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００９０】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００９１】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００９２】
１，２  ＩＤベース暗号利用システム
１１０，２１０  暗号化装置
１２０，２２０  復号装置
１３０，２３０  管理装置
【図１】
0005432776.tif 000002
【図２】
0005432776.tif 000003
【図３】
0005432776.tif 000004
【図４】
0005432776.tif 000005
【図５】
0005432776.tif 000006
【図６】
0005432776.tif 000007
【図７】
0005432776.tif 000008
【図８】
0005432776.tif 000009
【図９】
0005432776.tif 000010
【図１０】
0005432776.tif 000011
【図１１】
0005432776.tif 000012
【図１２】
0005432776.tif 000013
【図１３】
0005432776.tif 000014
【図１４】
0005432776.tif 000015
【図１５】
0005432776.tif 000016
【図１６】
0005432776.tif 000017
【図１７】
0005432776.tif 000018
【図１８】
0005432776.tif 000019
【図１９】
0005432776.tif 000020
【図２０】
0005432776.tif 000021
【図２１】
0005432776.tif 000022
【図２２】
0005432776.tif 000023
【図２３】
0005432776.tif 000024
【図２４】
0005432776.tif 000025
【図２５】
0005432776.tif 000026