https://arxiv.org/pdf/1905.05562.pdf

2019 Shufan Zhanga, Hu Xionga

Abstract

  • 大規模な選挙にリモートオンライン投票を展開する場合、Vote-buying(投票購入)やVoter-coercion(投票者弾圧)の脅威が差し迫っている

 

  • 既存のreceipt-freeness投票プロトコルは適用不可能な通信チャンネルの仮定に依存したり、投票者側に重い計算や2次計算の複雑さを負担させることに依存している

 

  • この論文では大規模なオンライン投票で展開できる実用的で軽量な新しい暗号化投票プロトコルであるLaocoon¨を紹介する

Introduction

Introduction

  • リモート電子投票(REV)は依然として世界的に受け入れられていないことが示唆されている
    • 1つのポイントはVote-buyingやVoter-coercionが悪化していること

 

  • receipt-freenessを効率的かつ実用的に達成する方法は、依然として挑戦的な課題

Introduction

Related work

  • receipt-freenessを達成するために様々な試みがされてきた
    • 準同型暗号化・mix-net・ブラインド署名・ゼロ知識証明など、さまざまなプライバシー保護が試みられてきた

 

  • receipt-freenessはプリミティブから直接生じるのではなく、いくつかのトリッキーな使用法または追加の仮定との組み合わせから生じる
    • ​現実的でない仮定も
      • untappableなチャンネル(=完全に秘密で盗聴のない専用の通信チャネル)が必要など

Introduction > Related work

Related work

  • 2005年にJuels et al. によってreceipt-freenessの最小要件は匿名チャンネルであることが提案された
    • ​これまでで最も実用的なreceipt-freenessのプロトコルであり、後に実世界に実装された
    • それでも集計手順の複雑さや投票者側の過度に重い計算の問題が残った

 

 

 

Juels, A., Catalano, D., & Jakobsson, M. (2005). Coercion-resistant electronic elections. In Proceedings of the 2005 ACM workshop on Privacy in the electronic society  - WPES ’05 (p. 61). New York, New York, USA: ACM Press. https://doi.org/10.1145/1102199.1102213

Introduction > Related work

Contribution

  • この論文では複数の機能を活用した最初のプロキシ再暗号化ベースの電子投票プロトコルであるLacooonを提案する

 

  • Lacooonは次の機能を満たす
    • receipt-freenessを満たしていて実用的
      • ​匿名チャンネルだけを必要とする
    • candidate-adaptivenessと呼ばれる新しいプロパティに従う
      • ​候補者はリアルタイムに投票が自分に対する投票かどうかを知ることが出来る
    • スケーラブルでオンライン投票またはモバイル投票に展開できる
      • ​​投票者側の計算が軽量で、物理的な場所の制限がない

Introduction > Contribution

Background

Proxy Re-Encryption

  • 公開鍵暗号の拡張としてPREは honest-but-curious なproxy が委任者の公開鍵のもとで暗号化された暗号文を対応するメッセージの情報を漏らさずに別の暗号文に変換することを可能にする
  • 多数のPREは次の2種類の要素から分類される
    • 許可された変換の回数
      • ​e.g.) Alice -> Bob, Bob -> Chally は2回の変換
    • 許可された変換の向き
      • ​e.g.) Alice <-> Bob は双方向

Background > Proxy Re-Encryption

Proxy Re-Encryption

  • PREはdecryption-then-encryptionの大きい負荷を回避するために以下の用途で使われている
    • 電子メール転送
    • クラウドコンピューティング など

 

  • 電子投票をPREスキームの潜在的なシナリオとする研究は見つかってない

 

  • PREの上記のアプリケーションと根本的に異なり、投票プロトコルにはdecryption-then-encryptionの問題はない

 

  • ただし、特別なアプローチで特別なPREスキームを実現することでreceipt-freenessが実用的かつ軽量なユーザー側の計算で実現される

Background > Proxy Re-Encryption

Key-private Proxy Re-Encryption

  • 2009年にAteniese et al. が提案
    • ​これを採用している

 

  • ​この追加のプロパティは攻撃者が再暗号化鍵から委任者と被委任者の身元が推測出来ないことを指す
    • つまり、proxyが攻撃された時に「誰と個人的に通信していたのか」,「 誰が再暗号化サービスを利用しているのか」を攻撃者が抽出できないことを意味する

 

Ateniese, G., Benson, K., & Hohenberger, S. (2009). Key-private proxy re-encryption. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5473, pp. 279–294). https://doi.org/10.1007/978-3-642-00862-7_19

Background > Proxy Re-Encryption > Key-private Proxy Re-Encryption

Function Notations

Background > Proxy Re-Encryption > Function Notations

