米国では、インターネット上で動作する安全なポーリングシステムの作成について多くの議論がありました。インターネットを介して投票を保護することは不可能であるとも聞いた。システムは、政治家が有権者の決定に基づいて政策決定を行うことができ、結果が購入されていないか、ハッキングされていないか、またはスパム投票で満たされていないことを(妥当な)確信できる十分に安全である必要があります。
セキュリティの専門家への私の質問は次のとおりです。それは可能ですか?そして、現在利用可能な最高のセキュリティ設定は何ですか? (コード、言語、サーバー、重要と考えるすべてのもの。)
解決する必要がある2つの基本的な問題(技術的には4つ、以下のリンクを参照)があります。
問題1を解決するには、投票ステーション(Webサイト)、Webサイトへの接続、Webサイトを閲覧しているコンピューター、および実際の投票を行っている人物を保護する必要があります。 Webサイトの保護は不可能ではありません。接続の保護は不可能ではありません。コンピュータのセキュリティ保護はほぼ不可能です。投票者の保護は、監査と認証によって行われます。つまりジョンスミス(認証資格情報xyz付き)は大統領選挙でピータードーに一度投票しました。これは、認証に何を使用するかという別の問題を追加しますか?これは、オンラインバンキングを保護する方法に似ています。何かがうまくいかない場合、監査証跡があり、銀行は監査を見直した後に問題を修正します。
しかし、これは完全に、完全に、絶対に問題2を解決することを不可能にします。その人のプライバシーを保護するためには、彼らが投票したものを知ることはできませんが、選挙の完全性を守るためには、その人が投票したことを知る必要があります。
Bruce Schneierがこの問題についてかなり書いています: http://www.schneier.com/blog/archives/2004/11/the_problem_wit.html
投票所での投票には、有権者を孤立させることができるため、間違いなく利点があります。それはインターネット投票を困難にしますが、不可能ではありません。一般に、5つのプロパティのいくつかが必要です。
対面投票には、(1)と(2)が必要です。インターネット投票では、(1)と(2)に加えて(3)、(4)、(5)が必要です。
現在のほとんどの投票システムは、(1)投票の秘密を達成するだけです。投票所投票の場合、いったん退去すると(2)完全性がなくなり、コンピューター(DRE)を使用して投票する場合は、終日観察しても(2)ありません。たとえば、有権者が到着し、登録時にタイムスタンプが付けられ、投票時に投票時にタイムスタンプが付けられる場合、投票を有権者に関連付けることができます。
エンドツーエンドの検証可能な(E2E)システム (1)と(2)を実現できます。 E2Eシステムは、政府選挙での対面投票に使用されています。 スキャンテグリティ メリーランド州の地方選挙で。インターネット投票の場合、(1)と(2)のみ(3、4、5ではなく)を達成するE2Eシステムには、学生選挙で使用されている Helios が含まれます。
これらのシステムは、一連の暗号を問題に投げかけることによって機能します。投票者は基本的に投票を暗号化します(Heliosのようにコンピューターを使用している場合は明示的に、または紙の投票を使用している場合はScantegrityで非表示のコードを公開するなど、人間が計算可能な操作によって)。メッセージを完全にロックダウンしない暗号化関数を使用することが可能です。たとえば、いくつかの暗号化されたメッセージを暗号化の下で一緒に追加し、その合計を復号化することができます( 準同型暗号化 を参照)。暗号化された投票用紙のリストを取り、暗号化の下でそれらをシャッフルして、どの投票用紙がどの有権者に対応するかを判別できないようにします( 混合ネットワーク を参照)。集計の各ステップは、 ゼロ知識証明 で正しく行われたことが証明できます。
投票は暗号化されているため、投票の秘密を壊すことなく公に投稿でき、投票者は最終的な集計のために投票が変更されていないことを確認できます。
これら3つの問題を解決するシステムはまだ選挙で使用されていませんが、それらを使用する2つの選挙が地平線上にあります: Remotegrity メリーランド(対面投票の反対側スキャンテグリティ)と のシステムノルウェー 。
これらのシステムは2つのトリックを使用します。どちらか一方が信頼できると想定した2チャネルと、コード投票と呼ばれる手法です。 1つのチャネル(メールなど)で、投票者は候補者のリストを受け取ります。候補者のリストには、シリアル番号と一意のコード(英数字3文字)が名前の横に表示されます。別のチャネル(コンピューター経由のインターネットなど)で、希望する候補者のシリアル番号とコードを送信して投票します。コンピュータが危険にさらされていると仮定すると、コードは表示されますが、(a)投票されている候補者と(b)投票を切り替えたい候補者(またはその候補者)の有効なコードはわかりません案件)。それは推測することができ、これはおそらく無効なコードにつながるか、投票者に何も送信させないだけです。どちらも同等の効果があります。
受け取った各投票は公開されます。カードを持っている人だけがどのコードがどの候補に属しているかを知っているので、だれがどのように投票したかを他の誰も知りません。投票者はリストをチェックして、投票が行われたことを確認できます(投票用紙を固定するために使用できる追加の手順がいくつかあります)。
コードが(悪意のあるコンピューターが読み取ることができない)メールで配信されると想定する代わりに、コードはコンピューターを介して届く可能性がありますが、CAPTCHAまたはコンピューターが読み取ることができないものの形式です。これを行う1つの方法は、 SpeakUp です。
いずれにせよ、誰かが攻撃者に自分のカードを見せた場合、または攻撃者が有権者と物理的に一緒にいた場合、それらは強制される可能性があります。これはにつながります...
強制抵抗の問題に対処するには、2つの方法があります。 1つは、有権者に必要なだけ投票してもらい、以前の投票を上書きできるようにすることです。暗号化を使用して、同じ有権者からの投票をリンクできる非表示のタグを設定して、1つだけを保持することができます。このアプローチの問題は、攻撃者が投票期間の終わり(投票が終了する5分前)まで待つだけで有権者を強制することです。
2番目のアプローチは、実際の投票用紙と偽の投票用紙を持つことです。強制または投票を行っている有権者は、偽の投票用紙を使用/販売でき、攻撃者はそれらを区別できません。トリッキーなビットは、投票者が実際の投票または偽の投票を提出したかどうかを明らかにせずに、実際の投票のみがカウントされ、偽の投票が破棄されることを確認することです。上記のように、問題にたくさんの暗号を投げることでこれを解決できます。
このようなシステムは研究レベルのみです。何も使用されていないか、使用される予定です。
これを行う1つの方法は、 セレクション と呼ばれます。選択では、有権者は パニックパスワード システムを使用します。投票するには、パスワードを送信します。彼らが実際のパスワードを使用する場合、暗号は投票が行われることを保証します。大規模なパニックパスワードセットの1つを使用する場合、暗号化によって投票が破棄されます。キャスティング/破棄は、すべての投票のセットに対して正しく行われたことを確認できます(個々の投票ごとにではなく、目的を達成できないため)。
したがって、有権者は、誰かが強要したり、自分の投票の購入を申し出たりした場合、その場でパニックパスワード(頭の中で簡単に行うことができます)を作成できます。後で(または既に持っている可能性があります)、実際のパスワードを使用して実際の投票を行うことができます。 2つをリンクすることはできません。
これは完全に解決できない問題と考えられています。感染したコンピュータは、投票者が投票を拒否することを常に拒否できます。信頼できないプラットフォームプロパティが許可するのは、これを検出することであり、防止する それ。 DOS攻撃はネットワークレベルでも発生し、投票を受け取ったサーバーを停止させます。整合性プロパティは、投票が削除または変更された場合に検出できますが、これは防止できません。
唯一の解決策は、Webサービスに標準的なアプローチを使用することです。
(D)DOSの問題は別として、これは私たちが達成できる最高のシステムです。私の知る限り、そのようなシステムの設計は未解決の問題です。信頼できないプラットフォームの問題と強制抵抗の問題のソリューションを構成することは簡単ではありません。
Scantegrity、Remotegrity、およびSelectionsはすべて、私が取り組んできたシステムです。
ハイステークス選挙のための自宅またはオフィスのコンピューターからのインターネット投票は、「未解決の問題」のスケールからかなりかけ離れています。海外および/または軍隊にいて、有権者検証済みの紙の投票用紙を返却するための迅速で信頼できる方法がない有権者にとっては特に重要です(潜水艦を考えてください:)。 DESSECで X-PRIZE に値するものとしてノミネートされました:セキュアシステムエンジニアリングコンテストへの参加
「RSA」の「R」であるRon Rivestが、2010 UOCAVA Remote Voting Systems Workshopでいくつかの説得力のある講演の1つを行いました。プレゼンテーションは、こちらの「議題とプレゼンテーション」ページでご覧いただけます http://www.nist.gov/itl/csd/ct/uocava_workshop_aug2010.cfm
投票は匿名である必要があり、有権者は強制から保護され、投票を売却できないようにする必要があり、システムは透明性が高い必要があるため、この問題は安全な電子商取引の問題よりもはるかに困難です。以下も含まれます:
コロンビア特別区によるインターネット投票のパブリックテストの最近のクラッシュアンドバーンを検討する際、 ワシントンポストはそれを正しく理解しました 。
詳細については、インターネット投票とUOCAVAに関するUSACMの問題の概要をご覧ください- http://usacm.acm.org/usacm/PDF/IB_Internet_Voting_UOCAVA.pdf
コインの反対側では、エンドツーエンドの独立して検証可能な選挙でいくつかの驚くべき進歩が行われています。 E2E選挙では、有権者が最終的な集計で投票が適切にカウントされたことを有権者が実際に自分自身だけに証明できるようにするために、巧妙な暗号方式とゼロ知識方式が使用されます。さらに、誰でも一般公開を分析できますが、匿名化されたすべての投票の「掲示板」を使用して、合計が適切に集計されたことを確認できます。たとえば、2009年のタコマパーク選挙での対面選挙では、 scantegrity システムを使用してそれが実証されています。現在、2011年のタコマ公園選挙で検討されている関連する「Remotegrity」プロジェクトを通じて、リモート投票者に対する上記の要件のすべてではないが多くを満たすための取り組みがあります。
E2E投票のもう1つの例は、特許のない無料のオンラインオープンソース Helios Voting システムです。友人の間の単純な投票)反対者が大きなDDOSの取り組みをしたり、投票を盗んだり、投票を阻止したり、あるいは選挙を妨害したりするためにさまざまなゼロデイ攻撃を利用することはほとんどありません。 Heliosの著者であるBen Adidaのコメントも参照してください 完全または部分的準同型暗号化はどのようにクラウドにメリットをもたらしますか?
E2Eスキームは、人々が問題を検出できるようにするのにかなり成功していますが、問題から回復することは依然として課題です。これらの制度が有権者の立場から過度に複雑になるかどうか、そしてどれだけの有権者がそれらを信頼するかについても未解決の問題があります。
問題は米国についてですが、コンピューターの投票に関するドイツの憲法裁判所によるこの裁判所の判決は重要な点に達していると思います。
ドイツの最高裁判所は、コンピューターの投票についてブラックボックス投票は違法であると裁定しました。
Der Grundsatz derÖffentlichkeitder Wahl、der sich aus den verfassungsrechtlichen GrundentscheidungenfürDemokratie、Republik und Rechtsstaat ergibt、gebietet、dass alle wesentve beh beansübersschüteteder Wahlöfflich
おおよその翻訳:
民主主義、共和国、憲法国家の憲法上の決定に基づく選挙の校長は、憲法の他の部分が例外を必要としない限り、選挙プロセスのすべての重要なステップが国民によって検証可能であることを要求します。
http://www.bundesverfassungsgericht.de/pressemitteilungen/bvg09-019.html
古典的な紙ベースの選挙では、彼または彼女は一箇所で完全な投票プロセスを見ることができます:
1人では簡単に確認できない問題がいくつかあります(他の投票場所、有権者のリストなど)。ほとんどの党員が自分の党が多くの票を獲得することに関心を持っていると仮定すると、詐欺は本当に困難になります。
はい、郵便投票や解体された人々を支援する人々を支援するなどの特別な投票の取り決めは、これらの規則に違反しています。しかし、それは比較的少数の人々だけがそれらの取り決めを必要とし、彼らにはそれに非常に正当な理由があるという理由で受け入れられています。
では、これはインターネットベースの投票にとって何を意味するのでしょうか。
大規模な投票の場合も、平均的な人が上記の項目を確認する方法が必要です。
電子投票を検証できないという問題も当てはまります。私がパーティーAに投票した場合、確認できるのは、パーティーAに少なくとも1つの投票があることだけです。パーティーAに対する他のすべての投票は、代わりにパーティーBにカウントされた可能性があります。
多くの場合、次のアプローチが推奨されます。すべての有権者がランダムなIDを取得します。これらのIDと投票のリストは、選挙後に公開されます。追加の投票がないことを確認するにはどうすればよいですか?投票を購入したい人は、リストが公開される前にIDを要求して、売り手が正しく投票したことを確認できます。
もう1つの問題は、認証と投票の匿名性です。次世代のIDカードと2つの異なる機関(1つは投票の許可を確認するため、もう1つは投票をカウントするため)を使用して、これをアーカイブできます。しかし、平均的な人はこれが正しく行われたことを確認することができません。
メール投票という単純な問題も当てはまります。投票をしている間、人々が監視されていないことを確認することはできません。したがって、彼らは特定の方法で(力またはお金によって)投票を強いられる可能性があります。
安全な投票システムでは、たとえあなたが望んだとしても(あなたが投票を売却したり、他の方法で強制したりすることができないように)投票した方法を他の人に示すことができないため、投票者の場所はセキュリティで保護されているため、インターネット上で操作することは無意味です。はい、郵便投票はこの規則に違反しており、許可されるべきではありません。
インターネット投票の保護は非常に困難です。 2004年のレポート 安全な電子登録および投票実験(SERVE)のセキュリティ分析 には、課題に関する適切な説明があります。主な課題は次のとおりです。
監査可能性。投票が正確にカウントされ、悪意を持って改ざんされていないことをどのように証明しますか?
クライアント側のマルウェア。有権者が自分のコンピュータから投票することは、大きな課題をもたらします。これらのコンピューターは選挙当局の管理外にあり、マルウェアに感染している可能性があります(サーバーに送信される前に投票者の投票を改ざんするために意図的に作成されたマルウェアを含む可能性があります)。対象を絞ったクライアント側のマルウェアから選挙をどのように保護しますか?
サーバー側のセキュリティ。中央サーバーで投票が収集されると、そのサーバーのセキュリティが重要になります。このサーバーが侵入不可能であり、すべての操作が安全に行われるようにすることは、特に選挙に使用できる予算が限られていることを考えると、困難です。グーグル、RSA、銀行、他の多くの主要企業、さらには軍隊でさえ、サーバーとウェブサイトがハッキングされていることを考えると、これに対する防御は困難です。
Vote-buying/selling/coercion。電子リモート投票購入に対する防御は簡単ではありません。投票による購入や強制に対する保護がどれほど必要かについてはいくつかの議論がありますが、システムがこれらの脅威から防御する必要がある場合は、さらに課題が生じます。
最近の研究の進歩(たとえば、エンドツーエンドの暗号投票システム)は、これらの問題を解決する方法を提供する可能性がありますが、それらのユーザビリティのさらなるテストが必要です。個人的には、限られた規模でインターネット投票を使用するのに十分なリスクを軽減することはおそらく可能だと思いますが、それは非常に困難です。現在、インターネット投票を大規模に採用するのは危険すぎます。