(57)【特許請求の範囲】
【請求項１】
ユーザ装置が、管理者装置のブラインド署名を付した送信情報を検証者装置に送信する通信方法であって、
前記ユーザ装置の撹乱部が、前記送信情報を乱数成分で撹乱することで、撹乱情報を生成するユーザ撹乱過程と、
前記ユーザ装置の送信部が、前記撹乱情報を管理者装置に送信するユーザ送信過程と、
前記管理者装置のブラインド署名部が、前記撹乱情報に管理者装置のブラインド署名を付することで、管理者第１署名撹乱情報を生成する管理者第１署名過程と、
前記管理者装置の署名部が、前記管理者第１署名撹乱情報に管理者装置の署名を付することで、管理者第２署名撹乱情報を生成する管理者第２署名過程と、
前記ユーザ装置の検証部が、前記管理者第２署名撹乱情報の前記管理者装置の署名に基づいて、前記ユーザ装置と前記管理者装置との間に介在する攻撃者装置が、記号的攻撃者がなし得ない攻撃を行った可能性があるか否かを判定するユーザ検証過程と、
前記ユーザ装置の乱数成分除去部が、前記ユーザ検証過程において前記攻撃者装置に攻撃されていないと判定されると、前記管理者第１署名撹乱情報の前記乱数成分の影響を除去して前記送信情報に対する前記管理者装置の署名を得て、前記ユーザ検証過程において前記攻撃者装置に攻撃されたと判定されると、処理を中止する乱数成分除去過程と、
前記ユーザ装置の送信部が、前記送信情報と当該送信情報に対する前記管理者装置の署名を前記検証者装置に送信するユーザ送信過程と、
前記検証者装置の検証部が、受信した管理者装置の署名が前記管理者装置にされたものか否かを検証して、否と検証すると前記送信情報を廃棄する検証者検証過程と、を有し、
前記攻撃は、前記ユーザ装置よりの前記撹乱情報を改ざんすることで改ざん撹乱情報を生成し、当該改ざん撹乱情報を前記管理者装置に送信し、当該改ざん撹乱情報に管理者装置のブラインド署名を付することで生成された改ざん管理者第１署名撹乱情報を含む情報を前記管理者装置から受信し、当該改ざん管理者第１署名撹乱情報中の前記改ざん撹乱情報を前記撹乱情報に変換し、前記改ざん撹乱情報に対する前記管理者装置のブラインド署名を前記撹乱情報に対する前記管理者装置のブラインド署名に変換して前記管理者第１署名撹乱情報を生成し、当該管理者第１署名撹乱情報を含む情報を前記ユーザ装置に送信する攻撃であることを特徴とする通信方法。
【請求項２】
請求項１記載の通信方法において、
前記管理者第２署名過程は、
前記管理者装置の署名部が、前記管理者第１署名撹乱情報中の任意の一部のビット（以下、「署名対象ビット」という。）についての署名を生成する過程を含むことを特徴とする通信方法。
【請求項３】
請求項２記載の通信方法において、
前記署名対象ビットが２ビット以上であることを特徴とする通信方法。
【請求項４】
請求項１〜３のいずれかに記載の通信方法において、
前記管理者第２署名過程は、
前記管理者装置の署名部が、前記管理者第１署名撹乱情報中の最下位ビットから１が位置する最上位ビットまでのビット数についての署名を生成する過程を含むことを特徴とする通信方法。
【請求項５】
送信する送信情報を乱数成分で撹乱することで、撹乱情報を生成する撹乱部と、
管理者装置よりの管理者第２署名撹乱情報の前記管理者装置の署名に基づいて、前記管理者装置との間に介在する攻撃者装置が、記号的攻撃者がなし得ない攻撃を行った可能性があるか否かを検証する検証部と、
前記検証部が攻撃者装置に攻撃されていないと判定すると、管理者第１撹乱情報の乱数成分の影響を除去して前記送信情報に対する前記管理者装置の署名を得て、前記検証部が攻撃者装置に攻撃されたと判定すると、処理を中止する乱数成分除去部と、を備えるユーザ装置。
【請求項６】
請求項５記載のユーザ装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザ装置が送信したい情報を検証者装置に送信する際に用いる管理者装置、ユーザ装置、それらを用いた通信方法、それらのプログラムに関する。
【背景技術】
【０００２】
図１に、従来の通信方法について示す。この従来の通信方法は、ユーザ装置が、管理者装置のブラインド署名を付した情報を管理者装置に送信するものである。この通信方法は、ユーザ装置２、管理者装置４、検証者装置６、で構成される。ユーザ装置が複数あるが、以下の説明では、ユーザ装置は１つであると仮定して説明する。また以下に、用いる関数等について説明する。
ＵｄＥ＝ＡＵ（Ｅ）：ユーザ装置２の情報Ｅについての署名の作成関数
ＳｂＥ＝Ｂｂ（Ｅ）：管理者装置４の情報Ｅについてのブラインド署名の作成関数
Ｅ’＝Ｃ（Ｅ、ｒ）：ユーザ装置２の情報Ｅの乱数ｒによる撹乱関数（撹乱情報Ｅ’の生成）
Ｄ（ｒ、Ｆ）：署名Ｆから乱数ｒの成分を除去する乱数成分除去関数
ｓｉｇｎ（Ｕｄｍ、ｍ）：情報ｍにディジタル署名Ｕｄｍを付加したディジタル署名付き情報
ｓｉｇｎ（Ｕｂｍ、ｍ）：情報ｍにブラインド署名Ｕｂｍを付加したブラインド署名付き情報
【０００３】
ユーザ装置２は、送信する情報ｍを乱数ｒで撹乱して撹乱情報ｍ’を生成し、管理者装置４に送信する。（ｍ’＝Ｃ（ｍ、ｒ））。必要に応じて、撹乱情報ｍ’についての署名Ｕｄｍ’（例えば、ディジタル署名）を生成し（Ｕｄｍ’＝ＡＵ（ｍ’））、撹乱情報ｍ’にＵｄｍ’を付加して、ディジタル書名付き情報ｓｉｇｎ（Ｕｄｍ’、ｍ’）を生成し、管理者装置４に送信してもよい。以下の説明では、ユーザ装置２が、撹乱情報ｍ’にディジタル署名Ｕｄｍ’を付加して管理者装置４に送信するとして説明する。
【０００４】
管理者装置４は、撹乱情報ｍ’を受信すると、撹乱情報ｍ’についてブラインド署名Ｓｂｍ’を生成する（Ｓｂｍ’＝Ｂｂ（ｍ’））。そして、撹乱情報ｍ’にブラインド署名Ｓｂｍ’を付して（ｓｉｇｎ（Ｕｂｍ’、ｍ’））、ユーザ装置２に返信する。
ユーザ装置２は、受信したブラインド署名付き撹乱情報ｓｉｇｎ（Ｕｂｍ’、ｍ’）の乱数成分を除去して（Ｓｂ＝Ｄ（ｓｉｇｎ（Ｕｂｍ’、ｍ’）、ｒ））、管理者装置４の情報ｍに対するブラインド署名Ｕｂｍを得ることができる。そして、検証者装置６に情報ｍとブラインド署名Ｕｂｍを送信する。こうすることで、検証者装置６は、匿名性のある署名（ブラインド署名Ｓｂｍ）と情報ｍを得ることができる。この通信方法を電子投票に適用した例が特許文献１に記載されている。そして、ブラインド署名については非特許文献１に記載されている。
【０００５】
次に、プロトコルの安全性（プロトコルに従った通信の安全性）を解析する従来の方法として、記号的解析と暗号学的解析がある。以下、詳細に記号的解析と暗号学的解析を説明する。
記号的解析
記号的解析は、送受信される情報を暗号化や凍結などの操作を表す記号を組み合わせた記号列とみなし、暗号スキームなどが理想的な強度を持つと仮定して解析を行う解析方法である。記号的解析は自動化に適している。この記号的解析で検査できるプロトコルは、通信におけるデータの正当性（プロトコルに従い、正しく構成されたデータであり、記号列で表現されるデータであること）を参加者が確認できるものに限られる。記号的解析では、以下の（１）〜（３）の動作を行う攻撃者を考え、この攻撃者によって、攻撃が成功する場合が無いことを示す。
（１）参加者が送信した情報を保存する。
（２）保存した情報から新しい情報を作り、保存する。
（３）保存した情報を任意の参加者に送信する。
【０００６】
ここで（２）の動作では、攻撃者は以下の（４）（５）のルールに従い、情報を作る（情報を改ざんする）。
（４）乱数、参加者の名前、鍵などの基本的な情報
（５）（４）に示した情報に凍結、暗号化、電子署名、などの操作を（繰り返し）行って得られる情報、に限られる。
【０００７】
攻撃者はメッセージの連結などのほか、暗号化などの暗号アルゴリズムのみを利用できる。具体的には以下の（６）〜（１２）のルールを用いるのが一般的である。
（６）攻撃者は参加者の名前を知っている。
（７）攻撃者は乱数Ｒを作ることができる。
（８）情報Ｍ１、Ｍ２の連結｛Ｍ１、Ｍ２｝を保存しているならば、Ｍ１およびＭ２を作ることができる。
（９）情報Ｍ１、Ｍ２を保存しているならば、その連結｛Ｍ１、Ｍ２｝を作ることができる。
（１０）情報Ｍを保存しているならば、その公開鍵暗号による暗号化ｃｒｙｐｔ（Ｋ、Ｍ）を作ることができる。
（１１）暗号化ｃｒｙｐｔ（Ｋ、Ｍ）および公開鍵Ｋに対応する秘密鍵Ｋ’を保存しているならば、情報Ｍを造ることができる
（１２）情報Ｍおよび秘密鍵Ｋ’を保存しているならば、電子署名ｓｉｇｎ（Ｋ’、Ｍ）を作ることができる。
暗号学的解析
一方、暗号学的解析では、多項式時間の計算能力を持つ攻撃者を考え、この攻撃者によって攻撃が成功する確率が無視できるくらい小さいことを示す。暗号学的解析は暗号研究の専門家が注意深く解析を行う必要があり、自動化解析には適していない。
【０００８】
次に、暗号学的解析と記号的解析を比較して説明すると、上述のように、記号的解析は自動化解析に適しており、暗号学的解析は自動化解析には適していない。一方、暗号学的解析における攻撃者（以下、暗号学的攻撃者という）が加算、乗算などの整数演算からビットの反転など様々な演算を用いて情報を構成し送信（つまり、攻撃）、できるのに対し、記号的解析における攻撃者（以下、記号的攻撃者という）は、（６）〜（１２）のルールのみに従い、情報を構成する。このため、一般的に、記号的解析により安全とされるが、暗号学的解析により安全とされない場合がある。記号的解析、暗号学的解析については非特許文献２に記載されている。
【非特許文献１】“Blind Signatures for Untraceable Payments,”D. Chaum, Advances in Cryptology Proceedings of Crypto 82, D.Chaum, R.L. Rivest, & A.T. Sherman (Eds.), Plenum, pp. 199-203.
【非特許文献２】Veronique Cortier and Bogdan Warinsci,"Computationally Sound,Automated Proofs for Security Protocols" April,2005.
【特許文献１】特許第３３８１８５８号
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、非特許文献２には以下の定理（Ａ）が記されている。
定理（Ａ）「（１３）参加者が記号的解析による攻撃者が構成できないような情報を無視できること。（１４）記号的解析により安全であること。（１３）、（１４）が成り立てば、暗号学的解析によっても安全である。」
【００１０】
図１記載の通信方法であれば、定理（Ａ）の（１３）を満たさない。なぜなら、例えば、図２記載のように、攻撃者装置１０が管理者装置４とユーザ装置２の間に介在しており、ブラインド署名スキームとしてＦＤＨ−ＲＳＡ署名を利用した場合、攻撃者装置１０が、ユーザ装置２よりのｓｉｇｎ（Ｕｄｍ’、ｍ’）中のｍ’の平方根をとってＸとすれば、管理者装置４よりのｓｉｇｎ（Ｓｂｍ’、Ｘ）からｓｉｇｎ（Ｓｂｍ’、ｍ’）を構成できる。このような攻撃は、暗号学的攻撃者には可能であるが、平方根をとるという演算はブラインド署名スキームの演算（上記（１）〜（５））に含まれないため、記号的攻撃者には行うことができない。
【００１１】
従って、この通信方法の安全性を記号的解析によって自動的に解析しても、そこから暗号学的解析による安全性を導くことができない。このため、暗号学的解析による安全性を調べるためには、暗号の専門家による注意深い解析が必要となる。
【課題を解決するための手段】
【００１２】
この発明の通信方法は、ユーザ装置が、管理者装置のブラインド署名を付した送信情報を検証者装置に送信する通信方法である。ユーザ装置の撹乱部が、送信情報を乱数成分で撹乱することで、撹乱情報を生成し、ユーザ装置の送信部が、撹乱情報を管理者装置に送信する。管理者装置のブラインド署名部が、撹乱情報に管理者装置のブラインド署名を付することで、管理者第１署名撹乱情報を生成する。管理者装置の署名部が、管理者第１署名撹乱情報に管理者装置の署名を付することで、管理者第２署名撹乱情報を生成する。ユーザ装置の検証部が、管理者第２署名撹乱情報の管理者装置の署名に基づいて、ユーザ装置と管理者装置との間に介在する攻撃者装置が、記号的攻撃者がなし得ない攻撃を行った可能性があるか否かを判定する。ユーザ装置の乱数成分除去部が、攻撃者装置に攻撃されていないと判定されると、管理者第１署名撹乱情報の乱数成分の影響を除去して送信情報に対する管理者装置の署名を得て、攻撃者装置に攻撃されたと判定されると、処理を中止する。ユーザ装置の送信部が、送信情報と当該送信情報に対する管理者装置の署名を検証者装置に送信する。検証者装置の検証部が、受信した管理者装置の署名が管理者装置にされたものか否かを検証して、否と検証すると送信情報を廃棄する。攻撃者装置の攻撃は、ユーザ装置よりの撹乱情報を改ざんすることで改ざん撹乱情報を生成し、当該改ざん撹乱情報を管理者装置に送信し、当該改ざん撹乱情報に管理者装置のブラインド署名を付することで生成された改ざん管理者第１署名撹乱情報を含む情報を管理者装置から受信し、当該改ざん管理者第１署名撹乱情報中の改ざん撹乱情報を撹乱情報に変換し、改ざん撹乱情報に対する管理者装置のブラインド署名を撹乱情報に対する管理者装置のブラインド署名に変換して管理者第１署名撹乱情報を生成し、当該管理者第１署名撹乱情報を含む情報をユーザ装置に送信する攻撃である。
【発明の効果】
【００１３】
上記の構成のように、管理者装置が撹乱情報にブラインド署名を付し、更に、署名を付することで、例えばユーザ装置と管理者装置との間に介在する攻撃者装置の攻撃を検出できるだけでなく、記号的解析によって暗号学的解析による安全性を導くことができ、通信方法の安全性解析の自動化が可能となった。
【発明を実施するための最良の形態】
【００１４】
以下に、発明を実施するための最良の形態を示す。なお、同じ機能を持つ構成部や同じ処理を行う過程には同じ番号を付し、重複説明を省略する。
【実施例１】
【００１５】
図３に、実施例１のユーザ装置１００、管理者装置２００、検証者装置３００による通信方法を簡略化して示し、図４に、ユーザ装置１００、管理者装置２００、検証者装置３００の機能構成例を示し、図５に処理フローを示す。ユーザ装置１００は、撹乱部１０２、署名部１０４、送信部１０６、受信部１０８、検証部１１０、乱数成分除去部１１２で構成されている。管理者装置２００は、受信部２０２、検証部２０４、ブラインド署名部２０６、署名部２０８、送信部２１０、とで構成されている。検証者装置３００は、受信部３０２、検証部３０４、とで構成されている。
【００１６】
まず、撹乱部１０２が、送信する情報ｍを乱数ｒの成分で撹乱することで、撹乱情報ｍ’を生成する（ｍ’＝Ｃ（ｍ、ｒ）、ステップＳ２）。次に、署名部１０４が、撹乱情報ｍ’についてユーザ装置１００のディジタル署名Ｕｄｍ’を生成し（Ｕｄｍ’＝ＡＵ（ｍ’））、ディジタル署名Ｕｄｍ’を撹乱情報ｍ’に付加して（ｓｉｇｎ（Ｕｄｍ’、ｍ’）、ステップＳ４）、送信部１０６により管理者装置２００に送信する。署名部１０４を備えず、撹乱部１０２よりの撹乱情報ｍ’を管理者装置２００に送信しても良い。以下の説明では、ユーザ装置１００は、ディジタル署名を撹乱情報ｍ’に付して、送信した場合を説明する。
【００１７】
管理者装置２００の受信部２０２が、ディジタル署名付き撹乱情報ｓｉｇｎ（Ｕｄｍ’、ｍ’）を受信すると、検証部２０４は、ディジタル署名Ｕｄｍ’の正当性を検証する（ステップＳ６）。検証部２０４が正当でないと検証すると、処理は終了する。検証部２０４が正当であると検証すると、ブラインド署名部２０６が、撹乱情報ｍ’に管理者装置２００のブラインド署名Ｓｂｍ’を生成し（Ｓｂｍ’＝Ｂｂ（ｍ’））、ブラインド署名Ｓｂｍ’を撹乱情報ｍ’に付加することで、管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂｍ’、ｍ’）を生成する（ステップＳ８）。そして、署名部２０８が、管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂｍ’、ｍ’）に対して、管理者装置の署名（例えば、ディジタル署名）を生成する。ここで管理者装置２００の情報Ｅに対するディジタル署名ＳｄＥの生成の式をＳｄＥ＝Ｂｄ（Ｅ）とすると、管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂｍ’、ｍ’）に対しての管理者装置のディジタル署名Ｓｄ（ｓｉｇｎ（Ｓｂｍ’、ｍ’））は以下のように生成される。
Ｓｄ（ｓｉｇｎ（Ｓｂｍ’、ｍ’））＝Ｂｄ（ｓｉｇｎ（Ｓｂｍ’、ｍ’））
ディジタル署名Ｓｄ（ｓｉｇｎ（Ｓｂｍ’、ｍ’））は、管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂｍ’、ｍ’）に付されることで、管理者第２署名撹乱情報ｓｉｇｎ（Ｓｄ（ｓｉｇｎ（Ｓｂｍ’、ｍ’））、ｓｉｇｎ（Ｓｂｍ’、ｍ’））が生成され（ステップＳ１０）、ユーザ装置１００に返信される。
【００１８】
ユーザ装置１００の受信部１０８が管理者第２署名撹乱情報ｓｉｇｎ（Ｓｄ（ｓｉｇｎ（Ｓｂｍ’、ｍ’））、ｓｉｇｎ（Ｓｂ、ｍ’）を受信すると、検証部１１０がディジタル署名Ｓｄ（ｓｉｇｎ（Ｓｂｍ’、ｍ’））に基づいて、正当か否かを検証する。
ここで、図２に示したように、暗号的攻撃者の攻撃者装置１０が管理者装置４とユーザ装置２との間に介在する場合を考える。攻撃者装置１０の攻撃は以下の通りである。まず、ユーザ装置１００よりの撹乱情報ｍ’を改ざんする（例えば、平方根をとる）ことで改ざん撹乱情報Ｘを生成し、当該改ざん撹乱情報Ｘを管理者装置２００に送信する。そして、攻撃者装置１０は、当該改ざん撹乱情報Ｘに管理者装置２００のブラインド署名Ｓｂｘを付することで生成された改ざん管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂｘ、Ｘ）を含む情報を管理者装置２００から受信する。そして、攻撃者装置１０は、受信した当該改ざん管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂｘ、Ｘ）中の改ざん撹乱情報Ｘを撹乱情報ｍ’に変換し、改ざん撹乱情報Ｘに対する管理者装置２００のブラインド署名Ｓｂｘを撹乱情報ｍ’に対する管理者装置２００のブラインド署名Ｓｂｍ’に変換して管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂｍ’、ｍ’）を生成し、当該管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂｍ’、ｍ’）を含む情報をユーザ装置１００に送信する。
【００１９】
検証部１１０が正当でないと検証すれば、攻撃者装置１０が攻撃したということである。従って、検証部１１０の検証は、ユーザ装置１００と管理者装置２００との間に介在する攻撃者装置１０に攻撃された否かを判定するものであるといえる（ステップＳ１２）。同時に、攻撃者装置１０の攻撃が記号的攻撃者が成し得ない攻撃を行った可能性があるか否かを判定するともいえる。そして、攻撃者装置１０に攻撃されたと判定すれば、その後の処理を終了させる。検証部１１０がこのような判定を行えば、記号的解析による攻撃者が構成できないような情報を無視できるので、上記定理（Ａ）の（１３）を満たし、結果として、定理（Ａ）を適用できる。従って、暗号的攻撃者を考慮したとしても、安全性解析を自動化することができることになる。
【００２０】
検証部１１０の検証により、攻撃者装置に攻撃されていないと検証されると、乱数成分除去部１１２が、管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂｍ’、ｍ’）から乱数ｒの成分を除去して、情報ｍに対する署名Ｓｂｍを得る（ステップＳ１４）。そして、情報ｍと情報ｍに対する管理者装置２００の署名Ｓｂｍを検証者装置３００に送信する。
検証者装置３００の受信部３０２が、情報ｍと署名Ｓｂｍを受信すると、検証部３０４が、署名Ｓｂｍが、管理者装置２００の署名であるか否かを検証し（ステップＳ１６）、検証が正当であれば、検証者装置３００は、情報ｍを取得する（ステップＳ１８）。検証が失当であれば、情報ｍを破棄する。
【００２１】
従来の通信方法（図１参照）とこの実施例１の通信方法（図３参照）を比較すると、従来では管理者装置４がｓｉｇｎ（Ｓｂｍ’、ｍ’）にディジタル署名を付していないが、この実施例では管理者装置４がｓｉｇｎ（Ｓｂｍ’、ｍ’）にディジタル署名を付しているだけの差しかないように思える。しかし、管理者装置４がディジタル署名を付することで、ディジタル署名付加の効果（ユーザ装置１００と管理者装置２００との間での改ざん防止）だけでなく、上記定理（Ａ）を適用できるので、記号的解析によって暗号学的解析を導くことができるようになり、方法の安全性解析を自動化ができるという有利な効果を得ることができる。
【実施例２】
【００２２】
この実施例２では、攻撃者装置１０が、図２のような攻撃を行う場合は、管理者装置２００よりのｓｉｇｎ（Ｓｂｍ’、Ｘ）と、攻撃者装置１０よりのｓｉｇｎ（Ｓｂｍ’、ｍ’）とを比較すると、大きく変わっている可能性が高い。この場合は、管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂｍ’、ｍ’）全体についてディジタル署名を付さなくても、ｓｉｇｎ（Ｓｂｍ’、ｍ’）の任意の一部（以下、「署名対象ビット」という。）だけについてディジタル署名を生成し、付加させればよい。このようにすれば、ディジタル署名生成の計算コストが削減される。この場合に、管理者装置２００は、ユーザ装置１００に署名対象ビットの情報（ディジタル署名を生成したビット位置）も送信しなければならない。署名対象ビットに関する情報の送信方法については、公知の技術である公開鍵暗号方式やワンタイムパッドを用いれば良い。また、署名対象ビットのビット数が１の場合は、この方法であると、攻撃を検証できる確率は５０％になるが、署名対象ビットのビット数が大きくなるにつれて、攻撃を検証できる確率はあがっていく。従って、署名対象ビットのビット数が２以上の場合は、ビット数が１の場合と比較して、より高確率で攻撃されたか否かを検証できる。
【実施例３】
【００２３】
図２に示した攻撃者装置１０の攻撃方法では、上述のように、管理者装置２００よりのｓｉｇｎ（Ｓｂ、Ｘ）と、攻撃者装置１０よりのｓｉｇｎ（Ｓｂ、ｍ’）とが大きく変わっている場合がある。実施例２では、管理者装置２００の署名部２０８は、管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂ、ｍ’）の署名対象ビットについて、署名を生成する構成を説明したが、実施例３では、管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂ、ｍ’）が有する有効ビット数（以下で説明する）について署名を生成し、付加する。
図６に示すように、例えば、管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂ、ｍ’）が１２８ビットである場合に、この１２８ビット中で、最下位ビット０ビット目から１が位置する最上位ビット目（図６の例では１１６ビット）までのビット数（以下、有効ビット数という）について、署名を生成し、管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂ、ｍ’）に付加する。このようにすることで、管理者第１署名撹乱情報ｓｉｇｎ（Ｓｂ、ｍ’）の署名作成の計算コストを削減できる。
【００２４】
［変形例］
この発明の通信方法の適用例として様々な例が考えられるが、この変形例では、電子投票にこの発明の通信方法を適用した場合を説明する。ユーザ装置１００を投票者が使用する投票者装置とし、管理者装置２００を選挙管理人が使用する選挙管理者装置とし、検証者装置３００を、投票数を集計する集計者が使用する集計者装置とする。そして、情報ｍを投票内容とする。このようにすれば、本発明の通信方法を電子投票プロトコルとして実施できる。詳細は上記特許文献１を参照されたい。このように電子投票プロトコルとして適用しても、記号的解析によって暗号学的解析を導くことができるようになり、プロトコルの安全性解析を自動化ができるという有利な効果を得ることができる。
【００２５】
また、図４記載のように、ユーザ装置１００がメモリ１１２、制御部１１４を具備し、管理者装置２００がメモリ２１２、制御部２１４を具備し、検証者装置３００がメモリ３０６、制御部３０８を具備し、各部の処理を制御部が制御し、各部で生成された情報をメモリに一旦保存させ、処理を行っても良い。また、ユーザ装置１００、管理者装置２００、検証者装置３００における処理機能をコンピュータによって実現する場合、これらの装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、これらの装置における処理機能がコンピュータ上で実現される。
【図面の簡単な説明】
【００２６】
【図１】従来の通信方法を簡略化して示した図。
【図２】通信方法に攻撃者装置が介在している場合を示した図。
【図３】実施例１の通信方法を簡略化して示した図。
【図４】ユーザ装置などの機能構成例を示した図。
【図５】実施例１の通信方法の主な処理の流れを示した図。
【図６】有効ビットを説明するための図。
【図１】
0004990739.tif 000002
【図２】
0004990739.tif 000003
【図３】
0004990739.tif 000004
【図４】
0004990739.tif 000005
【図５】
0004990739.tif 000006
【図６】
0004990739.tif 000007