10安全电子选举1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SCLA
选民 Vi
中央合法机构
2.为选民保持一张有效数字VN的列表
带两个中央机构的投票协议
PCLA PCTF SCLA
VN list 4. VN list
SCTF
中央合法机构
中央制表机构
带两个中央机构的投票协议
PCTF Pi Si
VNr 8. M
SCTF
VN list
Voter Vi
5. 选择 IDr 6. 生成 M = (V, IDr, VNr) 6. 选择 SCTF(Oi, IDr, VNr) 7. 生成 M’ =SCTF(Oi, IDr, VNr)
无需投票中心的投票协议
Pn P1
Sn
9. M’
( M’ = E1(…En(V, IDr)…) )
S1
Voter Vn
Voter V1
10.用他的私钥对所有的选
票解密,查看他的选票是 否在选票集中,删去那一 级中所有随机字符串
11.签名所有选票
无需投票中心的投票协议
Voter V1
12. 广播选票给所有人
Central Tabulating Facility
9. 检查 M是否有效并保持VN列表
10. 公布结果 :(V, IDr)
未得到满足的需求
(1)只有经授权的投票者才能投票; (2)每个人投票不得超过一次; (3)没有人能复制其他人的选票; (4)没有人能修改其他人的选票; (5)每个投票者都可以保证他的选票在最后的 选举计数中被计算在内; (6)任何人都不能确定别人投谁的票(可能冲 突); (7)每个人都知道谁投了票,谁没有投。
无需投票中心的投票协议
Si
IDr Voter Vi 1. 生成 IDr 2. 生成 E1(…En(V, IDr)…) 3. 生成 En(E1(…En(V, IDr)…), Rn) 4. 生成 M = E1(…En(E1(…En(V, IDr)…)…), R1) 记录 Rn … R1和中间结果。
Pi
系统选择并发布两个公共参数:单向杂凑函数H,比特 承诺算法f。 选民Vi的参数:唯一的身份标志IDi,用于比特承诺的 随机数ki,盲化因子ri,签名方案δi。 管理机构参数:加密算法的公钥(e0, n0)和私钥d0,签名 算法。 计票机构的参数:加密算法的公钥(ec, nc)和私钥dc。
FOO协议
RSA盲签名
申请者 希望得到消息m的签名
签名者
(1) 盲化
r ZN* m’ = H(m) re mod N
m’
σ’
(2) 签名
σ’ = m’d mod N
(3) 解盲
σ = σ’ r-1 mod N
σ = σ’ r-1 mod N = (H(m) re)d r-1 mod N = H(m)d mod N
无需投票中心的投票协议
Voter Vn 13. 公布结果
未得到满足的需求
(1)只有经授权的投票者才能投票; (2)每个人投票不得超过一次; (3)没有人能复制其他人的选票; (4)没有人能修改其他人的选票; (5)每个投票者都可以保证他的选票在最后的 选举计数中被计算在内; (6)任何人都不能确定别人投谁的票; (7)每个人都知道谁投了票,谁没有投。
一般理想的选举协议至少应满足以下七点要 求:
(1)只有经授权的投票者才能投票; (2)每个人投票不得超过一次; (3)没有人能复制其他人的选票; (4)没有人能修改其他人的选票; (5)每个投票者都可以保证他的选票在最后的选举计数 中被计算在内 (6)任何人都不能确定别人投谁的票 (7)每个人都知道谁投了票,谁没有投。
协议
1.简单投票协议 #1 2.简单投票协议 #2
3.使用盲签名的投票协议
4.带两个中央机构的投票协议
5.无需投票中心的投票协议
简单投票协议 #2的基本思想
secure booth = encryption
identification card
= sign
简单投票协议 #2
Si
PCTF Pi
4. ECTF(Si(V))
并会检测到任何窜改。
其他问题
3.
这个协议也易受CLA和CTF的合谋攻击,如果它们两个 串通一气,那它们可以将数据库联系起来并知道谁投 了谁的票。 总而言之,存在冲突的可能性。
4.
协议
1.简单投票协议 #1 2.简单投票协议 #2
3.使用盲签名的投票协议
4.带两个中央机构的投票协议
5.无需投票中心的投票协议
(1) 完全性 (2) 准确性 (3) 秘密性 (4) 不可重用性 (5) 合法性 (6)公平性 (7) 可验证性
缺陷
(1) 该协议不允许合法选民弃权。否则,管理机构可以假 冒合法投票者进行投票。因为管理机构单独负责选民的 身份验证,选票的合法性完全由管理机构决定。所以, 如果有合法选民弃权,管理机构可以冒充弃权选民投票。 (2) 没有解决选票碰撞问题。在FOO协议中,仅通过比特 承诺算法来区分不同选民的选票。如果两个选民选择的 承诺密钥以及选票内容恰好相同,那么将出现两张完全 相同的选票,这使得计票中心将不得不舍弃一张合法选 票。由于比特承诺的密钥没有任何要求,因此,出现选 票碰撞的几率是不可忽略的。
无需投票中心的投票的基本思想
中央制表机构
The problem of source is CTF.
无需投票中心的投票的基本思想
Everyone is checker.
无需投票中心的投票协议
Voter V1
Voter V2
Voter V3
Voter Vn
1.每个投票者都有一个公开密钥和一个私钥
2.公布选民顺序和他们的公钥
协议
1.简单投票协议 #1 2.简单投票协议 #2
3.使用盲签名的投票协议
4.带两个中央机构的投票协议
5.无需投票中心的投票协议
盲签名
所谓盲签名是指签名人只是完成对文件的签名工作, 并不了解所签文件的内容。 盲签名在数字现金,电子投票等领域都有较大的应 用价值,特别是目前的数字现金,大部分都是采用 盲签名的原理实现。
中央制表机构
4. 制表 5. 公布结果
未得到满足的需求
(1)只有经授权的投票者才能投票; (2)每个人投票不得超过一次; (3)没有人能复制其他人的选票; (4)没有人能修改其他人的选票; (5)每个投票者都可以保证他的选票在最后的 选举计数中被计算在内; (6)任何人都不能确定别人投谁的票(CTF知 道) ; (7)每个人都知道谁投了票,谁没有投。
SCTF
选民 Vi
1. 选择 V
中央制表机构
5. 解密, 验证, 制表
6. 公布结果
2. 签名 V → Si(V)
3. 加密 Si(V) → ECTF(Si(V))
未得到满足的需求
(1)只有经授权的投票者才能投票; (2)每个人投票不得超过一次; (3)没有人能复制其他人的选票; (4)没有人能修改其他人的选票; (5)每个投票者都可以保证他的选票在最后的 选举计数中被计算在内; (6)任何人都不能确定别人投谁的票(CTF知 道); (7)每个人都知道谁投了票,谁没有投。
σ 是签名者的有效签名 签名者不知道 m 和 σ.
19
使用盲签名的投票协议
PCTF Pi Si
3. B(M)
SCTF
选民 Vi
1. M = (O1, … , On, IDr , i) 2. 盲化 M → B(M) 6. 选择 SCTF(Oi|| IDr)
5. SCTF(B(M))
中央制表机构
4. 检查 B(M) 是否有效
安全电子选举
曹天杰 tjcao@cumt.edu.cn
中国矿业大学计算机科学与技术学院
选举
选举的需求是什么?
选举
Secure Booth ?(保护隐私)
选举
Fair judge ?(保证公平)
选举
隐私 !
公平 !
主要有两个需求
传统投票 VS 电子选举
• 隐私性
• 公平性
• 有效性
电子选举协议的安全需求
7. 生成 M’ = (SCTF(Oi|| IDr))
使用盲签名的投票协议
PCTF Pi
Si
8. M’ B(M)
SCTF
选民 Vi
中央制表机构
9. 验证, 检查 ID 副本 10. 公布结果
未得到满足的需求
(1)只有经授权的投票者才能投票; (2)每个人投票不得超过一次; (3)没有人能复制其他人的选票; (4)没有人能修改其他人的选票; (5)每个投票者都可以保证他的选票在最后的 选举计数中被计算在内; (6)任何人都不能确定别人投谁的票(CTF知 道)—需要提供匿名信道 ; (7)每个人都知道谁投了票,谁没有投。
协议
1.简单投票协议 #1 2.简单投票协议 #2
3.使用盲签名的投票协议
4.带两个中央机构的投票协议
5.无需投票中心的投票协议
简单投票协议 #1的基本思想
secure booth = 加密
简单投票协议 #1
PCTF
3. ECTF(V)
SCTF
选民 Vi
1. 选择 V
2. 加密 V → ECTF(V).
缺陷
(3) 协议在匿名性方面存在缺陷。如果管理机构伪造选票 并进行投票,为了表明自己的选票是合法的,合法投票 者需要出示其盲化因子以及管理机构的盲签名。提交盲 化因子的过程破坏了匿名性。
其他问题
1.
这个协议计算量特别大,它在实际的选举无法凑效, 因为有成千上万的投票者。 Vn先于其他人知道选举结果 消息拷贝. (Ex: 只有三个选民)
2. 3.
FOO协议
FOO共与三个参与实体:选民、管理机构和计票 机构。其中管理机构和计票机构组成投票中心。 协议采用了比特承诺技术和盲签名技术。 协议中使用的参数如下:
其他问题
1.
虽然CTF不能把选票同个人联系起来, 但它能产生大量签名的有效选票,供他 自己进行欺骗。 如果Alice发现CTF修改了她的选票,她 没有办法证明。
2.
协议
1.简单投票协议 #1 2.简单投票协议 #2
3.使用盲签名的投票协议
4.带两个中央机构的投票协议
5.无需投票中心的投票协议
传统投票概述
其他问题
1.
每个投票者能够看到识别号的列表,并在其中找到他自 己的识别号,这就证明他的选票被计了数,故CTF不能 修改选票。如果投票者找不到他的识别号,或者发现他 的识别号在不是他们所投票的记录中,他会立即知道这
中间有舞弊行为。
2.
因为CTF受CLA监督,所以它不能把假选票塞进投票箱。 CLA知道有多少个投票者正被证明及他们的鉴别数字,
17
RSA数字签名
签名者取两个随机大素数p和q(保密),计算公开的 模数n=pq(公开),计算秘密的欧拉函数(n) =(p-1) (q-1)(保密)。 随机选取整数e,满足gcd(e, (n))=1(公开e,验证密钥) 计算d,满足de≡1(mod (n))(签名密钥) 签名:y=H(x)d (mod n), 把x||y发送给验证者 验证:检查下式是否成立yd=H(x) (mod n).
无需投票中心的投票协议
P1 Pi Si
5. M
S1
Voter Vi
Voter V1
6.用他的私钥对所有的选
票解密,接着将那一级中 所有随机字符串删去 .
无需投票中心的投票协议
P1 P2
S1
7. M2
(M2 是已解密的消息)
S2
Voter V1
Voter V2
8.用他的私钥对所有的选
票解密,查看他的选票是 否在选票集中,删去那一 级中所有随机字符串
FOO协议分六个阶段进行 :
(1)预备 (2)管理机构授权 (3)投票 (4)收集选票 (5)公开验证 (6)统计并公布结果
FOO协议安全性分析
FOO协议中使用了比特承诺、盲签名、公钥加 密、数字签名以及匿名通信等技术,以确保该 协议能够较好的满足电子选举协议的安全性要 求:
1. 检查选民的身份。
checker
voter
传统投票概述
2. 计算出选票箱中选票的总数。
counter
传统投来自百度文库概述
在选举中有两个位置
checker
counter
带两个中央机构的投票协议
中央合法机构
中央制表机构
带两个中央机构的投票协议
PCLA Pi Si
1.要求得到一个 VN VN list 3. VNr