Multi-Designated Verifiers Signature

  • MDVSによって署名者は、署名者が選択した特定の検証者の集合によってのみ有効性を検証できる署名を発行できる

 

  • MDVSは投票プロトコルで有用
    • 指定された検証者は敵を欺くために区別できない偽の署名を偽造できるから

 

  • MDVSはDVSにMultiが追加されることによってより匿名性が増している

Background > Multi-Designated Verifiers Signature

Function Notations

Background > Multi-Designated Verifiers Signature > Function Notations

Model of Electronic Voting

Entities

  • 次の5つのエンティティからなる
    • Administrator
      • ​選挙の開催者として選挙の様々なフェーズをトリガーすることにより投票プロトコルを整理または制御する
    • Voters
      • ​\(\bf{L_V} = [V_1,\dots,V_n]\)で示される正当な投票者の集合は独立した判断で好意にする候補者に投票する権利がある
    • Proxy
      • ​独立した機関として再暗号化可能な暗号文を処理し、投票を処理するhonest-but-curious なエンティティ​
    • Candidates
      • ​\(L_C = [C_1,\dots,C_t]\)で表されるCandidatesの集合は選挙に勝つためにより多くの投票を得ようとする
    • Bulletin Board
      • ​改ざん防止機能付きの追加専用のデータベースで、パブリックにアクセスできる

Model of Electronic Voting > Entities

Functions

  • プロセス全体を5つのフェーズに分ける

    • System Setup​
      • ​各パラメータなどの設定
    • Credential Dispatching
      • administrator が匿名のクレデンシャルを発行してsecret shuffle後にプロキシによってdispatchされる
    • Ballot Casting
      • 投票トランザクションをBulletin Boardに公開
    • Ballot Opening and Tallying
      • 候補者がリアルタイムに自分への投票を知る
      • 集計される
    • Ballot Verifying and Auditing
      • オプション
      • ​投票者が投票結果が集計されていないことが判明した場合、投票者はadministratorに請求できる

Model of Electronic Voting > Functions

Design Goals

  • 既存の投票プロトコルと比較してLacooonは次の特性を満たす必要がある

    • Completeness

      • 全ての参加者がプロトコルに従うと有効な投票のカウントが正確になる

    • Ballot secrecy

      • プロキシが破損したとしても投票者と贔屓にしている候補者の身元情報が漏れない

    • Unreusability

      • 同じ正当な投票者からの投票は重複カウントされない

    • Eligibility

      • ​正当な投票者の票だけがカウントされる

    • Vote-and-go

      • ​投票者は投票が行われたらオフラインにすることができる

      • i.e. 投票者は開票に関与しない

Model of Electronic Voting > Design Goals

Design Goals

  • 既存の投票プロトコルと比較してLacooonは次の特性を満たす必要がある

    • Efficiency

      • 投票スキームの計算と通信の消費が巨大でなくタブレットや携帯端末でも出来る

    • Mobility

      • 投票者が投票できる場所に制限がない

    • Receipt-freeness

      • 投票者は特定のアプローチで投票したことを第三者に証明出来ない必要がある
    • Verifiability

      • 個々の投票者は自身の選択が正しくエンコードおよび集計されていることを確認できる

Model of Electronic Voting > Design Goals

In Lacooon

  • Lacooonでは一部の投票スキームで追加要件として言及されているVoter-fairness、つまり投票者の公平性という特性を弱めている
    • ​公平性プロパティは一般的に、選挙の終了前に誰も部分的な結果を計算できないと定義されている
    • 候補者は計算できる

 

  • 公平性の特性を弱め、この環境を満たすためのCandidate-adaptivenessと呼ばれる新しい投票要件を提案する
    • ​Voter-fairness
      • ​投票者が投票を開始して集計する前に投票者がプロトコルを破って結果を取得することは出来ない
    • Candidate-adaptiveness
      • 各候補者は選挙プロセスで自分の投票数はどれくらいあるか知り得るが、他の候補者の投票数については正確には知り得ない
      • 3人以上のときに有効

Model of Electronic Voting > Design Goals > In Lacooon

The Proposed Protocol: Laocoon

Technical Details

Laocoon > Technical Details

Functions(再掲)

  • プロセス全体を5つのフェーズに分ける

    • System Setup​
      • ​各パラメータなどの設定
    • Credential Dispatching
      • administrator が匿名のクレデンシャルを発行してsecret shuffle後にプロキシによってdispatchされる
    • Ballot Casting
      • 投票トランザクションをBulletin Boardに公開
    • Ballot Opening and Tallying
      • 候補者がリアルタイムに自分への投票を知る
      • 集計される
    • Ballot Verifying and Auditing
      • オプション
      • ​投票者が投票結果が集計されていないことが判明した場合、投票者はadministratorに請求できる

