25、协议验证与电子投票系统的安全保障

协议验证与电子投票系统的安全保障

协议验证相关理论

在协议验证领域,有许多重要的理论和问题值得探讨。例如,在没有超时的理论中,其形式通常为 (T’ \leq T),这意味着只需要推进全局时间 (T) 即可,并且这种推进总是可行的。

虚假接受和虚假拒绝问题可以被形式化为可达性问题。相关定理表明,当事实的规模有界时,针对内存有界的定时 Dolev - Yao 入侵者、平衡网络和距离界定协议理论的虚假接受和虚假拒绝问题属于 PSPACE 复杂度类。

我们还可以考虑保密问题的有界时间版本,比如限制跟踪中的总时间或协议会话的总数。我们期望这些限制能够改善问题的复杂度,但这方面的研究留待未来进行。

相关工作对比

在协议验证方面,有许多相关的工作。以下是一些不同工作的对比:
| 工作 | 特点 | 与本文工作的差异 |
| ---- | ---- | ---- |
| Meadows 等人的工作 | 首次对距离界定协议进行全面形式化表示和分析,使用协议推导逻辑(PDL) | 本文基于现有的通用模型(Timed MSR),而其从现有的形式逻辑 PDL 开始形式化 |
| [31] 的工作 | 引入定时协议语言,解决定时入侵者模型问题,表明每个诚实参与者对应一个 DY 入侵者就足够,在 Maude 中实现自动化分析 | 本文解决了其提出的新建模挑战 |
| [16] 的工作 | 研究存在 DY 入侵者时安全协议的定时认证属性,基于成功协议会话完成的预期时间间隔 | 本文考虑更通用的协议理论,允许正确协议执行中存在循环,且使用超时,执行时间可变,模型对时间的分级更精细,并研究验证的计算复杂度 |

电子投票系统概述

电子投票具有诸多优势,它便于计票,能实现多问题选举或复杂计票功能,如认可投票或单一可转移投票。同时,它还提供了灵活性,选举时间可长可短,选民可在任何地方投票。然而,电子投票也面临着严重的争议,主要原因是现有系统不够安全,例如华盛顿特区、爱沙尼亚和澳大利亚的投票系统都曾遭受攻击。

现代电子投票系统主要追求两个目标:投票隐私和可验证性。可验证性又可细分为三个子属性:
- 个体可验证性:选民可以检查自己的投票是否被正确计票。
- 普遍可验证性:每个人都可以检查结果是否与公共公告板上的选票一致。
- 资格可验证性:选票来自合法选民。

许多电子投票系统被提出,各有特点:
| 系统 | 特点 | 缺点 |
| ---- | ---- | ---- |
| CHVote 和 Neuchˆatel 协议 | 保护选民免受受损设备影响,通过返回码让选民检查投票是否正确记录 | 依赖较重的基础设施,Neuchˆatel 协议选民无法检查选举结果与收到选票是否对应 |
| Helios | 简单协议,旨在低胁迫环境下实现隐私和端到端可验证性,选民可通过生成模拟选票审计投票设备 | 易受选票填充攻击,不具备资格可验证性 |
| sElect | 选民可通过跟踪号轻松检查投票是否按预期计票 | 投票买卖容易 |
| Selene | 使用跟踪号便于验证,有密码机制提供无收据性 | 选民仍可能出售选票 |
| Demos | 旨在实现可验证性和无收据性 | 选民可能出售选票 |
| Civitas | 可证明实现可验证性和抗胁迫性,选民可生成假投票凭证使对应选票被删除而胁迫者无法察觉 | |

Belenios 系统介绍

Belenios 系统在简单性和安全性之间取得了良好的平衡。它基于 Helios 构建,已在在线平台上部署,用于超过 200 次选举。与 Helios 相比,Belenios 提供了资格可验证性,任何人都可以检查选票是否来自合法选民,避免了选票填充问题。

然而,Belenios 与 Helios 一样,不具备抗胁迫性,选民可能证明自己的投票选择或出售投票材料,因此不适合高风险选举。

以下是 Belenios 系统涉及的实体:
- 选民
- 注册员
- 解密受托人

这些角色都不需要特殊的密码学技能。Belenios 投票平台提供了不同的安全级别,例如注册可以由投票服务器直接完成,解密密钥可以分割或不分割,这产生了安全性和简单性之间的不同权衡。

Belenios 系统的密码学工具

Belenios 依赖于一些标准的密码学原语:
- 加密 :使用 El Gamal 加密。生成私钥时,在 (Z_q) 中随机选择 (x),公钥为 (y = g^x)。投票 (v) 加密为 (enc(v, y, r) = (g^r, y^r g^v)),与传统 El Gamal 加密不同,投票 (v) 被加密为 (g^v)。解密时,先计算 (b / a^x = g^v),再通过离散对数计算恢复 (v),前提是 (v) 来自小的子集。该加密具有同态属性:(\prod_{i = 1}^{n} enc(v_i, y, r_i) = enc(\sum_{i = 1}^{n} v_i, y, \sum_{i = 1}^{n} r_i)),用于直接从加密选票计算投票的加密总和。
- 哈希函数 :用于多个地方,如签名和零知识证明的内部操作。为避免碰撞,消息 (m) 会加上表示上下文的标签。
- 签名 :每个选民使用 Schnorr 签名对加密选票签名,避免选票填充。私钥签名密钥 (sk) 是 (Z_q) 中的随机元素,验证密钥 (vk = g^{sk})。签名计算步骤如下:
1. 随机选择 (w \in Z_q)。
2. 计算 (c = h(m | g^w)) 和 (r = w - sk \cdot c \mod q)。
3. 返回 ((r, c))。
验证时,计算 (A = g^r vk^c) 并检查 (c = h(m | A))。

