確認することが許可されていないソフトウェア
投票を集計する機械は秘密の指示に従います。その企業以外の誰もその指示を読むことが許可されていない場合、誰も投票が公正に数えられていることを確認することはできません。
実際に何が起きたか
2006~2007年の画期的な研究において、Princeton の研究者は広く使用されていた Diebold AccuVote-TS 機械を入手し、短時間の物理的アクセスのある誰かが投票を盗むコードをインストールでき、盗難を隠すために機械のすべての記録を書き直すことができることを示しました——まさに公開ソースレビューが存在する理由となるような欠陥です。
今日の状況
その特定のタッチスクリーン機械は現在ほぼ廃止されました——2024年米国総選挙の約98%の投票は紙に記録されました。しかし、そのギャップ自体は閉じられていません:米国の投票の約90%を運営する3つのベンダー(Dominion、ES&S、Hart)はすべて非公開企業であり、ソースコードを公開レビューから保護しています。上記の86%は2006年ではなく、今日の選挙法から測定されています。
誰も見守ることができない審判を想像してみてください
投票機は、ゲームの審判のようなものです。誰が勝ったかを決めます。では、審判がルールブックを引き出しに鍵をかけて、誰にも読ませない場合を想像してください。ルールブックが公正であることを信頼するしかありません。
それが今日のほとんどの投票機の動作方法です。ソフトウェア——投票を集計する指示——は閉鎖されています。その機械を製造した企業だけがそれを見ることができます。有権者、選挙管理当局者、独立した専門家はたいてい見ることができません。
なぜそれが重要か
秘密のソフトウェア内に誤り(または意図的な変更)が隠されている場合、その企業以外に発見できる者はいません。研究者は繰り返し、実際の機械を検査する機会を得た場合、深刻な欠陥を発見していることを示してきました——悪意のあるコードは、機械自体のログを書き直して痕跡をカバーすることさえできます。
重要なのは、すべての機械が不正操作されているわけではないということです。もっとシンプルです:**確認できなければ、それが正しいことを証明できません。**証明が可能な場合、信頼は必要ではありません。
TrustVotingはどのように改善するか
TrustVotingはシンプルな約束の上に構築されています:あなたの投票を数えるコードは開放されるべきです——完全に公開され、再現可能なビルドで誰もそれを再構築して同じプログラムを取得できるようにします(単に読むだけではなく)。
それに加えて、暗号化された整合性層——チェックサムと認証ブート——により、各機械は証明できます。それは公開された、検査された版を実行していることを、それ以降何も交換されていないことを。
これが信頼を証明に置き換える鎖です:**誰もが検査できるオープンコード → 誰もが再現できるビルド → それを実行していることを証明する機械。**オープンソースだけでは不十分です(ソースは実行中の機械と一致する必要があります)、チェックサムだけでも不十分です(見ることができないコードを信頼することになります)——両方が必要です。これが設計です。
TrustVoting がこれをどう解決するか
TrustVotingは再現可能なビルドで完全なソースコードを公開するために構築されています。誰もが——ベンダーだけでなく——それを読み、独立して再構築することができます。それに加えて、暗号化された整合性層(チェックサム+認証ブート)は、各機械が選挙日に公開された検査済みバージョンを正確に実行していることを証明します。オープンソースはコミットメント;検証可能な整合性は、その機械がそれを守ることの証明です。
参照元
- Feldman, Halderman & Felten, “Security Analysis of the Diebold AccuVote-TS Voting Machine” — USENIX/ACCURATE EVT ’07
- Same paper — full text (PDF, USENIX)
- MIT Technology Review, “How open source voting machines could boost trust in US elections” (2024) — today's top 3 vendors (~90% of the market) keep their code closed