Model of Electronic Voting > Functions

  • administratorは正当な投票者の集合である\(\bf{L_V}\)をデータベースに保持し、次のパラメータをBBに公開する
    • 再暗号化スキームとMDVSスキームのパラメータ
    • この投票で使用されるadministratorの自己署名公開鍵証明書
    • administratorから各投票者への再暗号化鍵のリスト\(L_K\)
    • \(Hash(\cdot)\)で表される衝突耐性のある一方向ハッシュ関数

 

  • ​すべての候補者リストに載っている候補者は自身の公開鍵\(y_{C_j}\)をBBに公開する

System Setup

Laocoon > Technical Details > System Setup

  • \(i=1\dots |\bf{L_V}|\) に対してadministratorが以下を実行する
    • ​administratorはMDVS \(s_i \leftarrow Sign_{x_A, \bf{L_v}}(PK_i)\)を生成する
      • この署名は、署名されたメッセージ\(PK_i\)とともに、いわゆるクレデンシャルであり、\(\sigma_i=(PK_i,s_i)\)として示される
      • PREスキームの暗号化アルゴリズムを使用して短期秘密鍵 \(SK_i\)とクレデンシャル \(\sigma_i\)を暗号化
        • \(​c_i \leftarrow Enc_{y_A}(SK_i, \sigma_i)\)
      • \(c_i\)をProxyに送信する

 

  • ​すべてのクレデンシャルがディスパッチされたあと、administratorはクレデンシャルのリストをパックして\(Enc_{y_P}(\bf{L_\sigma})\)としてProxyの公開鍵で暗号化してProxyに送信する

Credential Dispatching

