説明

署名要求装置、署名システム、署名要求方法および署名要求プログラム

【課題】文書データの秘匿性を保証しつつ、署名生成者の匿名性をも保証すること。
【解決手段】署名対象文書データと署名生成装置の公開情報と乱数から署名生成装置に対するリング情報を生成し、署名対象文書データとダミー署名生成装置ごとの公開情報と乱数からダミー署名生成装置に対するリング情報を生成するリング情報演算部205と、両リング情報に対してブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド部206と、ブラインド化リング情報を署名生成装置に送信し、署名生成装置からブラインド化署名情報を受信する入出力部209と、ブラインド化署名情報にブラインド除去処理を施した署名情報を求める署名情報ブラインド除去部207とを備え、署名情報と署名対象文書データと署名生成装置およびダミー署名生成装置の公開情報とを含む署名付き文書データを出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プライバシーを保護する追跡不可能型のブラインド署名方式を利用した署名要求装置、署名システム、署名要求方法および署名要求プログラムに関する。
【背景技術】
【0002】
デジタル文書の改ざんを防止するためのデジタル署名方式の技術として、ブラインド署名方式が一般的に知られている。ブラインド署名とは、署名依頼者と署名生成者の二者により実行され、署名依頼者が署名依頼を行う文書を秘匿した状態で署名生成依頼を行い、署名生成者によって署名をうける技術であり、電子マネー、電子選挙等に利用されている。ブラインド署名方式は、署名を受ける文書とカーボン紙を封筒に封入し、その上から署名をして貰うという紙ベースの方法を電子的に実現する方法といえる。このようなブラインド署名方式として、RSA署名に基づいた方式等が開示されている(例えば、非特許文献1参照)。
ブラインド署名方式では、署名依頼者はまず署名を依頼する文書を乱数で攪乱するブラインド処理を施し、ブラインド化された文書を署名生成者に送信する。署名生成者は、ブラインド化された文書に秘密鍵で署名を生成し、署名依頼者に返信する。署名依頼者は、ブラインド化された文書に乱数の影響を除去するブラインド除去処理を施して署名付き文書を取得する。署名生成者は、過去に署名依頼者から受信したブラインド化された文書と署名付き文書を対応付けることが不可能となっており、後に署名依頼者がこの署名付き文書を流通させた場合でも、いつ、誰が署名生成依頼を行った文書であるかを特定することができないため個人情報を秘匿することができるようになっている。
【0003】
例えば、ブラインド署名は個人情報の保護を目的として電子決済システムで用いられる。この電子決済システムでブラインド署名方式を利用する場合には、署名依頼者が商業者と取引を行う利用者であり、署名生成者が電子現金を発行する金融機関となる。
【0004】
署名依頼者である利用者は、署名生成者である金融機関に電子現金の管理に必要となる貨幣情報にブラインド処理を施して電子現金の発行依頼を行い、金融機関が生成した署名にブラインド除去処理を施して署名付き文書である電子現金を受け取る。後に利用者はこの電子現金を任意の商業者で利用し、商業者は金融機関に電子現金を還流する。署名生成者である金融機関は、ブラインド化された貨幣情報を利用者ごとに蓄積することが可能であるが、蓄積されたブラインド化された貨幣情報と、商業者から還流された電子現金の情報との対応をとることが不可能であり、どの利用者がどの商業者と取引を行ったかは金融機関には不明となり、電子現金の秘匿性が図られることになる。
【0005】
【非特許文献1】Chaum (D.Chaum,“Blind Signatures for Untraceable Payments,”Advances in Cryptology Proceedings of Crypto 82, D. Chaum, R.L. Rivest, & A.T. Sherman (Eds.), Plenum, pp. 199-203, 1983)
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、このブラインド署名方式では、文書の秘匿性を図ることは可能であるが、署名生成者の匿名性を実現することはできないという問題がある。例えば、上述した電子決裁システムでブラインド署名を利用する場合には、署名依頼者である利用者と署名生成者である金融機関の取引の必要以上の情報が第三者である商業者に漏洩する可能性がある。一方、署名生成者である金融機関も電子現金の発行元が自分自身であることを特定されることによって利用者の範囲を限定できるため、利用者と商業者の取引情報が漏洩してしまう恐れがある。
【0007】
本発明は、上記に鑑みてなされたものであって、文書データの秘匿性を保証しつつ、署名生成者の匿名性をも保証することができる署名要求装置、署名システム、署名要求方法および署名要求プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本発明は、署名対象文書データに対するブラインド署名を生成する署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置であって、前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、前記リング情報ブラインド手段によって生成されたブラインド化リング情報を前記署名生成装置に送信する送信手段と、前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する受信手段と、前記受信手段によって受信した前記ブラインド化署名情報に前記第1の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去手段と、 前記署名情報ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、を備えたことを特徴とする。
【0009】
また、本発明は、署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置とにネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置であって、前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、前記攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化手段と、前記リング情報ブラインド手段によって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化手段によって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する送信手段と、を備えたことを特徴とする。
【0010】
また、本発明は、署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置とを備えた署名システムであって、前記署名要求装置は、前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択された署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、前記リング情報ブラインド手段によって生成されたブラインド化リング情報を前記署名生成装置に送信する第1の送信手段と、前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する第1の受信手段と、前記第1の受信手段によって受信した前記ブラインド化署名情報に前記第1の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去手段と、前記署名情報ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、を備え、前記署名生成装置は、前記署名要求装置から前記ブラインド化リング情報を受信する第2の受信手段と、前記第2の受信手段よって受信した前記ブラインド化リング情報と鍵情報と前記署名生成装置で生成した第3の乱数に基づいたブラインド化署名情報を生成する署名演算手段と、 前記署名演算手段によって生成された前記ブラインド化署名情報を、前記署名要求装置に送信する第2の送信手段と、を備えたことを特徴とする。
【0011】
また、本発明は、署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置と、前記署名要求装置と前記署名生成装置にネットワークで接続され、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置を備えた署名システムであって、前記署名要求装置は、前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、前記攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化手段と、前記リング情報ブラインド手段によって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化手段によって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する第1の送信手段と、を備え、前記署名生成装置は、前記署名要求装置から前記ブラインド化リング情報と前記暗号化ブラインド情報を受信する第2の受信手段と、前記第2の受信手段よって受信した前記ブラインド化リング情報と鍵情報と前記署名生成装置で生成した第3の乱数に基づいたブラインド化署名情報を生成する署名演算手段と、前記署名演算手段によって生成された前記ブラインド化署名情報と前記暗号化ブラインド情報を、前記攪乱除去装置に送信する第2の送信手段と、前記攪乱除去装置は、前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する第3の受信手段と、前記第3の受信手段によって受信した前記ブラインド化署名情報に前記第1の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求めるブラインド除去手段と、前記第3の受信手段によって受信した暗号化ブラインド情報を前記暗号鍵によって復号化する復号演算手段と、前記ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、を備えたことを特徴とする。
また、本発明は、上記署名要求装置に対応した方法およびプログラムである。
【発明の効果】
【0012】
本発明によれば、署名要求装置側で、署名生成装置に対する署名生成依頼に対する応答と署名対象文書データと署名生成装置の公開情報と署名生成装置に対応した第1の乱数に基づいて署名対象文書データを攪乱した署名生成装置に対するリング情報を生成し、署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて署名対象文書データを攪乱した複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成して、署名生成装置に対するリング情報とダミー署名生成装置ごとのリング情報に対して第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成して、このブラインド化リング情報を署名生成装置に送信しているので、署名対象文書の情報は署名生成装置には漏洩することがなく、また、署名検証時に現れるリング情報にブラインド処理が施されているため、署名生成装置が有する情報を用いたとしても、署名生成時の情報と流通する署名情報との対応付けがすることができず、署名対象文書の秘匿性を図ることができる。また、署名要求装置で署名生成装置に対するリング情報とダミー署名生成装置ごとのリング情報を算出しているため、署名検証時にどの署名生成装置が署名生成を行ったかを特定することができず、署名者の匿名性を図ることができる。
【0013】
このように本発明によれば、署名検証時にあらわれるリング情報を署名要求装置側で生成して、さらにブラインド処理を施して署名生成装置に送信して署名対象文書に対する署名情報を生成させているので、署名対象文書の秘匿性を保証しつつ、署名生成者の匿名性を保証することができるという効果を奏する。
【0014】
また、本発明によれば、署名要求装置側で、署名生成装置に対する署名生成依頼に対する応答と署名対象文書データと前記署名生成装置の公開情報と署名生成装置に対応した第1の乱数に基づいて署名対象文書データを攪乱した署名生成装置に対するリング情報を生成し、署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて署名対象文書データを攪乱した複数のダミー署名生成装置に対するリング情報をダミー署名生成装置ごとに生成し、署名生成装置に対するリング情報とダミー署名生成装置ごとのリング情報に対して第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成し、攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成し、ブラインド化リング情報と暗号化ブラインド情報を署名生成装置に送信することで、署名要求装置では署名付き文書データの受信を待たずに署名要求処理を完了することができ、署名生成装置がブラインド化された署名情報を回答するまでの署名要求装置の署名付き文書データ受信の待ち時間を削減することができるという効果を奏する。また、本発明によれば、ブラインド情報は、署名要求装置により攪乱除去装置で復号化が可能な鍵で暗号化して署名生成装置に送信しているので、攪乱除去装置で暗号化ブラインド情報を復号化することで安全性を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【0015】
以下に添付図面を参照して、この発明にかかる署名要求装置、署名システム、署名要求方法および署名要求プログラムの最良な実施の形態を詳細に説明する。
【0016】
(実施の形態1)
図1は、実施の形態1にかかる署名システムのネットワーク構成を示す説明図である。図1に示すように、本実施の形態にかかる署名システムは、署名の生成を依頼する署名要求装置100と、依頼を受けた文書に署名情報を付加した署名付き文書を生成する複数の署名生成装置110と、署名付き文書の検証を行う署名検証装置120とがインターネットやLAN(Local Area Network)等のネットワーク130に接続された形態となっている。
【0017】
まず、本実施の形態にかかる署名要求装置100について説明する。図2は、実施の形態1にかかる署名要求装置100の機能的構成を示すブロック図である。署名要求装置100は、図2に示すように、ダミー署名者選択部201と、整列部202と、関数演算部203と、公開鍵演算部204と、リング情報演算部205と、リング情報ブラインド部206と、署名情報ブラインド除去部207と、乱数発生器208と、入出力部209と、公開鍵メモリ210と、乱数メモリ211と、メモリ212とを主に備えている。
【0018】
ダミー署名者選択部201は、ネットワーク上に公開されている署名生成装置110の識別情報と署名生成装置110の公開鍵のリストを入出力部209を介して取得し、取得したリストからダミー署名者とする署名生成装置110を選択する処理部である。なお、ダミー署名者として選択する署名生成装置110の数は予め定めておく他、ダミー署名者選択時に任意の数にランダムに決定してもよい。
【0019】
公開鍵メモリ210は、署名生成装置110及びダミー署名者として選択された署名生成装置110の公開鍵暗号方式に関する公開鍵を格納するメモリである。
【0020】
整列部202は、署名生成装置110の識別情報と、ダミー署名者として選択された署名生成装置110(ダミー署名生成装置)の識別情報をランダムに順序付ける処理部である。整列部202では、署名生成装置110とダミー署名生成装置の総数をLとした場合に、1番目に順序付けられた装置をL+1番目に順序付けられる装置とみなして順序づけることによりリング状に各署名生成装置110の識別情報を順序付ける処理を行う。
【0021】
関数演算部203は、署名生成装置110およびダミー署名生成装置のそれぞれに対応する一方向性関数であるハッシュ関数Hiを入出力部506を介して取得し、入力に対しランダムなハッシュ値を計算する処理部である。上述したとおり,すべての署名生成装置が同一のランダム関数Hを利用する場合には、関数演算部507には予め関数Hが保存されていてもよい。
公開鍵演算部204は、公開鍵メモリ210に格納されている公開鍵によって公開鍵暗号演算を行う処理部である。
【0022】
リング情報演算部205は、入出力部209を介して署名生成装置110から取得した拘束情報と、乱数メモリ211に保存されている署名生成装置110に対応して発生させた乱数から署名生成装置110に対応するリング情報の初期値を計算し、計算されたリング情報初期値と署名対象文書データとネットワーク上の署名生成装置110の総数から署ハッシュ関数Hiを利用して署名生成装置110に対応したリング情報を生成する処理を行う。また、リング情報演算部205は、署名生成装置110に対応したリング情報とダミー署名生成装置ごとの公開情報とダミー署名生成装置ごとに対応して乱数発生器208により発生させた乱数に基づいてリング情報を生成し、このリング情報と署名対象文書データとネットワーク上における署名生成装置の総数とに一方向性関数を施してダミー署名生成装置に対するリング情報を計算してダミー署名生成装置ごとに生成する処理を行う。
【0023】
リング情報ブラインド部206は、リング情報演算部205によって計算された署名生成装置110に対応したリング情報およびダミー署名生成装置に対応したリング情報に対して、乱数メモリ211に保存されている署名生成装置110に対応した乱数を利用してブラインド処理を施す処理部である。
【0024】
署名情報ブラインド除去部207は、入出力部209を介して署名生成装置110から取得したブラインド化された署名情報に対して、乱数メモリ211に保存されている乱数を利用してブラインド除去処理を施して署名情報を生成する処理部である。
【0025】
乱数発生器208は、ブラインド処理時に攪乱のために使用する乱数及びダミー署名者に対応する署名成分としての乱数を発生させるものである。乱数メモリ211は、乱数発生器208によって発生させた乱数を保持するメモリである。
【0026】
入出力部209は、署名生成装置110や署名検証装置120との間でネットワークを介して各種データの入出力を行う処理部である。また、入出力部209は署名生成装置110に対する署名生成依頼を送信し、その応答である拘束情報を受信する処理も行う。さらに、入出力部209は、署名付き文書データの出力も行う。入出力部209は、本発明における署名生成依頼手段、送信手段、受信手段、出力手段、第1の送信手段、第1の受信手段に相当する。メモリ212は、各種データの保存を行うものである。
【0027】
ここで、本実施の形態では、署名生成装置110およびダミー署名者として選択された署名生成装置110の識別情報は、説明の都合上、署名生成の順番と同一であるとする。これにより、署名生成装置110の識別情報と署名順番を同一視することができるが、必ずしも署名生成装置110およびダミー署名者として選択された署名生成装置110の識別情報は、説明の都合上、署名生成の順番と同一に限定されるものではない。
【0028】
次に、本実施の形態にかかる署名生成装置110について説明する。図3は、実施の形態1にかかる署名生成装置110の機能的構成を示すブロック図である。本実施の形態にかかる署名生成装置110は、図3に示すように、拘束情報演算部301と、署名演算部302と、乱数発生器304と、入出力部303と、乱数メモリ306と、秘密鍵メモリ305と、メモリ307とを主に備えている。
【0029】
拘束情報演算部301は、署名要求装置100から署名生成依頼を受信した場合に、乱数メモリ306に保存されている乱数を利用して拘束情報を計算し、拘束情報を入出力部303を介して署名要求装置100に送信する処理部である。
【0030】
秘密鍵メモリ305は、署名生成装置110の利用者の公開鍵暗号方式に関する秘密鍵を格納するメモリである。
【0031】
署名演算部302は、ブラインド化されたリング情報を入出力部404を介して署名要求装置100から受信し、秘密鍵メモリ305に格納された秘密鍵を読み出して、受信したブラインド化されたリング情報から秘密鍵を利用してブラインド化された署名情報を生成し、署名要求装置100に入出力部303を介して送信する処理部である。
【0032】
乱数発生器304は、拘束情報の生成時に必要な乱数を発生させるものである。乱数メモリ306は、乱数発生器304によって発生させた乱数を保持するメモリである。
【0033】
入出力部303は、署名要求装置100や署名検証装置120との間でネットワークを介して各種データの入出力を行う処理部である。メモリ307は、各種データを保存するメモリである。また、入出力部303は、署名生成装置からの署名生成依頼を受信しその応答として拘束情報を送信する。入出力部303は、本発明における受信手段、送信手段、第1の受信手段、第2の送信手段に相当する。
【0034】
ここで、本実施の形態では、識別情報IDiの署名生成装置110が使用するハッシュ関数をHiと示す。なお、全ての署名生成装置110において同一のハッシュ関数Hを使用するように構成してもよい。
【0035】
(署名検証装置)
次に、本実施の形態にかかる署名検証装置120について説明する。図4は、実施の形態1にかかる署名検証装置120の機能的構成を示すブロック図である。本実施の形態にかかる署名検証装置120は、図4に示すように、関数演算部401と、リング情報演算部402と、検証部407と、公開鍵演算部403と、入出力部404と、公開鍵メモリ405と、メモリ406とを主に備えている。
【0036】
関数演算部401は、署名生成装置110およびダミー署名者として選択された署名生成装置110のそれぞれに対応するハッシュム関数Hiを入出力部404を介して取得して、入力に対しランダムなハッシュ値を計算する処理部である。すべての署名生成装置110が共通のハッシュ関数Hを利用する場合には、関数演算部401に予めハッシュ関数Hを保持するように構成してもよい。
【0037】
リング情報演算部402は、署名付き文書データに含まれるリング情報の初期値からリング情報を計算する処理部である。
【0038】
公開鍵演算部403は、公開鍵メモリ405に保存されている公開鍵に利用して公開鍵暗号演算を行う処理部である。
【0039】
検証部407は、第L+1番目のリング情報cL+1が第1番目のリング情報c1に一致するか否かを検証する処理を行う。
【0040】
公開鍵メモリ405は、署名生成装置110およびダミー署名者として選択された署名生成装置110の公開鍵暗号方式に関する公開鍵を格納するメモリである。
【0041】
入出力部404は、署名生成装置110や署名要求装置100との間でネットワークを介して各種データの入出力を行う処理部である。メモリ406は、各種データを保存するメモリである。
【0042】
次に、本実施の形態にかかる署名生成装置110、署名要求装置100、署名検証装置120で使用するパラメータと関数の入出力データのデータ長について説明する。なお、ここでは、整数の剰余環の乗法群上の離散対数問題を安全性の根拠とする方式を説明する。その他、楕円曲線上の点のなす有限群上など異なる群の上での離散対数問題を安全性の根拠とする方式も構成できる。識別情報IDiを有する署名生成装置110の署名者は、素数piとpi−1を割り切る素数qi、離散対数の底gi、公開鍵yi、ハッシュ関数Hiを公開情報として識別情報IDiとともにネットワーク上の署名要求装置100および署名検証装置120に公開する。
【0043】
但し、公開鍵yiは、秘密鍵xi∈{0,1,・・・,qi−1}(=Zqi)に対して、次の(1)式で算出される値である。
【0044】
i=giximod pi ・・・(1)
ここで、秘密鍵xiは、署名生成装置110の秘密鍵メモリ305に非公開で保持されている。また、a mod pは、aをpで割ったときの余りを示す。
【0045】
このとき、piとgiのサイズは1024ビット以上,qiのサイズは160ビット以上が推奨されている。ハッシュ関数Hiとしては、例えばSHA−1などのハッシュ関数を用いることができ、任意の長さの入力に対し、qi−1以下の乱数を出力するものとする。ハッシュ関数Hiは、一方向性と耐衝突性が要求されるものであればよく、上述したとおりHiは、ハッシュ関数の他、各利用者に特有のランダム関数を用いてもよい。また、Hiとして全てまたは一部の利用者で同じランダム関数を用いることもできる。
【0046】
(全体処理)
次に、以上のように構成された本実施の形態にかかる署名システムにおけるブラインド署名の全体処理について説明する。図5は、実施の形態1にかかる署名システムにおけるブラインド署名の全体処理の手順を示すフローチャートである。
【0047】
なお、以下の説明では、署名要求装置100は、L−1人のダミー署名者の署名生成装置110(以下、「ダミー署名生成装置」という。)を選択し、整列部202で署名生成装置110が順序付けられる番号をkで表記する。
【0048】
まず、署名要求装置100は、署名対象の文書データMを入力し、署名生成装置110の公開情報(素数piとpi−1を割り切る素数qi、離散対数の底gi、公開鍵yi、ハッシュ関数Hi、識別情報IDi)を取得する(ステップS501)。そして、署名要求装置100は、すべての署名生成装置110の中から複数のダミー署名生成装置を選択し、選択した複数のダミー署名生成装置のそれぞれの識別情報IDiをリング状に順序付ける(ステップS502)。そして、実際に署名生成を行う署名生成装置110に署名生成依頼を送信する(ステップS503)。
【0049】
署名生成依頼を受信した署名生成装置110では、乱数から拘束情報を生成して(ステップS504)、生成された拘束情報を署名要求装置100に送信する(ステップS505)。
【0050】
拘束情報を受信した署名要求装置100では、受信した拘束情報と乱数から実際に署名生成を行わせる署名生成装置110に対応したリング情報初期値を生成し、さらにリング情報初期値と署名対象文書データと署名生成装置110の総数から署名生成装置110に対応したリング情報、この署名生成装置110に対応したリング情報からダミー署名生成装置に対応したリング情報をダミー署名生成装置ごとに生成し(ステップS506)、各リング情報にブラインド処理を施して(ステップS507)、ブラインド化されたリング情報を該当する実際に署名を行う署名生成装置110に送信する(ステップS508)。
【0051】
ブラインド化されたリング情報を受信した署名生成装置110では、受信したブラインド化されたリング情報からブラインド化された署名情報を生成し(ステップS509)、このブラインド化された署名情報を署名要求装置100に送信する(ステップS510)。
【0052】
ブラインド化された署名情報を受信した署名要求装置100では、ブラインド化された署名情報からブランド除去を行って署名情報を取得し(ステップS511)、署名情報を含む署名付き文書データを出力する(ステップS512)。
【0053】
本実施の形態では、ダミー署名者として選択したダミー署名生成装置110をリング状に順序付けてリング署名方式を採用した方式のブラインド署名方式を実現している。
【0054】
リング署名方式は、署名者の匿名性を実現するデジタル署名方式であり、Rivest等(R. Rivest, A. Shamir, Y. Tauman, "How to Leak a Secret", Advances in Cryptology - Asiacrypt 2001, pp. 552-565, 2001)によってその技術が開示されている。リング署名は、署名者と署名者によって選ばれた複数のダミー署名者のいずれかが署名を生成したことの検証はできるが、署名生成者の特定が不可能な方式である。
【0055】
リング署名の署名生成方法は次のように行われる。署名生成者は、公開されている署名者のリストから複数のダミー署名者を選択し、各署名者の公開鍵情報を入手して、ダミー署名者をリング状に配置する。ここで,署名者はランダムに選んだk番目に配置されるものとする。ここで、署名生成者を署名者kで示し、署名者により選択されたダミー署名者をダミー署名者1,・・・、ダミー署名者k−1、ダミー署名者k+1、・・・、ダミー署名者Lで示す。
【0056】
署名者kはリング情報の初期値akをランダムに生成し、akと署名対象文書データMに基づいてリング情報ck+1を生成する。
【0057】
次に、ダミー署名者k+1に対応する署名情報sk+1をランダムに選択し、ダミー署名者k+1の公開鍵情報からデータtk+1を計算する。ここで、公開鍵情報による演算は誰でも容易に行うことができ、ダミー署名者k+1の同意を必要としない。署名者はck+1とtk+1に基づいてリング情報ak+1を生成し、ak+1と署名対象文書データMに基づいてリング情報ck+2を生成する。
【0058】
同様に、ダミー署名者k+2,・・・,ダミー署名者L,ダミー署名者1(=L+1),・・・,ダミー署名者k−1まで、対応する署名情報sk+2,・・・,sL,s1,・・・,sk-1をランダムに生成し、データck+3,・・・,cL,cL1(=cL+1),・・・,ckを生成する。
【0059】
署名者はリング情報ckの生成を行った後、ckとakからデータt1を計算して、自らの秘密鍵情報に基づいて署名情報skを生成し、署名者の識別情報ID1,・・・,IDLとともに、署名付き文書データ(M,L,c1,s1,・・・,sL,ID1,・・・,IDL)を公開する。
【0060】
署名付き文書データ(M,L,c1,s1,・・・,sL,ID1,・・・,IDL)の検証する場合には、署名検証者はまず識別情報に基づいて各署名者の公開鍵情報を入手する。
署名検証者は、s1とダミー署名者1の公開情報からデータt1を計算し、次に、t1とc1からデータa1を計算して、a1と文書データMに基づいてデータc2を計算する。署名検証者は同様にダミー署名者2,・・・,ダミー署名者k−1,署名者k,ダミー署名者k+1,・・・,ダミー署名者Lに対してもデータc3,・・・,cL+1を計算する。そして、cL+1がc1に一致する場合は署名を受理し、一致しない場合は署名を棄却する。署名検証者は、全ての署名者に同一の処理を施しているためリング状に配置した署名者の端点を区別することができず、どの署名者が署名を生成したかを特定することは不可能であり、このため署名者の匿名性を図ることができる。
【0061】
このような一般的なリング署名方式では、リング情報は署名生成装置110において生成しているが、本実施の形態では、通常のリング署名方式と異なり、署名要求装置100側で各署名生成装置110ごとのリング情報を生成してブラインド化して署名生成装置110に送信し、署名生成装置110でブラインド化されたリング情報から署名情報を生成している。これにより、ブラインド署名方式による文書データの秘匿性を実現するとともに、署名生成者の匿名性も確保することができるようになっている。
【0062】
(署名要求処理)
次に、以上のように説明した本実施の形態にかかるブラインド署名処理の各装置における処理を詳細に説明する。まず、署名要求装置100による署名要求処理について説明する。図6、図7、図8は、実施の形態1にかかる署名要求装置100による署名要求処理の手順を示すフローチャートである。
【0063】
まず、署名要求装置100では、入出力部209によって署名対象の文書データMとネットワーク上に公開されている署名生成装置110の情報(識別情報と公開情報のリスト)を受信する(ステップS601)。ダミー署名者選択部201によってダミー署名者としての署名生成装置110(ダミー署名生成装置)を(L−1)人選択する(ステップS602)。そして、整列部202によって、署名生成装置110の識別情報とダミー署名生成装置の識別情報をリング状に順序付ける(ステップS603)。
【0064】
次に、入出力部209によって署名生成装置110に署名生成依頼を送信し(ステップS604)、署名生成装置110から拘束情報a'kを受信するまで待機状態となる(ステップS605:No)。
【0065】
署名要求装置100は、入出力部209を介して署名生成装置110から拘束情報a'kを受信すると(ステップS605:Yes)、乱数発生器208で署名生成装置110に対応する乱数r1,r2∈Zqkを生成して(ステップS606)、乱数メモリ211に発生させた乱数r1,r2を保存する。
【0066】
そして、この乱数r1,r2を使用して、次の(2)式により署名生成装置110に対応したリング情報の初期値akを計算する(ステップS607)。
【0067】
k=a’kk-r1-r2 mod pk ・・・(2)
【0068】
次に、関数演算部203によって、L,署名対象文書データM,akのハッシュ関数Hkによるハッシュ値を次の(3)式により計算し、署名生成装置110に対応したリング情報ck+1を求める(ステップS608)。
【0069】
k+1=Hk(L,M,ak) ・・・(3)
【0070】
次に、リング情報演算部205によって、第k+1番目から第k−1番目までに順序付けられたダミー署名生成装置までの各々の第i番目に順序付けられたダミー署名生成装置に対応する情報として、次のようにリング情報aiとci+1を計算する。
【0071】
まず、リング情報演算部205によって、i=L+1かどうか調べ(ステップS609)、i=L+1の場合はi=1に設定する(ステップS610)。第i番目に順序付けられたダミー署名生成装置に対応する署名情報として乱数発生器208により乱数si∈Zqiを発生させる(ステップS611)。そして、リング情報演算部205によって、ダミー署名装置に対応したリング情報ai,ci+1を、次の(4)式により算出する(ステップS612)。
【0072】
i=gisiici mod pi,ci+1=Hi+1(L,M,ai) ・・・(4)
【0073】
そして、リング情報演算部205によりiにi+1を設定する(ステップS613)。このようなステップS609からS613までの処理をi=k−1からi=k+1まで繰り返し実行する。これにより、第k+1番目から第k−1番目までに順序付けられたダミー署名生成装置110ごとにリング情報ai,ci+1が生成されることになる。
【0074】
次に、このようにして第k−1番目に対応付けられたダミー署名生成装置に対応してリング情報ckが計算された後、リング情報ブラインド部206によってブラインド化されたリング情報c’kを次の(5)式により計算する(ステップS614)。
【0075】
c’k=ck+rmod qk ・・・(5)
【0076】
そして、このブラインド化されたリング情報c’kを入出力部209を介して署名生成装置110に送信し(ステップS615)、署名生成装置110からブラインド化された署名情報s’kを受信するまで待機状態となる(ステップS616:No)。
【0077】
署名要求装置100では、入出力部209を介して署名生成装置110からブラインド化された署名情報s’kを受信した場合には(ステップS616:Yes)、署名情報ブラインド除去部207によって、次の(6)式が成立するか否かを検査する(ステップS617)。
【0078】
a’k=gks’kkc’k mod pk ・・・(6)
【0079】
そして、(6)式が成立しない場合には(ステップS617:No)、そのまま処理を終了する。 一方、ステップS617において、(6)式が成立する場合は(ステップS617:Yes)、署名情報ブラインド除去部207によってブラインド化された署名情報s’kからブラインド除去を行う(ステップS618)。具体的には、署名生成装置110に対応する署名情報skを次の(7)式により算出する。
【0080】
k=s’k−r1 mod qk ・・・(7)
【0081】
そして、入出力部209によって署名付き文書データ(M,L,ID1,…,IDL,c1,s1,…,sL)を出力して(ステップS619)、処理を終了する。
【0082】
(署名生成処理)
次に、署名生成装置110による署名生成処理について説明する。図9は、実施の形態1にかかる署名生成装置110による署名生成処理の手順を示すフローチャートである。
【0083】
署名生成装置110は、署名要求装置100から署名生成依頼を受信すると(ステップS901)、乱数発生器304によって乱数r’∈Zqkを生成する(ステップS902)。そして、拘束情報演算部301によって、この乱数r’を使用して、拘束情報a’kを次の(8)式により算出する(ステップS903)。
【0084】
a’k=gkr'mod pk ・・・(8)
【0085】
そして、算出された拘束情報a’kを入出力部303を介して署名要求装置100に送信し(ステップS904)、署名要求装置100からブラインド化されたリング情報c’kを受信するまで待機状態となる(ステップS905:No)。
【0086】
ここで、複数の署名要求装置100あるいは同一の署名要求装置100から複数の署名生成依頼を受信している場合には、待機中に異なる署名生成依頼に対応する処理を実行することになるが、ここでは説明の都合上、署名要求装置100からブラインド化されたリング情報を受信するまで待機するものとする。
【0087】
署名生成装置110は、入出力部303を介して署名要求装置100でステップ615で送信されたブラインド化されたリング情報c’kを受信すると(ステップS905:Yes)、署名演算部302によってこのリング情報c’kから秘密鍵メモリ305に記憶されている秘密鍵xkと乱数r’とを利用してブラインド化された署名情報s’kを次の(9)式により算出する(ステップS906)。
【0088】
s’k=r’−xk c’k mod qk ・・・(9)
【0089】
そして、生成されたブラインド化された署名情報s’kを入出力部303を介して署名要求装置100に送信する(ステップS907)。
【0090】
(署名検証処理)
次に、署名検証装置120による署名検証処理について説明する。図10は、実施の形態1にかかる署名検証装置120による署名検証処理の手順を示すフローチャートである。
【0091】
まず、署名検証装置120は、署名付き文書データ(M,L,ID1,…,IDL,c1,s1,…,sL)を入出力部404により受信し(ステップS1001)、署名付き文書データに含まれる署名生成装置110の識別情報IDに基づいて入出力部404を介してネットワーク上に公開されている署名生成装置110の識別情報と公開情報のリストから署名生成装置110に対応する公開情報を取得して公開鍵メモリ405に保存する(ステップS1002)。
【0092】
次に、リング情報演算部402によって、第1番目に順序付けられた署名生成装置から第L番目に順序付けられた署名生成装置110まで、第i番目に順序付けられた署名生成装置110に対応するリング情報を次のように算出する。
【0093】
まず、リング情報演算部402は、第i番目の署名生成装置110に対応する公開鍵を公開鍵メモリ405から読み出して、公開鍵演算部403および関数演算部401によってリング情報ai,ci+1を次の(10)式により算出する(ステップS1003)。
【0094】
i=gisiicimod pi,ci+1=Hi(L,M,ai) ・・・(10)
【0095】
ここで、ハッシュ関数Hiによるci+1の演算は関数演算部401によって行われ、aiの演算はリング情報演算部402によって行われる。そして、iをi+1に設定し(ステップS1004)、かかるステップS1003とS1004の処理をiが1からLまで、すなわち署名付き文書データMに含まれる署名生成装置110の識別情報の数だけ繰り返し実行する。
【0096】
次に、検証部407によって第L+1番目のリング情報cL+1が第1番目のリング情報c1に一致するか否かを検証する(ステップS1005)。そして、cL+1がc1に一致する場合には(ステップS1005:Yes)、署名付き文書データMの署名情報を受理する(ステップS1006)。一方、cL+1がc1に一致しない場合には(ステップS1005:No)、署名付き文書データMの署名情報を不受理とする(ステップS1007)。
【0097】
このように実施の形態にかかる署名システムでは、署名要求装置100側で署名生成装置110とダミー署名生成装置ごとのリング情報を生成してブラインド化して署名生成装置110に送信し、署名生成装置110でブラインド化されたリング情報から署名情報を生成しているので、署名対象文書の情報は署名生成装置には漏洩することがなく、また、署名検証時に現れるリング情報にブラインド処理が施されているため、署名生成装置が有する情報を用いたとしても、署名生成時の情報と流通する署名情報との対応付けがすることができず、署名対象文書の秘匿性を図ることができる。また、署名要求装置100で署名生成装置110に対するリング情報とダミー署名生成装置ごとのリング情報を算出しているため、署名検証時にどの署名生成装置110が署名生成を行ったかを特定することができず、署名者の匿名性を図ることができる。このように本実施の形態の署名システムによれば、ブラインド署名方式による文書データの秘匿性を実現するとともに、署名生成者の匿名性も確保することができる。
【0098】
(実施の形態2)
実施の形態2にかかる署名システムは、実施の形態1の署名システムの構成に加え、攪乱除去装置を付加したものである。
【0099】
図11は、実施の形態2にかかる署名システムのネットワーク構成を示す説明図である。図11に示すように、本実施の形態にかかる署名システムは、署名の生成を依頼する署名要求装置1100と、依頼を受けた文書に署名情報を付加した署名付き文書を生成する複数の署名生成装置1110と、ブラインド処理に利用する暗号化ブラインド情報の復号化を行う攪乱除去装置1120と、署名付き文書の検証を行う署名検証装置120とがインターネットやLAN(Local Area Network)等のネットワーク130に接続された形態となっている。
【0100】
なお、本実施の形態では、ネットワーク15上に単一の攪乱除去装置1120が接続された形態となっているが、これに限定されるものではなく、複数の攪乱除去装置をネットワークに接続して用いる形態としてもよい。
【0101】
また、署名検証装置120の機能的構成および署名検証処理は実施の形態1と同様であるため説明を省略する。
【0102】
まず、本実施の形態にかかる署名要求装置1100について説明する。図12は、実施の形態2にかかる署名要求装置1100の機能的構成を示すブロック図である。署名要求装置1100は、図12に示すように、ダミー署名者選択部201と、整列部202と、関数演算部203と、公開鍵演算部204と、リング情報演算部205と、リング情報ブラインド部206と、署名情報ブラインド除去部207と、ブラインド情報暗号化部1201と、乱数発生器208と、入出力部209と、鍵メモリ1202と、公開鍵メモリ210と、乱数メモリ211と、メモリ212とを主に備えている。ここで、ダミー署名者選択部201、整列部202、関数演算部203、公開鍵演算部204、リング情報演算部205、リング情報ブラインド部206、署名情報ブラインド除去部207、乱数発生器208、入出力部209、公開鍵メモリ210、乱数メモリ211、メモリ212の機能については実施の形態1の署名要求装置100と同様であるので説明を省略する。
【0103】
ブラインド情報暗号化部1201は、署名情報のブラインド除去処理を施す際に必要となるブラインド情報、署名対象データ、ダミー署名者として選択された署名生成装置1110に対応する乱数とリング情報の一部を撹乱除去装置1120に非公開で送信するために、これらのデータに対して鍵メモリ1202に保存されている鍵情報で暗号化処理を施して暗号化ブラインド情報を生成する処理部である。
【0104】
鍵メモリ1202は、ブラインド情報暗号化部1201により暗号化処理で使用する鍵情報を保存するメモリである。この鍵情報は、ブラインド情報暗号化部1201で実行される暗号化処理の方式が公開鍵暗号方式である場合には、撹乱除去装置1120の公開鍵であり、ブラインド情報暗号化部1201で実行される暗号化処理の方式が共通鍵暗号方式である場合には、予め署名要求装置1100と撹乱除去者装置1120との間で共有された共通鍵である。
【0105】
次に、攪乱除去装置1120について説明する。攪乱除去装置1120は、署名生成時において、署名生成装置1110がブラインド化された署名情報を回答するまでの署名要求装置1100の署名付き文書データ受信の待ち時間を削減するために使用される。
【0106】
図13は、実施の形態2にかかる攪乱除去装置1120の機能的構成を示すブロック図である。本実施の形態にかかる攪乱除去装置1120は、図13に示すように、復号演算部1301と、ブラインド除去部1302と、入出力部1303と、鍵メモリ1304と、メモリ1305とを主に備えている。
【0107】
復号演算部1301は、入出力部1303を介して署名生成装置1110から受信した暗号化ブラインド情報に復号化処理を施し、ブラインド除去処理に必要な乱数成分、署名対象データ、ダミー署名者として選択された署名生成装置1110に対応する署名成分とリング情報の一部に復号化処理を施す処理部である。
【0108】
ブラインド除去部1302は、入出力部1303を介して署名生成装置1110から受信したブラインド化された署名情報に対して、復号演算部1330で復号化された乱数を利用してブラインド除去処理を施す処理部である。
【0109】
鍵メモリ1304は、復号演算部1301による復号化処理を実行する際に使用する鍵情報を保存するメモリである。この鍵情報は、復号演算部1301で実行される復号化処理の方式が公開鍵暗号方式である場合には、撹乱除去装置1120の公開鍵であり、復号演算部1301で実行される復号化処理の方式が共通鍵暗号方式である場合には、予め署名要求装置1100と撹乱除去者装置1120との間で共有された共通鍵である。
【0110】
入出力部1303は、署名生成装置1110や署名要求装置1100との間でネットワークを介して各種データの入出力を行う処理部である。メモリ1305は、各種データの保存を行うものである。入出力部1303は、本発明における第3の受信手段、出力手段に相当する。
【0111】
また、本実施の形態で使用するパラメータと関数の入出力データのデータ長については実施の形態1と同様である。
【0112】
本実施の形態において、署名要求装置1100と撹乱除去装置1120の間のデータ送受信で使用する暗号方式としてはRSA暗号などの公開鍵暗号演算を使用する。RSA暗号方式を使用する場合には、鍵のサイズとして1024ビットまたは2048ビットを使用することが好ましい。また、署名要求装置1100と撹乱除去装置1120の間のデータ送受信で使用する暗号方式として、DESなどの共通鍵暗号方式を使用することも可能である。
【0113】
(全体処理)
次に、以上のように構成された本実施の形態にかかる署名システムにおけるブラインド署名の全体処理について説明する。図14は、実施の形態2にかかる署名システムにおけるブラインド署名の全体処理の手順を示すフローチャートである。
【0114】
なお、以下の説明では、署名要求装置100は、L−1人のダミー署名者の署名生成装置110を選択し、整列部202で署名生成装置が順序付けられる番号をkで表記する。
【0115】
まず、署名要求装置1100は、署名対象の文書データMを入力し、署名生成装置1110の公開情報(素数piとpi−1を割り切る素数qi、離散対数の底gi、公開鍵yi、ハッシュ関数Hi、識別情報IDi)および攪乱除去装置1120の公開鍵等の情報を取得する(ステップS1401)。そして、署名要求装置1100は、すべての署名生成装置1110の中からダミー署名者として使用する署名生成装置1110(ダミー署名生成装置)を選択し、選択したダミー署名生成装置のそれぞれの識別情報IDiをリング状に順序付ける(ステップS1402)。そして、実際に署名を行わせる署名生成装置110に署名生成依頼を送信する(ステップS1403)。
【0116】
署名生成依頼を受信した署名生成装置1110では、実施の形態1と同様に、乱数から拘束情報を生成して(ステップS1404)、生成された拘束情報を署名要求装置1100に送信する(ステップS1405)。
【0117】
拘束情報を受信した署名要求装置1100では、実施の形態1と同様に、受信した拘束情報と乱数から署名生成装置1110に対応したリング情報初期値を生成し、さらにリング情報初期値と署名対象文書データと署名生成装置1110の総数から署名生成装置1110に対応したリング情報、この署名生成装置1110に対応したリング情報からダミー署名生成装置に対応したリング情報をダミー署名生成装置ごとに生成し(ステップS1406)、各リング情報にブラインド処理を施す(ステップS1407)。そして、攪乱除去装置1120の公開鍵、署名対象文書データ、署名生成装置1110の総数、署名生成装置1110に割り当てられた順序k、乱数、署名生成装置1110およびダミー署名者として選択された署名生成装置1110の識別情報を暗号化して暗号化ブラインド情報Eを算出する(ステップS1408)。そして、ブラインド化されたリング情報と暗号化ブラインド情報を該当する実際に署名を行う署名生成装置1110に送信する(ステップS1409)。
【0118】
ブラインド化されたリング情報と暗号化ブラインド情報Eを受信した署名生成装置1110では、受信したブラインド化されたリング情報からブラインド化された署名情報を生成し(ステップS1410)、このブラインド化された署名情報と暗号化ブラインド情報Eを攪乱除去装置1120に送信する(ステップS1411)。
【0119】
ブラインド化された署名情報と暗号化ブラインド情報を受信した攪乱除去装置1120では、暗号化ブラインド情報を公開鍵に対応した秘密鍵で復号化し(ステップS1412)、さらにブラインド化された署名情報からブランド除去を行って署名情報を取得し(ステップS1413)、署名情報を含む署名付き文書データを出力する(ステップS1414)。
【0120】
(署名要求処理)
次に、以上のように説明した本実施の形態にかかるブラインド署名処理の各装置における処理を詳細に説明する。まず、署名要求装置1100による署名要求処理について説明する。図15、図16は、実施の形態2にかかる署名要求装置1100による署名要求処理の手順を示すフローチャートである。
【0121】
まず、署名要求装置1100では、入出力部209によって署名対象の文書データMとネットワーク上に公開されている署名生成装置1110の情報(識別情報と公開情報のリスト)と攪乱除去装置1120の公開鍵の情報を受信する(ステップS1501)。そして、ダミー署名者選択部201によるダミー署名生成装置の選択からブラインド化されたリング情報c’kの生成までの処理(ステップS1502〜S1514)については、実施の形態1の署名要求処理(ステップS602〜S614)と同様に行われる。
【0122】
ブラインド化されたリング情報c’kを生成したら、署名対象文書データMとその部分情報I、署名生成装置1110の総数L、署名生成装置1110に割り当てられた順序k、ブラインド除去処理に必要な乱数r1、署名生成装置1110及びダミー署名生成装置の識別情報ID1,・・・,IDL、リング情報c1と乱数s1,・・・,sk-1,sk+1,・・・,sLからなる署名の部分情報、ブラインド化されたリング情報c’を鍵メモリ1202に保存されている攪乱除去装置1120の公開鍵pkで暗号化して暗号化ブラインド情報Eを次の(11)式のように生成する(ステップS1515)。
【0123】
E=Epk(M,I,L,k,r1,ID1,…,IDL,c1,c’k,a’k,s1,…,sk-1,sk+1,…,sL) ・・・(11)
【0124】
そして、ブラインド化されたリング情報c’kと暗号化ブラインド情報Eを入出力部209を介して署名生成装置1110に送信する(ステップS1516)。
【0125】
(署名生成処理)
次に、署名生成装置1110による署名生成処理について説明する。図17は、実施の形態2にかかる署名生成装置1110による署名生成処理の手順を示すフローチャートである。
【0126】
署名生成装置1110が署名要求装置1100から署名生成依頼を受信してから拘束情報a’kを入出力部303を介して署名要求装置1100に送信するまでの処理(ステップS1701〜S1704)は実施の形態1の署名生成処理(ステップS901〜S904)と同様に行われる。
【0127】
拘束情報a’kを署名要求装置1100に送信した署名生成装置1110は、署名要求装置1100からブラインド化されたリング情報c’kと暗号化ブラインド情報を受信するまで待機状態となる(ステップS1705:No)。
【0128】
署名生成装置1110は,入出力部303を介して署名要求装置100でステップS1516で送信されたブラインド化されたリング情報c’kと暗号化ブラインド情報を受信すると(ステップS1705:Yes)、実施の形態1と同様に、署名演算部302によってこのリング情報c’kから秘密鍵メモリ305に記憶されている秘密鍵xkと乱数r’とを利用してブラインド化された署名情報s’kを前述した(9)式により算出する(ステップS1706)。
【0129】
次に、署名演算部302は、ブラインド化された署名情報s’kと暗号化ブラインド情報Eを入出力部303を介して署名要求装置1100に送信する(ステップS1707)。
【0130】
(攪乱除去処理)
次に、攪乱除去装置1120による攪乱除去処理について説明する。図18は、実施の形態2にかかる攪乱除去装置1120による攪乱除去処理の手順を示すフローチャートである。
【0131】
攪乱除去装置1120は、署名生成装置1110からブラインド化された署名情報s’kと暗号化ブラインド情報Eを受信するまで待機状態となっている(ステップS1801:No)。
【0132】
攪乱除去装置1120では、入出力部1303を介して署名生成装置1110からブラインド化された署名情報s’kと暗号化ブラインド情報Eを受信した場合には(ステップS1801:Yes)、復号演算部1301によって、鍵メモリ1304に記憶されている秘密鍵sk(公開鍵pk対応した秘密鍵)で暗号化ブラインド情報Eに復号化処理を施し、署名対象文書データMとその部分情報I、署名生成装置1110の総数数L、署名生成装置1110に割り当てられた順序k、ブラインド除去処理に必要な乱数r1、署名生成装置1110及びダミー署名者として選択された署名生成装置1110の識別情報ID1,・・・,IDL、リング情報c1と乱数s1,・・・,sk-1,sk+1,・・・,sLからなる署名の部分情報、ブラインド化されたリング情報c’を復号化する(ステップS1802)。
そして、ブラインド除去部1302によって、次の(12)式が成立するか否かを検査する(ステップS1803)。
【0133】
a’k=gks’kkc’k mod pk ・・・(12)
【0134】
そして、(12)式が成立しない場合には(ステップS1803:No)、そのまま処理を終了する。一方、ステップS1803において、(12)式が成立する場合は(ステップS1803:Yes)、ブラインド除去部1302によって署名生成装置110に対応する署名情報skを次の(7)式により算出する(ステップS1804)。
【0135】
k=s’k−r1 mod qk ・・・(13)
【0136】
そして、入出力部1303によって署名付き文書データ(M,I,L,ID1,…,IDL,c1,s1,…,sL)を出力して(ステップS1805)、処理を終了する。
【0137】
このように実施の形態2の署名システムでは、署名要求装置1100でブランド情報を暗号化して署名生成装置1110に送信して署名生成装置1110側で署名情報を生成して暗号化ブラインド情報とともに攪乱除去装置1120に送信し、攪乱除去装置1120側で暗号化ブラインド情報を復号化するとともに署名情報から署名付き文書データを出力しているので、署名要求装置1100では署名付き文書データの受信を待たずに署名要求処理を完了することができ、署名生成装置1110がブラインド化された署名情報を回答するまでの署名要求装置1100の署名付き文書データ受信の待ち時間を削減することができる。
【0138】
また、ブラインド情報は、署名要求装置1100で攪乱除去装置1120で復号化が可能な鍵で暗号化して署名生成装置1110に送信して攪乱除去装置1120で暗号化ブラインド情報を復号化しているので、安全性を向上させることができる。
【0139】
(実施の形態3)
実施の形態2にかかる署名システムは、実施の形態1および2の署名システムよりもブラインド署名の安全性を向上させたものである。
【0140】
本実施の形態にかかる署名システムのネットワーク構成、署名要求装置、署名生成装置、署名検証装置の機能的構成は実施の形態1と同様である。また、本実施の形態にかかる署名システムに実施の形態2のように攪乱除去装置を加えた構成としてもよい。
【0141】
次に、本実施の形態にかかる署名生成装置110、署名要求装置100、署名検証装置120で使用するパラメータと関数の入出力データのデータ長について説明する。なお、ここでは、実施の形態1と同様に、整数の剰余環の乗法群上の離散対数問題を安全性の根拠として方式を説明する。その他、楕円曲線状の点のなす有限群上など異なる群の上での離散対数問題を安全性の根拠としてもよい。識別情報IDiを有する署名生成装置110の署名者は、素数piとpi−1を割り切る素数qi、離散対数の底gi,hi、公開鍵yi、ハッシュ関数Hiを公開情報として識別情報IDiとともにネットワーク上の署名要求装置100および署名検証装置120に公開する。
【0142】
但し、公開鍵yiは、秘密鍵xi,1,xi,2∈{0,1,・・・,qi−1}(=Zqi)に対して、次の(14)式で算出される値である。
【0143】
i=gixi,1ixi,2 mod pi ・・・(14)
ここで、秘密鍵xi,1,xi,2は、署名生成装置110の秘密鍵メモリ305に非公開で保持されている。
【0144】
このとき、piとgi,hiのサイズは1024ビット以上,qiのサイズは160ビット以上が推奨されている。
【0145】
(署名要求処理)
次に、以上のように説明した本実施の形態にかかるブラインド署名処理の各装置における処理を詳細に説明する。まず、署名要求装置100による署名要求処理について説明する。図19、図20、実施の形態3にかかる署名要求装置100による署名要求処理の手順を示すフローチャートである。なお、署名対象文書データMおよび署名生成装置110の公開情報の取得、ダミー署名者としての署名生成装置110の選択および順序づけ、署名生成依頼の送信については、実施の形態1における署名要求処理(ステップS601〜S604)と同様に行われる。
【0146】
署名生成装置110に署名生成依頼を送信したら、署名生成装置110から拘束情報a'kを受信するまで待機状態となる(ステップS1901:No)。
【0147】
署名要求装置100は、入出力部209を介して署名生成装置110から拘束情報a'kを受信すると(ステップS1901:Yes)、乱数発生器208で署名生成装置110に対応する乱数r1,r21,r3∈Zqkを生成して(ステップS1902)、乱数メモリ211に発生させた乱数r1,r2,r3を保存する。
【0148】
そして、この乱数r1,r2,r3を使用して、次の(15)式により署名生成装置110に対応したリング情報の初期値akを計算する(ステップS1903)。
【0149】
k=a’kk-r1-r2-r3 mod pk ・・・(15)
【0150】
次に、関数演算部203によって、L,署名対象文書データM,akのハッシュ関数Hkによるハッシュ値を次の(16)式により計算し、署名生成装置110に対応したリング情報ck+1を求める(ステップS1904)。
【0151】
k+1=Hk(L,M,ak) ・・・(16)
【0152】
次に、リング情報演算部205によって、第k+1番目から第k−1番目までに順序付けられたダミー署名生成装置までの各々の第i番目に順序付けられたダミー署名生成装置に対応する情報として、次のようにリング情報aiとci+1を計算する。
【0153】
まず、リング情報演算部205によって、i=L+1かどうか調べ(ステップS1905)、i=L+1の場合はi=1に設定する(ステップS1906)。第i番目に順序付けられたダミー署名生成装置に対応する署名情報として乱数発生器208により乱数si,1,si,2∈Zqiを発生させる(ステップS1907)。そして、リング情報演算部205によって、ダミー署名生成装置に対応したリング情報ai,ci+1を、次の(17)式により算出する(ステップS1908)。
【0154】
i=gisi,1isi,2ici mod pi,ci+1=Hi+1(L,M,ai
・・・(17)
【0155】
そして、リング情報演算部205によりiにi+1を設定する(ステップS1909)。このようなステップS1905からS1909までの処理をi=k−1からi=k+1まで繰り返し実行する。これにより、第k+1番目から第k−1番目までに順序付けられたダミー署名生成装置ごとにリング情報ai,ci+1が生成されることになる。
【0156】
次に、このようにして第k−1番目に対応付けられたダミー署名生成装置に対応してリング情報ckが計算された後、リング情報ブラインド部206によってブラインド化されたリング情報c’kを次の(18)式により計算する(ステップS1910)。
【0157】
c’k=ck+r3 mod qk ・・・(18)
【0158】
そして、このブラインド化されたリング情報c’kを入出力部209を介して署名生成装置110に送信し(ステップS1911)、署名生成装置110からブラインド化された署名情報s’k,1,s’k,2を受信するまで待機状態となる(ステップS1912:No)。
【0159】
署名要求装置100では、入出力部209を介して署名生成装置110からブラインド化された署名情報s’k,1,s’k,2を受信した場合には(ステップS1912:Yes)、署名情報ブラインド除去部207によって、次の(19)式が成立するか否かを検査する(ステップS1913)。
【0160】
a’k=gks’k,1ks’k,2kc’k mod pk ・・・(19)
【0161】
そして、(19)式が成立しない場合には(ステップS1913:No)、そのまま処理を終了する。 一方、ステップS1913において、(19)式が成立する場合は(ステップS1913:Yes)、署名情報ブラインド除去部207によってブラインド化された署名情報s’k,1,s’k,2からブラインド除去を行う(ステップS1914)。具体的には、署名生成装置110に対応する署名情報sk,1,sk,1を次の(20)、(21)式により算出する。
【0162】
k,1=s’k,1−r1 mod qk ・・・(20)
k,2=s’k,2−r2 mod qk ・・・(21)
【0163】
そして、入出力部209によって署名付き文書データ(M,L,ID1,…,IDL,c1,s1,1,s1,2,…,sL,1,sL,2)を出力して(ステップS1915)、処理を終了する。
【0164】
(署名生成処理)
次に、署名生成装置110による署名生成処理について説明する。図21は、実施の形態3にかかる署名生成装置110による署名生成処理の手順を示すフローチャートである。
【0165】
署名生成装置110は、署名要求装置100から署名生成依頼を受信すると(ステップS2101)、乱数発生器304によって乱数r’1,r’2∈Zqkを生成する(ステップS2102)。そして、拘束情報演算部301によって、この乱数r’1,r’2を使用して、拘束情報a’kを次の(22)式により算出する(ステップS2103)。
【0166】
a’k=gkr'1kr'2 mod pk ・・・(22)
【0167】
そして、算出された拘束情報a’kを入出力部303を介して署名要求装置100に送信し(ステップS2104)、署名要求装置100からブラインド化されたリング情報c’kを受信するまで待機状態となる(ステップS2105:No)。
【0168】
署名生成装置110は、入出力部303を介して署名要求装置100でステップ1911で送信されたブラインド化されたリング情報c’kを受信すると(ステップS2105:Yes)、署名演算部302によってこのリング情報c’kから秘密鍵メモリ305に記憶されている秘密鍵xk,1,xk,2と乱数r’1,r’2とを利用してブラインド化された署名情報s’k,1,s’k,2を次の(23)、(24)式により算出する(ステップS2106)。
【0169】
s’k,1=r’1−xk,1c’k mod qk ・・・(23)
s’k,2=r’2−xk,2c’k mod qk ・・・(24)
【0170】
そして、生成されたブラインド化された署名情報s’k,1,s’k,2を入出力部303を介して署名要求装置100に送信する(ステップS2107)。これにより、署名要求装置100は、ブラインド化された署名情報s’k,1,s’k,2を得ることができる。
【0171】
(署名検証処理)
署名検証装置120により署名検証処理は、署名付き文書データ(M,L,ID1,…,IDL,c1,s1,1,s1,2,…,sL,1,sL,2)を取得し、図10に示した実施の形態1における署名検証処理と同様に行われるが、ステップS1003における公開鍵演算部403および関数演算部401によるリング情報ai,ci+1は、次の(25)式により算出される。これ以降の検証処理については、実施の形態1と同様に行われる。
【0172】
i=gisi,1isi,2icimod pi,ci+1=Hi(L,M,ai)・・・(25)
【0173】
このように実施の形態3にかかる署名システムでは、署名生成装置1110から2つの拘束情報を取得し、乱数や離散対数も実施の形態1に比べて多数使用してリング情報、ブラインド化されたリング情報を生成しているので、署名対象文書データの秘匿性および署名者の匿名性の維持の安全性をより向上させることができる。
【0174】
(実施の形態4)
実施の形態1〜3にかかる署名システムは、署名対象文書の全てを署名生成装置110に秘匿した状態でブラインド署名を行うものであったが、この実施の形態4にかかる署名システムは、署名対象文書の一部を署名生成装置110に公開してブラインド署名を行うものである。
【0175】
本実施の形態にかかる署名システムのネットワーク構成、署名要求装置、署名生成装置、署名検証装置の機能的構成は実施の形態1と同様である。また、本実施の形態にかかる署名システムに実施の形態2のように攪乱除去装置を加えた構成としてもよい。
【0176】
本実施の形態にかかる署名生成装置110、署名要求装置100、署名検証装置120で使用するパラメータと関数の入出力データのデータ長については、実施の形態と同様である。また、実施の形態1と同様に、識別情報IDiを有する署名生成装置110の署名者は、素数piとpi−1を割り切る素数qi、離散対数の底gi,hi、公開鍵yi、ハッシュ関数Hiを公開情報として識別情報IDiとともにネットワーク上の署名要求装置100および署名検証装置120に公開する。ここで、公開鍵yi、ハッシュ関数Hiについては、実施の形態と同様のものを使用する。
【0177】
本実施の形態で使用するランダム関数Fiは、任意の長さのビットを入力として、Zpi内の元ziを出力する関数である。このようなランダム関数Fiとしては、SHA−1等のハッシュ関数を使用し、次の(26)式により定義することができる。
【0178】
i(I)=giSHA1(I) mod pi ・・・(26)
ここで、Iは署名対象文書データMの一部である部分情報である。ランダム関数Fiには、一方向性と耐衝突性が要求される。また、Fiは、ハッシュ関数Hiと同様に、各利用者に特有のランダム関数を用いてもよい。また、全てまたは一部の利用者で同じランダム関数を用いることもできる。
【0179】
(署名要求処理)
次に、署名要求装置100による署名要求処理について説明する。図22、図23、図24は、実施の形態4にかかる署名要求装置100による署名要求処理の手順を示すフローチャートである。
【0180】
まず、署名要求装置100では、入出力部209によって署名対象の文書データM(部分情報Iを含む)とネットワーク上に公開されている署名生成装置110の情報(識別情報と公開情報のリスト)を受信する(ステップS2201)。ここで、部分情報Iは、署名対象の文書データMの一部分のデータであり、署名生成装置110に秘匿せずに署名生成装置110と署名要求装置100との間で公開する部分のデータである。なお、かかる部分情報Iは、予め文書データMから他の部分と分割されて存在しているものとする。
【0181】
次に、ダミー署名者選択部201によってすべての署名生成装置110の中からダミー署名生成装置を(L−1)人選択する(ステップS2202)。そして、整列部202によって、署名生成装置110の識別情報とダミー署名生成装置110の識別情報をリング状に順序付ける(ステップS2203)。
【0182】
次に、入出力部209によって実際に署名を生成する署名生成装置110に署名生成依頼を送信し(ステップS2204)、署名生成装置110から拘束情報a'k,b'kを受信するまで待機状態となる(ステップS2205:No)。
【0183】
署名要求装置100は、入出力部209を介して署名生成装置110から拘束情報a'k,b'kを受信すると(ステップS2205:Yes)、関数演算部203によって、(26)式によりランダム関数値zk=Fk(I)を計算する(ステップS2206)。そして、乱数発生器208で署名生成装置110に対応する乱数r1,r2,r3,r4∈Zqkを生成して(ステップS2207)、乱数メモリ211に発生させた乱数r1,r2,r3,r4を保存する。
【0184】
そして、この乱数r1,r2,r3,r4を使用して、次の(27)、(28)式により署名生成装置110に対応したリング情報の初期値ak,bkを計算する(ステップS2208)。
【0185】
k=a’kkr1r2 mod pk ・・・(27)
k=b’kkr3r4 mod pk ・・・(28)
【0186】
次に、関数演算部203によって、L,署名対象文書データM,ak,bk,zのハッシュ関数Hkによるハッシュ値を次の(29)式により計算し、署名生成装置110に対応したリング情報ck+1を求める(ステップS2209)。
【0187】
k+1=Hk(L,M,ak,bk,z) ・・・(29)
【0188】
次に、リング情報演算部205によって、第k+1番目から第k−1番目までに順序付けられたダミー署名生成装置までの各々の第i番目に順序付けられたダミー署名生成装置に対応する情報として、次のようにダミー署名生成装置に対応したリング情報aiとci+1を計算する。
【0189】
まず、リング情報演算部205によって、i=L+1かどうか調べ(ステップS2210)、i=L+1の場合はi=1に設定する(ステップS2211)。第i番目に順序付けられたダミー署名生成装置に対応する署名情報として乱数発生器208により乱数si,1,si,2,si,3∈Zqiを発生させる(ステップS2212)。そして、関数演算部203によって、(26)式によりランダム関数値zi=Fi(I)を計算し(ステップS2213)、リング情報演算部205によって、ダミー署名生成装置に対応したリング情報ai,bi,ci+1を、次の(30)、(31)、(32)式により算出する(ステップS2214)。
【0190】
i=gisi,1isi,2 mod pi ・・・(30)
i=gisi,3ici-si,2 mod pi ・・・(31)
i+1=Hi+1(L,M,ai,bi,zi) ・・・(32)
【0191】
そして、リング情報演算部205によりiにi+1を設定する(ステップS2215)。このようなステップS2210からS2215までの処理をi=k−1からi=k+1まで繰り返し実行する。これにより、第k+1番目から第k−1番目までに順序付けられたダミー署名生成装置110ごとのリング情報ai,bi,ci+1が生成されることになる。
【0192】
次に、このようにして第k−1番目に対応付けられたダミー署名生成装置に対応したリング情報ai,bi,ci+1が計算された後、リング情報ブラインド部206によってブラインド化されたリング情報c’kを次の(33)式により計算する(ステップS2216)。
【0193】
c’k=ck−r−r4 mod qk ・・・(33)
【0194】
そして、このブラインド化されたリング情報c’kを入出力部209を介して署名生成装置110に送信し(ステップS2217)、署名生成装置110からブラインド化された署名情報s’k,1,s’k,2と乱数r’2,r’3を受信するまで待機状態となる(ステップS2218:No)。
【0195】
署名要求装置100では、入出力部209を介して署名生成装置110からブラインド化された署名情報s’k,1,s’k,2と乱数r’2,r’3を受信した場合には(ステップS2218:Yes)、署名情報ブラインド除去部207によって、次の(34)、(35)式が成立するか否かを検査する(ステップS2219)。
【0196】
a’k=gks’k,1ks’k,2 mod pk ・・・(34)
b’k=gkr2kr3mod pk ・・・(35)
【0197】
そして、(34)、(35)式が成立しない場合には(ステップS2219:No)、そのまま処理を終了する。 一方、ステップS2219において、(34)、(35)式が成立する場合は(ステップS2219:Yes)、署名情報ブラインド除去部207によってブラインド化された署名情報s’k,1,s’k,2からブラインド除去を行う(ステップS2220)。具体的には、署名生成装置110に対応する署名情報sk,1,sk,2を次の(36)、(37)式により算出する。
【0198】
k,1=s’k,1+r1 mod qk ・・・(36)
k,2=s’k,2+r2 mod qk ・・・(37)
【0199】
そして、入出力部209によって署名付き文書データ(M,L,ID1,…,IDL,c1,s1,1,s1,2,s1,3,…,sL,1,sL,2,sL,3)を出力して(ステップS2221)、処理を終了する。
【0200】
(署名生成処理)
次に、署名生成装置110による署名生成処理について説明する。図25は、実施の形態4にかかる署名生成装置110による署名生成処理の手順を示すフローチャートである。
【0201】
署名生成装置110は、署名要求装置100から署名生成依頼と署名対象文書データMの中で公開する一部である部分情報Iを受信すると(ステップS2501)、(26)式によりランダム関数値zk=Fk(I)を計算し(ステップS2502)、乱数発生器304によって乱数r’1,r’2,r’3∈Zqkを生成する(ステップS2503)。そして、拘束情報演算部301によって、この乱数r’1,r’2,r’3を使用して、拘束情報a’k,b’kを次の(38)、(39)式により算出する(ステップS2504)。
【0202】
a’k=gkr'1 mod pk ・・・(38)
b’k=gkr'2r'3 mod pk ・・・(39)
【0203】
そして、算出された拘束情報a’k,b’kを入出力部303を介して署名要求装置100に送信し(ステップS2505)、署名要求装置100からブラインド化されたリング情報c’kを受信するまで待機状態となる(ステップS2506:No)。
【0204】
署名生成装置110は、入出力部303を介して署名要求装置100でステップ2217で送信されたブラインド化されたリング情報c’kを受信すると(ステップS2506:Yes)、署名演算部302によってこのリング情報c’kから秘密鍵メモリ305に記憶されている秘密鍵xkと乱数r’1,r’2,r’3とを利用してブラインド化された署名情報s’k,1,s’k,2を次の(40)、(41)式により算出する(ステップS2507)。
【0205】
s’k,2=c’k−xk r’3 mod qk ・・・(40)
s’k,1=r’1−xk s’k,2 mod qk ・・・(41)
【0206】
そして、生成されたブラインド化された署名情報s’k,1,s’k,2と乱数r’2,r’3を入出力部303を介して署名要求装置100に送信する(ステップS2508)。
【0207】
なお、署名検証装置120による署名検証処理については、実施の形態1と同様に行われる。
【0208】
このように実施の形態4にかかる署名システムでは、署名対象文書データの一部である部分情報に基づいてリング情報やブランド化されたリング情報を生成して署名生成装置110に送信しているので、署名対象文書データの一部を署名生成装置110に開示した場合でも、ブラインド署名方式のデジタル署名において署名対象文書のその他の部分の秘匿性を維持しながら、署名者の匿名性を維持することができる。
【0209】
(実施の形態5)
実施の形態4にかかる署名システムでは、署名要求装置100でダミー署名生成装置を選択し、選択されたダミー署名生成装置の順序付けの処理を行っていたが、この実施の形態5にかかる署名システムでは、ダミー署名生成装置110とその順序づけが予め定められたものである。
【0210】
本実施の形態にかかる署名システムのネットワーク構成、署名要求装置、署名検証装置の機能的構成は実施の形態1と同様である。また、本実施の形態にかかる署名システムに実施の形態2のように攪乱除去装置を加えた構成としてもよい。
【0211】
図26は、実施の形態5にかかる署名要求装置2600の機能的構成を示すブロック図である。署名要求装置2600は、図26に示すように、関数演算部203と、公開鍵演算部204と、リング情報演算部205と、リング情報ブラインド部206と、署名情報ブラインド除去部207と、乱数発生器208と、入出力部209と、公開鍵メモリ210と、乱数メモリ211と、メモリ212とを主に備えている。本実施の形態の署名要求装置2600では、実施の形態1と異なり、ダミー署名者選択部と整列部を備えておらず、その代わりにメモリ212に署名者テーブル2601を保存した構成となっている。その他については実施の形態1の署名要求装置100と同様である。
【0212】
署名者テーブル2601は、ダミー署名生成装置および署名生成装置110とその順序づけを予め定めたデータファイルである。図27は、署名者テーブルの一例を示すデータ構造図である。
【0213】
署名者テーブル2601は、図27に示すように、リング状に配置する順序とダミー署名生成装置110および署名生成装置の識別情報と各署名生成装置110で公開情報として公開している公開鍵が対応付けられて登録されている。かかる署名者テーブル2601は、署名要求処理を実行する前に、予め生成してメモリ212に保存しておく。
【0214】
(署名要求処理)
次に、本実施の形態の署名要求装置2600による署名要求処理について説明する。図28は、実施の形態5にかかる署名要求装置2600による署名要求処理の手順を示すフローチャートである。
【0215】
まず、署名要求装置2600では、入出力部209によって署名対象の文書データMとネットワーク上に公開されている署名生成装置110の情報(識別情報と公開情報のリスト)を受信する(ステップS2801)。次に、入出力部209は、署名者テーブル2601をメモリ212から読み出してダミー署名生成装置を(L−1)人取得する(ステップS2802)。そして、入出力部209によってダミー署名者としての署名生成装置110に署名生成依頼を送信し(ステップS2803)、署名生成装置110から拘束情報a'kを受信するまで待機状態となる。これ以降の処理は、実施の形態1における署名要求処理(ステップS605〜S619)と同様に行われる。
【0216】
このように実施の形態5にかかる署名システムでは、署名者テーブルによってダミー署名者としての署名生成装置110とその順序づけが予め定められているので、署名生成時にその都度ダミー署名者としての署名生成装置110とその順序づけを行う必要がなくなり、署名要求装置における署名要求処理の効率化を図ることができる。
【0217】
(実施の形態6)
実施の形態1〜5にかかる署名システムでは、署名生成装置110が署名要求装置100から署名生成依頼を受信した時点で、署名要求装置100に送信する拘束情報をその都度計算していたが、この実施の形態6にかかる署名システムは、署名生成装置が予め拘束情報を計算してメモリに保持しておき、署名要求装置100から署名生成依頼を受信した場合、メモリに保持されている拘束情報を署名要求装置に送信するものである。
【0218】
本実施の形態にかかる署名システムのネットワーク構成、署名要求装置、署名検証装置の機能的構成は実施の形態1と同様である。また、本実施の形態にかかる署名システムに実施の形態2のように攪乱除去装置を加えた構成としてもよい。
【0219】
図29は、実施の形態6にかかる署名生成装置2900の機能的構成を示すブロック図である。本実施の形態にかかる署名生成装置2900は、図29に示すように、拘束情報演算部2901と、署名演算部302と、乱数発生器304と、入出力部303と、乱数メモリ306と、秘密鍵メモリ305と、メモリ307とを主に備えている。ここで、署名演算部302、乱数発生器304、入出力部303、乱数メモリ306、秘密鍵メモリ305、メモリ307については実施の形態1の署名生成装置110と同様の機能および構成となっている。
【0220】
拘束情報演算部2901は、署名要求装置100から署名生成依頼を受信する以前に、乱数メモリ306に保存されている乱数を利用して拘束情報を計算して、拘束情報を予めメモリ307に保存する処理部である。本実施の形態における拘束情報演算部2901は、拘束情報を予め生成してメモリ307に保存しておく点が、署名要求装置100から署名生成依頼を受信した時点で拘束情報を計算する実施の形態1における拘束情報演算部と異なっている。
【0221】
次に、本実施の形態にかかる署名生成装置2900による署名生成処理について説明する。図30は、実施の形態6にかかる署名生成装置110による署名生成処理の手順を示すフローチャートである。
【0222】
署名生成装置2900は、乱数発生器304によって乱数r’∈Zqkを生成し(ステップS3001)、拘束情報演算部2901によって、この乱数r’を使用して、拘束情報a’kを実施の形態1と同様の(8)式により算出する(ステップS3002)。そして、拘束情報演算部2901によって、算出された拘束情報a’kと乱数r’の組をメモリ307に保存しておく(ステップS3003)。なお、拘束情報a’kと乱数r’は複数の組が算出され、メモリ307に保存される。
【0223】
そして、署名要求装置100から署名生成依頼を受信すると(ステップS3004)、入出力部303は、メモリ307から拘束情報a’kと乱数r’の組を読み出す(ステップS3005)。そして、入出力部303は、読み出した拘束情報a’kを署名要求装置100に送信し(ステップS3006)、署名要求装置100からブラインド化されたリング情報c’kを受信するまで待機状態となる。
【0224】
これ以降の処理は、実施の形態1における署名生成処理(ステップS905〜S907)と同様に行われる。
【0225】
このように実施の形態6にかかる署名システムでは、署名生成装置2900が予め拘束情報を計算してメモリに保持しておき、署名要求装置100から署名生成依頼を受信した場合、メモリに保持されている拘束情報を署名要求装置に送信することで、署名生成装置2900における署名生成処理の効率化を図ることができる。
【0226】
実施の形態1〜6の署名生成装置、署名要求装置、署名検証装置、実施の形態2の攪乱除去装置は、CPUなどの制御装置と、演算器と、ROM(Read Only Memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。ここで、演算器は、暗号化処理や復号化処理などにおいて多倍長の演算を実行する部分であり、具体的には四則演算、排他的論理和の計算、ビット連結・分割,ビットの比較などを行う。
【0227】
実施の形態1〜6の署名生成装置で実行される署名生成プログラム、実施の形態1〜6の署名要求装置で実行される署名要求プログラム、実施の形態1〜6の署名検証装置で実行される署名検証プログラム、実施の形態2の攪乱除去装置で実行される攪乱除去プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【0228】
また、実施の形態1〜6の署名生成装置で実行される署名生成プログラム、実施の形態1〜6の署名要求装置で実行される署名要求プログラム、実施の形態1〜6の署名検証装置で実行される署名検証プログラム、実施の形態2の攪乱除去装置で実行される攪乱除去プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の〜装置で実行される〜プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0229】
また、実施の形態1〜6の署名生成装置で実行される署名生成プログラム、実施の形態1〜6の署名要求装置で実行される署名要求プログラム、実施の形態1〜6の署名検証装置で実行される署名検証プログラム、実施の形態2の攪乱除去装置で実行される攪乱除去プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0230】
実施の形態1〜6の署名生成装置で実行される署名生成プログラム、実施の形態1〜6の署名要求装置で実行される署名要求プログラム、実施の形態1〜6の署名検証装置で実行される署名検証プログラム、実施の形態2の攪乱除去装置で実行される攪乱除去プログラムは、上述した各部(署名要求装置:ダミー署名者選択部、整列部、関数演算部、公開鍵演算部、リング情報演算部、リング情報ブラインド部、署名情報ブラインド除去部、入出力部、ブラインド情報暗号化部、署名生成装置:拘束情報演算部、署名演算部、入出力部、署名検証装置:関数演算部、リング情報演算部、検証部、公開鍵演算部、入出力部、攪乱除去装置:復号演算部、ブラインド除去部と、入出力部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体から各プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
【0231】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【図面の簡単な説明】
【0232】
【図1】実施の形態1にかかる署名システムのネットワーク構成を示す説明図である。
【図2】実施の形態1にかかる署名要求装置の機能的構成を示すブロック図である。
【図3】実施の形態1にかかる署名生成装置の機能的構成を示すブロック図である。
【図4】実施の形態1にかかる署名検証装置の機能的構成を示すブロック図である。
【図5】実施の形態1にかかる署名システムにおけるブラインド署名の全体処理の手順を示すフローチャートである。
【図6】実施の形態1にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図7】実施の形態1にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図8】実施の形態1にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図9】実施の形態1にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【図10】実施の形態1にかかる署名検証装置による署名検証処理の手順を示すフローチャートである。
【図11】実施の形態2にかかる署名システムのネットワーク構成を示す説明図である。
【図12】実施の形態2にかかる署名要求装置の機能的構成を示すブロック図である。
【図13】実施の形態2にかかる攪乱除去装置の機能的構成を示すブロック図である。
【図14】実施の形態2にかかる署名システムにおけるブラインド署名の全体処理の手順を示すフローチャートである。
【図15】実施の形態2にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図16】実施の形態2にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図17】実施の形態2にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【図18】実施の形態2にかかる攪乱除去装置による攪乱除去処理の手順を示すフローチャートである。
【図19】実施の形態3にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図20】実施の形態3にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図21】実施の形態3にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【図22】実施の形態4にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図23】実施の形態4にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図24】実施の形態4にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図25】実施の形態4にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【図26】実施の形態5にかかる署名要求装置の機能的構成を示すブロック図である。
【図27】実施の形態5にかかる署名要求装置で使用する署名者テーブルの内容の一例を示す説明図である。
【図28】実施の形態5にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図29】実施の形態6にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【図30】実施の形態6にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【符号の説明】
【0233】
100,1100,2600 署名要求装置
110,1110,2900 署名生成装置
120 署名検証装置
130 ネットワーク
201 ダミー署名者選択部
202 整列部
203,401 関数演算部
204,403 公開鍵演算部
205,402 リング情報演算部
206 リング情報ブラインド部
207 署名情報ブラインド除去部
208,304 乱数発生器
209,303,404,1303 入出力部
210,405 公開鍵メモリ
211,306 乱数メモリ
212,307,406,1305 メモリ
301,2901 拘束情報演算部
302 署名演算部
305 秘密鍵メモリ
407 検証部407
1120 攪乱除去装置
1201 ブラインド情報暗号化部
1202,1304 鍵メモリ
1301 復号演算部
1302 ブラインド除去部
2601 署名者テーブル

【特許請求の範囲】
【請求項1】
署名対象文書データに対するブラインド署名を生成する署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置であって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、
前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、
前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、
前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、
前記リング情報ブラインド手段によって生成されたブラインド化リング情報を前記署名生成装置に送信する送信手段と、
前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する受信手段と、
前記受信手段によって受信した前記ブラインド化署名情報に前記第1の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去手段と、
前記署名情報ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、
を備えたことを特徴とする署名要求装置。
【請求項2】
前記応答受信手段は、前記署名生成依頼に対する応答として、前記署名生成装置で生成された第3の乱数に基づいて生成された拘束情報を受信し、
前記リング情報演算手段は、前記応答受信手段によって受信した前記拘束情報と前記署名対象文書データと前記署名生成装置の公開情報と前記第1の乱数に基づいて前記署名生成装置に対する前記リング情報の初期値を算出し、前記署名生成装置に対する前記リング情報の初期値と前記署名対象文書データとネットワーク上における前記署名生成装置の総数とに一方向性関数を施して演算された前記署名生成装置に対する前記リング情報を生成し、前記署名生成装置に対応した前記リング情報と前記複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した前記第2の乱数とに基づいた情報と前記署名対象文書データとネットワーク上における前記署名生成装置の総数とに一方向性関数を施して演算された前記ダミー署名生成装置に対する前記リング情報を生成し、
前記リング情報ブラインド手段は、前記リング情報演算手段によって生成された前記署名生成装置に対する前記リング情報と前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成することを特徴とする請求項1に記載の署名要求装置。
【請求項3】
前記応答受信手段は、前記署名生成依頼に対する応答として、前記署名生成装置で生成された複数の第3の乱数に基づいて生成された複数の拘束情報を受信し、
前記リング情報演算手段は、前記受信手段によって受信した前記複数の拘束情報と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した複数の前記第1の乱数に基づいて前記署名生成装置に対する前記リング情報の初期値を算出し、前記署名生成装置に対する前記リング情報の初期値と前記署名対象文書データとネットワーク上における前記署名生成装置の総数とに一方向性関数を施して演算された前記署名生成装置に対する前記リング情報を生成し、前記署名生成装置に対応した前記リング情報と前記複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した複数の前記第2の乱数とに基づいた情報と前記署名対象文書データとネットワーク上における前記署名生成装置の総数とに一方向性関数を施して演算された前記ダミー署名生成装置に対する前記リング情報を生成し、
前記リング情報ブラインド手段は、前記リング情報演算手段によって生成された前記署名生成装置に対する前記リング情報と前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成することを特徴とする請求項1に記載の署名要求装置。
【請求項4】
前記応答受信手段は、前記署名生成依頼に対する応答として、前記署名生成装置で生成された第3の乱数と、前記署名対象文書データの一部である部分情報に基づいて生成された拘束情報を受信し、
前記リング情報演算手段は、前記受信手段によって受信した前記拘束情報と前記署名対象文書データと前記署名生成装置の公開情報と前記第1の乱数と前記部分情報に一方向性関数を施した関数値に基づいて前記署名生成装置に対する前記リング情報の初期値を算出し、前記署名生成装置に対する前記リング情報の初期値と前記署名対象文書データとネットワーク上における前記署名生成装置の総数と前記部分情報に一方向性関数を施して演算された前記署名生成装置に対する前記リング情報を生成し、前記署名生成装置に対応した前記リング情報と前記複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した前記第2の乱数と前記部分情報に基づいた情報と前記署名対象文書データとネットワーク上における前記署名生成装置の総数とに一方向性関数を施して演算された前記ダミー署名生成装置に対する前記リング情報を生成し、
前記リング情報ブラインド手段は、前記リング情報演算手段によって生成された前記署名生成装置に対する前記リング情報と前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成し、
前記出力手段は、前記署名情報ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記部分情報と前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力することを特徴とする請求項1に記載の署名要求装置。
【請求項5】
署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置とにネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置であって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、
前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、
前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、
前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、
前記攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化手段と、
前記リング情報ブラインド手段によって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化手段によって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する送信手段と、
を備えたことを特徴とする署名要求装置。
【請求項6】
ネットワーク上の複数の署名生成装置から前記ダミー署名生成装置となる前記署名生成装置を選択するダミー署名者選択手段と、
前記ダミー署名者選択手段によって選択された前記ダミー署名生成装置をリング状に順序づける整列手段と、をさらに備え、
前記リング情報演算手段は、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データと前記ダミー署名者選択手段によって選択されかつ前記整列手段によってリング状に順序所付けられた複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した前記第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成することを特徴とする請求項1〜5のいずれか一つに記載の署名要求装置。
【請求項7】
前記ダミー署名生成装置となる前記署名生成装置と前記ダミー署名生成装置の順序づけを予め対応付けた署名者情報を記憶する記憶手段をさらに備え、
前記リング情報演算手段は、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データと前記記憶手段に記憶された前記署名者情報に基づいて選択されかつリング状に順序所付けられた複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した前記第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成することを特徴とする請求項1〜5のいずれか一つに記載の署名要求装置。
【請求項8】
署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置とを備えた署名システムであって、
前記署名要求装置は、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、
前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、
前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択された署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、
前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、
前記リング情報ブラインド手段によって生成されたブラインド化リング情報を前記署名生成装置に送信する第1の送信手段と、
前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する第1の受信手段と、
前記第1の受信手段によって受信した前記ブラインド化署名情報に前記第1の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去手段と、
前記署名情報ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、を備え、
前記署名生成装置は、
前記署名要求装置から前記ブラインド化リング情報を受信する第2の受信手段と、
前記第2の受信手段よって受信した前記ブラインド化リング情報と鍵情報と前記署名生成装置で生成した第3の乱数に基づいたブラインド化署名情報を生成する署名演算手段と、
前記署名演算手段によって生成された前記ブラインド化署名情報を、前記署名要求装置に送信する第2の送信手段と、
を備えたことを特徴とする署名システム。
【請求項9】
署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置と、前記署名要求装置と前記署名生成装置にネットワークで接続され、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置を備えた署名システムであって、
前記署名要求装置は、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、
前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、
前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、
前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、
前記攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化手段と、
前記リング情報ブラインド手段によって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化手段によって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する第1の送信手段と、を備え、
前記署名生成装置は、
前記署名要求装置から前記ブラインド化リング情報と前記暗号化ブラインド情報を受信する第2の受信手段と、
前記第2の受信手段よって受信した前記ブラインド化リング情報と鍵情報と前記署名生成装置で生成した第3の乱数に基づいたブラインド化署名情報を生成する署名演算手段と、
前記署名演算手段によって生成された前記ブラインド化署名情報と前記暗号化ブラインド情報を、前記攪乱除去装置に送信する第2の送信手段と、
前記攪乱除去装置は、
前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する第3の受信手段と、
前記第3の受信手段によって受信した前記ブラインド化署名情報に前記第1の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求めるブラインド除去手段と、
前記第3の受信手段によって受信した暗号化ブラインド情報を前記暗号鍵によって復号化する復号演算手段と、
前記ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、
を備えたことを特徴とする署名システム。
【請求項10】
前記署名生成装置は、
前記署名要求装置から署名生成依頼を受信した場合に、前記署名生成装置で生成した前記第3の乱数に基づいた拘束情報を生成する拘束情報生成手段をさらに備え、
前記第2の送信手段は、さらに前記拘束情報生成手段によって生成された前記拘束情報を前記署名要求装置に送信することを特徴とする請求項8または9に記載の署名システム。
【請求項11】
前記拘束情報生成手段は、前記署名要求装置から署名生成依頼と前記署名対象文書データの一部である部分情報を受信した場合に、前記署名生成装置で生成した前記第3の乱数と前記部分情報に基づいた拘束情報を生成することを特徴とする請求項8または9に記載の署名システム。
【請求項12】
前記署名生成装置は、
前記署名生成装置で生成した前記第3の乱数に基づいて予め生成された拘束情報と前記第3の乱数とを対応付けて記憶する拘束情報記憶手段をさらに備え、
前記第2の送信手段は、さらに、前記署名要求装置から署名生成依頼を受信した場合に、前記拘束情報記憶手段に記憶された前記拘束情報を前記署名要求装置に送信することを特徴とする請求項8または9に記載の署名システム。
【請求項13】
署名対象文書データに対するブラインド署名を生成する署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求方法であって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼ステップと、
前記署名生成依頼ステップによって送信した前記署名生成依頼に対する応答を受信する応答受信ステップと、
前記応答受信ステップによって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算ステップと、
前記リング情報演算ステップによって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインドステップと、
前記リング情報ブラインドステップによって生成されたブラインド化リング情報を前記署名生成装置に送信する送信ステップと、
前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する受信ステップと、
前記受信ステップによって受信した前記ブラインド化署名情報に前記第1の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去ステップと、
前記署名情報ブラインド除去ステップにより求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力ステップと、
を含むことを特徴とする署名要求方法。
【請求項14】
署名対象文書データに対するブラインド署名を生成する署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求方法であって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼ステップと、
前記署名生成依頼ステップによって送信した前記署名生成依頼に対する応答を受信する応答受信ステップと、
前記応答受信ステップによって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算ステップと、
前記リング情報演算ステップによって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインドステップと、
ネットワークで接続され、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化ステップと、
前記リング情報ブラインドステップによって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化ステップによって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する送信ステップと、
を含むことを特徴とする署名要求方法。
【請求項15】
署名対象文書データに対するブラインド署名を生成する署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求プログラムであって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手順と、
前記署名生成依頼手順によって送信した前記署名生成依頼に対する応答を受信する応答受信手順と、
前記応答受信手順によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手順と、
前記リング情報演算手順によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手順と、
前記リング情報ブラインド手順によって生成されたブラインド化リング情報を前記署名生成装置に送信する送信手順と、
前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する受信手順と、
前記受信手順によって受信した前記ブラインド化署名情報に前記第1の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去手順と、
前記署名情報ブラインド除去手順により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手順と、
をコンピュータに実行させる署名要求プログラム。
【請求項16】
署名対象文書データに対するブラインド署名を生成する署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求プログラムであって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手順と、
前記署名生成依頼手順によって送信した前記署名生成依頼に対する応答を受信する応答受信手順と、
前記応答受信手順によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第1の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第2の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手順と、
前記リング情報演算手順によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第1の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手順と、
ネットワークで接続され、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化手順と、
前記リング情報ブラインド手順によって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化手順によって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する送信手順と、
をコンピュータに実行させる署名要求プログラム。

【図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

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate


【公開番号】特開2006−101225(P2006−101225A)
【公開日】平成18年4月13日(2006.4.13)
【国際特許分類】
【出願番号】特願2004−285244(P2004−285244)
【出願日】平成16年9月29日(2004.9.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】