web-dev-qa-db-ja.com

なぜ電子投票はまだ問題なのですか?

電子投票は、長い間技術的に実行不可能であると考えられてきました。そして最近、YouTubeのComputerphileチャンネルから ビデオ を見て、e投票に伴うすべての問題を取り上げました。

しかし、分散型台帳と準同型暗号化を頭に入れておくと、解決できない問題を見つけることができました。公平を期すために、このビデオは1年半前のものですが、この男がこれらのテクニックを聞いたことがあると推測できます。

私はまだセキュリティの専門家ではありませんが、匿名性と結果の信頼の両方を保証するシステムを想像できます。

  1. すべてのノードが投票アルゴリズムに同意するブロックチェーンをセットアップします。 (まったく難しくありません。これにより、ソフトウェアを信頼するという問題はすでに解決されています)
  2. プライベートおよびパブリック暗号化キーを生成します。投票への参加が許可されている人に公開鍵を渡します。共謀しないと信頼できる機関に秘密鍵を配布します。
  3. すべての参加者は、投票「トランザクション」に署名する秘密鍵を持つブロックチェーン上のアカウントを持っています。すべてのアカウントには1つの投票があります。これは、ブロックチェーン上のすべてのノードが合意した投票ソフトウェアによって保証されます。
  4. すべてのトランザクションはブロックチェーン上にあるため、すべての投票者は自分の投票を追跡して、全体の結果に追加されたことを確認できます。 (これは別の主要な問題を解決します:すべての投票が全体の結果に追加されていることを確認してください。)
  5. プリミティブな投票アルゴリズムは次のようになります。すべての当事者に対して、参加者は投票して、選挙公開鍵を使用してゼロまたは1をいくつかのソルトと一緒に暗号化します(ルックアップは実行できません)。次に、彼はトランザクションに署名するか、自分のブロックチェーン公開鍵で投票し、投票が処理されます。0と1が各パーティーカウンターに追加されます。投票ごとに、投票の合計が計算され、解読されます。このようにして、確実に1つだけがいずれかのパーティーカウンターに追加されていることを確認できます(合計は1である必要があります)が、参加者が投票したパーティーを確認することはできません。
  6. 最終結果を復号化します。

もちろん、復号化の場合は、秘密鍵の一部を保持する当局がその復号化に同意する必要があります。

では、電子投票では克服できない問題は一体何なのでしょうか。

10
flxh

技術的には、あなたのソリューションは Helios とその子孫のベースである CGS97 (日付に注意)とかなり似ています。一般的なアプローチとしては非常に合理的ですが、投票の販売と贈収賄/脅迫を防止するためのwrtが完全に欠如しています(文献の受領自由と強制抵抗)。

RFの欠如:例:候補者に投票した場合、$ 100を与えると約束し、使用した無作為性(つまり、receipt)投票を証明として暗号化します。これはHelios(元の論文に記載されています)の既知の問題で、後でさまざまな程度に修正されます動作します。

ブロックチェーンを使用して掲示板を実装するというあなたの提案は合理的ですが、その領域で活動している人々は知っていると私は主張します。

ソリューションにはさらにいくつかの問題があります。

  • 他の人の投票をコピーするのは簡単です。これはプライバシーに悪いと考えられています。順応性攻撃も。
  • 人の投票の合計が1になることを要求することは十分ではありません。私が候補者Xに-100票、候補者Yに+101票を与えたとします。
  • 上記を組み合わせて、ボードに投稿されたすべての投票を取り、それらを合計します。それらがnあるとしましょう。合計を逆にします。これにより、合計が-nの投票用紙が生成されます。候補者にn + 1票を追加します。これで、以前のすべての投票を無効にし、すべての投票を候補者に移動する投票ができました。
  • 上記のほとんどはゼロナレッジプロトコルで解決され、投票の個々の部分が合計で1に加えて0/1になることと、いくつかの非柔軟性要件が示されます。
  • 当局がすべての有権者のミニサムを解読するのは非効率的です。また、それらが正しく動作したことをどのように確認しますか?答えがZKの場合は、それを有権者に移してみませんか?
  • ソルトと暗号化について話すとき、私はIND-CPAを意味すると思います。ただし、おそらくNM-CPAが必要です(IND-CCAも確認してください。ただし、厳密に必要なわけではありません)。

全体像に戻ると、侵害されたPCからの投票、人々が実行できる検証プロセス、選挙によって国が支援する敵を惹きつけるという事実、そして失敗は非常にコストがかかります($$ Dだけでなく、公共の信頼の面でも)。

TL; DR:このエリア(ブース内とインターネットの両方)には広範な文献がありますが、これも非常に難しい問題です。

8
Nolyc T'nega

あなたが提案したこのアルゴリズムは確かに良いものです。しかし、おそらくそれはプライバシーの概念を欠いています。これがおそらくeポーリングが全体的に回避される理由です。

ここでのプライバシーとは、ユーザーが送信する可能性のある一連の応答/プレーンテキストを指します。 {0,1}。これは「既知のプレーンテキスト攻撃」を指します。攻撃者が中間攻撃を仕掛けると、暗号コードが傍受される可能性があります。平文、公開鍵、暗号文を知った今、彼は多くの洗練されたツールを使用したり、単純なブルートフォース攻撃を使用してソルトや暗号化に使用された鍵を解読したりできます(もちろん、解読にかかる時間はキーとソルトの長さに完全に依存します)。

2
Penguine