Laocoon > Technical Details > Credential Dispatching

  • administratorからすべての\(c_i\)を受信したあとProxyは次の手順を実行する
    • ​\(1\) ~ \(|\bf{L_V}|\)までの未使用の番号\(j\)をランダムに選択し、\(\bf{L_k}\)から対応する再暗号化キー\(rk_{A\rightarrow V_j}\)を見つける
    • 再暗号化アルゴリズム\(c_i' \leftarrow ReEnc_{rk_{A\rightarrow V_l}}(c_i)\)を使用してadministratorの公開鍵\(y_A\)で暗号化された暗号文\(c_i\)を\(l\)番目の投票者の公開鍵で暗号化された暗号文に変換する
    • 再暗号化された\(c_i'\)を\(j\)番目の投票者に送信する

 

  • Proxyは\(Enc_{y_P}(\bf{L_\sigma})\)を復号してクレデンシャルのハッシュテーブルを保持する

Credential Dispatching

Laocoon > Technical Details > Credential Dispatching

Credential Dispatching

Laocoon > Technical Details > Credential Dispatching

Ballot Casting

Laocoon > Technical Details > Ballot Casting

  • \(c_i'\)を受け取ったあと、\(l\)番目の投票者は次の手順を実行する
    • \(c_i'\)を自身の秘密鍵\(x_{V_l}\)で復号して\((SK_i, \sigma_i) \leftarrow Dec_{x_{V_l}}(c_i')\) を得る
    • MDVSアルゴリズム\(Verify_{y_A}(PK_i,s_i)\)を使用して、クレデンシャル\(\sigma_i\)の有効性をチェックする
      • 無効なら投票プロセスは中止
    • 希望する候補者\(C_x\)を選択し、再暗号化キー生成アルゴリズムでBallotを生成
      • \(Ballot \leftarrow ReKeyGen(SK_i,y_{C_x})\)
    • 指定されたハッシュ関数\(H(\cdot)\)を使用して投票クレデンシャルのハッシュ値を計算
      •  \(h_i \leftarrow Hash(\sigma_i)\)
    • 匿名の通信チャンネルを介して、BBにメッセージ\(m_l = (Ballot, h_i)\)を送信する

Ballot Casting

Laocoon > Technical Details > Ballot Casting

  • 投票者がBBにキャストしたすべてのメッセージに対してProxyは次の手順を実行する
    • 保持しているクレデンシャルのハッシュテーブルを参照して比較する
      • ハッシュ値が不正または使用されている場合はプロセスを中止
    • 平文として現在のタイムスタンプを利用する
      • \(m_l' \leftarrow Stp\)
    • 公開鍵\(PK_i\)のもとでPREスキームの暗号化アルゴリズムで暗号化する
      • \(\delta_l \leftarrow Enc_{PK_i}(m_l')\)
    • Proxyは公開鍵\(PK_i\)のもとでの暗号化から候補者の公開鍵\(y_C\)のもとでの暗号化に変換する
      • \(\delta_l' \leftarrow ReEnc_{Ballot}(\delta_l)\)
      • \(\delta_l'\)はいわゆる投票トランザクション
    • 投票トランザクション\(\delta_l'\)をBBに公開する

Ballot Casting

Laocoon > Technical Details > Ballot Casting

Ballot Opening and Tallying

  • 候補者、例えば$C_j$はBBからの投票トランザクションに継続的に注意を払っている
    • 新しい投票トランザクション\(\delta_x\)が公開されると\(C_j\)は秘密鍵\(x_{C_j}\)を用いて復号しようとする
    • 復号が成功し、結果がタイムスタンプになると\(C_j\)へのballotが開かれる
    • \(C_j\)は集計日までに受け取った投票数を秘密にしておくことが出来る

Laocoon > Technical Details > Ballot Opening and Tallying

Ballot Opening and Tallying

  • 集計日になるとadministratorは{\(x_{C_j},C_j\)}のようなエンコードされたIDで候補者の秘密鍵をBBに公開するように通知する
    • その後、候補者たちはできるだけ多くの有効なメッセージをBBに公開する
    • BBの集計スクリプトもトリガーされ、各候補者の投票数がカウントされる

 

  • すべての投票が集計されると、「誰がどれだけballotを得たか」を示すメッセージもBBに公開される

Laocoon > Technical Details > Ballot Opening and Tallying

Ballot Verifying and Auditing

  • オプションで、選挙所有者および自身の投票の集計に懐疑的な投票者が追加の監査を実施できる
    • 候補者の秘密鍵のセットがBBに公開されていて、すべての再暗号化された投票も見つかるため、これは簡単に実現できる

Laocoon > Technical Details > Ballot Verifying and Auditing

System Evaluation

Security Properties

  •  Ballot secrecy
    • Ballotは再暗号化キー
    • 再暗号化キーの秘密性に依存するがPREスキームのkey-privacy特性により達成

 

  • Unreusability and Eligibility
    • 未使用の有効なクレデンシャルのみ、投票はプロキシによって受け入れられるのでUnreusabilityを達成
    • 違反したクレデンシャルのハッシュ値は簡単に検出されるのでEligibilityを達成

 

  • Voter-fairness and Candidate-adaptiveness
    • 投票トランザクションは候補者の公開鍵の下でランダムに再暗号化されるため、投票者は集計段階の前に投票結果を知ることができないのでVoter-fairnessを達成
    • 各候補者は他の候補者が獲得する投票数を明示的に知ることはできないのでCandidate-adaptivenessを達成

System Evaluation > Security Properties

Security Properties

  • Receipt-freeness
    • 次のような攻撃が考えられる
      • 1. 攻撃者AはAliceがBBにキャストした \(rk_{i\rightarrow C_j}\), \(Hash(\sigma_i)\)からAliceがどのように投票したかを探ろうとする
      • 2. 攻撃者Aはballot \(rk_{i\rightarrow C_j}\)と処理された投票トランザクション\(Enc_{y_C}\)(#)からAliceがどのように投票したかを探ろうとする
    • 1. 多くのシナリオでAが候補者によって演じられる時に発生する
      • 結局Aは\(Hash(\sigma_i)\)を得るだけで\(\sigma_i\)を得ることは出来ないので攻撃は達成されない
    • 2. 多くのシナリオで調教された投票者のAliceはこの攻撃に関与する時に発生する
      • プロキシによるランダム値が含まれるのでAliceはBBのどのメッセージが自分の選択と相関しているかを知り得ないので攻撃は達成されない
    • 以上よりReceipt-freenessを達成する

System Evaluation > Security Properties

Analysis of Efficiency and Comparison

System Evaluation > Analysis of Efficiency and Comparison

  • 計算と通信コストを総合的に考慮した後、提案された電子投票プロトコルは大規模な選挙(国民投票)に適していると言える

 

  • 投票者側の計算のオーバーヘッドが低く、投票者が投票を行う指定場所に制限がないため、モビリティを実現する

Analysis of Efficiency and Comparison

System Evaluation > Analysis of Efficiency and Comparison

  • セキュリティ特性の比較

Conclusion and Future Work

Conclusion and Future Work

  • 実験結果は、提案したプロトコルが投票者側の計算を軽量にし、国民投票で展開するのに十分効率的であることを示している

 

  • 問題も残っている
    • 投票当局の一極化
    • どの種類のPREが投票に適しているかが未解決

Conclusion and Future Work

Laocoon¨ : Scalable and Portable Receipt-free E-voting Protocol without Untappable Channels

By mmnk

Laocoon¨ : Scalable and Portable Receipt-free E-voting Protocol without Untappable Channels

  • 484