11月3日、Trail of Bitsが「The cryptography behind electronic voting (and why paper ballots are still essential)」と題した記事を公開した。準同型暗号やゼロ知識証明を使っても、なぜ選挙だけは紙の投票用紙を手放せないのか。暗号の専門家集団であるTrail of Bitsが、その技術的な根拠を丁寧に解説する。
「暗号技術があれば安全では?」という問いへの答え
銀行取引や確定申告、電子署名がデジタル化された今、なぜ選挙だけは紙が主流のままなのか。一言で言えば、選挙固有のセキュリティ要件が理由だ。「暗号技術があれば解決できるのでは」という問いは自然で、実際に Helios や ElectionGuard のような暗号プロトコルはこのアプローチを採っている。
しかし米国科学アカデミーが2018年に公表した選挙セキュリティに関するレポートは、インターネット経由の投票について「秘密性・安全性・検証可能性を保証できる技術は現時点で存在しない」と結論づけ、一般選挙での使用を推奨しないとしている。なぜ暗号技術でも埋められない穴があるのか——記事はその構造を丁寧に解説する。
選挙システムに求められる4つの要件
どの投票システムも、以下の4つを同時に満たす必要がある。
- 有権者のプライバシー保護:金銭や脅迫といったインセンティブがあっても、投票内容を第三者に証明できない状態にする
- 投票用紙の完全性:電子環境では有権者が暗号学的な身元を持たないため、投票内容の改ざんを防ぐのが難しい
- 二重投票の防止:投票と有権者を紐付けずに重複投票を検出するのは、電子環境ではさらに困難になる
- 結果の独立検証可能性:誰もが選挙結果を自分で検証できること
紙ベースの投票では、投票所での本人確認・無記名の投票用紙・立会人の存在といった物理的な手段で前3つをカバーする。電子投票固有の最大の脅威は、サプライチェーン攻撃やゼロデイ脆弱性が多数の投票機に一斉に適用できる点だ。紙では「一人が選挙全体を操作する」ことはほぼ不可能だが、電子システムではそれが現実的なリスクになる。
この問題を受けて提唱されているのが「ソフトウェア独立性(Software Independence)」という設計原則だ。RSAの共同発明者でもあるRon Rivestらが提唱した概念で、「投票ソフトウェアの変更や脆弱性に起因する選挙結果の変化が、必ず検出可能でなければならない」という考え方を指す。紙による監査証跡がその実現手段として機能する。
HeliosとElectionGuardの暗号的アプローチ
閾値暗号と準同型暗号でプライバシーを守る
単純にバックエンドサーバーの公開鍵で暗号化しても、サーバー自身が復号できてしまう。これを防ぐために両システムが使うのが閾値秘密分散だ。秘密鍵をN人の選挙管理官に分散し、一定数以上が揃わないと復号できない構成にする。
さらに準同型暗号(Homomorphic Encryption)を組み合わせることで、個々の票を復号せずに暗号化されたまま集計し、最終的な合計だけを復号できる。HeliosとElectionGuardが採用する指数ElGamal暗号は、「暗号文同士を掛け合わせると、対応する平文の和の暗号文になる」という加法準同型性を持つ暗号方式だ(ElGamal暗号についての解説はこちら)。つまり個々の票を開かずに合計を計算できる。
ただし、悪意あるクライアントが「1,000,000票分」を暗号化して送り込むような攻撃を防ぐため、暗号化された投票内容が正規の値(0または1)であることを証明するゼロ知識証明を添付することが必須となる。ゼロ知識証明とは、ある命題が真であることを、その内容そのものは明かさずに証明できる暗号技術だ。
投票クライアントの改ざんを検出する「Benalohのチャレンジ手法」
クライアントがハックされ、暗号化前に選択肢を書き換えたり投票を握り潰したりする場合はどう防ぐか。HeliosとElectionGuardが採用するのがBenalohのチャレンジ手法だ(Josh Benalohはマイクロソフトリサーチの暗号研究者で、ElectionGuardの設計にも関わっている)。
仕組みはシンプルだ。投票内容が暗号化されると、有権者はその暗号文へのコミットメント(確約値)を受け取り、「チャレンジ(検証)」を要求できる。チャレンジすると暗号文が開示され、自分の選択が正確に記録されているか確認できる。デバイスはチャレンジするかどうかを有権者が決める前にコミットメントを提示しなければならず、「チャレンジされたときだけ正しい値を見せる」という不正を防ぐ設計になっている。
確認後に満足した有権者は改めて投票を行い、投票内容は公開掲示板に記録される。有権者は自身のコミットメントを使って、投票が選挙記録に含まれているかを後から確認できる。
ただしこの機構が有効に機能するには、十分な割合の有権者が実際にチャレンジを行使する必要があるという制限が残る。また投票クライアントが有権者の平文投票内容を第三者サーバーに密かに送信するような攻撃には対処できない。
有権者認証と「強制投票問題」
電子投票で依然未解決の課題として記事が挙げるのが、有権者認証と強制投票問題(coercion)だ。米国のように国民IDが普及していない国では、有権者が正規の投票権を持つことを電子的に証明するのは難しい。海外駐在軍人向けシステムでは Common Access Card を活用するケースもあるが、一般化は困難だ。
強制投票問題とは、有権者が第三者(雇用主や家族など)の監視下で投票を強いられるリスクを指す。物理的な投票所であれば「監視なしに投票できる環境」を設計できるが、自宅からのオンライン投票ではその保証が難しい。これは暗号技術の問題ではなく、どんな高度な暗号を使っても解決できない設計上の制約として記事は位置づけている。
それでも紙が必要な理由
ElectionGuardはメリーランド州やアイダホ州、ウィスコンシン州など複数の自治体で試験導入されてきた。しかしいずれも紙の投票用紙との組み合わせであり、電子投票の単独置き換えではない。
記事の結論は明確だ。暗号技術は選挙の検証可能性を高める強力なツールだが、ソフトウェアの正しさそのものを信頼しなければならないシステムはソフトウェア独立性を満たせない。紙という物理的・独立した証跡があってこそ、「システムが正しく動いているかどうかを外部から検証できる」という選挙の根幹が成立する。準同型暗号もゼロ知識証明も、紙の代替ではなく紙を補完する技術として機能する。電子投票の完全移行はどこまで現実的か、改めて問い直す価値がある問いだ。
詳細はThe cryptography behind electronic voting (and why paper ballots are still essential)を参照していただきたい。