投票と情報セキュリティ

この投稿では、情報セキュリティの観点から投票に関する私の考えを紹介します...まず、トピックは、正直な投票が何であるかについて、首尾一貫した理解しやすい画像を持ちたいIT専門家を対象としています。 説明されているのは、モデレーターの選出、賞品の提示でのju審員投票、国民投票、大統領の「人種」などです。 そのような議論では、どこでも「投票」という言葉を使用する方が正しいですが、簡潔にするために、またトートロジーと闘うために、私は時々「選挙」と書きます。

以下では、選挙を反復的に見て、基本原則、目標、段階を強調し、投票システムの脆弱性とその攻撃についても説明します。

つまり、選挙は特定のルールと役割を備えたゲームと見なされます。 また、このゲームを開催するためのシステム(ハードウェアとソフトウェアと組織の複合体)を検討し、不正行為に対する保護を検討します。

この記事は政治に関するものではないことに注意してください。 この記事の文脈で政治的なことを議論したい人のために、コメントではなく他の場所でこれを行うことを強くお勧めします。



原則



  1. 目標のバランス


    ほとんどの場合、複雑なプロジェクトにはいくつかの目標と多くの要件があります。 そして、ほとんどの場合、それらは互いに衝突します。 , : « », , « », DOS





    理想的には、すべての目標を達成する必要があります(, , )



    。 しかし、すべてのカウントで100%を提供できるとは限りません。 そのような場合、極端に進むことはできません。代わりに、状況を分析し、より重要なことを理解し、適切な公式声明を出して、基準の1つに従って意識的にバーを下げる必要があります。



  2. Falsifiability(検証可能性)


    システムは、そのようなエラーが発生した場合、その操作でエラーを証明できるような方法で構築する必要があります。 そうでない場合(つまり、何が起こっても、主催者は投票の成功を発表します)、これは選挙ではなく、常に更新された戒律のある宗教的なカルトです。 言い換えれば、結果を発表するとき、主催者は純粋に正式な役割を果たさなければなりません:投票システムが終了するまでに、すべての利用可能なデータに基づいて誰もが明確に、選挙が行われたかどうか、そしてその結果が何であったかを決定できなければなりません



  3. 「罪悪感」の推定


    投票システムを設計または運用するときは、科学的方法を遵守する必要があります。つまり、投票組織の成功を継続的に確認する代わりに、反対の仮定から進んで、「何かが間違っていた」という対応する仮説を継続的に確認する必要があります。 つまり、「何かがうまくいかなかった」という各仮説は、別の方法で証明されるまで真であると見なされます。 主催者が関与しているのは、このような仮説を次々に反論することです(しかし、そもそも最も「危険」です)。 , - root- , , « ».







  4. 透明性、開放性、宣伝


    たくさんの言葉は必要ないと思います。 ある意味、これは怠inessだとしか言えません。 すべてを検証することは困難です。すべてを単独で、または(主催者の)小さなグループで行うことはできません。 そして、ここで彼はすべてのデータを投稿し、人々が最も「危険」だと思う仮説をテストできるようにしました。 選挙のあらゆる段階を検証するのに十分な情報が公開されるべきですが、一般的に、投票の秘密は尊重されるべきです。 個人データの保護に関連する制限も適用される場合があります。



  5. 「犯罪者のように考える」


    この原則は、システムを設計、変更、使用する際に、「ここで何がうまくいかないのか」、「誰も私の干渉を知らないように投票結果を変更できますか?」、「はい」を常に自問する必要があることを意味します正式な手続きなしで候補者を追加または削除する機会はありますか?」、 « ?»



    など



  6. 継続的な脆弱性の修正


    バグ追跡との完全なアナロジー。 もちろん、脆弱性が見つかった場合は、修正する必要があります。バグを修正します。 チェック自体では、バグの検索には十分な時間を割り当てる必要があり、「リリースを広める」ために急いではいけません。 システムに関する各苦情(バグレポート)を登録(保存)してレビューする必要があります。 (現在の)投票の過程で見つかった脆弱性の影響の評価を含め、決定を下す必要があります。 脆弱性を修正するためにシステムの変更が必要な場合、これらの変更を計画する必要があります。 説明されているすべてのことは、ソフトウェア部分だけでなく、システム内のデータ入力オペレーター向けのトレーニングコースなど、完全な複合体にも適用されます。

    すべての苦情は、それらに対する決定とともに、投票結果と同様に最終報告書の重要な部分です。





