互联网投票实用安全抗胁迫方案及端到端投票系统解析
在当今数字化时代,互联网投票成为了一个备受关注的话题。它不仅为选民提供了更加便捷的投票方式,也对投票系统的安全性、抗胁迫性、效率等方面提出了更高的要求。下面我们将详细探讨两种互联网投票方案。
互联网投票实用安全抗胁迫方案
在投票过程中,首先涉及到投票的解密和计数环节。使用在设置阶段与
y
一起生成的共享私钥
x
计算
(zu - xw - x)α
。接着,
T
协作解密由
R
处理后的密文。当且仅当凭证有效时,解密结果等于 1。这里引入随机指数
α
是为了防止在凭证无效时,单纯计算和解密
(zu - xw - x)
可能会向攻击者泄露信息。
在解密和计数投票时,
T
使用其共享私钥
T
对每个具有有效凭证的元组的
ET[C]
进行协作解密。之后,统计投票并将结果发布在公告板
BB
上。需要注意的是,受胁迫的选民应透露其凭证的正确值
a
和
b
,否则攻击者可以通过发起 “1009 攻击” 来测试该对值是否正确。攻击者会使用 1009 个随机值
li
发送包含
(ali, bli)
形式的 “1009” 张选票,并检查在计票阶段的步骤 5 的第一次测试中是否有超过 1009 张选票通过。
在多次选举的场景中,合格选民的数量可能会发生变化,有些选民在参与一次选举后可能会被撤销投票权,而且选民可能被允许参加某些选举,但不能参加其他选举。为了满足这些情况,通常要求凭证可用于多次选举,并且当局在必要时能够撤销凭证。
所提出的凭证只要使用相同的密钥
(x, y)
就可以用于多次选举,但在原则上凭证难以撤销。因为只有选民知道他们的凭证,当局无法直接撤销凭证。即使当局存储了所有已发放的凭证,由于凭证是以加密形式发布的,他们也无法有效地识别已撤销的凭证。
不过该方案有一些特性有助于实现凭证撤销和进行新的选举。选民注册时会收到
(r, a, b = ay, c = ax + rxy)
。元素
r
必须通过不可窃听的通道传输,而元素
(a, b = ay, c = ax + rxy)
可以通过邮政甚至电子邮件发送,只要满足 DDH 假设,这不会危及凭证的安全性。基于此,提出以下方法来撤销凭证和进行新的选举:
1. 注册员
R
除了为每个选民生成和发放凭证外,还会协作计算
(ar)
和
(a)
的加密(即
ER[a], ER[ar]
),并将其存储在列表中。这些加密操作使用对应于为此目的特别生成的共享私钥
R
的公钥
R
进行。
2. 对于每次新的选举,注册员生成新的密钥
(x′, y′)
,并为选民提供从
ER[a]
和
ER[ar]
计算得到的新值
(a′ = al, b′ = a′y′, c′ = a′x′ + rx′y′)
,其中
l
是随机选择的。具体来说,
c′
的计算是将
ER[a]
和
ER[ar]
分别提升到
x′
和
x′y′
,然后使用同态性得到
ER[ax′ + rx′y′]
。之后,将
ER[ax′ + rx′y′]
提升到
l
并进行协作解密。
a′
和
b′
可以类似地获得,但不使用同态性。新的凭证元素可以通过邮件发送给选民或发布在专用网站上。
下面是该方案的分析:
-
抗胁迫性
:
-
无收据性
:投票方案必须无收据,即选民无法制作或获得证明其投票方式的收据。在该方案中,选民无法向攻击者证明其凭证有效,攻击者除非能破解 DDH 问题,否则无法确定凭证的有效性。而且凭证在混合过程后才进行验证,验证方法不会泄露任何信息,因此选民无法获得可作为证明的证据。
-
抵抗随机化攻击
:在随机化攻击中,攻击者迫使选民投包含随机信息的选票。但在该方案中,选民发布投票时会附带一组零知识证明,所有证明无效的选票将被排除,随机组成的选票不会被计票。即使攻击者观察选民并强迫其为随机候选人投票,也无法验证选民是否使用了有效凭证进行投票。
-
抵抗强制弃权攻击
:在强制弃权攻击中,攻击者迫使选民弃权。但该方案不透露选民身份信息,选民的有效凭证是隐藏的,选民通过匿名通道在公告板上发布凭证密文,且在计票阶段验证凭证时不进行解密,因此攻击者无法检查选民是否投票。
-
抵抗模拟攻击
:在模拟攻击中,攻击者迫使选民透露其有效凭证并代其投票。但在该方案中,选民可以通过交给攻击者假凭证来欺骗攻击者,在 DDH 假设下,攻击者无法区分有效凭证和假凭证。
-
民主性和准确性
:公告板可能接受合格和不合格选民的投票,选民也可能多次投票。但只有合格选民的投票会出现在最终计票中,且每个合格选民只计一票。该方案通过排除使用相同凭证发布的选票(计票阶段的步骤 3)来实现这一点,即使选民多次使用相同凭证投票,也只处理最后一票。此外,方案会检查凭证的有效性,排除使用假凭证的投票,确保只有合格选民的投票被计入最终结果。
-
普遍可验证性
:任何人都可以验证投票过程及其结果的正确性。这通过安全的公共公告板和非交互式零知识证明(NIZKPs)来保证。方案各阶段生成的证明都发布在公告板上,任何人都可以验证。选民在公告板上发布投票,任何人都可以验证将被处理的投票。计票阶段的步骤,包括混合网络的洗牌和识别有效凭证的方法,也可以通过公告板进行验证。公告板和 NIZKPs 还防止了密文对(投票和凭证)的分离。
-
效率
:与 JCJ 方案需要二次运行时间不同,该方案不依赖于盲比较。方案中通过线性时间的比较(如使用哈希表)来识别重复项,通过分别测试每个凭证来识别有效凭证,因此效率更高。设合格选民数量为
N
,发布的选票数量为
V
,该方案的运行时间为
O(N + V)
,在选票数量上是线性的。
端到端互联网投票方案 - Scratch, Click & Vote
互联网投票主要有两种场景:投票站的高级投票程序和远程电子投票。
在投票站投票方面,设计不佳的电子投票机可能对投票过程造成极大危害。不过,最近出现了许多端到端可审计的投票系统(E2E),有些设计甚至无需电子投票机即可实现电子投票。这些方案中,每个选民会获得一张收据,可用于检查其选票是否被计入计票,也能验证结果的正确性,但收据无法用于证明选民的投票方式,从而防止了买卖选票的行为。
互联网投票与投票站投票场景有很大不同。在投票站较易保护选民隐私,而互联网投票中,选民必须使用电子设备,但没有充分理由让选民盲目信任该设备,恶意软件可能危及选举的完整性和选民的隐私。此外,远程投票还需要解决远程选民身份识别问题,这可以根据不同情况采用多种方法,如国家选举可使用高级电子签名,其他选举可使用登录名和密码。
Scratch, Click & Vote 方案是一种端到端可验证的远程互联网投票方案。它保证了对选民使用的恶意硬件和软件的安全性,选民的计算机不会获取选民的选择信息,且盲目更改选民选票的概率很小。
下面介绍一些相关的端到端投票系统:
-
Prêt à Voter
:选民获得的选票由两部分组成。左部分包含官方候选人名单,通过循环移位
x
个位置进行更改,
x
取决于选票。右部分包含选民可以打
×
标记的框。选民在包含其喜爱候选人姓名的行中打
×
标记进行投票。右部分有一个类似选票序列号
S
的东西,用于解码选民的投票(即重建移位值
x
),该序列号也包含在选民获得的投票收据中。选民做出选择后,将两部分分开,左部分放入碎纸机,右部分扫描后进入系统。
-
Punchscan
:其原始选票设计与 Prêt à Voter 不同,但关键机制可与 Prêt à Voter 选票布局一起使用。Punchscan 提供了一个完整的后端来进行端到端可验证的选举,类似的后端也用于 Scantegrity 和 Scantegrity II。选票构建中使用的值是经过承诺且可验证的,验证过程分为选举前审计和选举后审计。如果负责准备选票的当局通过了两次审计,那么选举的完整性几乎可以得到保证。
-
ThreeBallot
:由 R. Rivest 提出,尽管存在一定的隐私弱点,但仍很有吸引力。选民获得一张由四部分组成的纸,最左边的列包含候选人名单(无移位)。
以下是这些相关方案的对比表格:
| 方案名称 | 选票组成 | 关键特点 | 验证方式 |
| ---- | ---- | ---- | ---- |
| Prêt à Voter | 左右两部分,左为候选人名单,右为打
×
框和序列号 | 利用循环移位和序列号解码投票 | 序列号用于解码 |
| Punchscan | 原始设计不同,关键机制可与 Prêt à Voter 结合 | 提供完整后端,值可验证 | 选举前和选举后审计 |
| ThreeBallot | 四部分,左为候选人名单 | 有一定隐私弱点但有吸引力 | 暂未提及 |
通过对这些方案的分析,我们可以看到不同投票方案在设计和安全性上的特点,为互联网投票的发展提供了有价值的参考。在实际应用中,需要根据具体需求和场景选择合适的投票方案,以确保选举的公平、公正和安全。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A(投票解密和计数):::process --> B(使用共享私钥计算):::process
B --> C(协作解密密文):::process
C --> D{凭证是否有效}:::process
D -- 是 --> E(解密结果为 1):::process
D -- 否 --> F(随机指数防止信息泄露):::process
E --> G(统计投票并发布结果):::process
F --> G
以上就是对互联网投票实用安全抗胁迫方案及端到端投票系统的详细解析,这些方案在不断发展和完善,有望为未来的互联网投票提供更加可靠的保障。
互联网投票实用安全抗胁迫方案及端到端投票系统解析
不同方案的优势与挑战总结
不同的互联网投票方案各有其独特的优势和面临的挑战,我们可以通过以下表格进行更清晰的对比:
| 方案类型 | 优势 | 挑战 |
| ---- | ---- | ---- |
| 互联网投票实用安全抗胁迫方案 | 具有良好的抗胁迫性,能抵抗多种攻击;民主性和准确性高,确保只有合格选民的投票被计入;普遍可验证性强,任何人可验证投票过程和结果;运行效率高,时间复杂度为线性 | 凭证撤销较为困难,虽然有解决方法但相对复杂 |
| Scratch, Click & Vote | 端到端可验证,保证对恶意硬件和软件的安全性,选民计算机不获取选择信息,更改选票概率小 | 未提及在大规模选举中的性能表现 |
| Prêt à Voter | 选民可获得收据检查选票是否计入计票及验证结果,防止买卖选票 | 依赖于选票的循环移位和序列号解码,存在一定的复杂性 |
| Punchscan | 提供完整后端进行端到端可验证选举,通过审计保证选举完整性 | 审计过程相对繁琐 |
| ThreeBallot | 具有一定吸引力 | 存在隐私弱点 |
未来发展方向探讨
随着互联网技术的不断发展,互联网投票方案也需要不断改进和完善以适应新的需求和挑战。以下是一些可能的未来发展方向:
1.
提高凭证管理效率
:对于互联网投票实用安全抗胁迫方案中凭证撤销困难的问题,未来可以研究更高效的凭证管理机制,例如利用区块链技术实现凭证的可追溯和可撤销,同时保证其安全性。
2.
增强大规模选举适应性
:Scratch, Click & Vote 等方案需要进一步研究在大规模选举中的性能表现,优化算法和架构,以确保在选民数量众多的情况下仍能保持高效和安全。
3.
加强隐私保护
:针对 ThreeBallot 等方案存在的隐私弱点,未来的投票方案应更加注重隐私保护技术的应用,如零知识证明、同态加密等,确保选民的投票信息不被泄露。
4.
整合多种验证方式
:可以将不同方案中的验证方式进行整合,例如结合 Prêt à Voter 的序列号验证和 Punchscan 的审计验证,提高选举的安全性和可验证性。
实际应用建议
在实际应用中,选择合适的互联网投票方案需要综合考虑多个因素,以下是一些建议:
1.
根据选举规模选择
:对于小规模选举,可以选择相对简单的方案,如 Prêt à Voter 或 ThreeBallot;对于大规模选举,则需要选择效率高、可扩展性强的方案,如互联网投票实用安全抗胁迫方案或经过优化的 Scratch, Click & Vote 方案。
2.
考虑安全需求
:如果对安全性要求较高,特别是需要抵抗各种胁迫攻击,应优先选择具有良好抗胁迫性的方案,如互联网投票实用安全抗胁迫方案。
3.
结合技术能力
:在选择方案时,还需要考虑当地的技术能力和基础设施,确保方案能够顺利实施。例如,如果当地缺乏先进的加密技术和网络设施,可能需要选择相对简单的方案。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A(选择投票方案):::process --> B{选举规模}:::process
B -- 小规模 --> C(Prêt à Voter/ThreeBallot):::process
B -- 大规模 --> D(互联网投票实用安全抗胁迫方案/优化 Scratch, Click & Vote):::process
A --> E{安全需求}:::process
E -- 高 --> D
E -- 低 --> F(其他方案):::process
A --> G{技术能力}:::process
G -- 强 --> D
G -- 弱 --> F
综上所述,互联网投票方案在不断发展和创新,不同的方案各有优劣。在实际应用中,需要根据具体情况选择合适的方案,并不断探索和改进,以确保互联网投票的公平、公正和安全。未来,随着技术的进步,我们有望看到更加完善和可靠的互联网投票系统出现。
超级会员免费看
22

被折叠的 条评论
为什么被折叠?



