データベースが侵害された場合 (過度に好奇心旺盛な DB によって「侵害された」ことを含む)、ユーザーに投票を追跡することを不可能にする方法で、登録ユーザーが何らかの機密問題に投票できるようにする、追跡不可能な投票システムを作りたいと考えています。管理者)。
詳細設定:
- すべてのユーザーが登録されており、完全に匿名の投票はありません。
- ソックパペット、偽のアカウントなどはこの質問の範囲外です。これは登録システムの責任です。
- 登録されたすべてのユーザーは 1 票しか投じることができません (単純な「はい/いいえ」や「体重」など、何でもかまいません)。
- 投票が終了するまで、ユーザーは自分の投票を変更/削除できる必要があります。
- 削除/変更が行われるのと同じ方法で行うことができますが、ユーザーに自分の投票を表示させる必要はありません。
- 誰かがユーザー認証データベースと投票データベースにアクセスできる場合でも、各投票を追跡してユーザーに戻すことはできません (ある意味で、ブルートフォースまたはユーザー アカウント全体のアクセスをハッキングするのは簡単であってはなりません)。
- 通信を除くシステムのすべての部分が公開されているため、隠しキーは存在しません。MitM 攻撃は問題外ですが、攻撃者はソース、認証、および投票データベースに完全にアクセスできます。
- ユーザーは怠惰です。他の投票固有のキーやパスワードは必要ありません。システムは、ユーザーがログインにすでに使用しているものは何でも、通常のログイン/パスワード/キーを除いて、ローカルに提供または保持することをユーザーに要求してはなりません。
- 投票の改ざんと、プログラム<->DB通信と追跡不可能性を除くセキュリティの問題は、はるかに広い問題であるため、この質問の範囲外でもあります。
猶予期間後に自分の回答として投稿する解決策がいくつかあります。