← すべての記事

もし投票を数えるソフトウェアを、ベンダーではなく市民が所有していたら?

ロサンゼルス郡はカリフォルニア州で認証された初の公有・オープンソースの投票集計システムを構築しました。それでも最も難しい問題は解決していません。ここでは、それが何を証明し、何を証明していないかを説明します。

2018年8月21日、カリフォルニア州務長官室は、州の歴史上これまで存在したことのないものを認証しました。それは、民間企業が所有していない投票集計システムです。

ロサンゼルス郡の約570万人の登録有権者の投票を数えるソフトウェアは、公共のものです。ソースコードはベンダーのサーバールームに施錠された営業秘密ではありません。原則として、適格なエンジニアであれば誰でも、そのコードを読み、検査し、それが何をするのかを説明することができます。

これは真に重要な瞬間です。しかし同時に、より難しい議論の始まりでもあります。

VSAPが必要になった問題

投票ソフトウェアの公有化がなぜ重要なのかを理解するには、民間所有がもたらしたものを理解する必要があります。

2006年、プリンストン大学の研究者アリエル・フェルドマン、J・アレックス・ハルダーマン、エドワード・フェルテンは、アメリカで最も広く導入されているタッチスクリーン投票機の1つであるDiebold AccuVote-TSを入手し、約1分間それを調べました。それで十分でした。彼らは実証しました。わずかな物理的アクセスがあれば、攻撃者は投票を盗みながら、すべての内部ログとカウンターを正常に見えるように改ざんする悪意のあるコードをインストールできることです。彼らは機械から機械へ自動的に拡散するバージョンさえ構築しました。その機械を実行していたソフトウェアは、プロプライエタリでした。Diebold以外の誰もそれを検査することはできませんでした。研究者がついにそれを手に入れたとき、結果は安心できるものではありませんでした。

プロプライエタリモデルは構造的な問題を生み出します。見ることができないものは、独立して検証することができません。 ベンダーの「自分たちのコードは安全だ」という主張は、それが実際に安全であることの証拠ではありません。ベンダー自身のドキュメンテーションに依存する政府認証は、独立した監査ではありません。「私たちはそれをテストしました」と言う公務員は、公開がそれをテストできることと同じではありません。

2005年、アメリカ政府会計監査院は電子投票システムのセキュリティと信頼性を調べ、重要な活動が未完了のままであることを発見しました。これには、適切な認証手順と認証済みソフトウェアのリポジトリの確立が含まれていました。これは議会がアメリカ投票支援法に可決し、これらのシステムを監督する機関全体に資金を提供した数年後のことでした。投票機が主張した通りに機能することを検証するための装置は、まだ組み立てられていました。

「認証済みシステムを使用しています」は主張です。チェックではありません。

LA郡が実際に構築したもの

投票ソリューション・フォー・オール・ピープル・プログラム(VSAP)は、まさにこのダイナミクスへの不満から生まれました。ロサンゼルス郡の老朽化したSequoia AVC Edgeタッチスクリーン投票機は、ライフサイクルの終わりに近づいており、置き換えシステムの市場は、ソフトウェアがプロプライエタリとして保護される数少ない民間ベンダーが支配していました。郡は独自のシステムを構築することを決めました。

その結果、2018年8月21日にカリフォルニア州務長官によって認証されました。これはVSAP Tally Version 1.0です。カリフォルニア州で初めてオープンソーステクノロジーを使用し、州自身の言葉では「カリフォルニア投票システム基準の下で認証された初の公有・オープンソース投票集計システム」です。

郡はまた、他の司法管轄区域が公有コードベースに基づいて構築できるようにするためのオープンソースワーキンググループも確立しました。ビジョンはコモンズです。民主的プロセス自体に属し、いかなる企業の貸借対照表にも属さない投票ソフトウェアです。

これはカリフォルニアでそれまでに出現したすべてのものとは、アーキテクチャ的に異なっています。プロプライエタリシステムが避けられない不透明性の1つのレイヤーを削除します。そしてそれは重要です。

しかし、それが実際に何を変えるのか、そして何を変えないのかについて、正確であることの価値があります。

オープンソースは1つの問題を削除します。それは問題を削除しません。

オープンソース投票ソフトウェアが真に達成することはここにあります。投票を数えるソフトウェアは、そうするためのスキルを持つ誰でもが読み、分析し、批評することができます。セキュリティ研究者、学者、ライバルベンダー、外国政府、好奇心旺盛な市民。すべてが原則として、コードを検査し、何か間違っているかどうかを判断できます。

これは小さなことではありません。スイスが2019年に郵便電子投票システムの壊滅的な欠陥を発見した方法は正確にこれです。スイス・ポストは、計画された投票での使用に先立ってScytlが構築したインターネット投票システムのソースコードを公開したとき、独立した研究者サラ・ジェイミー・ルイス、オリヴィエ・ペレイラ、ヴァネッサ・ティーグがそれを分析し、暗号化バックドアを発見しました。シャッフル証明の欠陥により、当局は投票をサイレントに改ざんしながら数学的に有効に見えるトランスクリプトを生成することができました。システムは普遍的に検証可能であると主張していました。そうではありませんでした。スイス・ポストはシステムを撤回しました。欠陥は、ソースが公開されていたために発見されました。

