(57)【要約】【課題】  投票データの改ざんを防止し且つ投票者のプライバシを守ることができる電子投票システムを提供する。【解決手段】  投票者端末３０は、投票データを、準同型系暗号化方式による第１の暗号化と、ＳＳＬプロトコルによる第２の暗号化の二重の暗号化とを行い、第１の暗号化後のデータからフィンガープリントを生成して、二重の暗号化データと共にＡＳＰサーバ２０に送信する。ＡＳＰサーバ２０は、ＳＳＬプロトコルによる投票データの復号化を行い、復元された準同型系暗号化方式による暗号化データを集計し、それからフィンガープリントを生成し、公開ボードに公開する。投票者端末３０による、フィンガープリントを利用したデータ正当性の検証が終了した時点で、準同型系暗号化方式による暗号化投票データを公開ボード２１に登録し、その暗号化投票データを集計する。開票者端末１０は、公開ボードに登録された準同型系暗号化方式による集計暗号化データを秘密鍵で復号化して平文の集計投票データを得る。【選択図】図２
2006128865.tif 000002
【特許請求の範囲】
【請求項１】
投票を行う複数の投票者端末と、該投票者端末から投票データを収集し該収集した投票データを公開ボードに公開する投票管理サーバとを通信回線を介して接続した電子投票システムであって、
前記投票者端末は、投票データから所定の関数を用いてフィンガープリントを生成して記憶する第１演算手段と、前記投票データを暗号化して暗号化投票データを生成する暗号化手段と、前記第１演算手段によって生成されたフィンガープリントと公開ボードに登録されるフィンガープリントとを照合し、双方のフィンガープリントの一致を検出すると一致信号を生成する一致判定手段とを備え、
前記投票管理サーバは、前記投票者端末から暗号化投票データを受信すると該受信した暗号化投票データを復号化して記憶する復号手段と、該復号手段によって復号化された投票データから前記所定の関数を用いてフィンガープリントを生成する第２演算手段と、該第２演算手段によって生成されたフィンガープリントを前記公開ボードに公開するフィンガープリント公開手段と、前記投票者端末から送信された一致信号を受信した後に、前記復号化した投票データを前記公開ボードに公開する投票データ公開手段とを備えることを特徴とする電子投票システム。
【請求項２】
前記所定の関数がハッシュ関数であり、前記フィンガープリントが前記投票データのハッシュ値である、請求項１に記載の電子投票システム。
【請求項３】
前記投票者端末は、前記第１の演算手段によって生成されたフィンガープリントを、前記暗号化された投票データと共に前記投票管理サーバに向けて送信し、前記フィンガープリント公開手段は、該送信されたフィンガープリントと、前記第２演算手段によって生成されたフィンガープリントとを照合し、双方のフィンガープリントが一致した後に、該一致したフィンガープリントを前記公開ボードに公開する、請求項１又は２に記載の電子投票システム。
【請求項４】
投票を行う複数の投票者端末と、該投票者端末から投票データを収集し該収集した投票データを集計するＡＳＰサーバと、投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムであって、
前記投票者端末は、前記開票者端末が指定した公開鍵で準同型系暗号方式により投票データを暗号化して第１の暗号化投票データを生成する第１暗号化手段と、該第１の暗号化投票データを、前記ＡＳＰサーバとの間で取り決めた暗号方式を用いて暗号化して、第２の暗号化投票データを生成する第２暗号化手段と、前記第１の暗号化投票データから所定の関数に基づいてフィンガープリントを演算して記憶装置に記憶する第１演算手段と、前記記憶装置に記憶されたフィンガープリントと公開ボードに登録されるフィンガープリントとを照合し、双方のフィンガープリントの一致を検出すると一致信号を生成する一致判定手段とを備え、
前記ＡＳＰサーバは、前記投票者端末から受信した前記第２の暗号化投票データを復号化することによって前記第１の暗号化投票データを復元する第１復号手段と、該復元された第１の暗号化投票データから前記所定の関数に基づいてフィンガープリントを演算する第２演算手段と、該第２演算手段で演算されたフィンガープリントを前記公開ボードに公開するフィンガープリント公開手段と、前記投票者端末から前記一致信号を受信すると、当該投票者端末から受信した後に復元された前記第１の暗号化投票データを前記公開ボードに公開する暗号化データ公開手段とを備え、
前記開票者端末は、前記公開ボードから、前記公開ボードに登録された第１の暗号化投票データを読み出して、開票者端末の秘密鍵を用いて復号化し、平文の投票データを生成する第２復号手段を備えることを特徴とする電子投票システム。
【請求項５】
前記ＡＳＰサーバは、更に前記公開ボードに登録した第１の暗号化投票データを集計して集計結果データを生成して前記公開ボードに公開する集計手段を備え、
前記第２復号手段は、前記集計結果データを、前記開票者端末の秘密鍵で復号化する、請求項４に記載の電子投票システム。
【請求項６】
前記所定の関数がハッシュ関数であり、前記フィンガープリントがハッシュ値である、請求項４又は５に記載の電子投票システム。
【請求項７】
前記投票者端末は、前記第１の演算手段によって生成されたフィンガープリントを、前記暗号化された投票データと共に前記投票管理サーバに向けて送信し、前記フィンガープリント公開手段は、該送信されたフィンガープリントと、前記第２演算手段によって生成されたフィンガープリントとを照合し、双方のフィンガープリントが一致した後に、該一致したフィンガープリントを前記公開ボードに公開する、請求項４〜６の何れか一に記載の電子投票システム。
【請求項８】
前記開票者端末は、前記投票者端末に向けて、前記ＡＳＰサーバのＵＲＬと、前記ＡＳＰサーバへのログインＩＤ及パスワードと、前記ＡＳＰサーバが指定する公開鍵と、前記開票者端末が指定する公開鍵とを添付した電子メールを送信して、投票を依頼する、請求項４〜７の何れか一に記載の電子投票システム。
【請求項９】
前記ＡＳＰサーバと、前記投票者端末及び開票者端末との間の通信は、送信されるデータの暗号化機能と、個人を認証する認証機能と、送信されたデータの正当性を検証する検証機能とを有する秘密通信路を利用して行われる、請求項４〜８の何れか一に記載の電子投票システム。
【請求項１０】
投票を行う複数の投票者端末と、該投票者端末から投票データを収集し該収集した投票データを公開ボードに公開する投票管理サーバとを通信回線を介して接続した電子投票システムを利用する電子投票方法であって、
前記投票者端末が、投票データから所定の関数を用いてフィンガープリントを生成して記憶装置に記憶するステップと、
前記投票者端末が、前記投票データを暗号化して暗号化投票データを生成するステップと、
前記投票者端末が、前記暗号化データを投票管理サーバに送信するステップと、
前記投票管理サーバが、前記送信された暗号化投票データを復号化するステップと、
前記投票管理サーバが、前記復号化された投票データから前記所定の関数を用いてフィンガープリントを生成するステップと、
前記投票管理サーバが、前記復号化された投票データから生成したフィンガープリントを前記公開ボードに公開するステップと、
前記投票者端末が前記記憶装置に記憶したフィンガープリントと公開ボードに登録されたフィンガープリントとを照合し、双方のフィンガープリントの一致を検出すると一致信号を生成して前記投票管理サーバに送信するステップと、
前記投票管理サーバが、前記投票者端末から一致信号を受信すると当該投票者端末の前記復号化された投票データを前記公開ボードに公開するステップと、
を備えることを特徴とする電子投票方法。
【請求項１１】
前記所定の関数がハッシュ関数であり、前記フィンガープリントが前記投票データのハッシュ値である、請求項１０に記載の電子投票システム。
【請求項１２】
前記投票端末は、前記暗号化された投票データを送信するステップで、前記記憶装置に記憶したフィンガープリントを、前記暗号化された投票データと共に前記投票管理サーバに向けて送信し、
前記投票管理サーバが、前記フィンガープリントを公開するステップに先立って、前記投票者端末から送信されたフィンガープリントと、投票管理サーバが生成したフィンガープリントとを照合するステップを更に備える、請求項１０又は１１に記載の電子投票システム。
【請求項１３】
投票を行う複数の投票者端末と、該投票者端末から投票データを収集し該収集した投票データを集計するＡＳＰサーバと、投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムを利用する電子投票方法であって、
前記投票者端末が、前記開票者端末が指定した公開鍵で準同型系暗号方式により投票データを暗号化して第１の暗号化投票データを生成するステップと、
前記投票者端末が、前記第１の暗号化投票データを、前記ＡＳＰサーバとの間で取り決めた暗号方式を用いて暗号化して、第２の暗号化投票データを生成するステップと、
前記投票者端末が、前記第１の暗号化投票データから所定の関数に基づいてフィンガープリントを演算して記憶装置に記憶するステップと、
前記投票者端末が、前記第２の暗号化データを前記ＡＳＰサーバに送信するステップと、
前記ＡＳＰサーバが、前記投票者端末から受信した前記第２の暗号化投票データを復号化することによって前記第１の暗号化投票データを復元するステップと、
前記ＡＳＰサーバが、前記復元された第１の暗号化投票データから前記所定の関数に基づいてフィンガープリントを演算するステップと、
前記ＡＳＰサーバが、該ＡＳＰサーバが演算したフィンガープリント前記公開ボードに公開するステップと、
前記投票者端末が、前記記憶装置に記憶されたフィンガープリントと公開ボードに登録されたフィンガープリントとを照合し、双方のフィンガープリントの一致を検出すると一致信号を生成して前記ＡＳＰサーバに送信するステップと、
前記ＡＳＰサーバが、前記投票者端末から前記一致信号を受信すると、当該投票者端末から受信した後に復元された前記第１の暗号化投票データを前記公開ボードに公開するステップと、
前記開票者端末が、前記公開ボードに公開された第１の暗号化投票データを読み出して、前記開票者端末の秘密鍵を用いて復号化し、平文の投票データを生成するステップと、
を備えることを特徴とする電子投票方法。
【請求項１４】
前記ＡＳＰサーバが、前記公開ボードに登録した暗号化投票データを集計して集計結果データを生成して前記公開ボードに公開するステップと、
前記開票者端末が、前記集計結果データを、前記開票者端末の秘密鍵で復号化するステップと、
を更に備える、請求項１３に記載の電子投票方法。
【請求項１５】
前記所定の関数がハッシュ関数であり、前記フィンガープリントがハッシュ値である、請求項１３又は１４に記載の電子投票方法。
【請求項１６】
前記ＡＳＰサーバが、前記フィンガープリントを前記公開ボードに公開するステップに先だって、前記ＡＳＰサーバが演算したフィンガープリントと前記投票者端末から送信されたフィンガープリントとを照合するステップを更に備える、請求項１３〜１５の何れか一に記載の電子投票方法。
【請求項１７】
前記開票者端末が、前記投票者端末に向けて、前記ＡＳＰサーバのＵＲＬと、前記ＡＳＰサーバへのログインＩＤ及パスワードと、前記ＡＳＰサーバが指定する公開鍵と、前記開票者端末が指定する公開鍵とを添付した電子メールを送信して、投票を依頼するステップを更に備える、請求項１３〜１６の何れか一に記載の電子投票方法。
【請求項１８】
前記ＡＳＰサーバと、前記投票者端末及び開票者端末との通信が、送信されるデータの暗号化機能と、個人を認証する認証機能と、送信されたデータの正当性を検証する検証機能とを有する秘密通信路を利用して行われる、請求項１３〜１７の何れか一に記載の電子投票方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子投票システム及び電子投票方法に関し、更に詳しくは、Ｗｅｂを利用した電子投票システム及び電子投票方法に関する。
【背景技術】
【０００２】
近年、アンケートなどを目的として、Ｗｅｂを利用した電子的な投票が行われるようになっている。Ｗｅｂによる投票は、一般にインターネットを介して行われており、従来の紙ベースの投票に比べて、低コスト、データ伝達の即時性、集計の機械化、利用者の負担減などの特長を有する。Ｗｅｂによる投票では、例えばアンケート実施者が、Ｗｅｂによる投票用データの作成や、投票の管理に必要なｈｔｍｌやＣＧＩなどのＷｅｂ技術を持たない場合には、その投票の収集、集計及び開票を実施するアプリケーション・サービス・プロバイダ（ＡＳＰ業者）に委託して行われている。ＡＳＰ業者は、例えば、投票を収集しながら集計する集計サーバと、その投票の集計結果を開票する開票サーバとを利用して投票を管理している。
【０００３】
特許文献１には、公開鍵暗号系を用いることにより投票内容を暗号化することで、投票者の匿名性保持や投票内容の改ざん防止などを図った電子投票システムが記載されている。該特許文献１に記載の装置では、投票管理者装置は、投票が終了して開票時間になると、開票者装置に（暗号化）投票データを送信し、開票者装置が秘密鍵を用いて（暗号化）投票データを復号化し、集計する旨が記載されている。
【０００４】
上記従来のＷｅｂによる投票システムでは、投票の収集と集計を行うＡＳＰサーバである開票者装置を持つＡＳＰ業者が、開票時には投票内容を知ってしまうので、投票者のプライバシが守られないおそれがある。また、ＡＳＰ業者が投票内容を改ざんし、或いは、その集計結果を不正操作する可能性が否定できないという問題もある。
【０００５】
特許文献２は、開票サーバと集計サーバとを用いて上記問題を解消する電子投票システムを開示している。同公報に記載の電子投票システムでは、投票者端末と投票の収集及び集計を行う集計サーバとの間ではＲＳＡ暗号系を用い、また、集計サーバと投票を依頼したアンケート実施者の開票サーバとの間では高次剰余暗号系を用いている。投票データは、まず高次剰余暗号系の公開鍵で暗号化され、次いで、その暗号化された投票データが、ＲＳＡ暗号系の公開鍵で暗号化された上で、公開ボードに登録される。集計サーバは、ＲＳＡ暗号系の秘密鍵で復号化した、高次剰余暗号系で暗号化された投票データのままで集計を行い、これを開票サーバに引き渡す。開票サーバは、高次剰余暗号系の秘密鍵で集計された投票データを復号化して、投票結果を得る。
【特許文献１】特開２００３−６７５３２公報（図１）
【特許文献２】特開２０００−１５５７８９号公報（図２）
【非特許文献１】“A New Public-Key Cryptosystem as Secure as Factoring,”Advances in Cryptology-EUROCRYPT'98, LNCS1403, pp.308-318 (1998)
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献２に記載の電子投票システムでは、投票者の投票内容を秘密にしたいというプライバシが守られ、また、集計サーバが投票内容を改ざんする不正操作や、その集計結果を知ることによってそれを不正に利用する等のおそれが排除できる利点がある。しかし、このシステムでは、投票者端末と集計サーバとの間の通信途中で、第三者による投票内容の改ざんやなりすましなどの攻撃を排除するために、ゼロ知識対話証明という手法を用いて投票内容の検証を行っている。このため、投票者端末及び集計サーバの双方のデータ処理量が大きく且つ複雑となる。ここで、ゼロ知識対話証明に代えて、フィンガープリントを利用し、投票内容に加えてフィンガープリントを公開ボードに登録して、投票者端末からの検証するなどの手法も考えられるが、検証の結果として無効な投票内容であることが判明すると、公開ボードに登録した投票内容の修正などの処理が発生し、その修正が投票者やアンケート実施者に公開されるので、投票内容自体の信憑性に疑問が生ずるおそれがある。
【０００７】
本発明は、上記従来の電子投票システムの問題点に鑑み、投票者端末と集計サーバとの間における第三者による攻撃から投票内容を有効に守ることができ、且つ、公開ボード上で投票内容の修正が発生しないので、投票の信憑性に疑問を生じさせない電子投票システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の第１の視点に係る電子投票システムは、投票を行う複数の投票者端末と、該投票者端末から投票データを収集し該収集した投票データを公開ボードに公開する投票管理サーバとを通信回線を介して接続した電子投票システムであって、
前記投票者端末は、投票データから所定の関数を用いてフィンガープリントを生成して記憶する第１演算手段と、前記投票データを暗号化して暗号化投票データを生成する暗号化手段と、前記第１演算手段によって生成されたフィンガープリントと公開ボードに登録されるフィンガープリントとを照合し、双方のフィンガープリントの一致を検出すると一致信号を生成する一致判定手段とを備え、
前記投票管理サーバは、前記投票者端末から暗号化投票データを受信すると該受信した暗号化投票データを復号化して記憶する復号手段と、該復号手段によって復号化された投票データから前記所定の関数を用いてフィンガープリントを生成する第２演算手段と、該第２演算手段によって生成されたフィンガープリントを前記公開ボードに公開するフィンガープリント公開手段と、前記投票者端末から送信された一致信号を受信した後に、前記復号化した投票データを前記公開ボードに公開する投票データ公開手段とを備えることを特徴とする。
【０００９】
また、本発明の第２の視点に係る電子投票システムは、投票を行う複数の投票者端末と、該投票者端末から投票データを収集し該収集した投票データを集計するＡＳＰサーバと、投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムであって、
前記投票者端末は、前記開票者端末が指定した公開鍵で準同型系暗号方式により投票データを暗号化して第１の暗号化投票データを生成する第１暗号化手段と、該第１の暗号化投票データを、前記ＡＳＰサーバとの間で取り決めた暗号方式を用いて暗号化して、第２の暗号化投票データを生成する第２暗号化手段と、前記第１の暗号化投票データから所定の関数に基づいてフィンガープリントを演算して記憶装置に記憶する第１演算手段と、前記記憶装置に記憶されたフィンガープリントと公開ボードに登録されるフィンガープリントとを照合し、双方のフィンガープリントの一致を検出すると一致信号を生成する一致判定手段とを備え、
前記ＡＳＰサーバは、前記投票者端末から受信した前記第２の暗号化投票データを復号化することによって前記第１の暗号化投票データを復元する第１復号手段と、該復元された第１の暗号化投票データから前記所定の関数に基づいてフィンガープリントを演算する第２演算手段と、該第２演算手段で演算されたフィンガープリントを前記公開ボードに公開するフィンガープリント公開手段と、前記投票者端末から前記一致信号を受信すると、当該投票者端末から受信した後に復元された前記第１の暗号化投票データを前記公開ボードに公開する暗号化データ公開手段とを備え、
前記開票者端末は、前記公開ボードから、前記公開ボードに登録された第１の暗号化投票データを読み出して、開票者端末の秘密鍵を用いて復号化し、平文の投票データを生成する第２復号手段を備えることを特徴とする。
【００１０】
更に、本発明の第３の視点に係る電子投票方法は、投票を行う複数の投票者端末と、該投票者端末から投票データを収集し該収集した投票データを公開ボードに公開する投票管理サーバとを通信回線を介して接続した電子投票システムを利用する電子投票方法であって、
前記投票者端末が、投票データから所定の関数を用いてフィンガープリントを生成して記憶装置に記憶するステップと、
前記投票者端末が、前記投票データを暗号化して暗号化投票データを生成するステップと、
前記投票者端末が、前記暗号化データを投票管理サーバに送信するステップと、
前記投票管理サーバが、前記送信された暗号化投票データを復号化するステップと、
前記投票管理サーバが、前記復号化された投票データから前記所定の関数を用いてフィンガープリントを生成するステップと、
前記投票管理サーバが、前記復号化された投票データから生成したフィンガープリントを前記公開ボードに公開するステップと、
前記投票者端末が前記記憶装置に記憶したフィンガープリントと公開ボードに登録されたフィンガープリントとを照合し、双方のフィンガープリントの一致を検出すると一致信号を生成して前記投票管理サーバに送信するステップと、
前記投票管理サーバが、前記投票者端末から一致信号を受信すると当該投票者端末の前記復号化された投票データを前記公開ボードに公開するステップと、
を備えることを特徴とする。
【００１１】
更に、本発明の第４の視点に係る電子投票方法は、投票を行う複数の投票者端末と、該投票者端末から投票データを収集し該収集した投票データを集計するＡＳＰサーバと、投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムを利用する電子投票方法であって、
前記投票者端末が、前記開票者端末が指定した公開鍵で準同型系暗号方式により投票データを暗号化して第１の暗号化投票データを生成するステップと、
前記投票者端末が、前記第１の暗号化投票データを、前記ＡＳＰサーバとの間で取り決めた暗号方式を用いて暗号化して、第２の暗号化投票データを生成するステップと、
前記投票者端末が、前記第１の暗号化投票データから所定の関数に基づいてフィンガープリントを演算して記憶装置に記憶するステップと、
前記投票者端末が、前記第２の暗号化データを前記ＡＳＰサーバに送信するステップと、
前記ＡＳＰサーバが、前記投票者端末から受信した前記第２の暗号化投票データを復号化することによって前記第１の暗号化投票データを復元するステップと、
前記ＡＳＰサーバが、前記復元された第１の暗号化投票データから前記所定の関数に基づいてフィンガープリントを演算するステップと、
前記ＡＳＰサーバが、該ＡＳＰサーバが演算したフィンガープリント前記公開ボードに公開するステップと、
前記投票者端末が、前記記憶装置に記憶されたフィンガープリントと公開ボードに登録されたフィンガープリントとを照合し、双方のフィンガープリントの一致を検出すると一致信号を生成して前記ＡＳＰサーバに送信するステップと、
前記ＡＳＰサーバが、前記投票者端末から前記一致信号を受信すると、当該投票者端末から受信した後に復元された前記第１の暗号化投票データを前記公開ボードに公開するステップと、
前記開票者端末が、前記公開ボードに公開された第１の暗号化投票データを読み出して、前記開票者端末の秘密鍵を用いて復号化し、平文の投票データを生成するステップと、
を備えることを特徴とする。
【発明の効果】
【００１２】
本発明の電子投票システム及び電子投票方法では、公開ボードには先にフィンガープリントのみを公開し、投票者による検証が終了した時点で投票内容を公開ボードに公開するので、公開ボードに公開された投票内容を修正する等の処理が不必要であり、公開ボードに公開された投票内容の修正によって、投票者やアンケート実施者に生ずる投票内容への不信感が回避できる。
【００１３】
本発明の電子投票システム及び電子投票方法の好ましい態様では、前記所定の関数がハッシュ関数であり、前記フィンガープリントが前記投票データのハッシュ値である。ハッシュ関数を採用することにより、投票者端末や、集計サーバ又はＡＳＰサーバにおけるデータ処理量が小さくできる。
【００１４】
また、前記投票者端末が、前記第１の演算手段によって生成されたフィンガープリントを、前記暗号化された投票データと共に前記投票管理サーバに向けて送信し、前記フィンガープリント公開手段が、該送信されたフィンガープリントと、前記第２演算手段によって生成されたフィンガープリントとを照合し、双方のフィンガープリントが一致した後に、該一致したフィンガープリントを前記公開ボードに公開することも本発明の好ましい態様である。この場合、更に効果的に第三者による攻撃から投票内容を守ることができる。
【００１５】
また、本発明の第２の視点に係る電子投票システム及び第４の視点に係る電子投票方法では、前記ＡＳＰサーバが、更に前記公開ボードに登録した暗号化投票データを集計して集計結果データを生成して前記公開ボードに公開する集計手段を備え、
前記第２復号手段が、前記集計結果データを、前記開票者端末の秘密鍵で復号化することも好ましい態様である。この場合、アンケート実施者は、投票の管理に加えて、投票の集計結果までの処理を、ＡＳＰ業者にその集計結果の内容を知られることなく、ＡＳＰ業者に委託できる。
【００１６】
更に、前記開票者端末が、前記投票者端末に向けて、前記ＡＳＰサーバのＵＲＬと、前記ＡＳＰサーバへのログインＩＤ及パスワードと、前記ＡＳＰサーバが指定する公開鍵と、前記開票者端末が指定する公開鍵とを添付した電子メールを送信して、投票を依頼することも好ましい態様である。アンケート実施者は、これらデータを添付した投票依頼のみで投票者に投票依頼が可能であり、特別なＷｅｂの知識を有しなくとも、アンケートの実施が可能となる。
【００１７】
前記ＡＳＰサーバと、前記投票者端末及び開票者端末との間の通信は、送信されるデータの暗号化機能と、個人を認証する認証機能と、送信されたデータの正当性を検証する検証機能とを有する秘密通信路を利用して行われることも好ましい。この場合、通信の秘密が効果的に守られ、また、第三者からの攻撃が回避できる。
【発明を実施するための最良の形態】
【００１８】
本発明の実施形態について、図面を参照して詳細に説明する。図１は、本発明の一実施形態に係る投票システムをブロック図で示している。本投票システムは、アンケート実施者が保有する開票者端末１０と、アンケート実施者から投票管理依頼を受けて電子投票の収集及び集計を行うＡＳＰ業者のＡＳＰサーバ２０と、アンケート実施者からアンケートの投票依頼を受けて、実際に投票を行う多数の投票者端末３０と、これらを接続するインターネット４０とから構成される。ＡＳＰサーバ２０は、投票者端末３０及び開票者端末１０の双方に対して公開される公開ボード２１を掲示板として用いる。
【００１９】
投票者端末３０は、記憶装置３１及び入出力装置３７を付属するパーソナルコンピュータで構成される。投票者端末３０は、プログラムで実現される機能手段として、例えば投票アプレットを用いて構成される投票データ作成手段３２と、投票データを準同型系暗号方式で暗号化する第１暗号化手段３３と、第１暗号化手段３３で暗号化された暗号化投票データを更に例えばＲＳＡ暗号方式で暗号化する第２暗号化手段３４と、第１暗号化手段３３で暗号化された投票データからハッシュ値を演算して記憶装置３１に記憶するハッシュ値演算手段３５と、記憶装置３１に記憶されたハッシュ値と、ＡＳＰサーバ２０の公開ボード２１に登録されるハッシュ値とを比較して、投票データの正当性を判定する判定手段３６とを有する。
【００２０】
開票者端末１０は、記憶装置１１及び入出力装置１５を付属するパーソナルコンピュータで構成される。開票者端末１０は、プログラムで実現される機能手段として、投票に必要なデータを作成してＡＳＰサーバ２０に投票の管理を依頼する投票管理依頼手段１２と、投票者端末３０に対して必要なデータを電子メールで送信する投票依頼手段１３と、ＡＳＰサーバ２０から送信されたＡＳＰサーバの暗号方式で暗号化されたデータを復号化すると共に、開票者端末１０の暗号方式で暗号化された投票の集計データを自身の秘密鍵で復号化する復号手段１４とを有する。
【００２１】
ＡＳＰサーバ２０は、記憶装置２８及び入出力装置２９を付属する汎用コンピュータとして構成され、ＡＳＰ業者によって、アンケート実施者からの依頼を受けて投票を管理するための管理装置として利用される。ＡＳＰサーバ２０は、プログラムで実現される機能手段として、Ｗｅｂ上でホームページを閲覧させる機能と、投票結果のデータを公開する公開手段として機能する公開ボード２１と、開票者端末１０からの依頼に応じて投票管理データを作成して記憶装置２８に記憶する投票管理データ作成手段２２と、投票者端末３０から受信した二重暗号化投票データを、自身の秘密鍵で復号化して開票者端末１０の暗号方式で暗号化された投票データを復元する復号手段２３と、復号手段２３の出力である暗号化された投票データのハッシュ値を演算するハッシュ値演算手段２４と、暗号化された投票データを集計する集計手段２５と、その集計結果をＲＳＡ暗号方式で暗号化して開票者端末に送信する暗号化手段２６と、開票者端末１０の依頼案件に対して、その依頼の発生の都度、依頼１件毎に依頼者の銀行口座から課金を行う課金手段２７とを有する。
【００２２】
開票者端末１０と、ＡＳＰサーバ２０と、投票者端末３０との間の通信は、開票者端末１０から投票者端末３０に送信される電子メールによる通信を除き、個人認証機能と、データ検証機能と、暗号化機能とを有する秘密通信路を利用して行われる。秘密通信路には、本実施形態では、ＳＳＬプロトコルを用いる。ＳＳＬプロトコルは、オンラインショッピングなどで一般的に用いられているプロトコルで、サーバ認証／クライアント認証、データ検証、及び、暗号化を行うプロトコルである。Ｗｅｂブラウザは、ＳＳＬを使ったＨＴＴＰを用いて通信を行うことが出来る。
【００２３】
ＡＳＰサーバ２０は、投票者端末３０及び開票者端末１０との間で、ＳＳＬ（secure sockets layer）プロトコルを用いた暗号化を行う。ＳＳＬでは、暗号通信の処理時間を短縮するためにセッション管理を行っており、暗号通信を行うためのネゴシエーションの短縮化が可能である。ＡＳＰサーバ２０は、投票者端末３０とＡＳＰサーバ２０との間でセキュリティ処理能力が決定され、プロトコルバージョン、セッションＩＤ、暗号方式、圧縮アルゴリズムの各属性が確立すると、“Certificate”によってサーバ証明書を投票者端末に送信する。ＡＳＰサーバ２０は、同時に“Certificate Request”を送信し、投票者端末３０に証明書の送付を要求する。投票者端末３０は、予め開票者端末２０から受信したＡＳＰサーバ３０へのログインＩＤをその証明書として利用する。その後、ＡＳＰサーバ２０は、投票フォームを含む投票アプレットと開票者端末１０の暗号化アプレットとを送信する。
【００２４】
ＡＳＰサーバ２０と開票者端末１０との間では、ＳＳＬプロトコルによる暗号化が行われる。投票者端末３０での準同型系暗号方式による暗号化のため、開票者端末１０から投票者端末３０に対して（開票者端末の）公開鍵が渡される。投票者端末３０は、この公開鍵を用いて投票内容を暗号化する。つまり、本システムでは、投票者端末３０とＡＳＰサーバ２０との間では、準同型系暗号方式の公開鍵による暗号化と、ＳＳＬプロトコルによる暗号化の二重暗号化が行われる。また、ＡＳＰ業者や第三者による投票結果の改ざんを防止するために、投票者端末３０は、ＡＳＰサーバ２０の公開ボード２１に公開されるハッシュ値と、自身の投票結果から作成し自身の記憶装置３１内に記憶したハッシュ値との照合を行い、その照合結果によって、公開ボード２１上のハッシュ値を持つ投票データを有効と認める。
【００２５】
開票者端末１０は、アンケートの実施に先だって、予め、投票者のリストを作成し、そのリストをＡＳＰサーバ２０に提示し、アンケートのための投票管理を依頼すると共に、その料金を支払う。その後、ＡＳＰサーバ２０から、ＡＳＰサーバ２０のＵＲＬ、ＡＳＰサーバ２０へのログインＩＤ及びパスワード（ＰＷＤ）、ＡＳＰサーバ２０の公開鍵（公開鍵証明書）を取得する。開票者端末１０は、各投票者端末３０に対して、ＡＳＰサーバ２０のＵＲＬ、ＡＳＰサーバ２０へのログインＩＤ及びＰＷＤ、ＡＳＰサーバ２０の公開鍵証明書、開票者端末３０の公開鍵証明書を送付して投票依頼を行う。ＡＳＰサーバ２０と投票者端末３０との間の通信により、ＡＳＰサーバ２０から、投票アプレットと、準同型系暗号化方式の暗号化アプレットとが投票者端末３０に送信され、投票者端末３０は、投票データを２つの公開鍵を使って投票内容を二重に暗号化する。
【００２６】
準同型系暗号方式では、平文が暗号化された状態で、その複数の暗号文を掛け合わせることにより、暗号文中の平文が加えられる。それによって、暗号化された平文を知ることなく、暗号化された状態のまま合計値を平文とする暗号文ができ、復号処理の簡略化を実現する。準同型系暗号方式の例としては、高次剰余暗号、閾値ElGamal暗号、Okamoto-Uchiyama関数、Paillier暗号、NS暗号などがある。
【００２７】
準同型系暗号方式でも、特に復号コストを小さく実現できるOkamoto-Uchiyama関数を
用いることが好ましい。Okamoto-Uchiyama関数は、平文サイズと暗号文サイズに関係なく、高速な復号化処理ができる。また、 1つの暗号文中に含める平文サイズを大きくすることで、暗号化処理を小さくすることができる。Okamoto-Uchiyama関数については、非特許文献１に記載されている。
【００２８】
以下、本システムによる各端末及びＡＳＰサーバでの処理を、図２のフローチャートを参照して説明する。
【００２９】
まず、開票者端末１０を保有するアンケート実施者は、Ｗｅｂによるアンケートを実施するために、ＡＳＰサーバ２０の利用料をＡＳＰ業者に電子決済で支払うと共に、ＡＳＰサーバ２０に対して、投票名称、投票項目、投票者リスト、及び、開票者名（アンケート実施者）の入力を含む投票管理依頼の登録をＷｅｂ上で行う（ステップＳ１）。ＡＳＰサーバ２０は、開票者端末１０が入力した投票管理依頼のデータから、投票項目を含む投票フォームを作成し、投票者ＩＤ及び開票者名（アンケート実施者）等の投票管理に必要な投票管理データを作成し、ＡＳＰサーバ２０内のデータベースに格納する（ステップＳ２）。ＡＳＰサーバ２０での投票管理データの登録処理が完了したら、ＡＳＰサーバ２０のＵＲＬ、ＡＳＰサーバ２０へのログインＩＤ及びＰＷＤ、ＡＳＰサーバ２０の公開鍵証明書を含む登録完了データを作成し、開票者端末３０にＨＴＴＰで送信する（ステップＳ３）。
【００３０】
開票者端末１０は、ＡＳＰサーバ２０からＨＴＴＰで送信される登録完了データを受信すると、ＡＳＰサーバ２０のＵＲＬ、ＡＳＰサーバ２０へのログインＩＤ及びＰＷＤ、ＡＳＰサーバ２０の公開鍵証明書に、開票者端末１０の公開鍵証明書を付加した投票実施データを添付した電子メールを作成し、その電子メールをあらかじめ登録しておいた投票者の投票者端末３０に対して送付し、投票の依頼を行う（ステップＳ４）。
【００３１】
投票者端末３０は、開票者端末１０からの電子メールを受信し、受信したＡＳＰサーバ２０のＵＲＬ、ＡＳＰサーバ２０へのログインＩＤ及びＰＷＤを用いて、ＡＳＰサーバ２０にログインする（ステップＳ５）。ＡＳＰサーバ２０は、ＳＳＬプロトコルを用いて投票者端末３０との間でデータを送受信し、投票者端末との間で双方の認証を行い、その認証後に、投票者端末３０の要求に応じて、ＳＳＬで暗号化された投票フォーム、ＡＳＰサーバ２０の公開鍵証明書、及び、開票者端末１０の公開鍵証明書を含む投票用データと、開票者端末１０の暗号化アプレットとを送信する（ステップＳ６）。投票者端末３０は、ＡＳＰサーバ２０から投票用データをダウンロードし、受け取った投票フォームに投票内容を入力する。
【００３２】
投票者端末３０では、投票フォームに入力された投票データを、開票者端末１０の公開鍵で暗号化し、さらにＳＳＬプロトコルで二重に暗号化する。投票者端末３０は、その二重暗号化の投票データを、ＡＳＰサーバ２０にＨＴＴＰで送信する（ステップＳ７）。その際に、投票データが正当に投票されたか否かについて後に行う検証のために、開票者端末１０の公開鍵で暗号化された投票データのフィンガープリントを求める。投票者端末３０は、生成したフィンガープリントを、投票者端末３０内の記憶装置に保存し、それを二重暗号化の投票データと共にＡＳＰサーバ２０にＨＴＴＰで送信する。本実施形態では、フィンガープリントは、暗号化された投票データから例えば２０バイトのハッシュ値を求めることにより生成する。
【００３３】
ＡＳＰサーバ２０は、投票者端末３０からの二重暗号化の投票データ及びフィンガープリントをＨＴＴＰで受信し、その二重暗号化の投票データを、ＡＳＰサーバ２０の秘密鍵で復号化する。ＡＳＰサーバ２０は、復号化した投票データから、更に投票者端末のハッシュ関数と同じハッシュ関数を用いて、ハッシュ値を計算し、フィンガープリントを求める。求めたフィンガープリントと、投票端末３０から受信したフィンガープリントとを照合することで、投票データの正当性を検証する（ステップＳ８）。検証の結果、正当な投票データであれば、そのフィンガープリントであるハッシュ値をＡＳＰサーバ２０内の公開ボード２１に登録する（ステップＳ９）。
【００３４】
投票者端末３０は、自ら投票した投票データが正当に投票されているかを検証するために、ＡＳＰサーバ２０内の公開ボード２１に登録されたフィンガープリントをＨＴＴＰで取得し、その取得したフィンガープリントと、投票者端末３０の記憶装置３１内に保存しているフィンガープリントとを照合し、正当に投票された投票データであるか否かを検証する。正当に投票された投票データであるならば、ＡＳＰサーバ２０に、投票完了メッセージをＨＴＴＰで送信する（ステップＳ１０）。このように、公開ボード２１に、まずフィンガープリントのみを掲示するのは、第三者によって、投票者の投票した内容と異なる内容にデータが改ざんされていないか、データがすり替えられていないかどうかを、公開ボード２１に投票内容を掲示する前に確認するためである。
【００３５】
ＡＳＰサーバ２０は、投票者端末３０から投票完了メッセージをＨＴＴＰで受信すると、先にＡＳＰサーバ２０の秘密鍵で復号化した投票データを、公開ボード２１に登録する（ステップＳ１１）。これら処理は、各投票者端末３０毎に行われ、各投票者端末３０による投票がそれぞれ正式に確定する。
【００３６】
投票期日終了後、開票者端末１０は、ＡＳＰサーバ２０に向けて、公開ボード２１に登録されている、開票者端末の公開鍵で暗号化された投票データの集計を行うよう、集計指示メッセージをＨＴＴＰで送信する（ステップＳ１２）。ＡＳＰサーバ２０は、開票者端末１０から集計指示メッセージをＨＴＴＰで受信すると、ＡＳＰサーバ２０内の公開ボード２１に登録されている暗号化投票データの集計を行い、その得られた暗号化集計結果データを、ＡＳＰサーバ２０内の公開ボード２１に登録する（ステップＳ１３）。その暗号化及び登録に先だって、ＡＳＰサーバ２０は、コミットメントスキームの手法を用いて、コミットメントデータを算出し、その算出した複数のコミットメントデータ用いて、投票データの集計値が、正当な集計値であるか否かを検証する。この検証によって、通信途中における第三者による改ざんの可能性が除かれる。ＡＳＰサーバ２０は、暗号化集計結果データを公開ボード２１に登録すると、開票者端末１０に集計完了メッセージをＨＴＴＰで送信する。
【００３７】
開票者端末１０は、ＡＳＰサーバ２０から集計完了メッセージをＨＴＴＰで受信すると、ＡＳＰサーバ２０内の公開ボード２１に登録されている暗号化集計結果データをＨＴＴＰで取得し、次いで、開票者端末１０の記憶装置１１に記憶されている秘密鍵を用い、暗号化集計結果データを復号化することで、平文の集計結果データを得る（ステップＳ１４）。
【００３８】
上記実施形態例では、ＡＳＰサーバ２０と投票者端末３０との間で行われる秘密通信路による暗号化と、開票者端末１０と投票者端末３０との間で行われる準同型系暗号方式による暗号化の二重の暗号化が行われるので、ＡＳＰサーバ２０での集計の際に、ＡＳＰ業者による集計データの改ざんのおそれがない。また、投票者端末３０で、フィンガープリントを用いた投票データの検証が行われるので、第三者やＡＳＰ業者によるデータの改ざんのおそれがない。ハッシュ値によるフィンガープリントを用いることで、効率的な検証が可能である。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施形態の電子投票システムのブロック図。
【図２】図１の電子投票システムにおける処理を示すフローチャート。
【符号の説明】
【００４０】
１０：開票者端末
１１：記憶装置
１２：投票管理依頼手段
１３：投票依頼手段
１４：復号手段
１５：入出力手段
２０：ＡＳＰサーバ
２１：公開ボード
２２：投票管理データ作成手段
２３：復号手段
２４：ハッシュ値演算手段
２５：集計手段
２６：暗号化手段
２７：課金手段
２８：記憶装置
２９：入出力装置
３０：投票者端末
３１：記憶装置
３２：投票データ作成手段
３３：第１暗号化手段
３４：第２暗号化手段
３５：ハッシュ値演算手段
３６：判定手段
３７：入出力装置
４０：インターネット
【図１】
2006128865.tif 000003
【図２】
2006128865.tif 000004