(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024112274
(43)【公開日】2024-08-20
(54)【発明の名称】ゼロ知識証明を有するブロックチェーン基盤の電子投票システムおよび方法
(51)【国際特許分類】
H04L 9/32 20060101AFI20240813BHJP
【FI】
H04L9/32 200C
H04L9/32 200Z
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023145738
(22)【出願日】2023-09-08
(31)【優先権主張番号】10-2023-0015970
(32)【優先日】2023-02-07
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WCDMA
2.ブルートゥース
3.アンドロイド
4.iOS
(71)【出願人】
【識別番号】523343547
【氏名又は名称】ゼットクリプト インコーポレイテッド
【氏名又は名称原語表記】Zkrypto Inc
【住所又は居所原語表記】312ho, 321ho, Hanyang Institute of Technology, 807ho, information communication center, Sageundong, Hanyang University, 222, Wangsimni-ro, Seongdong-gu, Seoul, Republic of Korea
(74)【代理人】
【識別番号】110003487
【氏名又は名称】弁理士法人東海特許事務所
(72)【発明者】
【氏名】オー,ヒュンオク
(57)【要約】 (修正有)
【課題】zk-SNARK(zero-knowledge Succinct Non-interactive ARgument of Knowledge)を使うゼロ知識証明を有するブロックチェーン基盤の電子投票システム及び方法を提供する。
【解決手段】ゼロ知識証明を有するブロックチェーン基盤の電子投票装置120は、使用者がそれぞれ所持して電子投票を遂行する投票者端末装置と通信する通信インターフェース部と、投票者端末装置に一つの本物の投票キーと少なくとも一つの偽物の投票キーを発給するゼロ知識証明電子投票部と、ゼロ知識証明電子投票部を制御し、電子投票を進行させ、電子投票の進行時投票者端末装置から提供する秘密値を各投票に固有番号で付与し、本物の投票キーと秘密値とに基づいて電子投票の真偽可否判断および検証動作を遂行する制御部と、を含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
使用者がそれぞれ所持して電子投票を遂行する投票者端末装置と通信する通信インターフェース部;および前記投票者端末装置に一つの本物の投票キーと少なくとも一つの偽物の投票キーを発給して電子投票を進行させ、前記電子投票の進行時に前記投票者端末装置から提供する秘密値を各投票に固有番号で付与し、前記本物の投票キーおよび前記秘密値に基づいて前記電子投票の真偽有無の判断および検証動作を遂行する制御部;を含む、ゼロ知識証明を有するブロックチェーン基盤の電子投票装置。
【請求項2】
前記制御部は、前記偽物の投票キーで投票が進行される場合、投票の暗号文を0に復号化する復号化結果に基づいて前記電子投票の集計結果に未反映する、請求項1に記載のゼロ知識証明を有するブロックチェーン基盤の電子投票装置。
【請求項3】
前記制御部は、前記投票者端末装置で遂行される各投票ごとに付与される第1秘密値および第2秘密値に基づいて前記投票者端末装置で進行された電子投票を追跡する、請求項1に記載のゼロ知識証明を有するブロックチェーン基盤の電子投票装置。
【請求項4】
前記制御部は、zk-SNARK(zero-knowledge Succinct Non-interactiveARgument of Knowledge)を使って前記本物の投票キーまたは前記偽物の投票キーのゼロ知識証明を遂行して前記電子投票の真偽有無を判断する、請求項1に記載のゼロ知識証明を有するブロックチェーン基盤の電子投票装置。
【請求項5】
前記制御部は、前記電子投票の集計が完了すれば、有権者の前記投票者端末装置に前記集計に使われた暗号文と集計結果を公開して前記有権者が集計結果を検証し、各有権者が自身の投票結果を検証するようにする、請求項1に記載のゼロ知識証明を有するブロックチェーン基盤の電子投票装置。
【請求項6】
前記制御部は、前記投票者端末装置と通信して前記本物の投票キーの発給の真偽を確認し、前記投票者端末装置と非相互通信によって前記偽物の投票キーを本物の投票キーに偽装させる、請求項1に記載のゼロ知識証明を有するブロックチェーン基盤の電子投票装置。
【請求項7】
通信インターフェース部が、使用者がそれぞれ所持して電子投票を遂行する投票者端末装置と通信する段階;および制御部が、前記投票者端末装置に一つの本物の投票キーと少なくとも一つの偽物の投票キーを発給して電子投票を進行させ、前記電子投票の進行時に前記投票者端末装置から提供する秘密値を各投票に固有番号で付与し、前記本物の投票キーおよび前記秘密値に基づいて前記電子投票の真偽有無の判断および検証動作を遂行する段階;を含む、ゼロ知識証明を有するブロックチェーン基盤電子投票装置の駆動方法。
【請求項8】
前記制御部が、前記偽物の投票キーで投票が進行される場合、投票の暗号文を0に復号化する復号化結果に基づいて前記電子投票の集計結果に未反映する段階;をさらに含む、請求項7に記載のゼロ知識証明を有するブロックチェーン基盤電子投票装置の駆動方法。
【請求項9】
前記制御部が、前記投票者端末装置で遂行される各投票ごとに付与される第1秘密値および第2秘密値に基づいて前記投票者端末装置で進行された電子投票を追跡する段階;をさらに含む、請求項7に記載のゼロ知識証明を有するブロックチェーン基盤電子投票装置の駆動方法。
【請求項10】
前記真偽有無を判断する段階は、zk-SNARKを使って前記本物の投票キーまたは前記偽物の投票キーのゼロ知識証明を遂行して前記電子投票の真偽有無を判断する、請求項7に記載のゼロ知識証明を有するブロックシーブ人気班電子投票装置の駆動方法。
【請求項11】
前記電子投票の集計が完了すれば、有権者の前記投票者端末装置に前記集計に使われた暗号文と集計結果を公開する段階;および前記有権者が集計結果を検証し、各有権者が自身の投票結果を検証するようにする段階;をさらに含む、請求項7に記載のゼロ知識証明を有するブロックチェーン基盤電子投票装置の駆動方法。
【請求項12】
前記投票者端末装置と通信して前記本物の投票キーの発給の真偽を確認する段階;および前記投票者端末装置と非相互通信によって前記偽物の投票キーを本物の投票キーに偽装させる段階;をさらに含む、請求項7に記載のゼロ知識証明を有するブロックチェーン基盤の電子投票装置の駆動方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はゼロ知識証明を有するブロックチェーン基盤の電子投票システムおよび方法に関し、さらに詳細には、たとえばブロックチェーンを使って投票箱を構成し、強圧抵抗性と検証可能性を同時に満足するためにゼロ知識証明のうち一つであるzk-SNARK(zero-knowledge Succinct Non-interactive ARgument of Knowledge)を使うゼロ知識証明を有するブロックチェーン基盤の電子投票システムおよび方法に関する。
【背景技術】
【0002】
K-votingは韓国選挙管理委員会で公式に起用しているオンライン投票システムである。しかし、K-votingの場合、オンライン選挙にブロックチェーンを使うという特徴があるだけで、基本的なプライバシーも守られていない。K-votingは投票者が投票をすることになれば、該当内容がすべてブロックチェーンに記録され、中央管理者はこれをすべてそのまま確認できるため、どの投票者がどの候補者に投票したかのすべての内訳を確認することができ、秘密選挙の原則に正面から違背する。
【0003】
プライバシーと正当性の確認がすべて可能な投票システムを設計することは前記のような単純な接近では不可能な難しい問題であり、長い歴史を有して研究されてきた分野である。現在、海外の研究事例のうちプライバシーを保障するシステムとして広く知られている研究としては、vVoteとHelios、JCJなどがある。vVoteはRBH+09の理論に基づいて実用化されて実際にアメリカの地方選挙プラットホームで試験運営されているシステムであり、オフラインとオンライン投票を融合して作られたハイブリッド投票システムである。vVoteはオフライン投票で投票用紙を電子投票化して、投票者が本人の投票が正しく投票結果に反映されたかを確認可能であるので「検証可能性」を満足する。しかし、vVoteは基本的に投票者のプライバシーは満足するものの、投票自体は個人が生成したそのまま結果に残るので、投票者が本人の投票を再び再現できるため「強圧抵抗性」は正しく満足することができない。ここで、強圧抵抗性は強圧による投票をどれほど防止できるかを意味すると見ることができる。
【0004】
JCJは「強圧抵抗性」の定義をはじめて提示して解決策を提示した論文であって、「検証可能性」は満足することができない。また、JCJでは偽物の投票キーを使う方式で攻撃者をだまして強圧抵抗性を満足する。しかし、偽物の投票キーは本物の投票キーを利用して有権者が直接作らなければならない。有権者がキーの発給を受けた以後から攻撃者が有権者を監視しているのであれば偽物のキーを生成できないこともある。また、投票の結果を集計するためには本物の投票キーと偽物の投票キーを区分することができなければならない。
【0005】
Heliosは同様にアメリカの地方選挙で試験運営として導入されているオンライン選挙システムであって、電子投票環境でプライバシーを満足するようにする特徴を有している。しかし、Heliosは有権者の身元が確実で強圧者が存在しない投票を仮定しており、投票者が本人の投票が結果に反映されたことを確認できないため「検証可能性」は満足することができない。
【0006】
前記の通り、電子投票システムはプライバシーと検証可能性をすべて満足することが重要で、プライバシーの側面で最も強力な属性である強圧抵抗性と、検証可能性の側面で最も強力な属性であるエンドツーエンド検証性をすべて満足する電子投票システムに対する技術開発の必要性が要求されている。
【先行技術文献】
【特許文献】
【0007】
(特許文献0001)韓国登録特許公報第10-2410269号(2022.06.14)(特許文献0002)韓国公開特許公報第10-2022-0107420号(2022.08.02)(特許文献0003)韓国公開特許公報第10-2021-0089682号(2021.07.16)
【非特許文献】
【0008】
(非特許文献0001)K-voting、大韓民国中央選挙管理委員会オンライン投票システム(非特許文献0002)Ben Adida.Helios:Web-based open-audit voting.InUSENIX security symposium、volume 17、pages 335-348、2008。(非特許文献0003)Chris Culnane、Pater YA Ryan、Steve Schneider、and Vanessa Teague.vVote:a verifiable voting system.ACM Transactions onInformation and System Security(TISSEC)、18(1):3、2015。(非特許文献0004)Peter YA Ryan、David Bismark、james Heather、SteveSchneider、and Zhe Xia.Pret a voter:a voter-verifiable voting system.IEEEtransactions on information forensics and security、4(4):662-673-2009。(非特許文献0005)Ari Juels、Dario Catalano、and Markus Jakobsson.Coercion-resistant electronic elections.Towards Trustworthy Elections、pp.37-63.Springer、2010。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明の実施例は、たとえばブロックチェーンを使って投票箱を構成し、強圧抵抗性と検証可能性を同時に満足するために、ゼロ知識証明のうち一つであるzk-SNARKを使うゼロ知識証明を有するブロックチェーン基盤の電子投票システムおよび方法を提供することにその目的がある。
【0010】
本発明の課題は以上で言及した課題に制限されず、言及されていないさらに他の技術的課題は下記の記載から当業者に明確に理解され得るであろう。
【課題を解決するための手段】
【0011】
前記課題を解決するための一実施例に係るゼロ知識証明を有するブロックチェーン基盤の電子投票装置は、使用者がそれぞれ所持して電子投票を遂行する投票者端末装置と通信する通信インターフェース部、および前記投票者端末装置に一つの本物の投票キーと少なくとも一つの偽物の投票キーを発給して電子投票を進行させ、前記電子投票の進行時に前記投票者端末装置から提供する秘密値を各投票に固有番号で付与し、前記本物の投票キーおよび前記秘密値に基づいて前記電子投票の真偽有無の判断および検証動作を遂行する制御部を含む。
【0012】
前記制御部は、前記偽物の投票キーで投票が進行される場合、投票の暗号文を0に復号化する復号化結果に基づいて前記電子投票の集計結果に未反映することができる。
【0013】
前記制御部は、前記投票者端末装置で遂行される各投票ごとに付与される第1秘密値および第2秘密値に基づいて前記投票者端末装置で進行された電子投票を追跡することができる。
【0014】
前記制御部は、zk-SNARKを使って前記本物の投票キーまたは前記偽物の投票キーのゼロ知識証明を遂行して前記電子投票の真偽有無を判断することができる。
【0015】
前記制御部は、前記電子投票の集計が完了すれば、有権者の前記投票者端末装置に前記集計に使われた暗号文と集計結果を公開して前記有権者が集計結果を検証し、各有権者が自身の投票結果を検証するようにすることができる。
【0016】
前記制御部は、前記投票者端末装置と通信して前記本物の投票キーの発給の真偽を確認し、前記投票者端末装置と非相互通信によって前記偽物の投票キーを本物の投票キーに偽装させることができる。
【0017】
また、前記課題を解決するための一実施例に係るゼロ知識証明を有するブロックチェーン基盤電子投票装置の駆動方法は、通信インターフェース部が使用者がそれぞれ所持して電子投票を遂行する投票者端末装置と通信する段階、および制御部が前記投票者端末装置に一つの本物の投票キーと少なくとも一つの偽物の投票キーを発給して電子投票を進行させ、前記電子投票の進行時に前記投票者端末装置から提供する秘密値を各投票に固有番号で付与し、前記本物の投票キーおよび前記秘密値に基づいて前記電子投票の真偽有無の判断および検証動作を遂行する段階を含む。
【0018】
前記駆動方法は、前記制御部が前記偽物の投票キーで投票が進行される場合、投票の暗号文を0に復号化する復号化結果に基づいて前記電子投票の集計結果に未反映する段階をさらに含むことができる。
【0019】
前記駆動方法は、前記制御部が前記投票者端末装置で遂行される各投票ごとに付与される第1秘密値および第2秘密値に基づいて前記投票者端末装置で進行された電子投票を追跡する段階をさらに含むことができる。
【0020】
前記真偽有無を判断する段階は、zk-SNARKを使って前記本物の投票キーまたは前記偽物の投票キーのゼロ知識証明を遂行して前記電子投票の真偽有無を判断することができる。
【0021】
前記駆動方法は、前記電子投票の集計が完了すれば、有権者の前記投票者端末装置に前記集計に使われた暗号文と集計結果を公開する段階、および前記有権者が集計結果を検証し、各有権者が自身の投票結果を検証するようにする段階をさらに含むことができる。
【0022】
前記駆動方法は、前記投票者端末装置と通信して前記本物の投票キーの発給の真偽を確認する段階、および前記投票者端末装置と非相互通信によって前記偽物の投票キーを本物の投票キーに偽装させる段階をさらに含むことができる。
【発明の効果】
【0023】
本発明の実施例によると、ブロックチェーン基盤電子投票システムでzk-SNARKと偽物の投票キー発給アルゴリズムを使ってプライバシーを保障し検証可能性を満足する投票システムを具現することができる。特に電子投票システムのプライバシーのうち最も高い段階である強圧抵抗性と検証可能性の最も高い段階であるエンドツーエンド検証可能性を満足する投票システムの具現が可能であり得るであろう。
【0024】
実施例に係る効果は以上で例示された内容によって制限されず、さらに多様な効果が本明細書内に含まれている。
【図面の簡単な説明】
【0025】
【
図1】本発明の実施例に係るブロックチェーン基盤の電子投票システムを示す図面である。
【
図2】
図1のシステムでなされる電子投票のプロセスを図式化して示す図面である。
【
図3】公開キー基盤の検証可能な暗号化/復号化方式を説明するための図面である。
【
図4】本物のキーと偽物のキーで暗号化/復号化する過程を説明するための図面である。
【
図5】
図1のブロックチェーン電子投票装置の細部構造を例示したブロックダイアグラムである。
【
図6】
図1のブロックチェーン電子投票装置の駆動過程を示すフローチャートである。
【
図8】登録段階のアルゴリズムを示している図面である。
【
図9】キー提供アルゴリズムのシミュレーションを示す図面である。
【発明を実施するための形態】
【0026】
本発明の利点および特徴、そしてそれらを達成する方法は、添付される図面と共に詳細に後述されている実施例を参照すると明確になるであろう。しかし、本発明は以下で開示される実施例に限定されるものではなく互いに異なる多様な形態で具現され得、ただし本実施例は本発明の開示を完全なものとし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであり、本発明は請求項の範疇によって定義されるのみである。
【0027】
すべてのフローチャート、状態変換図、疑似コードなどはコンピュータが読み取り可能な媒体に実質的に示すことができ、コンピュータまたはプロセッサが明確に図示されているかを問わずコンピュータまたはプロセッサによって遂行される多様なプロセスを示すものと理解されるべきである。
【0028】
プロセッサまたはこれと類似する概念で表示された機能ブロックを含む図面に図示された多様な素子の機能は、専用ハードウェアだけでなく適切なソフトウェアに関連してソフトウェアを実行する能力を有したハードウェアの使用で提供され得る。プロセッサによって提供される時、前記機能は単一の専用プロセッサ、単一の共有プロセッサまたは複数の個別的なプロセッサによって提供され得、これらのうち一部は共有され得る。明細書全体に亘って同一の参照符号は同一の構成要素を指し示す。
【0029】
以下、添付された図面を参照して具体的な実施例について説明する。
【0030】
図1は本発明の実施例に係るブロックチェーン基盤の電子投票システムを示す図面、
図2は
図1のシステムでなされる電子投票のプロセスを図式化して示す図面、
図3は公開キー基盤の検証可能な暗号化/復号化方式を説明するための図面、そして
図4は本物のキーと偽物のキーで暗号化/復号化する過程を説明するための図面である。
【0031】
図1に図示された通り、本発明の実施例に係るブロックチェーン基盤の電子投票システム90は投票者端末装置100、通信網110、ブロックチェーン電子投票装置120および管理者端末装置130の一部又は全部を含む。
【0032】
ここで、「一部又は全部を含む」とは、管理者端末装置130のような一部の構成要素が省略されて
図1のブロックチェーン基盤の電子投票システム90が構成されたり、ブロックチェーン電子投票装置120を構成する構成要素の一部又は全部が通信網110を構成するネットワーク装置(例:無線交換装置など)に統合されて構成され得ることなどを意味するものであって、発明の十分な理解を助けるためにすべて含むものとして説明する。
【0033】
投票者端末装置100は、
図1の通信網110を経由してブロックチェーン電子投票装置120に接続して電子投票を遂行する多様な類型の端末装置を含むことができる。本発明の実施例に係る投票者端末装置100は、スマートフォン、タブレットPCおよび使用者あるいは有権者が手首などに着用するウェアラブル装置などのモバイル基盤の端末装置だけでなく、デスクトップコンピュータやラップトップコンピュータなどのPC基盤の端末装置を含むことができる。もちろん、投票の特性である秘密投票を維持するために、個人所有のモバイル端末装置を利用して電子投票を使うことが好ましいが、PC基盤の端末装置の場合にも投票の機密性を維持できるのであればいくらでも本発明の実施例に係る電子投票のために使われ得るであろう。例えば、独身者の場合、自身が居住する空間にPC基盤の端末装置が備えられ得、この場合、電子投票のために機密性が維持され得るので、本発明の実施例ではいずれか一つの端末装置に特に限定しはしない。
【0034】
投票者端末装置100を所持する有権者はブロックチェーン電子投票装置120に接続してウェブ(web)基盤で電子投票を遂行できるが、アプリケーション(application)すなわちアプリ基盤で電子投票を遂行することもいくらでも可能であり得る。また、本発明の実施例に係る電子投票は、地方選挙や国会議員選挙、ひいては大統領選挙のように公職者を選出するための投票に使われ得るが、例えばアパート団地で棟の代表や入居者代表を選出し、また、大学の場合、総学生会長等を選出する時になされる電子投票をすべて含むことができるため、本発明の実施例では電子投票がなされる投票の類型についても、特に限定しはしない。何より公職者選挙の場合、各有権者は比例代表選出の場合、政党に投票することができ、また、地域区の国会議員を選出するなどの複数の投票を進行することができる。したがって、本発明の実施例に係る投票者端末装置100を所持する各有権者は、投票の検証が容易にできるとように各投票ごとに固有番号、すなわち秘密値を設定して投票を進行してもよいのである。これに伴い、秘密値を通じて自身が投票した投票結果に対して検証が自由になされ得る。複数投票(例:比例代表および地域区の議員の選出)の場合、自身が遂行したすべての投票に対して追跡が可能であってもよい。
【0035】
より具体的には、自身が所有する投票者端末装置100の各有権者は、電子投票を進行する時にブロックチェーン電子投票装置120で生成した投票箱、このとき投票箱はブロックチェーン形態で動作してデータを分散保存することによって、電子投票の結果に対するハッキングなどによる歪曲が発生しないように動作することを前提とすることができるが、投票者端末装置100で電子投票を進行する時、予め登録された有権者情報に基づいて投票を進行させることができ、この時、第三者の強圧による投票行為が発生しないように本物の投票キーと偽物の投票キーを発給して投票を進行することができる。ここで、本物の投票キーは一つのみ発給を受けることができるが、偽物の投票キーは複数個の発給を受けることもいくらでも可能であり得、偽物の投票キーは有権者(あるいは投票者)の要請により望む個数だけ発給を受けることもいくらでも可能であり得る。これに伴い、投票者端末装置100は電子投票を進行する時に強圧がある場合、偽物の投票キーを使って投票をすることができ、偽物の投票キーで投票を進行する場合、ブロックチェーン電子投票装置120はゼロ知識証明基盤で該当投票行為すなわち投票結果を検証して無効票と処理して集計結果に反映しないことができる。もちろん、このようなゼロ知識証明基盤で投票結果を処理することによって、本発明の実施例では特定有権者の投票行為に強圧が発生したとのことをブロックチェーン電子投票装置120で感知して適切な対処がなされるようにすることもいくらでも可能であり得る。たとえば、該当投票者の行動パターンなどを感知して強圧の有無を判断するのである。
【0036】
また、投票者端末装置100は例えば地域区の国会議員や地方自治議員、地方自治団体長、比例代表選出のための政党に投票を進行する時、自身が投票したすべての投票結果の検証のために各投票用紙の投票ごとに秘密値、すなわち固有番号を指定して投票を進行することができる。もちろん、秘密値は秘密番号となり得、または生体認証情報が使われてもよいであろう。これに伴い、本物の投票キーおよび秘密値を通じて有効投票に対する検証が可能であり得、偽物の投票キーに秘密値を指定して投票を進行する場合には集計結果から無効処理され得、もちろん該当投票が無効処理されたかどうかを検証することもいくらでも可能であり得る。このように、それぞれの有権者は自身が直接投票によって最終集計結果をブロックチェーン電子投票装置120に接続して確認できるだけでなく、自身が遂行する電子投票に対して検証を遂行することによって、該当選挙で不正があるか否かを検証することもいくらでも可能であり得る。何より集計結果を暗号化された状態で確認できるので秘密投票の原則が遵守され得、何より選挙管理委員が該当集計結果を確認する時にも誰が誰に投票をしたかが分からないように暗号化された状態で確認するのでセキュリティ性が維持され得るのである。その他の詳しい内容は後述することにする。
【0037】
通信網110は有線/無線通信網をすべて含むことができる。たとえば通信網110として、有線/無線インターネット網が利用されたり連動され得る。ここで、有線網はケーブル網や公衆電話網(PSTN)のようなインターネット網を含むものであり、無線通信網はCDMA、WCDMA、GSM、EPC(Evolved Packet Core)、LTE(Long Term Evolution)、ワイヤレスブロードバンド(Wibro)網などを含む意味である。もちろん、本発明の実施例に係る通信網110はこれに限定されるものではなく、今後具現されるであろう次世代移動通信システムの接続網であって、たとえばクラウドコンピューティング環境下のクラウドコンピューティング網、5G網などに使われ得る。たとえば、通信網110が有線通信網である場合、通信網内のアクセスポイントは電話局の交換局などに接続できるが、無線通信網である場合には通信会社で運用するSGSNまたはGGSN(Gateway GPRS Support Node)に接続してデータを処理したり、BTS(Base Transceiver Station)、NodeB、e-NodeBなどの多様な中継機に接続してデータを処理することができる。
【0038】
通信網110はアクセスポイントを含んでもよい。アクセスポイントは建物内に多く設置されるフェムト(femto)またはピコ(pico)基地局のような小型基地局を含むことができる。ここで、フェムトまたはピコ基地局は、小型基地局の分類上投票者端末装置100等を最大何台まで接続できるかにより区分され得る。もちろん、投票者端末装置100等とジグビーおよびワイファイ(Wi-Fi)等の近距離通信を遂行するための近距離通信モジュールを含むことができる。アクセスポイントは無線通信のためにTCP/IPあるいはRTSP(Real-Time Streaming Protocol)を利用することができる。ここで、近距離通信はワイファイの他に、ブルートゥース、ジグビー、赤外線(IrDA)、UHF(Ultra HighFrequency)およびVHF(Very High Frequency)のようなRF(Radio Frequency)および超広帯域通信(UWB)等の多様な規格で遂行され得る。これに伴い、アクセスポイントはデータパケットの位置を抽出し、抽出された位置に対する最上の通信経路を指定し、指定された通信経路に沿ってデータパケットを次の装置、例えばブロックチェーン電子投票装置120に伝達することができる。アクセスポイントは一般的なネットワーク環境で多くの回線を共有することができ、例えばルータ(router)、リピータ(repeater)および中継機などが含まれ得る。
【0039】
ブロックチェーン電子投票装置120はブロックチェーン技術基盤で電子投票の結果を処理および管理することができる。換言すると、ブロックチェーン電子投票装置120は有権者が投票者端末装置100を通じて電子投票を進行する場合、電子投票のデータを分散保存して管理する。ブロックチェーンの意味は基本的に中央集中化されたサーバーまたはDB120aにデータを保存して管理するものではなく、トランザクション、すなわち取り引きが発生すれば複数のノードに分散保存して複数のノードの承認による合意があるときにデータの修正や帳簿の記入を可能にするものであり、これは当業者にすでに自明であるため、これ以上の説明は省略する。ただし、本発明の実施例では電子投票の歪曲を防止するためにこのようなブロックチェーン技術を適用することが好ましいが、ブロックチェーン技術を使うことに特に限定しはしない。
【0040】
ブロックチェーン電子投票装置120はブロックチェーンを使って投票箱を構成する。投票箱を構成するために、
図1の選挙管理委員会の選管委職員が所持する管理者端末装置130と連動することもいくらでも可能であり得る。ブロックチェーンは記録されたデータに対しては修正が不可能であるので、投票過程に対する操作防止が可能である。ブロックチェーン電子投票装置120は、強圧抵抗性すなわち強圧による投票行為の防止と検証可能性を同時に満足するためにゼロ知識証明のうち一つであるzk-SNARKを使う。ここでゼロ知識証明とは、暗号化を解読する復号化によって投票結果が「0」となることを意味し得る。証明者は公開入出力と秘密入出力が特定関係式を満足することを証明する証明を生成でき、検証者はこの証明を公開入出力を利用して簡潔に検証することができる。有権者が検証者の役割をして、本人が正当な投票者であるか、投票を正しく暗号化したかなどを証明することができ、有権者の身元は全く露出されない。ブロックチェーン電子投票装置120は有権者の投票者端末装置100と通信してこのような動作に関与することができる。
【0041】
本発明の実施例に係る電子投票システムは、総4段階に区分され得る。これは
図2によく示されており、設定段階、登録段階、投票段階および集計段階に区分され得る。初期の準備段階ではブロックチェーン投票箱と暗号化のためのキーの設定がなされ、登録段階で有権者登録がなされる。有権者は登録段階で投票キーの発給を受ける。有権者は本物の投票キーの発給を受けるか、偽物の投票キーの発給を受けるかを選択することができる。偽物の投票キーは回数の制限なしに発給を受けて使うことができ、偽物の投票キーで投票をする場合、投票の暗号文は0に復号化されて集計結果に反映されない。このようにブロックチェーン電子投票装置120は投票キーを発給し、また、投票がなされた時該当投票の復号化を通じて投票集計に反映するかどうかなどを決定して投票集計動作を遂行できる。
【0042】
例えば、既存の研究で攻撃者は偽物の投票キーと本物の投票キーを区分できないが集計者は区分できるように設計したため設計が複雑であったり、集計者が偽物の投票を区分できなければならなかったため集計段階の複雑性が大きい問題があり得る。しかし、本発明の実施例では投票キーが本物であるか偽物であるか、投票が本物の投票であるか偽物の投票であるかを誰も区分できないのでさらに安全な方式で強圧抵抗性を満足することができる。また、集計段階で偽物の投票は集計結果に反映されないように、すなわち未反映して復号化されるので集計段階が簡潔である。
【0043】
ひいては、投票段階で有権者はそれぞれの投票に固有番号を付与して自身の投票を追跡することができ、自身の投票が投票箱に反映されているかを確認することができる。投票が終わった以後、投票箱の暗号化された投票は皆が見ることができ、集計が終われば集計結果もブロックチェーンに公開される。有権者を含んだ皆がこの結果に対して検証して見ることができ、有権者は自身の投票が結果によく反映されているかも検証して見ることができるため、エンドツーエンド検証可能性を満足する。本発明の実施例に係るブロックチェーン電子投票装置120はこのようなエンドツーエンド検証のために動作することができる。
【0044】
管理者端末装置130は
図1のブロックチェーン電子投票装置120に接続して有権者情報を登録し、また、投票進行過程をモニタリングできる選挙管理委員会の職員が所持するデスクトップコンピュータ、ラップトップコンピュータなどの端末装置を含むことができる。また、管理者端末装置130は投票が完了する場合、集計結果を
図1のブロックチェーン電子投票装置120を通じて投票者端末装置100で公開することができるであろう。
【0045】
これまでの内容を再び整理すれば、本発明の実施例では有権者が投票開始以前に投票ができるキーの発給を受ける。投票キーは有権者が望むだけ発給を受けることができ、ただ一つのみ本物のキーとして指定することができる。有権者は強圧されている状況では偽物のキーを使って投票することができる。本物のキーと偽物のキーは区分が不可能であり、このキーで作られた投票間でも区分が不可能であるので攻撃者をだますことができる。有権者は自身の秘密値で投票に固有番号を付与して本人の投票を追跡することができる。また、有権者の投票はゼロ知識証明を通じて正しい投票ということを証明し、公開ブロックチェーンで具現された投票箱に追加される。ブロックチェーンを使った公開投票箱は誰も任意に操作できない。集計が終わった以後には、すべての人が集計に使われていた暗号文と結果を見ることができ、有権者は自身の暗号文に対して検証が可能であるので検証可能性を満足することができる。
【0046】
前記の構成結果、本発明の実施例を通じてブロックチェーン基盤電子投票システム90でzk-SNARKと偽物の投票キー発給アルゴリズムを使ってプライバシーを保障し検証可能性を満足する投票システムを具現することができるであろう。特に電子投票システム90のプライバシーのうち最も高い段階である強圧抵抗性と検証可能性の最も高い段階であるエンドツーエンド検証可能性を満足する投票システムの具現が可能であり得る。
【0047】
本発明の実施例に係る電子投票システム90は、プライバシー(強圧抵抗性)と検証性をすべて満足する電子投票システムに該当する。これを証明するために、本発明の実施例ではアンドロイドスマートフォンアプリケーションを作って実験を遂行したことがある。もちろん、アンドロイドスマートフォン実験だけでなく、iOSアプリケーションにも成功的に遂行したことがある。実験結果、投票用紙の生成のための実行時間は約6秒であって、効率的に実生活で使うのに便利であることを確認することができた。
【0048】
具体的な説明に先立ち、本発明の実施例に係る実験のための投票システムの要求事項は、Board-integrity、Ballot-privacy、Coercion-resistant、個人検証(Indiviual-verifiability)、普遍検証(Universal-verifiability)、Eligibility-verifiability、集計固有性(Tally-uniqueness)、有権者匿名性(Voter-anonymity)、Non-repudiationを満足しなければならない。ここで、Board-Integrityとは、公開掲示板は操作不可能であるべき(A public bulletin board must betamperproof)であることを意味し、Ballot-privacyは有権者がそれらの選択を保護できるべき(A voter can privatize their choice)であることを意味し、Coercion-resistantは投票者が敵対的影響力にもかかわらず、投票を行使できるべき(A voter is able to cast a vote despite adversarial influence)であることを意味する。また、個人検証(Indiviual-verifiability)は投票者がそれらの投票が含まれたことを検証できるべき(A voter must be able to verify the inclusion of theirvote)であることを意味し、普遍検証(Universal-verifiability)は誰でも集計結果がすべての投票用紙を代表するということを検証できるでき(Anyone must beable to verify that the tally result represents all the ballots)であることを意味し、Eligibility-verifiabilityは投票用紙が投票権を有する有資格有権者から生成されるべき(A ballot can only be generated from an eligible voter with avoting right)であることを意味する。集計固有性(Tally-uniqueness)は集計結果が正確な世論の表現に固有性があるべき(A tally result is unique in itsaccurate representation of the polls)であることを意味し、有権者匿名性(Voter-anonymity)は投票用紙が投票者の身元を隠蔽できるべき(A ballotconceals voter identity)であることを意味し、Non-repudiationはすべての投票用紙は唯一であり、そこには代理投票が存在してはならない(All ballots are uniqueand there exists no proxy votes)ということを意味する。
【0049】
また、本発明の実施例に係る実験のためにブロックチェーン、zk-SNARKおよび偽物のキー(Fake key)を構成して遂行した。ブロックチェーンを構成することによって、投票用紙がブロックチェーンにアップロードされると選挙管理委員会を含んだ誰も投票用紙を偽造することができない。また、zk-SNARKを構成することによって有権者は個人情報を保護しつつ、陳述、すなわち投票が事実であることを証明できるようになる。偽物のキーを使うことによってブロックチェーン電子投票装置120は投票メッセージ、すなわちデータを暗号化するために偽物のキーを活用することになればその復号化を無効にすることになる。
【0050】
ひいては、本発明の実施例に係るブロックチェーン電子投票装置120は公開キー基盤の検証可能な暗号化/復号化方式の技法およびzk-SNARKプロトコルを使用した投票方式の技法を遂行することになる。メッセージすなわち投票データを暗号化し、暗号文を解読する時に特定の関係が満足されるか確認する暗号化方式である。
図3は、公開キー基盤の検証可能な暗号化/復号化方式をそれぞれ示している。また、ブロックチェーン電子投票装置120は投票を暗号化するために、前記公開キー基盤検証可能な暗号化/復号化体系を使用し、投票者の身元を隠す検証性を達成するためにzk-SNARKプロトコルを使うことになる。偽物のキーアルゴリズムを具現すると、投票体系が強制抵抗を充足することができる。もちろん、本物(あるいは実際)のキーと偽物のキーから派生した各暗号文は区別することができない。したがって、偽物のキーで生成された復号化された暗号文の結果は無効となるのである。
図4は、本物のキーが使われる時と偽物のキーが使われる時の復号化された暗号文の結果をそれぞれ示している。
図4で見る時、本物のキーと偽物のキーはそれぞれ特定関数を適用して暗号化がなされることになると、復号化時に暗号文に公開キー(SK)を使って特定(逆)関数を適用して復号化がなされることになる。この時、偽物のキーを使った場合、復号化時の処理結果は0となり得る。
【0051】
<表1>は、本発明の実施例に係る実験結果を示す。iOSマシンを適用するか、ARMアーキテクチャーに基づいた他のマシンを適用した結果である。登録、投票、そして集計段階でのCRSサイズおよび所要時間などを示す。投票段階で6秒が必要とされることを確認することができる。
【0052】
【0053】
結論的に、本発明の実施例では電子投票プロトコルであるzk投票を実施したことがあり、zk投票を使って有権者は個人情報を保護でき、中央集中された権威者に抵抗することができた。また、公開キー基盤の検証可能な暗号化/復号化方式と偽造キーアルゴリズムを設計して強圧抵抗性を確保することができた。強要者(または敵対者)は投票用紙と偽物のキーまたは本物のキーを区別できなかった。結果的に、zk-SNARKはzk投票が有権者のプライバシーと検証可能性を保障できるようにすることを確認できたし、もちろん実験では容易な接近のために投票者が日常生活で使うスマートフォンアプリで遂行した。
【0054】
図5は、
図1のブロックチェーン電子投票装置の細部構造を例示したブロックダイアグラムである。
【0055】
図5に図示された通り、本発明の実施例に係るブロックチェーン電子投票装置120は通信インターフェース部500、制御部510、ゼロ知識証明電子投票部520および保存部530の一部又は全部を含む。
【0056】
ここで、「一部又は全部を含む」とは、保存部530のような一部の構成要素が省略されてブロックチェーン電子投票装置120が構成されたり、ゼロ知識証明電子投票部520が制御部510のような他の構成要素に統合されて構成され得ることなどを意味するものであって、発明の十分な理解を助けるために全部含むものとして説明する。
【0057】
通信インターフェース部500は
図1の通信網110を経由して投票者端末装置100および管理者端末装置130とそれぞれ通信する。通信を遂行する過程で、通信インターフェース部500は変調/復調、マルチプレクシング/デマルチプレクシング、エンコーディング/デコーディングなどの動作を遂行でき、暗号化/復号化、そして解像度を変換するスケーリングなどの動作を遂行できる。これは当業者に自明であるでこれ以上の説明は省略する。たとえば、電子投票を遂行するスマートフォンなどの投票者端末装置100は解像度がすべて異なるため、最適化された投票画面を提供するためにスケーリングなどの動作がなされ得る。ただし、暗号化および復号化の場合、本発明の実施例では本物の投票キーと偽物の投票キーを使って投票がなされ得、さらには投票者が各投票ごとにそれぞれ設定する秘密値、すなわち固有値は共に暗号化がなされ得るが、暗号化が未遂行された状態で提供されることもいくらでも可能であり得る。
【0058】
前記でのように、通信インターフェース部500は投票者端末装置100の要請により、有権者として登録された有適格者の場合、要請により本物の投票キーと偽物の投票キーを発給するための動作を遂行できる。もちろん、このような動作は制御部510の制御下で動作がなされ得る。また、通信インターフェース部500は投票が完了した以後にも投票者端末装置100で検証を要請する場合、検証を進行することができ、投票者が設定する秘密値を利用して自身の投票に対する結果を追跡するようにすることもいくらでも可能であり得る。通信インターフェース部500はこのような動作に関与することができる。
【0059】
制御部510は
図5の通信インターフェース部500、ゼロ知識証明電子投票部520および保存部530の全般的な制御動作を担当することができる。例えば、制御部510は
図1の投票者端末装置100で投票を始める場合、投票の有適格者であるかどうかを判断することができる。例えば、有権者番号を入力することで有適格者であるかどうかを判断することができる。そして、有適格者と判断されると、換言すると、選管委で登録した有権者と判断されると、投票者の要請により本物の投票キーを義務的に一つ発給することができ、また、少なくとも一つの偽物の投票キーを要請する場合、望むだけの偽物の投票キーを発給することができる。もちろん、偽物の投票キーの発給は投票者の要請により発給するが、投票者端末装置100の位置情報に基づいて危険度を判断して、判断結果に基づいて自動発給することもいくらでも可能であるので、本発明の実施例ではいずれか一つの形態に特に限定しはしない。制御部510はこのように投票キーの発給のためにゼロ知識証明電子投票部520を制御することができる。
【0060】
また、制御部510は投票がなされた場合、投票データを保存部530に臨時保存した後、呼び出してゼロ知識証明電子投票部520に提供することができる。もちろん、その前に通信インターフェース部500を通じて投票の暗号化に対する復号化がなされた場合、復号化されたデータを保存部530に臨時保存した後、呼び出してゼロ知識証明電子投票部520に提供してゼロ知識証明がなされるようにすることもできる。ただし、復号化とゼロ知識証明はゼロ知識証明電子投票部520ですべてなされ得るため、本発明の実施例ではいずれか一つの形態に特に限定しはしない。制御部510はゼロ知識証明電子投票部520と連係してこのような動作に関与することができる。
【0061】
もちろん、その他にも制御部510は投票が終わった以後、投票箱の暗号化された投票は皆が見ることができるようにし、集計が終われば集計結果もブロックチェーンに公開することができる。このために制御部510はゼロ知識証明電子投票部520を制御することができる。換言すると、ゼロ知識証明電子投票部520で投票の集計結果を指定フォーマットの形態で生成して制御部510に提供する場合、制御部510は
図1の投票者端末装置100や管理者端末装置130に集計結果画面を提供することができる。
【0062】
ゼロ知識証明電子投票部520は電子投票のための本物のキーと偽物のキーの発給動作を遂行できる。前述した通り、本物のキーは投票者が有適格者であるかどうかを判断して発給できるが、偽物のキーの場合、投票者の要請により少なくとも一つを発給するか、現在投票がなされる投票者端末装置100の位置を追跡して危険度を判断して少なくとも一つの偽物のキーを自動発給することもいくらでも可能であり得る。例えば、位置が住宅と判断される時と外部場所と判断される時、また、周辺に他の人のスマートフォンなどが感知されるかなどを総合的に判断して、危険度に基づいて偽物のキーを発給することもいくらでも可能であり得る。もちろん、危険度の正確度を増加させるために人工知能のディープラーニングプログラムを利用して学習データを学習するようにすることによって、これを利用して正確度を高めることもいくらでも可能であり得る。
【0063】
また、ゼロ知識証明電子投票部520は
図1の投票者端末装置100で偽物のキーで投票をする場合、投票の暗号文は0に復号化して集計結果に未反映することができる。このようにゼロ知識証明電子投票部520は、たとえばゼロ知識証明方式のうち一つとして、zk-SNARKを使ってゼロ知識証明を通じて該当投票が正しい投票であることを証明することができる。もちろん、これを通じて正しい投票であると証明される時、該当結果を公開ブロックチェーンで具現された投票箱に追加することができる。これに伴い、ブロックチェーンを使った公開投票箱は誰も任意に操作できなくなる。
【0064】
さらに、ゼロ知識証明電子投票部520は、投票が完了して集計が終わった以後にはすべての人が集計に使われた暗号文と結果を見ることができるようにし、有権者が自身の暗号文に対して検証が可能であるように動作する。例えば、
図1の投票者端末装置100で自身の暗号文に対する検証を要請する場合、これに関連したデータを提供して検証が可能であるようにする。また、ゼロ知識証明電子投票部520は前述した通り、各投票者が複数の投票を遂行した場合、すべての投票に対して追跡が可能であるように動作する。もちろん、このために投票者が各投票に設定した秘密値を確認してこれを通じて投票結果を提供できるようになる。
【0065】
電子投票システムはプライバシーと検証可能性をすべて満足することが重要である。プライバシーの側面で最も強力な属性である強圧抵抗性と検証可能性の側面で最も強力な属性であるエンドツーエンド検証性をすべて満足しなければならないのである。ゼロ知識証明電子投票部520はこれをすべて充足するために動作すると言える。
【0066】
保存部530は制御部510の制御下で処理される多様な類型のデータを臨時保存することができる。例えば、保存部530はゼロ知識証明電子投票部520で集計結果を生成して
図1のDB120aに保存するように要請する場合、制御部510の制御下で該当集計結果のデータを臨時保存することができる。
【0067】
前記内容の他にも、
図5の通信インターフェース部500、制御部510、ゼロ知識証明電子投票部520および保存部530は多様な動作を遂行でき、その他の詳しい内容は先立って十分に説明したため、その内容で代替することにする。
【0068】
本発明の実施例に係る
図5の通信インターフェース部500、制御部510、ゼロ知識証明電子投票部520および保存部530は,互いに物理的に分離されたハードウェアモジュールで構成されるが、各モジュールは内部に前記の動作を遂行するためのソフトウェアを保存しこれを実行できるであろう。ただし、該当ソフトウェアはソフトウェアモジュールの集合であり、各モジュールはハードウェアで形成されることがいくらでも可能であるので、ソフトウェアとかハードウェアとかの構成に特に限定しはしない。例えば保存部530はハードウェアであるストレージ(storage)またはメモリ(memory)であり得る。しかし、ソフトウェア的に情報を保存(repository)することもいくらでも可能であるので、前記内容に特に限定しはしない。
【0069】
一方、本発明の他の実施例として、制御部510はCPUおよびメモリを含むことができ、ワンチップ化して形成され得る。CPUは制御回路、演算部(ALU)、命令語解釈部およびレジストリなどを含み、メモリはラムを含むことができる。制御回路は制御動作を、そして演算部は2進ビット情報の演算動作を、そして命令語解釈部はインタープリタやコンパイラなどを含んで高級言語を機械語に、また、機械語を高級言語に変換する動作を遂行でき、レジストリはソフトウェア的なデータ保存に関与することができる。前記の構成により、たとえばブロックチェーン電子投票装置120の動作初期にゼロ知識証明電子投票部520に保存されているプログラムをコピーしてメモリ、すなわちラム(RAM)にローディングした後、これを実行させることによってデータ演算処理速度を速く増加させることができる。ディープラーニングモデルのような場合、ラム(RAM)ではないGPUのメモリに載せられてGPUを利用して遂行速度を加速化して実行されてもよい。
【0070】
図6は、
図1のブロックチェーン電子投票装置の駆動過程を示すフローチャートである。
【0071】
説明の便宜上
図6を
図1と共に参照すると、本発明の実施例によるブロックチェーン電子投票装置120は、使用者がそれぞれ所持して電子投票を遂行する投票者端末装置(あるいは使用者端末装置)100と通信する(S600)。
【0072】
また、ブロックチェーン電子投票装置120は投票者端末装置100に一つの本物の投票キーと少なくとも一つの偽物の投票キーを発給して電子投票を進行させ、電子投票の進行時に投票者端末装置100で提供する秘密値を各投票に固有番号で付与し、本物の投票キーおよび秘密値に基づいて電子投票の真偽有無の判断および検証動作を遂行する(S610)。
【0073】
例えば、偽物のキーを使って電子投票がなされる場合、復号化された結果は0となり、したがって該当投票は無効化となり得る。このようなゼロ知識証明のために本発明の実施例ではzk-SNARKが使われ得る。このようなゼロ知識証明はプライバシー(強圧抵抗)を充足することができる。また、ブロックチェーン電子投票装置120はエンドツーエンド検証のために集計結果を暗号化された状態で有権者に公開し、これに伴い、有権者が自身の投票結果を確認、すなわち検証して見ることができ、この過程で自身が投票時に設定した秘密値を利用して複数投票の結果を追跡することによって電子投票の完全性を有することになる。
【0074】
前記の内容の他にも、
図1のブロックチェーン電子投票装置120は多様な動作を遂行でき、その他の詳しい内容は先立って十分に説明したため、その内容で代替することにする。
【0075】
引き続き、有権者が本物の投票キーおよび/または偽物の投票キーを選挙管理委員会に登録してキーの発給を受けるプログラム、すなわちプロトコルについてもう少し扱うことにする。
【0076】
換言すると、たとえば
図1のブロックチェーン電子投票装置120は有権者の投票者端末装置100と相互通信を通じて本物の投票キーに対する発給の真偽を確認することができ、また偽物の投票キーに対しては有権者の投票者端末装置100を通じて非相互通信で本物の投票キーに偽装することができるようになるのである。ここで、非相互通信は相互通信でないことを意味し得る。
【0077】
【0078】
図7を参照すると、GenCRS段階では、登録、投票、集計段階のzk-SNARK証明のために定義されている関係式に対するcrsを生成する。
【0079】
KeyGen段階では、投票を暗号化するためのキーと投票システムのキーを生成して公開キーPK、秘密キーSKを設定する。
【0080】
OpenElection段階では、投票システムの投票固有番号 eを設定して投票箱BBBを初期化する。
【0081】
図8は登録段階のアルゴリズムを示しており、
図9はキー提供アルゴリズムのシミュレーションを示している。
【0082】
登録段階では各有権者が本人の秘密キーskidをハッシュしてpkidを作り、この過程に対するzk-SNARK証明を生成する。有権者は生成したpkidを本物(投票)のキーとして使うか偽物(投票)のキーとして使うかを選択(real/fake)して、id、pkid、πid、real/fakeを管理者に送る(本物のキーとして選択したのであれば1、偽物のキーとして選択したのであれば0を送る)。
【0083】
管理者(あるいは管理者端末装置130)はpkidが正しく生成された値であるかをπidを通じて検証し、投票キーCKとゼロ知識証明R1、R2を生成して有権者に送る。CKlistはブロックチェーンに公開される値であり、この値を知っていても誰のキーであるかが分からないので安全である。CKdbは管理者が管理し、有権者が本物のキー(realが1である場合)を何回も発給を受けないようにする。有権者は管理者を無条件信じず、受けたCKが正しく生成されたのか(例:定められたプロトコルに従ったのか、有権者が選択したreal/fakeが正しく反映されたのか)をR1、R2を通じて検証しようとする。有権者がランダムcを管理者に再び送った時、管理者はCKを作る時に使ったtと本人の秘密キーρを利用してkを計算して有権者に送る。有権者はこのkとR1、R2を利用すれば、本人が受けたCKがtを利用して正しく計算されたのかの検証が可能である。しかし、tとρの値は分からない。
【0084】
SimProveKeyは有権者がR1、R2、c、kをシミュレーションするアルゴリズムである。有権者は該当CKが本物のキーであっても偽物のキーであるという証明を作ることができ、その反対に、偽物のキーが本物のキーであるという証明も作ることができる。もし、有権者が強圧を受けて該当投票キーCKが露出されたと仮定してみよう。もし、該当投票キーが本物のキー(real=1である場合)であれば、有権者はSimProveKeyを利用して偽物のキーであるという証明を作って攻撃者をだますことができる。攻撃者が投票キーをくれと言っても偽物のキーを与えながら本物のキーという証明を作ってあげるのであれば、攻撃者はだまされざるを得ない。なぜなら、キーそのもののみ見た時、本物のキーであるか偽物のキーであるかを区分できないためである。
【0085】
一方、本発明の実施例を構成するすべての構成要素が一つで結合されたり、結合して動作するものと説明されたとしても、本発明は必ずしもこのような実施例に限定されるものではない。すなわち、本発明の目的範囲内であれば、そのすべての構成要素が一つ以上で選択的に結合して動作することもできる。また、そのすべての構成要素がそれぞれ一つの独立的なハードウェアで具現され得るが、各構成要素のその一部又は全部が選択的に組み合わせられて一つまたは複数個のハードウェアで組み合わせられた一部又は全部の機能を遂行するプログラムモジュールを有するコンピュータプログラムで具現されてもよい。そのコンピュータプログラムを構成するコードおよびコードセグメントは、本発明の技術分野の当業者によって容易に推論され得るであろう。このようなコンピュータプログラムはコンピュータが読み取り可能な非一時的保存媒体(non-transitory computer readable media)に保存されてコンピュータによって読み込まれて実行されることによって、本発明の実施例を具現することができる。
【0086】
ここで非一時的読み取り可能記録媒体とは、レジスタ、キャッシュ(cache)、メモリなどのように短い瞬間の間データを保存する媒体ではなく、半永久的にデータを保存し、機器によって読み取り(reading)が可能な媒体を意味する。具体的には、前述したプログラムはCD、DVD、ハードディスク、ブルーレイディスク、USB、メモリカード、ROMなどのような非一時的読み取り可能記録媒体に保存されて提供され得る。
【0087】
以上、添付された図面を参照して本発明の実施例を説明したが、本発明が属する技術分野で通常の知識を有する者は、本発明のその技術的思想やも必須の特徴を変更することなく他の具体的な形態で実施され得るということが理解できるであろう。したがって、以上で記述した実施例はすべての面で例示的なものであり限定的ではないものと理解されるべきである。
【符号の説明】
【0088】
100:投票者端末装置
110:通信網
120:ブロックチェーン電子投票装置
130:管理者端末装置
500:通信インターフェース部
510:制御部
520:ゼロ知識証明電子投票部
530:保存部
【手続補正書】
【提出日】2024-07-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
使用者がそれぞれ所持して電子投票を遂行する投票者端末装置と通信する通信インターフェース部;および前記投票者端末装置に一つの本物の投票キーと少なくとも一つの偽物の投票キーを発給して電子投票を進行させ、前記電子投票の進行時に前記投票者端末装置から提供する秘密値を各投票に固有番号で付与し、前記本物の投票キーおよび前記秘密値に基づいて前記電子投票の真偽有無の判断および検証動作を遂行する制御部;を含み、前記制御部は、前記偽物の投票キーで投票が進行される場合、投票の暗号文を0に復号化する復号化結果に基づいて前記電子投票の集計結果に未反映する、ゼロ知識証明を有するブロックチェーン基盤の電子投票装置。
【請求項2】
前記制御部は、前記投票者端末装置で遂行される各投票ごとに付与される第1秘密値および第2秘密値に基づいて前記投票者端末装置で進行された電子投票を追跡する、請求項1に記載のゼロ知識証明を有するブロックチェーン基盤の電子投票装置。
【請求項3】
前記制御部は、zk-SNARK(zero-knowledge Succinct Non-interactiveARgument of Knowledge)を使って前記本物の投票キーまたは前記偽物の投票キーのゼロ知識証明を遂行して前記電子投票の真偽有無を判断する、請求項1に記載のゼロ知識証明を有するブロックチェーン基盤の電子投票装置。
【請求項4】
前記制御部は、前記電子投票の集計が完了すれば、有権者の前記投票者端末装置に前記集計に使われた暗号文と集計結果を公開して前記有権者が集計結果を検証し、各有権者が自身の投票結果を検証するようにする、請求項1に記載のゼロ知識証明を有するブロックチェーン基盤の電子投票装置。
【請求項5】
前記制御部は、前記投票者端末装置と通信して前記本物の投票キーの発給の真偽を確認し、前記投票者端末装置と非相互通信によって前記偽物の投票キーを本物の投票キーに偽装させる、請求項1に記載のゼロ知識証明を有するブロックチェーン基盤の電子投票装置。
【請求項6】
通信インターフェース部が、使用者がそれぞれ所持して電子投票を遂行する投票者端末装置と通信する段階;および制御部が、前記投票者端末装置に一つの本物の投票キーと少なくとも一つの偽物の投票キーを発給して電子投票を進行させ、前記電子投票の進行時に前記投票者端末装置から提供する秘密値を各投票に固有番号で付与し、前記本物の投票キーおよび前記秘密値に基づいて前記電子投票の真偽有無の判断および検証動作を遂行する段階;を含み、前記制御部が、前記偽物の投票キーで投票が進行される場合、投票の暗号文を0に復号化する復号化結果に基づいて前記電子投票の集計結果に未反映する段階;をさらに含む、ゼロ知識証明を有するブロックチェーン基盤電子投票装置の駆動方法。
【請求項7】
前記制御部が、前記投票者端末装置で遂行される各投票ごとに付与される第1秘密値および第2秘密値に基づいて前記投票者端末装置で進行された電子投票を追跡する段階;をさらに含む、請求項6に記載のゼロ知識証明を有するブロックチェーン基盤電子投票装置の駆動方法。
【請求項8】
前記真偽有無を判断する段階は、zk-SNARKを使って前記本物の投票キーまたは前記偽物の投票キーのゼロ知識証明を遂行して前記電子投票の真偽有無を判断する、請求項6に記載のゼロ知識証明を有するブロックチェーン基盤電子投票装置の駆動方法。
【請求項9】
前記電子投票の集計が完了すれば、有権者の前記投票者端末装置に前記集計に使われた暗号文と集計結果を公開する段階;および前記有権者が集計結果を検証し、各有権者が自身の投票結果を検証するようにする段階;をさらに含む、請求項6に記載のゼロ知識証明を有するブロックチェーン基盤電子投票装置の駆動方法。
【請求項10】
前記投票者端末装置と通信して前記本物の投票キーの発給の真偽を確認する段階;および前記投票者端末装置と非相互通信によって前記偽物の投票キーを本物の投票キーに偽装させる段階;をさらに含む、請求項6に記載のゼロ知識証明を有するブロックチェーン基盤の電子投票装置の駆動方法。