安全协议的时间属性验证与电子投票系统Belenios
安全协议时间属性验证相关研究
理论与问题分析
在安全协议的研究中,一些理论(由于不存在超时情况)具有 $T’ \leq T$ 的形式,这意味着只需要推进全局时间 $T$,并且这种推进总是可行的。错误接受和错误拒绝问题可以形式化为可达性问题,由此可以推断出这些问题属于PSPACE复杂度类。具体来说,当事实大小有界时,针对内存有界的定时Dolev - Yao入侵者、平衡网络和距离界定协议理论的错误接受和错误拒绝问题属于PSPACE。
相关工作对比
- Meadows等人的工作 :Meadows及其合作者首次对距离界定协议进行了全面的形式化表示和分析,他们在协议推导逻辑(PDL)中对距离界定协议进行形式化,为实际改进、新见解以及其他研究人员(包括本文作者)提供了基础。
- Nigam等人的工作 :Nigam等人引入了一种定时协议语言,解决了定时入侵者模型的问题,表明每个诚实参与者配备一个DY入侵者就足够了,该形式系统在Maude中实现以实现自动化分析,这项工作建立在早期的定时MSR形式化基础上,并为本文提出了新的建模挑战。
- Jakubowska和Penczek的工作 :他们研究了存在DY入侵者时安全协议的定时方面,但涉及不同的验证问题,基于成功协议会话完成的预期时间间隔研究定时认证属性。与他们不同的是,本文考虑了更通用的协议理论,允许正确协议执行中存在循环,结合超时的使用,研究结果涵盖了正确会话执行时间可变的协议,因此他们的方法可能不适用于本文的协议理论。此外,本文的模型对时间的分级更精细,通过dur函数参数指定动作的持续时间,并研究了与验证相关的计算复杂度。
其他相关框架
还有许多其他用于验证系统时间属性的框架,例如:
|框架|特点|
| ---- | ---- |
|Basin等人和Cramers等人的工作|提出了一种用于表示和分析网络物理安全协议的形式化方法,并在Isabel/HOL中实现,对通信、位置和时间的物理属性进行建模,与本文方法类似,诚实参与者和入侵者都受到物理约束。|
|Cheval等人的工作|给出了与安全协议定时攻击相关的可判定性结果,基于将时间轨迹等价性简化为长度轨迹等价性,特别是应用于隐私属性的验证,但该方法是否适用于具有不同正确执行的协议理论还有待研究。|
未来研究方向
本文的验证假设指定了代理和入侵者的具体拓扑结构,未来可能通过将模型与SMT求解器相结合来考虑一般拓扑结构的验证。此外,为了更精确地形式化DB协议中涉及各种猜测策略的概率,打算研究如何将概率扩展到模型中,其中一种可能的方法是引入分支动作。
电子投票系统Belenios介绍
电子投票的背景与挑战
电子投票具有诸多优势,它便于计票,能够实现多问题选举或复杂计票功能(如批准投票或单一可转移投票),还具有灵活性,选举时间可长可短,选民可在任何地方投票,因此常被用作邮政投票的替代方式。然而,电子投票也面临着严重的争议,主要原因是现有系统不够安全,例如华盛顿特区的互联网投票系统曾遭受攻击,研究团队成功替换现有选票、修改代码并获取所有选民的登录名和密码,爱沙尼亚和澳大利亚的投票系统也存在重要安全问题。
现代电子投票系统的目标与问题
现代电子投票系统主要追求两个目标:投票隐私(无人知晓选民的投票内容)和可验证性(能够检查选票是否正确计票)。可验证性通常分为三个子属性:
- 个体可验证性:选民可以检查自己的投票是否被正确计票。
- 普遍可验证性:每个人都可以检查结果是否与公共公告板上的选票一致。
- 资格可验证性:选票来自合法选民。
但同时实现隐私和可验证性是很困难的。
现有电子投票系统分析
许多电子投票系统在文献中被提出,各有优缺点:
-
CHVote和Neuchˆatel协议
:保护选民免受受损设备的影响,选民使用受损计算机或智能手机投票后,可通过返回码检查投票是否正确记录,但这些协议依赖较重的基础设施,且Neuchˆatel协议的选民无法检查选举结果是否与收到的选票一致。
-
Helios
:是一个简单的协议,旨在低胁迫环境下实现隐私和端到端可验证性,选民可通过生成模拟选票并发送给第三方来审计投票设备,但Helios容易受到选票填充攻击,因为不诚实的公告板可能在无人察觉的情况下添加选票。
-
sElect
:选民可以通过选举结果公布后选票旁边显示的跟踪号码轻松检查自己的投票是否按预期计票,但存在选票买卖的问题。
-
Selene
:使用跟踪号码便于验证,同时通过加密机制提供无收据性,选民无法证明自己的投票对象。
-
Demos
:旨在实现可验证性和无收据性。
-
Civitas
:是唯一可证明实现可验证性和抗胁迫性的系统,选民可以生成虚假投票凭证,使相应选票最终被删除而胁迫者不会察觉。
-
其他系统
:有些系统追求永恒隐私(即使底层密码学被破解,投票是否仍保密)或问责性。
Belenios系统的特点与优势
Belenios系统在简单性和安全性之间取得了良好的平衡,已部署在在线平台上,在学术界、教育界和体育协会等领域的200多次选举中得到应用。它基于Helios构建,与Helios一样,选民可以检查自己的选票是否出现在公告板上,结果是否与公告板上的选票一致,同时保证投票保密性。此外,Belenios提供资格可验证性,任何人都可以检查选票是否来自合法选民,而Helios容易受到选票填充攻击。Belenios通过签名机制和额外凭证实现资格可验证性,是将通用构造应用于Helios的实例。但需要注意的是,Belenios和Helios一样不具有抗胁迫性,选民可能通过提供生成选票的随机数或出售投票材料来证明自己的投票对象,因此Belenios不适合用于高风险选举。
Belenios系统的详细描述
密码学工具
Belenios依赖于一些标准的密码学原语,包括哈希函数、加密、签名和零知识证明。
-
加密
:使用El Gamal加密对选票进行加密。生成私钥时,在 $Z_q$ 中随机选择 $x$,公钥为 $y = g^x$。对于编码为整数 $v$($v \in {0, \ldots, q - 1}$)的选票和公钥 $y$,加密过程为:在 $Z_q$ 中随机选择 $r$,计算 $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)$,用于直接从加密选票计算选票的加密总和。
-
哈希函数
:哈希函数在多个地方使用,如签名和零知识证明的内部操作。用 $h(m)$ 表示 $m$ 的哈希值,为避免哈希函数在不同上下文中的冲突,消息 $m$ 会添加表示上下文的标签,这些标签在后续为便于阅读省略,但对安全分析很重要。
-
签名
:每个选民使用Schnorr签名对加密选票进行签名以防止选票填充。私钥签名密钥 $sk$ 是 $Z_q$ 中的随机元素,验证密钥为 $vk = g^{sk}$。消息 $m$ 的签名计算过程如下:
1. 在 $Z_q$ 中随机选择 $w$。
2. 计算 $c = h(m | g^w)$ 和 $r = w - sk \cdot c \mod q$。
3. 返回 $(r, c)$。
验证算法 $verifsign$ 计算 $A = g^r vk^c$,并检查 $c = h(m | A)$。
下面是Belenios系统加密和签名过程的mermaid流程图:
graph TD;
A[开始] --> B[生成私钥x和公钥y];
B --> C[选择选票v并编码为整数];
C --> D[随机选择r];
D --> E[计算enc(v, y, r) = (g^r, y^r g^v)];
E --> F[生成私钥签名密钥sk和验证密钥vk];
F --> G[随机选择w];
G --> H[计算c = h(m | g^w)];
H --> I[计算r = w - sk * c mod q];
I --> J[返回签名(r, c)];
J --> K[结束];
Belenios系统的运行流程
Belenios系统从设置到计票和恢复的完整流程如下:
1.
设置阶段
- 确定参与选举的合法选民名单。
- 生成加密所需的密钥对,包括公钥和私钥。公钥用于选民加密选票,私钥用于后续解密计票。
- 可以选择将设置任务进行分配,例如将私钥拆分给多个实体保管,以提高安全性。
2.
投票阶段
- 选民获取公钥。
- 选民对自己的选票进行加密,使用El Gamal加密算法。
- 选民使用Schnorr签名对加密后的选票进行签名。
- 选民将签名后的加密选票提交到投票平台。
3.
计票阶段
- 投票平台收集所有选民的加密选票。
- 利用加密的同态性质,直接对加密选票进行计算,得到加密的选票总和。
- 持有私钥的实体(或多个实体合作)对加密的选票总和进行解密,得到最终的计票结果。
4.
恢复阶段
- 如果在计票过程中出现问题,例如部分私钥丢失或损坏,可以通过预先设置的恢复机制进行处理。
以下是Belenios系统运行流程的表格总结:
|阶段|操作内容|
| ---- | ---- |
|设置阶段|确定选民名单、生成密钥对、分配设置任务|
|投票阶段|选民获取公钥、加密选票、签名选票、提交选票|
|计票阶段|收集选票、计算加密选票总和、解密得到计票结果|
|恢复阶段|处理计票过程中的问题|
Belenios系统的安全选择与实际应用
在实际应用中,选举管理员需要做出一些安全选择:
-
解密密钥的管理
:可以将解密密钥集中由投票服务器保管,这样操作简单,但安全性相对较低;也可以将解密密钥拆分成多个份额,由不同的实体保管,提高安全性,但增加了管理的复杂性。
-
设置任务的分配
:可以将部分设置任务委托给投票平台,也可以由多个实体共同完成设置任务,以实现更安全的分布式设置。
Belenios系统在不同类型的选举中都有应用,例如学术界的会议选举、教育机构的学生组织选举、体育协会的会员选举等。在这些选举中,Belenios系统能够保证投票隐私和可验证性,同时根据不同的安全需求做出相应的安全选择。
总结
电子投票系统在现代社会具有重要的应用价值,但也面临着诸多安全挑战。Belenios系统在众多电子投票系统中脱颖而出,通过结合标准的密码学原语,在简单性和安全性之间取得了良好的平衡。它提供了投票隐私和可验证性,特别是资格可验证性,弥补了一些现有系统的不足。然而,Belenios系统也存在一定的局限性,如不具有抗胁迫性,不适合用于高风险选举。
未来,随着密码学技术的不断发展和安全需求的提高,电子投票系统需要不断改进和完善。可以进一步研究如何提高系统的抗胁迫性、增强隐私保护、优化计票效率等方面的问题。同时,结合新的技术手段,如区块链、人工智能等,为电子投票系统带来更多的创新和发展。
下面是Belenios系统安全选择的mermaid流程图:
graph TD;
A[开始] --> B[选择解密密钥管理方式];
B --> C{集中保管};
C -- 是 --> D[简单但安全性低];
C -- 否 --> E[拆分保管];
E --> F[安全但管理复杂];
B --> G[选择设置任务分配方式];
G --> H{委托给投票平台};
H -- 是 --> I[操作简便];
H -- 否 --> J[分布式设置];
J --> K[更安全];
D --> L[结束];
F --> L;
I --> L;
K --> L;
通过以上对Belenios系统的详细介绍,我们可以看到它在电子投票领域的重要作用和发展潜力。在实际应用中,需要根据具体的选举场景和安全需求,合理选择安全策略,以确保选举的公平、公正和安全。
超级会员免费看
10

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



