
ThreeBallotは、 2006年にロン・リベストとウォーレン・D・スミスによって発明された投票プロトコルです。ThreeBallotは、エンドツーエンド(E2E)で監査可能な投票システムであり、原理的には紙ベースで実装可能です。設計の目的は、暗号鍵を使用せずに暗号投票システムの利点の一部を提供することでした。
投票を検証可能かつ匿名にすることは難しい場合があります。ThreeBallotは、各投票者に3枚の投票用紙(1枚は検証可能、2枚は匿名)を渡すことでこの問題を解決しようとします。投票者は検証可能な投票用紙を選択し、その内容を秘密に保ちます。投票集計者はその情報を知らないため、1枚の投票用紙を破棄または改ざんしたことが判明する確率は1/3です。投票者は3枚の投票用紙のうち2枚を互いに打ち消し合うように設定し、1回しか投票できないようにする必要があります。
ThreeBallot システムが同等の暗号化投票に比べて提供する重要な利点は次のとおりです。
追加の理論的なシステム目標は次のとおりです。
ThreeBallot投票システムでは、有権者は3枚の白紙投票用紙を受け取ります。これらの投票用紙は、各投票用紙に固有の識別子が付与されている点を除き、同一の内容となっています。候補者に投票するには、3枚の投票用紙のうち2枚でその候補者を選択する必要があります。反対票を投じる場合(他のシステムで白紙投票に相当)、その候補者を1枚の投票用紙でのみ選択する必要があります。
したがって、各候補者は、マーク付きの投票用紙を少なくとも 1 枚、マークなしの投票用紙を 1 枚受け取ります。
| 候補者 | 投票用紙 | 注記 | ||
|---|---|---|---|---|
| 1 | 2 | 3 | ||
| ジョン・フー | X | X | マークされた 2 つの列は、「賛成」票を示します。 | |
| バーブバー | X | マークされた列はいずれも「賛成」票ではありません。 | ||
| ビル・トゥー | X | |||
その結果、1枚の投票用紙を見ただけでは、その投票者がその候補者に投票したかどうかは分かりません。これは、3枚の投票用紙を合計すると、すべての候補者が少なくとも1票を獲得することを意味しますが、このすべての候補者に対する定数(投票者数に等しい)は、最終的な投票用紙の合計から差し引くことができます。
しかし、投票者が投票用紙に記入ミスをしていないことを確認することが必須です。3 枚の投票用紙すべてに候補者を記入しないこと、また 3 枚の投票用紙すべてで候補者を 1 人も選択しないことが必要です。
| 候補者 | 投票用紙 | 注記 | ||
|---|---|---|---|---|
| 1 | 2 | 3 | ||
| アンディ・うっかり | X | X | X | 許可されません。 |
| エル・エラー | 許可されません。 | |||
この要件は、3票投票を行う前に、3枚の投票用紙すべてを機械に挿入して検証する必要があることを意味します。これを怠ると、投票者は賛成票と反対票の両方を余分に投じることができ、不正投票が可能になります。設計上、賛成票と反対票を一度投じると区別がつかないため、この複数票による不正投票は最終集計確認まで(場合によっては確認すらできない)、修正することも、特定の投票者まで追跡することもできません。
通常、投票者の記入を簡素化するために、投票用紙は結合されますが、投票前に必ず分離する必要があります。分離され、他の投票用紙と順序が並べ替えられた状態で結合されると、真の投票が暗号化されます。例えば、上記のジョンとバーブの3列目の投票用紙だけを考えてみましょう。それぞれに「X」が付いていますが、投票者は実際にはバーブではなくジョンに投票しています。同様に、2列目の投票用紙だけを見ると、ビルのマークしか表示されませんが、3つの投票用紙を合計すると、実際にはジョンに投票しています。3つの投票用紙を合計すると、ジョンに2点、バーブとビルにそれぞれ1点が表示されます。投票者数(この場合は1)を差し引くと、ジョンに1票、他の投票者には0票となります。
投票所では、投票者は3枚の投票用紙のうち1枚をID番号とともにコピーします。実際には、投票用紙を認証する機械が、投票者が1枚を自由に選択したことに基づいて、この作業を自動的に行います。その後、3枚の投票用紙すべてが投票箱に投入されます。投票者はコピーの1枚を領収書として保管します。
選挙終了後、すべての投票用紙が公開されます。各投票用紙には固有の識別子が付与されているため、各有権者は公開された投票用紙の中からレシートに記載されている識別子を探すことで、自分の投票が集計されたことを確認できます。また、有権者はどの投票用紙をレシートとして受け取るかを選択できるため、レシートに任意の組み合わせのマークを印刷することができます。そのため、有権者は他の政党に自分がどの投票をしたかを証明することができず、このレシートを利用した票の売買や強制などが排除されます。
投票用紙自体には、どの投票用紙が領収書作成のためにコピーされたのかは記載されていません。そのため、ある時点で投票用紙が「紛失」したり、悪意を持って廃棄されたりした場合、その投票用紙が領収書となる確率は1/3です。注意深い有権者であれば、この紛失に気付く可能性があります。
リベスト氏は論文の中で、その他の利点と欠点についても論じている。[ 1 ]特に、優先順位投票には適していない。フィールドテストの結果、ThreeBallotにはプライバシー、セキュリティ、ユーザビリティに関する重大な問題に加え、実装上の落とし穴があることがわかった。[ 2 ] [ 3 ] [ 4 ] [ 5 ]
ThreeBallot で使用されていた暗号化システムは、Charlie Strauss [ 4 ]が考案した相関攻撃によって破られ、彼はそれを使ってどのように投票したかを証明する方法も示しました[ 3 ] 。ThreeBallotは投票用紙に「はい」か「いいえ」で答える質問が 1 つしかない場合は安全ですが、質問が複数ある場合 (1 つの選挙で多くの候補者から選択する場合など) は安全ではないと Strauss は指摘しました。彼の攻撃は、3 つの投票用紙のすべての組み合わせが有効な 3 つ組になるわけではないという事実を利用しました。つまり、投票用紙の任意の行 (関心のある 1 つの選挙だけでなく) に 3 票または 0 票が投じられた 3 つ組の提案は、それらの投票者が同じであるはずがないため拒否できます。同様に、どの選挙でも複数の候補者に投票することになる 3 つ組の提案も拒否できます。一般的な投票所で投じられる票数(あるいは世界中の人々の数)よりも、投票パターンの可能な数は指数関数的に多いため、十分に長い投票用紙であれば、統計的にはほとんどの投票用紙を一意に識別できる。[ 4 ]通常、投票用紙の90%は、わずか11~17の質問で再構成できる。[ 5 ]これにより、投票者の投票は、領収書を持っている人なら誰でも知ることができるようになる。さらに、領収書がなくても、投票者の主張する候補者選択の信頼性を落とす可能性のある情報が漏洩する可能性がある。[ 3 ]その結果、(金銭、強制、後世のために)自分の投票を証明しようと共謀する投票者は、事前に合意した異常なパターンですべての投票用紙に印を付けることができ、後で第三者に対して合意が守られたかどうかを(領収書を見なくても)証明できる。[ 3 ]いずれの場合でも、秘密投票のベールは突き破られ、領収書のID番号まで追跡可能である。
リベストは後に、当初の構想におけるこの論理的誤りを認め[ 1 ]、最終出版物においてRFCスキーマを改訂し、各行(各はい/いいえ)を個別に切り取る(質問の相関関係を壊す)こと、また各投票用紙の各マークに固有の追跡番号を付与すること(各列の投票用紙に1つのIDだけではなく)を義務付けた。これにより、この方式の解読不能性は回復したが、レシート(行ごとに1枚)と切り刻まれた投票用紙の増加により、投票処理の仕組みや投票者がレシートを確認する際の仕組みが著しく複雑になり、本来の簡便性が損なわれた。[ 1 ]紙投票の実装と使いやすさの問題に対処する電子版が、コスタらによって提案された[ 6 ]
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です