1. 研究背景
2. 提案する投票システム
3. 提案手法の評価
4. まとめ
1. 研究背景
2. 提案する投票システム
3. 提案手法の評価
4. まとめ
研究背景 > 電子投票システム
候補者\(C\)
投票者A
投票者B
投票
投票プロセス
候補者\(\bar{C}\)
識別不可
認証プロセス
候補者C
投票
研究背景 > 電子投票システムの拡張
候補者\(C\)
投票者A
投票者B
投票
候補者\(\bar{C}\)
投票
候補者\(C\)
Aにアンケートを取りたい
研究背景 > 投票の証明とセキュリティ
研究背景 > 研究目標
1. 研究背景
2. 提案する投票システム
3. 提案手法の評価
4. まとめ
提案する投票システムで使用する主な暗号技術は2つ
提案する投票システム > 暗号技術
1. プロキシ再暗号化
2. \((k,n)\)閾値法
ユーザAの公開鍵で暗号化された暗号文をプロキシに委任して,再暗号化鍵という鍵を用いて,ユーザBの公開鍵で暗号化された暗号文に変換する仕組み
提案する投票システム > 暗号技術 > プロキシ再暗号化
ユーザA
ユーザB
プロキシ
再暗号化鍵
暗号文のまま再暗号化
秘密値を\(n\)個のシェアに分散させ,\(k\)個のシェアが集まれば復元できるようにした秘密分散の仕組み
提案する投票システム > 暗号技術 > \((k,n)\) 閾値法
\(k=2, n=3 で秘密分散\)
2個集まれば復元可能
提案する投票システム > エンティティ
提案する投票システム > キーアイデア
1. 投票システム内で認証情報を秘密分散させ,投票終了後にシェアを集めて復元することで認証する
2. 候補者は投票者が自身に投票してくれたという事実を プロキシ再暗号化を用いることで保証する
提案する投票システム > キーアイデア
1. 投票システム内で認証情報を秘密分散させ,投票終了後にシェアを集めて復元することで認証する
2. 候補者は投票者が自身に投票してくれたという事実を プロキシ再暗号化を用いることで保証する
提案する投票システム > キーアイデア > 認証情報の秘密分散
シェア
認証用ランダム値
Candidate
Candidate
Voter
Voter
Provider
Administrator
send
send
復元して得た値
\(\overset{?}=\)
検証
\(k=n=3\)で秘密分散
投票システム
認証システム
提案する投票システム > 認証情報の秘密分散
Candidate
Voter A
投票
投票
シェアに投票の事実が必要
Voter A
提案する投票システム > キーアイデア
1. 投票システム内で認証情報を秘密分散させ,投票終了後にシェアを集めて復元することで認証する
2. 候補者は投票者が自身に投票してくれたという事実を プロキシ再暗号化を用いることで保証する
提案する投票システム > キーアイデア > 投票の事実の保証 > 投票システムの全体像
Proxy
BB
Candidate
投票用秘密鍵
認証用秘密鍵
S
S
クレデンシャルの有効性検証
P
S
P
S
P
key
value
ハッシュテーブル
送信
参照
投票用再暗号化鍵
クレデンシャルのハッシュ値
認証用再暗号化鍵
S
P
S
P
S
P
S
P
S
S
タイムスタンプ
投票トランザクション
Voterの鍵で暗号化されたシェア
Candidateの鍵で暗号化されたシェア
※ 通信経路は全て盗聴可能なパブリックチャンネル
Voter
Voterの秘密鍵
P
=
+
S
クレデンシャル
Voterの公開鍵
署名
P
S
S
P
投票用公開鍵
認証用公開鍵
P
P
提案する投票システム > キーアイデア > 投票の事実の保証 > Voterによる投票
BB
Voter
Voterの秘密鍵
P
=
+
S
クレデンシャル
Voterの公開鍵
署名
投票用再暗号化鍵
クレデンシャルのハッシュ値
認証用再暗号化鍵
S
P
S
P
送信
参照
※ 通信経路は全て盗聴可能なパブリックチャンネル
S
S
Proxy
key
value
ハッシュテーブル
S
S
P
P
S
P
Voterの鍵で暗号化されたシェア
Candidateの鍵で暗号化されたシェア
クレデンシャルの有効性検証
P
S
P
タイムスタンプ
投票トランザクション
P
S
S
P
投票用公開鍵
認証用公開鍵
P
P
Candidate
投票用秘密鍵
認証用秘密鍵
S
S
提案する投票システム > キーアイデア > 投票の事実の保証 > Proxyによる検証・再暗号化
Proxy
BB
クレデンシャルの有効性検証
P
S
P
key
value
ハッシュテーブル
S
P
S
P
タイムスタンプ
投票トランザクション
S
P
Voterの鍵で暗号化されたシェア
Candidateの鍵で暗号化されたシェア
事前に準備
送信
参照
※ 通信経路は全て盗聴可能なパブリックチャンネル
投票用秘密鍵
認証用秘密鍵
S
S
S
S
Candidate
投票用再暗号化鍵
クレデンシャルのハッシュ値
認証用再暗号化鍵
S
P
S
P
Voter
Voterの秘密鍵
P
=
+
S
クレデンシャル
Voterの公開鍵
署名
P
S
S
P
投票用公開鍵
認証用公開鍵
P
P
提案する投票システム > キーアイデア > 投票の事実の保証 > Candidateによる開票
BB
Candidate
投票用秘密鍵
認証用秘密鍵
S
S
S
S
クレデンシャルの有効性検証
P
S
P
タイムスタンプ
投票トランザクション
Proxy
key
value
ハッシュテーブル
S
P
S
P
S
P
Voterの鍵で暗号化されたシェア
Candidateの鍵で暗号化されたシェア
送信
参照
※ 通信経路は全て盗聴可能なパブリックチャンネル
投票用再暗号化鍵
クレデンシャルのハッシュ値
認証用再暗号化鍵
S
P
S
P
Voter
Voterの秘密鍵
P
=
+
S
クレデンシャル
Voterの公開鍵
署名
P
S
S
投票用公開鍵
認証用公開鍵
P
P
提案する投票システム > キーアイデア > 投票した事実の保証
1, 2 から復号できれば投票と同じクレデンシャルと公開鍵と秘密鍵のペアが使われることが保証される
⇔ 得られる認証情報には投票の事実が保証される
S
S
1. 研究背景
2. 提案する投票システム
3. 提案手法の評価
4. まとめ
評価 > 無証拠性の評価
P
S
P
S
\(\overset{?}=\)
S
適当な平文
評価 > 無証拠性の評価
P
S
P
S
\(\overset{?}=\)
S
適当な平文
クレデンシャルのハッシュ値しか取得できない
評価 > 無証拠性の評価
P
S
P
S
\(\overset{?}=\)
S
適当な平文
クレデンシャルのハッシュ値しか取得できない
管理者のシェア,認証ランダム値はパブリックチャンネルに送信されないので取得できない
1. 研究背景
2. 提案する投票システム
3. 提案手法の評価
4. まとめ
まとめ
課題
[1] E. Shi, J. Bethencourt, T.H. Chan, D. Song, and A. Perrig, “Multi-dimensional range query over encrypted data,” 2007 IEEE Symposium on Security and Privacy (SP ’07), pp.350–364, May 2007.
提案手法(拡張後)
Zhangらの手法(拡張前)
署名者が指定した検証者集合によってのみ有効性を検証できる署名を発行できる仕組み
指定された検証者がすべての秘密情報を攻撃者と共有したとしても,攻撃者は署名の有効性を検証できない
提案する投票システム > 暗号技術 > 複数人検証者署名
検証者集合
攻撃者
署名者
検証者に指定
秘密情報共有
検証可能