以下是加密和签名过程的 mermaid 流程图:

graph TD;
    A[生成私钥 x] --> B[计算公钥 y = g^x];
    C[投票 v] --> D[随机选择 r];
    B --> E[计算 enc(v, y, r) = (g^r, y^r g^v)];
    F[消息 m] --> G[随机选择 w];
    H[私钥签名密钥 sk] --> I[计算 vk = g^sk];
    G --> J[计算 c = h(m | g^w)];
    H --> K[计算 r = w - sk * c mod q];
    J --> L[返回签名 (r, c)];
    M[消息 m] --> N[签名 (r, c)];
    I --> O[验证密钥 vk];
    N --> P[计算 A = g^r vk^c];
    P --> Q[检查 c = h(m | A)];

协议验证与电子投票系统的安全保障

Belenios 系统详细流程

Belenios 系统从设置到计票及恢复过程较为复杂,下面详细介绍各阶段:
1. 设置阶段
- 选举管理员确定选举参数,如候选人列表、投票时间等。
- 生成加密密钥对,公钥用于加密选票,私钥用于解密。私钥可由单个实体持有,也可分割给多个解密受托人。
- 注册员负责选民注册,为合法选民提供投票凭证。
2. 投票阶段
- 选民使用投票凭证登录系统。
- 选民对所选候选人进行投票,投票信息使用公钥加密。
- 选民使用 Schnorr 签名对加密选票签名,确保选票完整性。
- 签名后的加密选票发送到投票服务器并记录在公共公告板上。
3. 计票阶段
- 收集所有投票结束后,对公共公告板上的加密选票进行汇总。
- 利用加密的同态属性,直接计算加密选票的总和。
- 解密受托人使用私钥或私钥份额对加密总和进行解密,得到最终计票结果。
4. 恢复阶段
- 若计票过程中出现问题,如部分解密受托人无法提供私钥份额,可使用备份机制恢复。
- 确保选举结果的准确性和可验证性。

以下是该流程的表格总结:
| 阶段 | 操作内容 |
| ---- | ---- |
| 设置阶段 | 确定选举参数、生成密钥对、选民注册 |
| 投票阶段 | 选民登录、投票加密、签名、发送选票 |
| 计票阶段 | 汇总选票、计算加密总和、解密计票 |
| 恢复阶段 | 问题处理、结果验证 |

Belenios 系统安全性分析

Belenios 系统的安全性基于多个方面:
1. 加密安全性 :El Gamal 加密在离散对数问题困难的假设下保证了投票的隐私性。即使选票在传输过程中被截获,攻击者也无法解密。
2. 签名安全性 :Schnorr 签名确保了选票的完整性和不可抵赖性。选民无法否认自己的投票,且投票无法被篡改。
3. 多实体协作 :解密密钥分割给多个受托人,增加了系统的安全性。即使部分受托人被攻击,也不影响整个系统的安全性。

不过,Belenios 系统也存在一定局限性,如不具备抗胁迫性。在高风险选举中,选民可能受到胁迫而泄露投票信息。

不同电子投票系统对比总结

为了更清晰地了解 Belenios 系统与其他电子投票系统的差异,下面进行详细对比:
| 系统 | 投票隐私 | 个体可验证性 | 普遍可验证性 | 资格可验证性 | 抗胁迫性 | 复杂度 |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| CHVote 和 Neuchˆatel 协议 | 有 | 有 | 部分有 | 有 | 无 | 高 |
| Helios | 有 | 有 | 有 | 无 | 无 | 低 |
| sElect | 有 | 有 | 有 | 无 | 无 | 低 |
| Selene | 有 | 有 | 有 | 无 | 部分有 | 中 |
| Demos | 有 | 有 | 有 | 无 | 部分有 | 中 |
| Civitas | 有 | 有 | 有 | 有 | 有 | 高 |
| Belenios | 有 | 有 | 有 | 有 | 无 | 中 |

从表格可以看出,Belenios 系统在可验证性方面表现较好,但在抗胁迫性上存在不足。不同系统根据自身特点适用于不同场景,如低风险选举可选择简单的系统,高风险选举则需要更安全的系统。

未来展望

虽然目前电子投票系统在不断发展,但仍面临诸多挑战。未来可从以下方面改进:
1. 提高抗胁迫性 :研究新的密码学技术,使选民在受胁迫情况下仍能保证投票隐私。
2. 简化系统复杂度 :降低系统对专业知识的要求,提高易用性。
3. 增强安全性 :结合新兴技术,如量子加密,提高系统的安全性。

以下是未来改进方向的 mermaid 流程图:

graph LR;
    A[提高抗胁迫性] --> B[研究新密码学技术];
    C[简化系统复杂度] --> D[降低专业知识要求];
    E[增强安全性] --> F[结合量子加密等新兴技术];

综上所述,Belenios 系统在电子投票领域提供了一种相对安全和简单的解决方案,但仍有改进空间。随着技术的不断进步,电子投票系统将更加完善,为选举提供更可靠的保障。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值