これらの原則はすべて互いに密接に関連しています。 1つを拒否すると、残りは無意味になります。



役割



  1. 主催者


    オーガナイザーは、システムを管理する人です。 彼らはそれを改善することができ、しなければなりません。 そして、彼らだけがそれに対する権利を持っています。 彼らは選挙キャンペーンの開始を発表し、発表された規則の枠内ですべてが起こることを確認し、結果と報告書を公開します。 理論的には、主催者の役割は完全に自動化できます。 実際には、大きな投票では、部分的に自動化されます。

    投票の際の自動化は、不正行為の万能薬ではありません。 さらに、車は人よりもはるかによく横たわることができます-一貫したデータをウェブサイトで表示、印刷、公開できますが、同時にいくつかのルールを無視し、インターネット経由で彼からのコマンドを受け入れるなど、関心のある人の側で完全に遊ぶことができます無線モジュール。 システムのソースコードが公開されていても、このコードが任意のマシンで実行されていることを証明することはできません。 ハードウェアブックマークがないことを証明することはほとんど不可能です。



  2. ノミネート


    これらは候補者になることができる人です。 , , , open-source — .







  3. 候補者


    候補者を指名する権利がある人。 これは、審査員の代表者、候補者自身(もし彼らが人なら)、またはオートマトンかもしれません。



  4. 候補者(応募者)


    したがって、指名を受けた人。 これらのうち、1つ以上が選択されます。 場合によっては、候補者が誰であるかに関する情報が公開されない場合があります(結果を決定する前に、場合によってはまったくない):実績、コードの非難行数、収益、特性、パラメーター(取り消し線不要)に関する情報のみが利用可能です。



  5. 投票の対象


    国または都市の惑星のすべての住民は投票できます。 この役割を持つ多くのユーザーには、主催者、候補者、および候補者が含まれる場合と含まれない場合があります。 - - .







  6. 有権者


    有権者は、この権利を行使することを選択した投票システムのユーザーです。 これは意志の表明の事実に関するものではなく、投票者になるための基本的な同意、つまり候補者のプロフィールを調査し、候補者の中に価値のある候補者がいる場合は、投票を行うことに関するものです。 多くの場合、原則として合意の事実は決まっておらず、必須ではありません。つまり、すべての有権者=すべて投票可能です。

    投票者は、1票、複数票(, )



    または少数票さえも持つことができます。 そのような「選挙」を考え出すこともできます。この場合、一部の投票者はプラスの票を持ち、他の投票者はマイナスの票を持ちます。



  7. 投票済み


    これらは投票した有権者です。 原則として、その後は現在の投票で投票できなくなります。 , , .







  8. オブザーバー


    原則として、この役割は必須ではありません。 これは、誰でも選挙のあらゆる段階を観察できる場合に当てはまります(これが最も正しいアプローチである場合もあります)。 オブザーバーに投票資格リストへのアクセス権などの追加の権利が付与されている場合は、システムでの別の役割の確立が必要になる場合があります。 もう1つの選択肢は、オブザーバー(またはその一部)が投票結果に拒否権を持ち、この権利の誤った使用に責任を負う専門の監査人である場合です。





ロールに関しては、認証および承認タスクが当然発生します。 つまり システムは、だれにも入らせないように、またはだれにも過剰なことをさせないように注意する必要があります。