閉じたシステムはこのように検出されることはできません。バックドアは、内部へのアクセス権を持つ誰かがそれを明かすことを選択する、または支払われるまで隠れたままです。

しかし、オープンソースは開始条件であり、終了線ではありません。

オープンソース投票システムが信頼できるものであるために、まだ真実である必要があるものを考えてください。

第1に、選挙日に実行されるコードは、実際に公開されたコードでなければなりません。 オープンソースソフトウェアは検査可能です。特定の夜、特定の機械で実行される、コンパイルされたバイナリは異なるアーティファクトです。公開されたソースと実行中のプログラムが同じであることを検証できない場合(公開されたコードに対して確認された暗号ハッシュを使用して、展開前に封印され、展開後に検証)、ソースの公開は透明性のジェスチャーであり、保証ではありません。

第2に、物理的な管理チェーンは、ソフトウェアが数えるものを支配しています。 スキャナーに到達する前にスワップ、紛失、または複製された投票は、集計ソフトウェアがどれほどオープンであるかを気にしません。オーストリア憲法裁判所が2016年の大統領選挙を無効にしたとき、それはソフトウェアが間違っていたからではありませんでした。約77,000の郵便投票が、法律が許可する前に、許可されていない人々によって、必要な証人なしに処理されていたためです。約30,000票が候補者を分けていました。ソフトウェアは完璧であった可能性があり、結果はまだ検証不可能であっただろう。なぜなら物理的なチェーンが破れていたからです。誤った部屋で、誤った時間に、誤った人々によって開かれた密閉されたバッグのどれだけのオープンソースコードも修正することはできません。

第3に、出力の監査は、ソフトウェアが偽造できない物理的記録を引き続き必要とします。 数字のみを生成するオープンソース集計システム(投票者が確認した紙の追跡なし、独立して確認可能なアーティファクトなし)は、まだあなたにマシンの出力を信頼させるままにします。ドイツ連邦憲法裁判所は、その画期的な2009年の判決でこれを捉えました。選挙は「投票と結果の決定の本質的なステップが、市民によって確実に、そして主題に関する専門知識なしに検査できるときのみ合法」です。ソースコードを読むには専門知識が必要です。紙の投票を数えることはそうではありません。

監査はまだ起こる必要があります。そしてそれはまだエラーを含みます。

オープンソースは、選挙前にシステムを検査可能にします。監査は、その後の出力をチェック可能にします。

両方が重要です。どちらか1つだけでは十分ではありません。

ジョージア州の2020年の約500万票の完全な手作業による再計算は、機械による集計結果を確認しました。パーセンテージの約10分の1の範囲内で。これは、投票者が記入した紙プラス真摯な監査プロセスが達成できることの強力なデモンストレーションです。コロラド州は2017年に州全体のリスク制限監査を完成させた最初の州になり、固定パーセンテージのスポットチェックでは一致できない統計的厳密性を構築しました。

しかし監査には、ほとんど正直に議論されない制限があります。

2020年のミシガン州アントリム郡では、修正された機械結果を検証することを意図した手作業による再計算は、機械の合計と約12票異なりました。約15,700票が投じられました。詐欺のためではありません。ソフトウェアのためではありません。人間が午前2時に蛍光灯の下で手作業で投票を数えるため。時々曖昧な記号を読み、テーブルからテーブルへと異なる判断呼び出しを適用しています。手作業による再計算は金本位制です。そして金本位制はまだ小さな郡で約12票だけずれています。

その数より少ない票差で決まった競争では、「手作業による再計算が確認した」は安心です。それは証明ではありません。

ニューハンプシャー州ウィンダムでは、州が命じた法医学監査は、投票目標を貫くひだに相当な集計誤りを追跡しました。郵便投票を楕円形の目標全体に折る折機が、光学スキャナーが記入投票として読んだ折り目をつけました。マルウェアなし。詐欺なし。リースされた折機とスキャナーの光学システム間の機械的相互作用であり、数百の誤りを生じました。紙が存在し、手作業による再計算が投票者の意図を回復できたため、キャッチされただけです。

教訓は「紙が失敗する」ではありません。教訓は、すべての方法(機械、手作業による再計算、または光学スキャナー)が既約エラーを含むこと、そして唯一の正直なシステムは、それらのエラーが公務員によって単に再度を通じて確認されるのではなく、独立して検出されて測定されることができるシステムです。

「公有」がまだあなたに言うことができないこと

ここにVSAPのアーキテクトが単にコードを公開することによって、完全に答えることができなかった質問があります。誰がそれをチェックし、どのくらいの頻度で、そしてどのような独立性で?

