(57)【要約】  本発明は、署名されるメッセージ（Ｍ）のためのリスト署名を生成する方法に関し、その方法は、リストのメンバーの電子式ハードウェアサポート（７）によって実行されるステップを有する。前記ステップにおいて、電子式ハードウェアサポートは、認証機関によって電子式ハードウェアサポートに提供されるシーケンス番号（ＲＥＰＳＥＱ）と、メンバーのリストに所属することの証拠（ＳＫＬ）と、電子式ハードウェアサポートに関連するデータ（Ｉｄｉ，ＳＫｉ）と、任意的に、生成された署名の匿名性を解除する資格を与えられた機関の鍵とに基づいて、電子署名（Ｓｉ）を生成するのみである。【選択図】図３
2007538443.tif 000002
【特許請求の範囲】
【請求項１】
署名されるメッセージ（Ｍ）に関するリスト署名を生成する方法であって、
リストのメンバーの電子式ハードウェアサポート（７）によって実行され、前記電子式ハードウェアサポートが、前記署名されるメッセージから電子署名（Ｓｉ）を生成し、前記生成された署名を送出するステップを有し、
前記電子署名（Ｓｉ）は、
前記署名されるメッセージと、
認証機関によって前記電子式ハードウェアサポートに提供されるシーケンス番号（ＲＥＰＳＥＱ）と、
メンバーの前記リストに所属することの証拠（ＳＫＬ）と、
前記電子式ハードウェアサポートに固有のデータ（Ｉｄｉ，ＳＫｉ）と、
任意的に、前記生成された署名の匿名性を解除する資格を与えられた機関の鍵（ＰＫＭＯ）と
に基づいて、生成されるのみである
ことを特徴とするリスト署名を生成する方法。
【請求項２】
前記電子式ハードウェアサポート（７）が前記シーケンス番号（ＲＥＰＳＥＱ）に基づいて、前記電子署名（Ｓｉ）を生成するために用いられる擬似乱数（Ｒｉ）を生成するステップを有し、
前記生成された擬似乱数は、前記シーケンス番号と前記電子式ハードウェアサポートに固有のデータとに基づいて変わるのみである
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記擬似乱数（Ｒｉ）の前記生成は、前記電子式ハードウェアサポート（７）に記憶され且つ前記電子式ハードウェアサポート（７）に固有である秘密鍵（ＳＫｉ）を用いて、暗号化関数によって実行されることを特徴とする請求項２に記載の方法。
【請求項４】
前記シーケンス番号（ＲＥＰＳＥＱ）から生成された前記擬似乱数（Ｒｉ）は、前記生成された電子署名（Ｓｉ）と共に送出されることを特徴とする請求項２又は３に記載の方法。
【請求項５】
メンバーの前記リストに所属することの前記証拠は、前記リストの前記メンバーに共通の秘密鍵（ＳＫＬ）を知っていることから構成されることを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記電子式ハードウェアサポート（７）が、前記電子署名（Ｓｉ）を生成するために用いられる暗号化された識別子（Ｃｉ）を取得するために、前記生成された署名の匿名性を解除する資格を与えられた前記機関の前記鍵（ＰＫＭＯ）による暗号アルゴリズムを用いて、前記電子式ハードウェアサポートに記憶され、前記電子式ハードウェアサポートを有する前記メンバー（ｉ）を特定する識別コード（Ｉｄｉ）を、暗号化するステップをさらに有することを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
前記シーケンス番号（ＲＥＰＳＥＱ）から生成された擬似乱数（Ｒｉ）は、前記メンバー識別コード（Ｉｄｉ）を暗号化するために用いられることを特徴とする請求項６に記載の方法。
【請求項８】
前記暗号化された識別子（Ｃｉ）は、前記生成された電子署名（Ｓｉ）と共に送出されることを特徴とする請求項６又は７に記載の方法。
【請求項９】
前記電子式ハードウェアサポート（７）は、前記シーケンス番号の署名に関連付けられた前記シーケンス番号（ＲＥＰＳＥＱ）を受信し、認証機関に代わって、前記シーケンス番号の前記署名を検証し、前記シーケンス番号に関連付けられた前記署名が正しくない場合には新たな署名を生成することを拒否することを特徴とする請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
前記電子式ハードウェアサポート（７）は、以前に送出された署名の数が、許可された署名の最大数以下である場合に、署名を生成することを特徴とする請求項１乃至９のいずれか１項に記載の方法。
【請求項１１】
送出された署名の前記最大数は、シーケンス番号（ＲＥＰＳＥＱ）の変更時に、リセットされることを特徴とする請求項１０に記載の方法。
【請求項１２】
組織機関が、投票に要求されるパラメータの生成を進め、投票を暗号解読し検証するために用いられる鍵を投票検査人に割り当てる、選挙を準備する段階（５０）と、
各投票者に署名権を割り当てる段階と、
前記投票者が投票に署名する投票段階（６０）と、
前記投票検査人が前記投票を検証し、暗号解読された有効な前記投票の内容に基づいて、前記投票の結果を計算する集計段階（７０）と
を有する電子投票方法であって、
投票に署名するために、請求項１０又は１１に記載のリスト署名方法を適用し、
各投票者がリストのメンバーとして登録されており、
シーケンス番号（ＲＥＰＳＥＱ）は前記投票のために生成され、
許可された署名の前記最大数が１である
ことを特徴とする電子投票方法。
【請求項１３】
請求項１乃至１２のいずれか１項に記載の方法を適用する手段を有することを特徴とする電子式ハードウェアサポート。
【請求項１４】
暗号マイクロプロセッサカード（７）であることを特徴とする請求項１３に記載の電子式ハードウェアサポート。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号技術を必要とするメッセージ電子署名の分野に関する。
【背景技術】
【０００２】
本発明は、特に、投票、調査、及び入札の電子式サービス、又は、匿名の競争のあらゆる形態に適用されるが、適用はこれらに限定されない。また、本発明は、アクセスチケット（入場切符）によって、輸送サービスや映画サービスのような支払いサービスへのアクセス（入場）を制御することにも適用され、ユーザによる限られた回数だけサービスへのアクセスを許可する。アクセス回数が制限値に達すると直ちに、彼／彼女は、彼／彼女のチケットを使用することが、もはやできなくなるべきである。この種の使用においては、ユーザのアイデンティティ（身元、ｉｄｅｎｔｉｔｙ）を知ることは必要ではない。彼／彼女にとっては、アクセス中に、彼／彼女がアクセス権を有することを証明することができれば十分である。
【０００３】
電子署名は、いわゆる非対称鍵暗号すなわち公開鍵（パブリックキー）暗号の部類に入るメカニズムである。このメカニズムにおいては、署名者は、秘密鍵すなわち私有鍵（プライベート鍵）と、関連付けられた公開鍵とを持っている。彼／彼女は、彼／彼女の秘密鍵を用いて、それに暗号アルゴリズムを適用することによって、メッセージの署名を生成する。検証者は、対応する公開鍵を用いる同じ暗号アルゴリズムを適用することによって、署名を検証することができる。
【０００４】
グループ署名の概念も提案されている。それは、適切な公開鍵を持つ検証者が、署名者のアイデンティティを判定することができなくても、その署名がそのグループのメンバーによって送出されたことを検証することができるように、グループの各メンバーに、署名を生成することを許可する。この概念は、例えば、以下の文献に記述されている。
【０００５】
【非特許文献１】「ア  プラクティカル  アンド  プロバブリー  セキュア  コアリション・レジスタント  グループ  シグネチャ  スキーム（Ａ  Ｐｒａｃｔｉｃａｌ  ａｎｄ  Ｐｒｏｖａｂｌｙ  Ｓｅｃｕｒｅ  Ｃｏａｌｉｔｉｏｎ−Ｒｅｓｉｓｔａｎｔ  Ｇｒｏｕｐ  Ｓｉｇｎａｔｕｒｅ  Ｓｃｈｅｍｅ）」、  ジー・アテニエーゼ（Ｇ．  Ａｔｅｎｉｅｓｅ）、ジェイ・カメニッシュ（Ｊ．  Ｃａｍｅｎｉｓｃｈ）、エム・ジョイ（Ｍ．  Ｊｏｙｅ）、及びジー・ツディック（Ｇ．  Ｔｓｕｄｉｋ）、  エム・ベラーレ（Ｍ．  Ｂｅｌｌａｒｅ）監修者（Ｅｄｉｔｏｒ）、  アドバンス・イン・クリプトロジー（Ａｄｖａｎｃｅ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ）、  ＣＲＹＰＴＯ２０００、  Ｖｏｌ．１８８０  ＬＮＣＳ、  ｐ．２５５−２７０、  シュプリンガー・フェアラーク（Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ）  ２０００．
【非特許文献２】「イフィシエント  グループ  シグネチャ  スキーム  フォー  ラージ  グループス（Ｅｆｆｉｃｅｉｅｎｔ  Ｇｒｏｕｐ  Ｓｉｇｎａｔｕｒｅ  Ｓｃｈｅｍｅ  ｆｏｒ  Ｌａｒｇｅ  Ｇｒｏｕｐｓ）、  ジェイ・カメニッシュ（Ｊ．  Ｃａｍｅｎｉｓｃｈ）及びエム・スタッドラー（Ｍ．  Ｓｔａｄｌｅｒ）、  ビー・カリシ（Ｂ．  Ｋａｌｉｓｈｉ）監修者（Ｅｄｉｔｏｒｓ）、  アドバンス・イン・クリプトロジー（Ａｄｖａｎｃｅ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ）、  ＥＵＲＯＣＲＹＰＴ’９７、  Ｖｏｌ．１２９４  ＬＮＣＳ、  ｐ．４１０−４２４、  シュプリンガー・フェアラーク（Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ）  １９９７．
【０００６】
グループ署名の概念の根底にある一般原理は、グループの各メンバーを、共通の困難な課題に対する明確なソリューション（解決法）に関連付けることである。このソリューションは、彼／彼女の登録時に、グループの新メンバーの各々に、権限を有する認証機関によって付与される。彼／彼女の登録の間、メンバーは、この困難な課題に対する彼／彼女自身のソリューションを取得するために、彼／彼女に固有である署名プライベート鍵を計算し、認証機関と相互に影響し合う。メンバーと認証機関は、メンバーのプライベート鍵に強く関連し、ときとしてメンバーに知られている課題のソリューションと関連する、メンバー証明書をも算出する。グループを代表してメッセージに署名するために、メンバーは、彼／彼女の証明書を認証機関の公開暗号鍵を用いて暗号化し、彼／彼女がグループメンバーのプライベート鍵、困難な課題に対するソリューション、及び暗号文に含まれた平文に関連付けられたメンバー証明書（グループに所属することの証拠）を知っていることを証明する。ここでの基礎は、暗号法であり、特に、グループ署名の望ましい特性を取得するために、知っていることの証拠（ｅｖｉｄｅｎｃｅ  ｏｆ  ｋｎｏｗｌｅｄｇｅ）である。グループ署名の検証は、知っていることの証拠を検証することから構成される。署名を開くこと（ｏｐｅｎｉｎｇ）は、証明書を解読（復号）することから構成されるのみである。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、このグループ署名の概念においては、認証機関は、いかなるときにも、署名者の匿名性を解除することができ、すなわち、署名を送出したグループの人のアイデンティティを判定することができる。また、このタイプの署名は、「ノン・リンカブル（ｎｏｎ−ｌｉｎｋａｂｌｅ）」と呼ばれている。すなわち、このタイプの署名は、署名の匿名性を解除すること無く、２つの署名が同じ人によって送出されたか否かのいかなる判定も許可しない。したがって、グループ署名の概念は、電子投票にあまり適していない。
【０００８】
また、リスト電子署名と呼ばれるものもある。リスト電子署名は、メンバーのアイデンティティを判定することができなくても、署名がリストのメンバーによって生成されたということを、検証者が認識することができるように、署名を生成することを、リストのメンバーに許可する。例えば、本出願人によって出願された特許出願ＦＲ２８４２６８０に記述されているリスト署名の概念によれば、時間は、予め決められた有効期間を付されたシーケンスの代表によって特徴付けられた複数のシーケンスに分割される。あるシーケンスの間、リストの各メンバーは、署名者のアイデンティティにアクセスすることができなくても、検証者が２つの署名がリストの同じメンバーによって送出されたものであるか否かを判定することができるような署名を生成する権限を与えられている。このように、もしもリストのメンバーが同じシーケンスの期間中に２つの署名を生成したならば、署名者のアイデンティティを判定することができなくても、これを検出することができる。
【０００９】
リスト署名は、このように電子投票や電子調査に非常に適している。なぜなら、各投票者が、彼／彼女の匿名性を保証する彼／彼女の投票のリスト署名を生成することができ、一方、同じ所定の選挙（シーケンス）の期間中に同じ人によって送出された投票を検出することができるからである。また、リスト署名は、例えば、交通機関の乗車券や映画のチケットのようなアクセスチケットにも非常に適している。なぜなら、ユーザは、彼／彼女が権利を与えられたアクセスの毎に、彼／彼女の匿名性を保証するリスト署名を生成することができ、一方、支払われた金額に応じたある回数だけ彼／彼女にサービスにアクセスする権限を付与するように、あるシーケンスの期間中に既に送出された署名の数を判定できるからである。しかし、あるリスト署名は、「オープナブル（ｏｐｅｎａｂｌｅ）」と呼ばれており、これは、認証機関が、署名から署名者のアイデンティティを判定できるということである。
【００１０】
より具体的に言えば、リストの各メンバーは、彼／彼女がリストに登録されている期間中に、プライベート鍵を計算し、認証機関からリストのメンバーの証明、及び困難な課題に対するソリューションを取得する。リスト署名の概念は、匿名性が解除されることを許可しておらず、署名を生成するときにおけるいかなる暗号化も含まない。あるシーケンスの開始時に、認証機関は、シーケンスの期間中、唯一有効となるシーケンスの代表を生成する。署名の生成の際、リストのメンバーは、グループ署名の場合と同様、彼／彼女が、プライベート鍵、困難な課題に対するソリューション、及びリストのメンバーであることの証明を知っていることの証拠を提供する。彼／彼女はまた、冪指数がプライベート鍵である、シーケンスの代表の冪（累乗）をも計算する。シーケンスの代表とプライベート鍵はこのシーケンスのために設定されているので、あるシーケンスの期間中、リストの同じメンバーによって生成された２つの署名をリンクさせることが可能である。したがって、同じシーケンスの期間中に、リストの各メンバーによって送出された署名の数を数えることができる。
【００１１】
これらの概念のすべての主要な問題点は、これらは膨大な計算を必要とすることに起因する。実際に、生成された署名の各々に対して、多くのモジュラ冪法（ｍｏｄｕｌａｒ  ｅｘｐｏｎｅｎｔｉａｔｉｏｎ）を適用する、複数個の知っていることの証拠を生成することが必要であり、計算、特に乱数を発生させるのに多くの時間を要する。暗号処理プロセッサを備えたチップカードは、モジュラ冪ごとに約１秒を要する。
【００１２】
計算時間の費用の問題に対する解決策は、本出願人によって出願された特許出願ＦＲ２８４２６８０において、グループ署名のために提案されている。チップカード（暗号処理プロセッサ）を適用することから成るこの解決策は、グループ署名の問題点、すなわち、あるメンバーによって送出された署名を、署名の匿名性を解除することなく、リンクさせることができないという問題点を有する。
【課題を解決するための手段】
【００１３】
本発明の目的は、これらの欠点を軽減することにある。本発明の目的は、署名されるメッセージに関するリスト署名を生成する方法であって、リストのメンバーの電子式ハードウェアサポートによって実行され、前記電子式ハードウェアサポートが、前記署名されるメッセージから電子署名を生成し、前記生成された署名を送出するステップを有する方法を提供することによって達成される。本発明によれば、前記電子署名は、前記署名されるメッセージと、認証機関によって前記電子式ハードウェアサポートに提供されるシーケンス番号と、メンバーの前記リストに所属することの証拠と、前記電子式ハードウェアサポートに固有のデータと、任意的に（オプションとして）前記生成された署名の匿名性を解除する資格を与えられた機関からの鍵とに基づいて生成されるのみである。
【００１４】
本発明の一実施形態によれば、前記電子式ハードウェアサポートは、前記シーケンス番号に基づいて、前記電子署名を生成するために用いられる擬似乱数を生成し、前記生成された擬似乱数は、前記シーケンス番号と前記電子式ハードウェアサポートに固有のデータとに基づいて変わるのみである。
【００１５】
本発明の一実施形態によれば、前記擬似乱数の生成は、前記電子式ハードウェアサポートに記憶され且つ前記電子式ハードウェアサポートに固有である秘密鍵を用いて、暗号化関数によって実行される。
【００１６】
本発明の一実施形態によれば、前記シーケンス番号から生成された前記擬似乱数は、前記生成された電子署名と共に送出される。
【００１７】
本発明の一実施形態によれば、メンバーの前記リストに所属することの前記証拠は、前記リストの前記メンバーに共通の秘密鍵を知っていることから構成される。
【００１８】
本発明の一実施形態によれば、前記電子式ハードウェアサポートは、前記電子署名を生成するために用いられる暗号化された識別子を取得するために、前記生成された署名の匿名性を解除する資格を与えられた前記機関の前記鍵による暗号アルゴリズムを用いて、前記電子式ハードウェアサポートに記憶され、前記電子式ハードウェアサポートを有する前記メンバーを特定する識別コードを、暗号化する。
【００１９】
本発明の一実施形態によれば、前記シーケンス番号から生成された擬似乱数は、前記メンバー識別コードを暗号化するために用いられる。
【００２０】
前記暗号化された識別子は、前記生成された電子署名と共に送出されることが望ましい。
【００２１】
本発明の一実施形態によれば、前記電子式ハードウェアサポートは、認証機関に代わって、前記シーケンス番号の署名に関連付けられた前記シーケンス番号を受信し、前記シーケンス番号の前記署名を検証し、前記シーケンス番号に関連付けられた前記署名が正しくない場合には新たな署名を生成することを拒否する。
【００２２】
本発明の一実施形態によれば、前記電子式ハードウェアサポートは、以前に送出された署名の数が、許可された署名の最大数以下である場合に、署名を生成する。
【００２３】
本発明の一実施形態によれば、送出された署名の前記最大数は、シーケンス番号の変更時に、リセットされる。
【００２４】
本発明は、また、組織機関が、投票に要求されるパラメータの生成を進め、投票が暗号解読され検証され得るようにするために用いられる鍵を投票検査人に割り当てる、選挙を準備する段階と、各投票者に署名権を割り当てる段階と、前記投票者が投票に署名する投票段階と、前記投票検査人が前記投票を検証し、前記暗号解読された有効な投票用紙の内容に基づいて、前記投票の結果を計算する集計段階とを有する電子投票方法に関する。
【００２５】
本発明によれば、その方法は、投票に署名するために、以上に定義された一つのリスト署名方法を適用し、各投票者がリストのメンバーとして登録されており、シーケンス番号が前記投票のために生成され、許可された署名の最大数が１である。
【００２６】
本発明は、また、以上に定義された方法を適用する手段を有する電子式ハードウェアサポートに関する。
【００２７】
本発明の一実施形態によれば、電子式ハードウェアサポートは、暗号マイクロプロセッサカードである。
【発明を実施するための最良の形態】
【００２８】
本発明の好ましい実施形態を、非限定的な例として、添付の図面を参照して、以下に説明する。
図１は、本発明に係るリスト署名方法及び電子投票方法を適用するシステムを示す図であり、
図２は、本発明に係る方法にしたがってリスト署名を生成するために用いられることができるチップカードの機能的構成要素を概略的に示す図であり、
図３は、図２に示されるチップカードによって、“ノンオープナブル”（ｎｏｎ−ｏｐｅｎａｂｌｅ、“オープナブル”ではない）であるが実行可能な、本発明に係るリスト署名手順をフローチャートとして示す図であり、
図４及び図５は、図２に示されるチップカードによって“オープナブル”（ｏｐｅｎａｂｌｅ）であり実行可能な、本発明に係るリスト署名手順をフローチャートとして示す図であり、
図６は、図２に示されるチップカードによって実行可能な、本発明に係るリスト署名手順の他の変形例を、フローチャートとして示す図であり、
図７から図９までは、本発明に係るリスト署名方法を電子投票に適用した場合をフローチャートとして示す図である。
【００２９】
本発明は、権限を与えられたすべての人、すなわち、リストに所属するすべての人が、匿名の署名を生成することができ、その署名の有効性を、署名を送出したリストのメンバーのアイデンティティ（ｉｄｅｎｔｉｔｙ）にアクセスせずに、誰もが検証できる、リスト署名方法を提案する。
【００３０】
そのような方法は、図１に示されるシステムにおいて適用されることができる。このシステムは、ユーザが利用できるようにされており、インターネットネットワークのようなデジタルデータ伝送ネットワーク５に接続されている端末２を有している。各端末は、チップカード７のような電子式ハードウェアサポートを読み取る装置８に好都合に接続される。ネットワーク５を通して、ユーザは、例えば、データベース４に格納された情報へのアクセスを許すサーバ６に接続することができる。このシステムは、特にチップカード７をユーザに届ける認証機関のコンピュータ１をも有している。
【００３１】
また、本発明に係るシステムは、例えば、上記特許出願ＦＲ２８３４４０３に記載されているように、グループ署名を置くことに基づいているが、それにもかかわらず、対称暗号アルゴリズム又は非対称暗号アルゴリズムを用いていることに基づいている。
【００３２】
グループに対して責任を負う認証機関は、選択されたグループ署名を置くために要求される鍵とパラメータのすべてを生成し、ディレクトリ（例えば、データベース４）の中に、これらの要素の内の、すべての公開の要素を置く。
【００３３】
このグループに所属するために、各メンバーは、認証機関から、例えば、図２に示される機能的アーキテクチャ（構成）を有するチップカード７を受け取っている。このアーキテクチャは、
・内部機能の処理及びカードのメモリに記憶されたアプリケーションプログラムの実行を提供し、暗号計算を実行する最適化された暗号プロセッサを有することができる、マイクロプロセッサ１１と、
・プロセッサ１１が、一時データ、例えば、暗号計算の中間結果を、記録することができる、読取り及び書込みが可能なランダムアクセスメモリ１４、
例えば、再プログラム可能なタイプ（ＥＥＰＲＯＭ）であり、カスタマイズされたデータ及びアプリケーションプログラムのように、カードの製造後のデータ長期保存が可能なリードオンリーメモリ１３、及び、
チップカードの製造中に変更されないデータを用いてプログラムされ、特にチップカードの内部処理プログラム及び場合によっては暗号データが記憶される、ＲＯＭタイプのリードオンリーメモリ１５
を含むメモリ１２と、
・そこを通して、カードが適切なチップカードリーダ８とデータを交換する通信インターフェース１６と、
・それによって、前記構成要素が互いに接続される内部バス１７と
を有している。
【００３４】
チップカード７は、特に、ＲＯＭメモリ１５に記憶されているあるデータに、外部からアクセスさせないための保護がなされることが望ましい。また、本発明に係るリスト署名方法を適用するために、カードのメモリ１２は、グループ署名を生成する手段と、擬似乱数を生成する手段とを含む。グループ署名を生成する手段は、署名アルゴリズムと、メンバーｉの識別子Ｉｄｉと、リストのすべてのメンバーに共通であるリスト署名秘密鍵ＳＫＬと、チップカードに知られているだけであり、それに固有である秘密鍵ＳＫｉとを用いることによって生成される。
【００３５】
もしも生成されたリスト署名が、匿名性を解除する資格を与えられた機関によって開けられる（オープンする）ことができる必要があるならば、対称暗号アルゴリズム又は非対称暗号アルゴリズムが用いられる。このアルゴリズムは、暗号化されるメッセージと、必要に応じて、アルゴリズムが実行される度に、同じメッセージの異なる暗号文を生成するように、アルゴリズムが実行される度に異なる疑似乱数、例えば、擬似乱数Ｒｉとを、入力とする。一方、もしも擬似乱数が変わらないならば、同じメッセージのために取得された暗号文は、常に同じである。
【００３６】
また、認証機関は、所定の期間の連続したシーケンスを管理する。認証機関は、所定期間の各々において、それ以前に生成されたどのシーケンス番号とも異なり、リストのすべてのメンバーに共通であるべきである固有のシーケンス番号ＲＥＰＳＥＱをランダムに生成する。また、この番号は、認証機関によって署名されることがさらに望ましい。
【００３７】
シーケンス番号は、例えば、認証機関が、ハッシュ関数、例えば、ＳＨＡ−１関数によって圧縮を計算し、例えば、ＰＫＣＳ＃１のｖ２．１規格のＯＳ２ＩＰ関数を適用することによって、その結果をフォーマットするために、ランダムに生成された要素から得られる。
【００３８】
リストの代表としてメッセージＭに署名するため、リストのメンバーは、認証機関からそのメンバーに渡されたチップカード７を用いる。チップカードは、端末２とチップカード読取装置８を介して、署名されるメッセージＭとシーケンス番号ＲＥＰＳＥＱを入力として受信する。
【００３９】
その後、チップカードは、図３に示されるリスト署名の手順を実行する。この手順は、擬似乱数生成関数ＰＲＮＧにより、チップカードに応じた擬似乱数Ｒｉを生成することと、有効にされている間にシーケンス番号ＲＥＰＳＥＱを入力とし受信することとを有し、この入力データは、前記擬似乱数生成関数の「シード（ｓｅｅｄ）」として用いられる。
【００４０】
生成された擬似乱数Ｒｉがカードに依存するようにするために、リストのメンバーの２つの異なるカードが、同じシーケンス番号ＲＥＰＳＥＱから２つの異なる擬似乱数を必ず生成するような関数が選ばれる。典型的には、関数ＰＲＮＧは、リストのメンバーに渡されたどのチップカードに対しても一般的な関数であり、また、それはチップカード７に固有の秘密鍵ＳＫｉをシードとして受け取る。
【００４１】
チップカードによって実行されるリスト署名の手順は、そのとき、グループ署名アルゴリズムの実行を含む。このアルゴリズムは、例えば、署名されるメッセージＭを取得された擬似乱数Ｒｉに連結することと、従来の署名関数Ｓｉｇｎをチップカードに記憶されたリスト署名の秘密鍵ＳＫＬを用いることによって得られた値に適用することとから構成される。チップカードによって出力時に届けられた署名Ｓは、署名関数Ｓｉｇｎによって与えられた署名値Ｓｉが連結された擬似乱数Ｒｉを含む。
【００４２】
この手順によって適用される署名アルゴリズムは、以下の式にまとめることができる。
Ｒｉ＝ＰＲＮＧ（ＳＫｉ，ＲＥＰＳＥＱ）                  （１）
Ｓｉ＝Ｓｉｇｎ（ＳＫＬ，Ｒｉ‖Ｍ）                      （２）
Ｓ  ＝Ｒｉ‖Ｓｉ                                        （３）
記号‖は、連結（ｃｏｎｃａｔｅｎａｔｉｏｎ）演算子である。
【００４３】
例えば、関数ＰＲＮＧは、例えばＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）タイプの従来の暗号化関数を用いて、又は、代わりに、シーケンス番号ＲＥＰＳＥＱを“ＳＫｉモジュロｎ”乗するモジュラ累乗（ｍｏｄｕｌａｒ  ｅｘｐｏｎｅｎｔｉａｔｉｏｎ）（すなわち、シーケンス番号ＲＥＰＳＥＱを基数（底）とし、“ＳＫｉモジュロｎ”を冪指数としたときの、冪（累乗）を算出するモジュラ累乗）を用いて、生成される。
【００４４】
選択された関数Ｓｉｇｎは、例えば、ＲＳＡ（Ｒｉｖｅｓｔ，Ｓｈａｍｉｒ，Ａｄｌｅｍａｎ）タイプである。このＲＳＡタイプは、値Ｒｉ‖Ｍで得られた値を“ＳＫｉモジュロｎ”乗すること（すなわち、値Ｒｉ‖Ｍで得られた値を基数とし、（ＳＫｉ  ｍｏｄｕｌｏ  ｎ）を冪指数としたときの、冪（累乗）を算出すること）によるＲｉ‖Ｍの変換で構成される。値Ｒｉ‖Ｍのフォーマットを許可する変換は、例えば、ＰＫＣＳ＃１のｖ２．１規格において提供されるように、文字列を正の整数に変換するＯＳ２ＩＰ関数である。
【００４５】
署名Ｓを確認するには、それを上記例におけるグループ署名検証手順に適用すれば十分である。グループ署名検証手順は、得られた値を文字列に変換するため（ＰＫＣＳ＃１規格のＩ２ＯＳＰ関数）、署名Ｓｉを“ＳＫｉモジュロｎ”乗して（すなわち、署名Ｓｉを基数とし“ＳＫｉモジュロｎ”を冪指数としたときの、冪（累乗）算出して）、得られた値を変換するステップと、得られた変換値を、署名されたメッセージＭと比較するステップとを含む。署名の検証は、当然、署名Ｓｉと関連付けられた値Ｒｉが、署名においてメッセージＭと関連づけられた値Ｒｉと一致することの検証も含む。
【００４６】
同じシーケンス番号ＲＥＰＳＥＱを用いて生成された２つの署名が、リストの同じメンバーから送出されたか否かを確認するために、署名Ｓにおいてメッセージの署名Ｓｉに関連付けられた番号Ｒｉを比較すれば十分である。これらの番号Ｒｉは、同じシーケンス番号のために同じチップカードによって送出された両方の署名Ｓにおいて同一である。
【００４７】
署名Ｓｉの検証を可能にするリスト鍵を持たない人でさえも、同じシーケンスのための同じチップカードによって送出された２つの署名をリンクさせることができることが要求されている場合を除いて、番号Ｒｉは生成された署名Ｓｉの中に現れるので、番号Ｒｉを署名Ｓｉに添えて送出する必要はない。
【００４８】
今説明した手順は、いわゆる“ノンオープナブル”署名を生成する。すなわち、必要な権限を有する機関でさえも、得られたリスト署名Ｓの匿名性を解除することは不可能である。署名が“オープナブル”であることが要望される場合には、チップカード７は、図４に示されるリスト署名手順を実行する。
【００４９】
図３に基づく上述の手順と比較すると、この手順は、カードを有するリストのメンバーｉが特定されることができる要素Ｉｄｉに、暗号化関数Ｅｎｃを適用することを含む。この要素は、識別子、又は、この証明書の一部とメンバーの実際のアイデンティティとの間のリンクを知っている認証機関によって届けられた証明書の一部から構成される。この暗号化は、リストのメンバーによって送出された署名の匿名性を解除する資格を与えられた機関に所属するプライベート解読鍵ＳＫＭＯに関係付けられた、公開暗号化鍵ＰＫＭＯを用いる。この暗号化の結果Ｃｉは、“ノンオープナブル”なリスト署名手順におけるのと同様にして得られた擬似乱数Ｒｉに連結される。この連結を用いることにより、署名の以前にメッセージＭが連結され、場合によっては得られた署名Ｓｉが連結される、値Ｒｉ‖Ｃｉを得ることができる。
【００５０】
識別子Ｉｄｉの暗号化は、対称又は非対称なものであることができる。もしもこの暗号化が非対称であるならば、カードは公開鍵ＰＫＭＯを記憶する。もしもこの暗号化が対称であるならば、カードは、リストのメンバーによって送出された署名の匿名性を解除する資格を与えられた機関が知るのみである秘密鍵ＳＫＭＯを、安全な方法で記憶する。
【００５１】
この処理に適用される署名アルゴリズムは、以下の式にまとめることができる。
Ｒｉ＝ＰＲＮＧ（ＳＫｉ，ＲＥＰＳＥＱ）                  （４）
Ｃｉ＝Ｅｎｃ（ＰＫＭＯ，Ｉｄｉ）                        （５）
Ｓｉ＝Ｓｉｇｎ（ＳＫＬ，Ｒｉ‖Ｃｉ‖Ｍ）                （６）
Ｓ  ＝Ｒｉ‖Ｃｉ‖Ｓｉ                                  （７）
【００５２】
関数ＰＲＮＧは、例えば、ＡＥＳタイプの従来の暗号化関数であってもよい。暗号化関数Ｅｎｃは、鍵ＰＫＭＯ及びリストのメンバーｉの識別子Ｉｄｉを受信し、場合によっては擬似乱数Ｒｉも入力として受信する、例えば、ＡＥＳタイプ又はＲＳＡタイプの従来の暗号化関数である。
【００５３】
署名関数Ｓｉｇｎは、例えば、入力時に適用される値Ｒｉ‖Ｃｉ‖Ｍを、ＰＫＣＳ＃１のｖ２．１規格のＯＳ２ＩＰのような関数によって変換すること、及び、取得された変換値Ｍ´をＳＫＬ乗した累乗のモジュロｎをとる関数を適用することを含む。
【数１】
2007538443.tif 000003
【００５４】
このように、このアルゴリズムは、乱数計算と、それぞれが単純なモジュラ累乗を含む２つの暗号計算から構成されるのみである。
【００５５】
署名がリストのメンバーによって送出されたことを検証するためには、署名関数（上述の例においては番号ｎ）と、リストの公開鍵ＰＫＬがわかれば十分である。この例においては、ＰＫＣＳ＃１のｖ２．１規格の逆変換関数Ｉ２ＯＳＰを用いて値Ｍ″を変換し、メッセージＭを用いて得られた値を検証するために、以下の値が計算されれば十分である。
【数２】
2007538443.tif 000004
【００５６】
２つの署名がリストの同じメンバーによって送出されたかどうかを判定するためには、両方の署名に含まれる擬似乱数Ｒｉの値を比較すれば十分である。図３を参照した上述の例においては、署名Ｓｉの検証を許可するリスト鍵を持たない人でさえ、同じシーケンスに同じチップカードによって送付された２つの署名をリンクさせることできることが要望される場合を除いて、署名Ｓを添えた擬似乱数Ｒｉを送出する必要はない。
【００５７】
鍵ＳＫＭＯを持たない人は、署名の匿名性を解除することができないことに注目すべきである。
【００５８】
もしも認証機関が署名の匿名性を解除することを望むのであれば、認証機関は、暗号化関数Ｅｎｃに対応する解読（復号）関数を、鍵ＳＫＭＯを用いることによって値Ｃｉに適用すれば十分である。この動作によって、リストの署名メンバーのアイデンティティを再検出するために、それを用いて、そのディレクトリ（データベース４）内においてサーチを行うことが可能になる識別子を取得することができる。
【００５９】
追加のセキュリティ（安全確保）は、認証機関を２つの別個のエンティティ（ｅｎｔｉｔｉｅｓ）に分割することから構成される。第１の機関は、プライベート鍵ＳＫＬを有するのみであり、リストのメンバーの識別子Ｉｄｉを知らない。第１の機関は、リストに対する新メンバーの登録のときに、関係するリストの機関である。第２の機関は、リストのメンバーのすべての識別子の他に、鍵ＳＫＭＯを有するのみである。第２の機関は、単独で署名の匿名性を解除する資格を与えられたオープニング（ｏｐｅｎｉｎｇ）機関である。
【００６０】
第２の機関は、識別子Ｉｄｉの一部の解読だけができるようにするために、オープニング鍵ＳＫＭＯのそれぞれの部分を持つだけである幾つかのエンティティに分割されることもでき、また、識別子と、対応する人のアイデンティティとの間にリンクを形成する機関であることもできる。
【００６１】
セキュリティレベルを向上させる変形例は、それぞれの鍵ＳＫＭＯｉを各識別子Ｉｄｉに割り当てること、及び、暗号化を確率的にするために用いられる擬似乱数Ｒｉのみを暗号化することを含む。ディレクトリに現れる識別子Ｉｄｉが得られるまで、署名の匿名性の解除は、すべての暗号化鍵ＳＫＭＯｉをテストすることを含む。
【００６２】
したがって、チップカードが変造された場合には、ハッカーは、カードに含まれているもの以外の識別子を代表するリスト署名を生成することができることなく、カードのＳＫＭＯｉにアクセスするだけである。したがって、ハッカーは、リストの他のメンバーになりすますことはできない。
【００６３】
もしも署名の匿名性を解除する資格を与えられた機関が、リストのメンバーにチップカードを渡す認証機関と同じであるならば、署名Ｓは署名されたメッセージに関連づけられた署名内に現れるので、署名Ｓを添えた識別子Ｃｉを送出する必要はないことに注目すべきである。
【００６４】
図５は、本発明に係るリスト署名方法の他の“オープナブル”な変形例を示す図である。
【００６５】
この図に示される手順は、関数ＰＲＮＧによって取得された擬似乱数Ｒｉは、暗号化関数を確率的にするために用いられるという事実においてのみ、図４に示される手順と相違する。ここで、前記手順は、チップカード７を有するリストのメンバーの識別子Ｉｄｉに適用され、この暗号化の結果Ｃｉには、署名されるメッセージＭが連結され、そして生成された署名Ｓｉが連結される。チップカードによって提供される署名は、暗号値Ｃｉと連結された、生成された署名Ｓｉを含む。
【００６６】
このように、この手順によって適用される署名アルゴリズムは、以下の式にまとめることができる。
Ｒｉ＝ＰＲＮＧ（ＳＫｉ，ＲＥＰＳＥＱ）                  （１０）
Ｃｉ＝Ｅｎｃ（ＰＫＭＯ，Ｒｉ，Ｉｄｉ）
Ｓｉ＝Ｓｉｇｎ（ＳＫＬ，Ｃｉ‖Ｍ）                      （１１）
Ｓ  ＝Ｃｉ‖Ｓｉ                                        （１２）
【００６７】
このように、署名Ｓｉに関連付けられた値Ｃｉは、リストの同じメンバーと同じシーケンス番号に対して不変である。したがって、これを用いることによって、２つの署名がリストの同じメンバーによって送出されたものであるかどうかを判定することができる。
【００６８】
署名の匿名性を向上させるために、鍵ＰＫＭＯに対応する秘密鍵ＳＫＭＯを用いることによって、暗号化関数Ｅｎｃに対応する解読（復号）関数を、値Ｃｉに適用すれば十分である。
【００６９】
上述のように、暗号化関数Ｅｎｃは、対称又は非対称であることができる。第１のケースにおいては、リストのメンバーのチップカードに記憶され、署名を開く資格を与えられた機関に知られているだけである、１つの秘密鍵ＳＫＭＯが用いられる。
【００７０】
本発明の他の実施形態においては、チップカードによって送付可能な署名の数の設定を行ってもよい。このとき、チップカードは、既に送られた署名の数が所定値を上回ると、署名を送出する手順の間、エラーメッセージを送出する手段を有している。
【００７１】
本発明の一実施形態においては、チップカードは、図７に示される署名生成手順４０を実行する。この手順において、カードによって送出されることができる署名の数が設定される。チップカードは、既に送出された署名の数が所定数を超えるときに、ある署名を送出する手順のときに、エラーメッセージを送出する手段を有している。
【００７２】
手順４０の第１のステップ４１において、チップカード７は、署名されるメッセージＭとシーケンス番号ＲＥＰＳＥＱを受け取り、シーケンス番号ＲＥＰＳＥＱの有効性を、例えば、認証機関によって生成されシーケンス番号と共に伝送された署名を用いて、検証する。この検証は、チップカードに記憶されている、認証機関の公開鍵ＰＫＡを用いて実行される。もしもシーケンス番号に関連付けられた署名が有効でないならば、チップカードはエラーメッセージを送出し（ステップ４９）、カードによって生成されているいかなる署名をも用いずに、手順４０を終了する。
【００７３】
もしも署名が有効であるならば、チップカードは、次のステップ４２に処理を進め、そこで、受け取られたシーケンス番号をランダムアクセスメモリ１３に予め記憶されているシーケンス番号と比較する。そして、もしもこの番号が予め記憶されていなかったならば、ステップ４３においてチップカードは受け取られたシーケンス番号を記憶する。
【００７４】
第１の変形例においては、送付されることができる署名ＮＢＳＩＧの最大数が、すべての署名につき１回ずつカードのランダムアクセスメモリ１３に記憶される。この数はカードのタイプによって異なる。したがって、例えば、交通機関の乗車券に適用するためには、１０回使えるカード及び２０回使える他のカードが提供されてもよい。
【００７５】
他の実施形態においては、送出されることができる署名の最大数ＮＢＳＩＧがシーケンス番号と共に送信され、ステップ４１においてチップカードによって検証される署名の中に含まれる。この場合には、認証機関によって生成され、チップカードによって受け取られた署名は、許可された署名の数及び現在の日付（ｄａｔｅ）が連結されたシーケンス番号を持ってもよい（ＲＥＰＳＥＱ‖ＮＢＳＩＧ‖ｄａｔｅ）。
【００７６】
いずれかの変形例又は両方の変形例において、チップカードは、シーケンス番号が変わる度に、許可された署名の受信数ＮＢＳＩＧを用いてＣＰＴカウンタをリセットする追加ステップ４４を実行する。
【００７７】
上述の両方の変形例において実行される以下のステップ４５において、もしも記憶されているシーケンス番号が受け取られたシーケンス番号（ステップ４２）と同一であるならば、生成されることができる署名の数ＮＢＳＩＧは、リードオンリーメモリ１３においてデクリメントされる。もしも得られた数が厳密に負であるならば（ステップ４６）、チップカードは、エラーメッセージを送出する（ステップ４９）。そうでない場合には、ステップ４７において、チップカードは、上述のリスト署名方法の一つに基づいて、メッセージＭの署名Ｓｉを計算し、生成された署名Ｓｉを送出する（ステップ４８）。
【００７８】
カードは、シーケンス番号ごとに異なるカウンタを管理することもできる。カードが新しいシーケンス番号、及び、必要であれば、署名の最大数ＮＢＳＩＧ（ＮＢＳＩＧがシーケンス番号ごとに異なることができる場合）を受信する度に、カードは、シーケンス番号と関連するテーブルに記憶されたＣＰＴカウンタをリセットする。カードは、署名されるメッセージを備えたシーケンス番号を受信する際、このテーブルに受信されたシーケンス番号が記憶されているかどうかを調べる。その場合、新しく生成された署名を考慮に入れるため、関連付けられたカウンタを更新する。
【００７９】
ここに説明されたリスト署名方法は、電子投票方法に適用されることができる。本発明に係る電子投票方法は、上述のリスト署名方法の手順の実行を含むいくつかの段階から構成される。
【００８０】
この方法は、選挙を準備し、この目的で、投票を組織する（ｏｒｇａｎｉｚｅ）手順５０を実行する認証機関の介在が必要である。この手順は、選挙が適切に行われるために必要なデータを生成すること、投票を集めたもので、誰もがアクセスできる公開のデータベースを生成することを含む。投票の準備の際、投票を集計し、選挙の結果を判定する投票検査人も指名される。
【００８１】
組織機関は、まず、リスト署名を設定するために要求される異なるパラメータを生成する処理を進める。その後、投票者は事前に、例えば、市庁舎で、上述のようにチップカード７を受信するため必要となるすべてのデータ、すなわち、メンバーｉの識別子Ｉｄｉ、リストのすべてのメンバーによって共有されるリスト署名秘密鍵ＳＫＬ、及び、チップカードのみに知られそれに固有の秘密鍵ＳＫｉを含む電子リストへの登録を行わなければならない。これらのパラメータによって、投票者は将来の選挙のすべてに参加することができる。
【００８２】
手順５０のステップ５１において、組織機関は、投票者がこの選挙で２回投票（署名）することがないように、新しいリスト署名シーケンスを作成するのに必要なシーケンス番号ｍの発行も行う。
【００８３】
また、投票の集計を行うことに責任を持つ投票検査人は、公開鍵／プライベート鍵の要求される対を生成する（５２）。暗号化されたメッセージを公開鍵を用いて復号できるようにするために、彼らは全員協力しなければならない。そのため、投票者が少なくとも１つの公開鍵を用いてメッセージ（投票）を暗号化できるような暗号化システムが選択される。対応する秘密鍵（又は複数の秘密鍵）を用いて、そしてそれによってメッセージを復号することに、すべての投票検査人が協力する義務を負わせている。
【００８４】
すべての投票検査人の間における復号化プライベート鍵の共有は、以下の方法によって実行されることができる。
【００８５】
巡回群（ｃｙｃｌｉｃ  ｇｒｏｕｐ）Ｇの生成元（ｇｅｎｅｒａｔｏｒ）ｇについて考える。個々の秘密鍵ｘｉは、各投票検査人ｉに割り当てられ、各投票検査人ｉはＧに属する値ｙｉを以下のように算出する。
【数３】
2007538443.tif 000005
【００８６】
投票者によって用いられる公開鍵Ｙは、以下の式によって得られる。
【数４】
2007538443.tif 000006
そして、すべての投票検査人ｉによって共有される、対応する秘密鍵Ｘは以下の通りであ
る。
【数５】
2007538443.tif 000007
【００８７】
投票検査人の個々の公開鍵のすべてを用いて暗号化の処理を進めることによって、同じ結果に到達することができる。復号には、対応するプライベート鍵のすべてを知ることが必要である。
【００８８】
投票所が開いている期間中に、各投票者は、端末において手順６０を実行することによって、投票を送出する。ステップ６１において、投票者は、彼／彼女の投票ｖｉを選択し、暗号化された投票Ｄｉを得るために、投票検査人の公開鍵を用いて、投票ｖｉを暗号化する。次に、彼／彼女は、署名Ｓｉを得るために、リスト署名方法を用いて暗号化された投票に署名をする。その後、投票と署名のセット（Ｄｉ，Ｓｉ）から構成される投票は、公開のデータベース４において匿名で公開される。
【００８９】
ステップ６２で、例えば、エルガマル（Ｅｌ  Ｇａｍａｌ）アルゴリズム又はＰａｉｌｌｉｅｒアルゴリズムなどの暗号化アルゴリズムを用いることによって、投票の暗号化が実行される。もしもエルガマルアルゴリズムが適用されるならば、以下の数を計算することによって暗号化が実行される。
ａｊ＝ｖｊＹｒ  及び  ｂｊ＝ｇｒ                        （４）
ここで、ｒは擬似ランダム要素である。暗号化された投票ｖｊは、対
Ｄｊ＝（ａｊ，ｂｊ）
から構成される。投票者Ｅｊは、暗号化された投票のリスト署名
Ｓｊ＝Ｓｉｇｌｉｓｔ（ａｊ‖ｂｊ）
を計算する（６３）。Ｓｉｇｌｉｓｔは、以上に説明されたように、リスト署名であり、彼／彼女のチップカード７によって得られ、上述の端末２に伝送される。
【００９０】
投票者Ｅｊは、匿名伝送チャンネル、すなわち、伝送されたメッセージをその送信者にリンクさせることを禁止するチャンネルによって、公開データベース４に送信される（６４）彼／彼女の投票（Ｄｊ，Ｓｊ）を生成した。投票者は、この目的のために、公開端末又はミキサー（ｍｉｘｅｒｓ）のネットワークを用いてもよい。
【００９１】
投票が終了したときに、投票検査人は、端末３で手順７０を実行することによって、投票の集計を実行する。この手順は、まず、復号プライベート鍵Ｘをそれぞれのプライベート鍵ｘｉから式（３）によって生成するステップを含む。次に、ステップ７２において、投票（Ｄｉ，Ｓｉ）を取得し、それらを復号するために、投票の公開データベース４にアクセスする。
【００９２】
投票の実際の復号は、送出された投票の各々について（ステップ７３）、上述のリスト署名検証手順４０を実行することによって、署名Ｓｉを検証すること（７４）と、もしも署名が有効且つ固有であるならば（ステップ７５）、暗号化された投票Ｄｊを以下の式に基づいて復号すること（ステップ７６）とを含む。
ｖｊ＝ａｊ／ｂｊＸ                                      （５）
【００９３】
したがって、復号され、対応する検証の結果を用いて検証された投票ｖｊは、投票（Ｄｊ，Ｓｊ）に関連して、投票のデータベース４に入れられる（ステップ７７）。
【００９４】
誰もが投票の集計を検証できるようにするために、復号プライベート鍵Ｘも公開される。
【００９５】
すべての投票が集計されると、この手順７０は、ステップ７８において、選挙の結果を算出し、データベースにその結果を、また必要であれば復号プライベート鍵Ｘも、書き込むことによって投票のデータベースを更新する。
【００９６】
電子投票システムを立ち上げるのに必要な上述の特徴が、上述の方法によって検証されることを、理解することは容易である。もしも送出される見込みの署名の最大数が１に設定されたならば、各投票者は、１度だけ投票することができる（チップカードは、与えられたシーケンス番号１つにつき、１つの署名のみを送出することができる。）。
【００９７】
次に、投票の集計にはすべての投票検査人の参加が要求されるので、投票検査人のうち少なくとも１人がこの規則を守っている場合には、投票が終了する前に、投票の集計を開始することは不可能である。最後に、投票検査人はこの検証を行うために要求される要素のすべて（特に、集計用のプライベート鍵）をデータベース内に入れており、そして、署名の検証は、認証機関の公開鍵ＰＫＬを用いることによって誰でもアクセス可能であるので、選挙の結果は、すべての人によって検証されることができる。このように、誰もが投票検査人と同様の方法で集計を実行することができ、それゆえ、誰もが、集計が適切に実行されたことを確かめることができる。
【００９８】
投票検査人の鍵は、公表されるので、投票の終了時に当然廃止される。
【図面の簡単な説明】
【００９９】
【図１】本発明に係るリスト署名方法及び電子投票方法を適用するシステムを示す図である。
【図２】本発明に係る方法によって、リスト署名を生成するために用いられることができるチップカードの機能素子を概略的に示す図である。
【図３】図２に示されるチップカードによって、“ノンオープナブル”であるが、実行可能な、本発明に係るリスト署名手順を、フローチャートとして示す図である。
【図４】図２に示されるチップカードによって“オープナブル”で且つ実行可能な、本発明に係るリスト署名手順を、フローチャートとして示す図である。
【図５】図２に示されるチップカードによって“オープナブル”で且つ実行可能な、本発明に係るリスト署名手順を、フローチャートとして示す図である。
【図６】図２に示されるチップカードによって実行可能な、本発明に係るリスト署名手順の他の例を、フローチャートとして示す図である。
【図７】本発明に係るリスト署名方法を電子投票に適用した場合を、フローチャートとして示す図である。
【図８】本発明に係るリスト署名方法を電子投票に適用した場合を、フローチャートとして示す図である。
【図９】本発明に係るリスト署名方法を電子投票に適用した場合を、フローチャートとして示す図である。
【図１】
2007538443.tif 000008
【図２】
2007538443.tif 000009
【図３】
2007538443.tif 000010
【図４】
2007538443.tif 000011
【図５】
2007538443.tif 000012
【図６】
2007538443.tif 000013
【図７】
2007538443.tif 000014
【図８】
2007538443.tif 000015
【図９】
2007538443.tif 000016
【手続補正書】
【提出日】平成17年12月9日(2005.12.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
署名されるメッセージ（Ｍ）に関するリスト署名を生成する方法であって、
リストのメンバーの電子式ハードウェアサポート（７）によって実行され、前記電子式ハードウェアサポートが、前記署名されるメッセージから電子署名（Ｓｉ）を生成し、前記生成された署名を送出するステップを有し、
前記電子署名（Ｓｉ）は、
前記署名されるメッセージと、
認証機関によって前記電子式ハードウェアサポートに提供されるシーケンス番号（ＲＥＰＳＥＱ）と、
前記リストのすべてのメンバーに共通する、メンバーの前記リストに所属することの証拠（ＳＫＬ）と、
前記電子式ハードウェアサポートに固有のデータ（Ｉｄｉ，ＳＫｉ）と、
任意的に、前記生成された署名の匿名性を解除する資格を与えられた機関の鍵（ＰＫＭＯ）と
に基づいて、生成されるのみである
ことを特徴とするリスト署名を生成する方法。
【請求項２】
前記電子式ハードウェアサポート（７）が前記シーケンス番号（ＲＥＰＳＥＱ）に基づいて、前記電子署名（Ｓｉ）を生成するために用いられる擬似乱数（Ｒｉ）を生成するステップを有し、
前記生成された擬似乱数は、前記シーケンス番号と前記電子式ハードウェアサポートに固有のデータとに基づいて変わるのみである
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記擬似乱数（Ｒｉ）の前記生成は、前記電子式ハードウェアサポート（７）に記憶され且つ前記電子式ハードウェアサポート（７）に固有である秘密鍵（ＳＫｉ）を用いて、暗号化関数によって実行されることを特徴とする請求項２に記載の方法。
【請求項４】
前記シーケンス番号（ＲＥＰＳＥＱ）から生成された前記擬似乱数（Ｒｉ）は、前記生成された電子署名（Ｓｉ）と共に送出されることを特徴とする請求項２又は３に記載の方法。
【請求項５】
メンバーの前記リストに所属することの前記証拠は、前記リストの前記メンバーに共通の秘密鍵（ＳＫＬ）を知っていることから構成されることを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記電子式ハードウェアサポート（７）が、前記電子署名（Ｓｉ）を生成するために用いられる暗号化された識別子（Ｃｉ）を取得するために、前記生成された署名の匿名性を解除する資格を与えられた前記機関の前記鍵（ＰＫＭＯ）による暗号アルゴリズムを用いて、前記電子式ハードウェアサポートに記憶され、前記電子式ハードウェアサポートを有する前記メンバー（ｉ）を特定する識別コード（Ｉｄｉ）を、暗号化するステップをさらに有することを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
前記シーケンス番号（ＲＥＰＳＥＱ）から生成された擬似乱数（Ｒｉ）は、前記メンバー識別コード（Ｉｄｉ）を暗号化するために用いられることを特徴とする請求項６に記載の方法。
【請求項８】
前記暗号化された識別子（Ｃｉ）は、前記生成された電子署名（Ｓｉ）と共に送出されることを特徴とする請求項６又は７に記載の方法。
【請求項９】
前記電子式ハードウェアサポート（７）は、認証機関から、前記シーケンス番号の署名に関連付けられた前記シーケンス番号（ＲＥＰＳＥＱ）を受信し、前記シーケンス番号の前記署名を検証し、前記シーケンス番号に関連付けられた前記署名が正しくない場合には新たな署名を生成することを拒否することを特徴とする請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
前記電子式ハードウェアサポート（７）は、以前に送出された署名の数が、許可された署名の最大数以下である場合に、署名を生成することを特徴とする請求項１乃至９のいずれか１項に記載の方法。
【請求項１１】
送出された署名の前記最大数は、シーケンス番号（ＲＥＰＳＥＱ）の変更時に、リセットされることを特徴とする請求項１０に記載の方法。
【請求項１２】
組織機関が、投票に要求されるパラメータの生成を進め、投票を暗号解読し検証するために用いられる鍵を投票検査人に割り当てる、選挙を準備する段階（５０）と、
各投票者に署名権を割り当てる段階と、
前記投票者が投票に署名する投票段階（６０）と、
前記投票検査人が前記投票を検証し、前記暗号解読された有効な投票の内容に基づいて、前記投票の結果を計算する集計段階（７０）と
を有する電子投票方法であって、
投票に署名するために、請求項１０又は１１に記載のリスト署名方法を適用し、
各投票者がリストのメンバーとして登録されており、
シーケンス番号（ＲＥＰＳＥＱ）が前記投票のために生成され、
許可された署名の最大数が１である
ことを特徴とする電子投票方法。
【請求項１３】
請求項１乃至１２のいずれか１項に記載の方法を適用する手段を有することを特徴とする電子式ハードウェアサポート。
【請求項１４】
暗号マイクロプロセッサカード（７）であることを特徴とする請求項１３に記載の電子式ハードウェアサポート。
【手続補正書】
【提出日】平成19年1月18日(2007.1.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
署名されるメッセージ（Ｍ）に関するリスト署名を生成する方法であって、
リストのメンバーの電子式ハードウェアサポート（７）によって実行され、前記電子式ハードウェアサポートが、前記署名されるメッセージから電子署名（Ｓｉ）を生成し、前記生成された署名を送出するステップを有し、
前記電子署名（Ｓｉ）は、
前記署名されるメッセージと、
認証機関によって前記電子式ハードウェアサポートに提供されるシーケンス番号（ＲＥＰＳＥＱ）と、
前記リストのすべてのメンバーに共通する、メンバーの前記リストに所属することの証拠（ＳＫＬ）と、
前記電子式ハードウェアサポートに固有のデータ（Ｉｄｉ，ＳＫｉ）と、
任意的に、前記生成された署名の匿名性を解除する資格を与えられた機関の鍵（ＰＫＭＯ）と
に基づいて、生成されるのみである
ことを特徴とするリスト署名を生成する方法。
【請求項２】
前記電子式ハードウェアサポート（７）が前記シーケンス番号（ＲＥＰＳＥＱ）に基づいて、前記電子署名（Ｓｉ）を生成するために用いられる擬似乱数（Ｒｉ）を生成するステップを有し、
前記生成された擬似乱数は、前記シーケンス番号と前記電子式ハードウェアサポートに固有のデータとに基づいて変わるのみである
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記擬似乱数（Ｒｉ）の前記生成は、前記電子式ハードウェアサポート（７）に記憶され且つ前記電子式ハードウェアサポート（７）に固有である秘密鍵（ＳＫｉ）を用いる暗号化関数によって実行されることを特徴とする請求項２に記載の方法。
【請求項４】
前記シーケンス番号（ＲＥＰＳＥＱ）から生成された前記擬似乱数（Ｒｉ）は、前記生成された電子署名（Ｓｉ）と共に送出されることを特徴とする請求項２又は３に記載の方法。
【請求項５】
メンバーの前記リストに所属することの前記証拠は、前記リストの前記メンバーに共通の秘密鍵（ＳＫＬ）を知っていることから構成されることを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記電子式ハードウェアサポート（７）が、前記電子署名（Ｓｉ）を生成するために用いられる暗号化された識別子（Ｃｉ）を取得するために、前記生成された署名の匿名性を解除する資格を与えられた前記機関の前記鍵（ＰＫＭＯ）による暗号アルゴリズムを用いて、前記電子式ハードウェアサポートに記憶され、前記電子式ハードウェアサポートを有する前記メンバー（ｉ）を特定する識別コード（Ｉｄｉ）を、暗号化するステップをさらに有することを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
前記シーケンス番号（ＲＥＰＳＥＱ）から生成された擬似乱数（Ｒｉ）は、前記メンバー識別コード（Ｉｄｉ）を暗号化するために用いられることを特徴とする請求項６に記載の方法。
【請求項８】
前記暗号化された識別子（Ｃｉ）は、前記生成された電子署名（Ｓｉ）と共に送出されることを特徴とする請求項６又は７に記載の方法。
【請求項９】
前記電子式ハードウェアサポート（７）は、認証機関から、前記シーケンス番号の署名に関連付けられた前記シーケンス番号（ＲＥＰＳＥＱ）を受信し、前記シーケンス番号の前記署名を検証し、前記シーケンス番号に関連付けられた前記署名が正しくない場合には新たな署名を生成することを拒否することを特徴とする請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
前記電子式ハードウェアサポート（７）は、以前に送出された署名の数が、許可された署名の最大数以下である場合に、署名を生成することを特徴とする請求項１乃至９のいずれか１項に記載の方法。
【請求項１１】
送出された署名の前記最大数は、シーケンス番号（ＲＥＰＳＥＱ）の変更時に、リセットされることを特徴とする請求項１０に記載の方法。
【請求項１２】
組織機関が、投票に要求されるパラメータの生成を進め、投票を暗号解読し検証するために用いられる鍵を投票検査人に割り当てる、選挙を準備する段階（５０）と、
各投票者に署名権を割り当てる段階と、
前記投票者が投票に署名する投票段階（６０）と、
前記投票検査人が前記投票を検証し、前記暗号解読された有効な投票の内容に基づいて、前記投票の結果を計算する集計段階（７０）と
を有する電子投票方法であって、
投票に署名するために、請求項１０又は１１に記載のリスト署名方法を適用し、
各投票者がリストのメンバーとして登録されており、
シーケンス番号（ＲＥＰＳＥＱ）が前記投票のために生成され、
許可された署名の最大数が１である
ことを特徴とする電子投票方法。
【請求項１３】
請求項１乃至１２のいずれか１項に記載の方法を適用する手段を有することを特徴とする電子式ハードウェアサポート。
【請求項１４】
暗号マイクロプロセッサカード（７）であることを特徴とする請求項１３に記載の電子式ハードウェアサポート。
【請求項１５】
リスト署名又は電子投票を適用するシステムであって、
前記システムのユーザに使用可能にされ、デジタルデータ伝送ネットワーク（５）に接続された端末（２）を有し、
各端末は、認証機関によって前記ユーザに割り当てられた電子式ハードウェアサポートを読み取ることができる装置（８）に接続され、
請求項１乃至１２のいずれか１項に記載の方法を適用することができる
ことを特徴とするシステム。
【国際調査報告】
2007538443.tif 000017
2007538443.tif 000018
2007538443.tif 000019
2007538443.tif 000020
2007538443.tif 000021
2007538443.tif 000022