目標



  1. 開催される選挙


    これはあまりにも明白に思えるかもしれませんが、この目標を示すことはできません。 そうしないと、他の目的のためにネジをきつく締めることができるため、選挙を開催することが単に不可能になります。



  2. 候補者は候補者を指名する意図を形成する必要があります


    主催者は:

    • すべての候補者に今後の選挙を通知します。
    • 候補者に彼らの権利を説明する;
    • すべての候補者を候補者に提出する(必ずしも全員に全員とは限らない。 — ,



      )。
    • ノミネート者に、外部からの圧力なしに独立した客観的な判断の可能性を提供する。


  3. これに対する権利を有する者は、投票する意思を持たなければならない


    主催者は:

    • すべての適格な有権者に今後の選挙を知らせる。
    • 潜在的な有権者に彼らの権利を説明する;
    • (潜在的な)有権者に、外部からの圧力なしに独立した客観的な判断の可能性を提供する(有権者になる必要性と投票する候補者の両方について)。


  4. すべての有権者が投票する必要があります


    言い換えれば、投票する意思は、考慮された声に「変わる」べきです。 (そして、声に「変わる」べきものは他にありません!)これは、たとえ宇宙にいても、歩けず、見えず、病気でも、本当にすべての投票者に当てはまります。



  5. 投票の秘密を守る必要があります。


    この目標は常にではなく、時には部分的にしか存在しないこともあります。 , -. , (-) , , , .





    投票の秘密には、強いものと弱いものの2種類があります。 弱者は、投票者に自分が望むかどうか、何らかの方法で投票したことを証明する機会を残します。 (, .)



    強い-許可しません。



  6. 投票は正しくカウントする必要があります。


    これは、システムが各投票を正しく認識し、説明する必要があることを意味します。 , « » ( ) () , .







  7. 正しい結果が発表されるはずです。


    オープンデータとオブザーバーの独立したチェックにもかかわらず、現在の選挙に興味がある人のほとんどは、主催者からの結果について学びます。 したがって、最終レポートに結果を完全に反映することが非常に重要です。 このようなレポートには、短い回答(勝った人、費やした金額、結果の信頼性)、およびより詳細なデータ(投票数、正確に費やした金額、出所、達成した目標、反映した金額)の両方を含める必要があります攻撃、制御比が収束したかどうか、見つかったエラーとその処理方法)。



  8. 選挙を組織する費用は予算化されるべきです


    これらは厳しい現実です。 予算は常に制限されており、細心の注意と高い信頼性は非常に高価です。 , , (, ).



    コストを削減する良い方法は、他の主催者との協力、共同開発の使用です。





