この記事は CAMPHOR- Advent Calendar 2016 の3日目の記事です.
こんにちは,yaitaimo です.
最近はアメリカの大統領選挙がありましたね.
選挙前にはトランプ氏が多くの投票所において不正が行われていると発言していたり,
トランプ氏を勝たせようとするロシアの工作があるのではないかという噂が出たり,
選挙後にはトランプ氏が勝利した3州について再集計を求める声があがったりなど,
ニュースが盛り上がりました.
(トランプ氏と3回書きましたが,特に意図はないです)
国のトップを決める選挙で「不正」が行われているかもしれないというのは,あまり想像したくないことですね.今回は,ある仮想の電子投票システムにおいて,ある仮想の候補を勝たせるために,どのような「応援」が出来るかについて,考えてみようと思います.
電子投票システムってどんなもの?
電子投票システムを大きく2つに分けると,
- 投票所で電子的に投票を行うもの
- 個人の端末からインターネット越しに投票を行うもの
があります.
今回のアメリカの大統領選挙は,1番のシステムで投票が行われました.電子投票と言っても,インターネット越しのものではなく,投票所で投票を行うんですね.
ただし,投票所での投票の方法には3種類(紙での投票,機械での投票,電子投票)あり,有権者は投票所に行って,そのどれかの方法で投票することになります.今回の選挙では,ニューズウィークの記事によると,国民の4人に1人が電子投票を利用して投票を行ったそうです.
もう少し具体的について説明します.
日本の国政選挙では,
- 家にはがきが届く
- はがきを持って投票所に行く
- はがきと交換に投票券を受け取る
- 投票券に投票内容を書いて投票を行う
- 投票券を人手で集計する
となっています.
これに対し,アメリカの大統領選挙では,
- 身分を証明するIDカードを持って投票所に行く
- IDカードを使って投票する権利を受け取る
- 画面(タッチパネル)を操作して投票を行う
- メモリーカードのような記憶媒体に格納された投票内容を電子的に集計する
となっています.
はがきの代わりにIDカードを利用する点と,紙の代わりに電子的に投票する点に違いがあります.
電子投票が満たすべき要件
攻撃について考えるための指標とするために,電子投票システムはどのような要件を満たすべきなのかについて示しておきます.
Fujiokaら(1992) は次の要件を挙げています.
(原文は英語で,以下はそれを和訳したもの)
- 完全性:有効な投票はすべて正しくカウントされる
- 健全性:不正な有権者は投票を混乱させることはできない
- プライバシー:すべての投票は秘密でなければならない
- 再利用不可能性:有権者は2度投票することは出来ない
- 適格性:投票が許可されていない人は投票できない
- 公平性:投票に影響を与えるものは何もない
- 検証可能性:誰も投票の結果を改竄することはできない
少し説明を追加すると,
プライバシーは,「投票者と投票内容が紐付けられない」ことを含みます.
公平性は,「投票期間中に,先に投票を済ませた人の情報が開示されない」ことを含みます.
仮想の電子投票システム
次に,攻撃を加えるのが,どのようなシステムであるかをここで決めます.
- 有権者は投票所で,1回のみ投票が可能
- 各投票所において,記憶媒体に投票内容を記録
- 記憶媒体は開票場所に集められ,開票作業が行われる
管理者が記憶媒体のデータ(各候補者への投票数)を取得 - 全てのデータの開票が終わった段階で,管理者が結果を公開
仮想の候補を勝たせるために出来ること
さて,いよいよ本題に入っていきましょう.
ここに,世界をより良い方向へ導いてくれる候補がいます.
この人は放っておいたら負けてしまうかもしれません.
どうにかして,どんな手を使っても,この候補を勝たせたいのです.
ではその仮想の電子投票システムにどのような攻撃が可能なのかを考えていきましょう.
1. 投票所に置いてある投票用システム(端末)への攻撃〈完全性を満たさないシステム〉
多くの電子投票の抱える問題の1つとして,そのシステムを開発もしくは運用する立場の人間による不正があります.この場合,例えば,有権者の操作内容に無関係に投票内容を決めることが可能となります.
この他,動作に変更を加える手段としては,そのシステムを動かしている端末のハードウェアの改造やOSの改変,マルウェアへの感染などがあげられます.
2. 有権者の投票状況を管理するシステムへの攻撃〈再利用不可能性・適格性を満たさないシステム〉
投票所において,ある有権者が投票を行ったかどうかを確認するシステムがあるとします.このシステムへの不正があった場合,同一人物が複数回投票を行うことや,有権者と認められていない人が投票することが可能となります.
システムを利用する端末に対する攻撃のほか,このシステムがネットワーク越しに確認を行うものであれば,そのネットワークに侵入することでも,システムに影響を与えることができそうです.
3. 投票内容を保存する記憶媒体への攻撃〈検証可能性を満たさないシステム〉
データをメモリーカードのような記憶媒体で管理していた場合,投票内容を改ざんすることが可能となります.
データが暗号化された状態で保存されている場合,この内容を一部更新することは難しいですが,全体を上書きしてしまうことは簡単です.投票用システムのプログラムを解析することが出来れば,どのようにデータを作って暗号化すればよいかを知ることが出来そうです.
投票内容が端末に用意されていた記憶媒体にしかない場合,データを書き換えらてしまうと,これを検証することは出来ません.そこで,投票の際に,電子的な記録に加えて,紙媒体で投票記録を出力しておくシステムを導入している場合もあるようです.
4. その他の攻撃
電子投票システムの外からの攻撃としては,他の候補を攻撃する嘘の記事を捏造することや,出口調査の結果を捻じ曲げて発表することなどがあります.
おわりに
電子投票に対する攻撃可能性について考えてみました.
皆さんにも出来そうなことはありましたか?
インターネットに繋がっていないということもあり,現地でどう動くか,人を動かすかが大切になりますね.
日本でも実は地方選挙において電子投票が実施されたりしています.ただ,電子投票によって得られることとコストが見合っていないということで,なかなか浸透していないのが現状のようです.
CAMPHOR- Advent Calendar 2016 明日の担当は KojiAomatsu です.
お楽しみに.