ソースコードの公開は必要です。実際に誰かがそれを読まない限り、それは十分ではありません。敵対的に、何が間違っているかを見つけることを目的として、何が正しく見えるかを確認することではなく。ブラジルの最高選挙裁判所は、公開の年間セキュリティテストで投票機を攻撃することを公開に招待しています。適格な外部テスターが承認されたテスト計画を提出し、調査結果が各選挙の前に使用される前に、システムの改善に使用されます。これは機関化された敵対的レビューです。認証ではなく、継続的な挑戦です。「信頼してください」が「それを破ってみてください」に置き換えられるモデルです。

ワシントンD.C.は2010年に同様のことを、難しい方法で発見しました。地区が展開前に公開テストに対してインターネット投票返却パイロットを開いたとき、ミシガン大学チームは約48時間でサーバーをほぼ完全に制御しました。キャストされたすべての投票を変更し、数日間検出されずに行きました。脆弱性は、テストが開放的で実際であったためにキャッチされました。システムはライブ投票には使用されませんでした。公開の敵対的テスト。プライベート認証ではなく。D.C.の投票者を保護したのは何ですか。

VSAPのオープンソースワーキンググループと公開コードリポジトリは、この方向への一歩です。しかし、コードリポジトリは、公開された調査結果を含む機関化された敵対的テストプログラム、強制的な救済、および独立した確認と同じではありません。

押す価値がある質問。VSAP Tallyの実行中のバージョンは、郡またはいかなるベンダーとの財政的関係を持たない当事者によって独立的かつ敵対的にテストされていますか?すべてのテスト計画とその調査結果は公開されていますか? コードではなく。特定のバイナリが最後の選挙を走らせ、すべてのメモリカードの管理チェーン、投票所が開く前に公開されたハッシュ値。

これらは修辞的な質問ではありません。これらは「オープンソース」と「独立して検証可能」を分ける、チェックリストです。

2000年から今日までのスルーライン

アメリカ投票支援法は2002年に2000年選挙への連邦対応として可決されました。そこで最高裁判所は、同一のパンチカード投票が異なる方法で評価されていると判断しました。異なるカウンター、異なる郡によって。くぼみが投票スタッフによってここで数えられ、そこで拒否されました。投票者の意図を読むための統一的、事前公開された標準なしで。問題は詐欺ではありませんでした。それはシステムに焼き付けられた曖昧性でした。異なる部屋で異なる人によって適用された人間の判断によって解決され、誰が異なる部屋のどの数えを行っているかに依存する結果を生み出しました。

HAVAは新しい機器に資金を提供し、選挙支援委員会を設立しました。それは投票システムの要件を連邦ベースラインに向かって移動させました。それがしなかったことは、そしてGAOが3年後に文書化したことは、独立した検証の完全な装置を構築することでした。基準と認証は、彼らを施行する機関と同じくらい強力です。そしてその機関はまだ組み立てられていました。

VSAPは異なるアプローチです。それは言う。ベンダーを信頼するのではなく、コードを読むことを求めています。これは進歩です。それは宛先ではありません。

宛先は、誰の正当性も、ソフトウェアエンジニアではなく、投票から結果への証拠チェーンが改ざん防止、機械読取可能、そして投票集計が終わった瞬間に投票区レベルで公開されているため、市民がチェックできるシステムです。

オープンソース集計ソフトウェアは、その壁の1つのレンガです。投票者が確認した紙の記録は別のものです。ルーチンで独立的で敵対的な監査は、内部スポットチェックではなく、3番目です。公開されたコードが実行中のコードであることを証明する暗号化コミットメントは、4番目です。投票区レベルでリアルタイムで、機械読取可能な結果。誰でもダウンロードして独立して調整できます。5番目です。

LA郡は本当に重要なものを構築しました。また、密閉された部屋、破れた管理チェーン、または誰も公開されたソースに対してチェックしなかったコンパイルされたバイナリによって曖昧にされることができるものも構築しました。

VSAPの議論は、常に利用可能であった同じ議論です。透明性はシークレットに勝ります。オープンはクローズに勝ります。検査可能は信頼してくださいに勝ります。 それが何であるかではなく完全です。そして「完全」は、公開のみが正しい数を確認することを可能にする唯一の基準です。ベンダーではなく、州務長官ではなく、判事ではなく。


独立して検証できないもの:特定のコンパイルされたバイナリが、VSAP機でいずれかの選挙夜に実行されたか、投票所が開く前に公開されたオープンソースコードに対して暗号化で検証されたかどうか、およびそれらの検証レコードが機械読取可能な形式で公開されているかどうか。それを検査可能にするもの:強制的な事前選挙ハッシュ公開要件、公開された調査結果を伴う公開敵対的テスト、および各投票区の計数が完了した瞬間に投稿された投票区レベルの機械読取可能な結果。誰でもそれらを調整できます。

秘密ソースコードギャップが世界中でどのように再生されるかを見てください →

検証可能性の問題の2分バージョンを読んでください →

完全なケースデータベースを参照してください →

ソース