ステージ



  1. 状況の分析とシステムの更新


    この段階で、主催者はシステムの現在のバージョンで投票できるかどうか、つまり目標が達​​成されるかどうかを理解する必要があります。 おそらく、システムの改良が必要であり、登録段階の前にこの改良が行われるべきです。



  2. 事前攪拌


    主催者は投票の日付と時間を発表し、投票が何/誰になるかを知らせます。 ルール(明確な原則、目標、手順)、レポート(最後の投票以降に変更されたもの)を公開します。 彼らは役割とその権利に関する情報を広め、これらの権利を保護するための対策を講じます。 , , «» , , , .







  3. 登録


    最初に、主催者自身が登録され、次に候補者と投票者、次に候補者が登録されます。



  4. 指名


    候補者は候補者を指名します。 , , . .



    この手順は、登録手順と組み合わせることができます。



  5. 候補者発表


    主催者はすべての参加者に候補者のリストを発表し、これらの候補者に関する基本的な公式の信頼できる情報を提供し、予備報告書を発行します。



  6. 動揺


    これは、公式化するのが最も難しい段階です(したがって、最も頻繁に成功する攻撃です)。

    最も単純なケースでは、キャンペーンは純粋に仮想的である可能性があります。つまり、公式情報を使用して投票者の心またはRAMでのみ行われます。

    しかし、ほとんどの場合、これは客観的な判断と正直な投票には不十分です。 この場合、主催者はまだキャンペーンプロセスを形式化しようとしています。最も簡単な方法は、候補者またはキャンペーンの代表者が使用するリソースを制御することです。 , , , .



    当初、リソースは主催者、投票者、候補者、代表者に属します。 候補者の代表者は、システムで何の役割も持たない者である場合もあります。 リソースの分配は均一である必要はありません-主催者がそのような分配がキャンペーンをより誠実にすることを考慮する(そして証明することができる)場合、一部の候補者はより多くを受け取るかもしれません。 主なことは、これらすべてが最終レポートに反映されることです。



  7. 投票


    投票の中で最も美しいステージ。 投票のコレクションの分類は、次の2つの基準に従って実行できます。



    • フルタイムおよびパートタイム


      対面投票の場合、投票者は投票のために特定の地域にいる間に投票します。 これとは対照的に、不在者投票は、インターネットや郵便によるものも含めて存在します。



    • 証明ありとなし


      証拠のない投票の場合、投票者の投票はすぐにカウンターを増やしますが、たとえば投票を再集計することはできません。 証拠のある投票の場合、投票者の意志の後、主催者および/または主催者は, - ( ), , )



      証拠を残しています。

      関連する証拠は十分に保護されるべきです。 ただし、投票の秘密や最適なコストなど、すべての目標を忘れてはなりません。 , , , , . , . , .









    特定の投票では、投票を収集する方法の1つまたは複数を適用できます。 早期投票などの緊急措置も適用できます。 当然、関連する統計をレポートに含める必要があります。



  8. 投票数


    投票の集計は、投票の収集後に手動で、および/または収集中を含めて自動的に行うことができます。 上記のように、一般的に、マシンは信頼できません。 一方、手動カウントは常により高価であり、人々は間違いをより頻繁に犯します。 したがって、この段階で適切な妥協が非常に重要です。 .( , .) . — , . , , . , , (, ). , . , (, ) .







  9. 分析


    この段階では、収集されたデータの主なチェック、ログの分析が行われます。 直接観察に従事していた人々は今、観察を熟考し、修正する時間があるはずです。 ステージの最後に、最終レポートが作成されます。



  10. 結果発表


    最終レポートが公開され、投票が完了したとみなされます。



  11. システム改善


    投票中、特に分析段階では、多くの確認された脆弱性が蓄積する可能性があります。 段階1に徐々に移行するこの段階で、主催者はシステムを変更して、対応する攻撃から身を守ります。 一時的な解決策の中には永続的なものもあれば、より一般的な解決策のために拒否されるものもあります





人的要因



人は車ではありません。 私たちは常に論理的に行動するわけではなく、重要なテキストを小さな活字で飛ばすわけではありません。 有権者、主催者、またはオブザーバーが人である場合、選挙を組織するときは、人的要因を最小限に抑える必要があります。



  1. 使いやすさ


    不十分に編集されたニュースレターまたは主催者の公式ウェブサイト、キャンペーン資料は、有権者の大量の間違いにつながる可能性があります。一般に、人間の心理学、自分の立場を公然と表現することの恐怖がなければ、投票の秘密のようなものはありません。



  2. 圧力


    たとえ投票の秘密性の保護が高い場合でも、脅迫された有権者は投票に来たり、意志に反して投票することはできません。リモート投票の状況は特に困難です。



  3. プロパガンダ


    メディアの一方的な情報が大量にあると、有権者の意見に影響を与えることが保証され、客観性が低下します。



  4. データ認識


    , , - . , , ( , , - - ).



  5. 怠azine


    - , — , . ( ) , — .







, , , , , :





  1. - , ? - , .





  2. , , . , , .





  3. , , , () .





  4. — . , .



    — : . , «» — .









  5. , , , , . , ( ), .



    — , (1, 2, 1). (1, 2, 3), « » (1-1, 2-2, 3-1).









  6. , , , .





  7. , , . , , - .





  8. — -, . , . , .





攻撃の分類





  1. . . , , . ( , ). . — . , .





  2. , , . ? ? ( ), . ( ) , .





  3. , . , .



    , — . , .







  4. «»


    , , , — «». , .





  5. () ( , , )



    , . ( )



    , .





  6. - . , , . , , , .





, .





. . , , , , , . , , , , - , IT , .




All Articles