应用Pi演算对电子投票协议的分析
电子投票协议的安全性至关重要,涉及公平性、资格性和隐私性等多个关键属性。下面将详细探讨这些属性以及如何对其进行验证。
1. 收集器进程建模
收集器进程在电子投票协议中扮演着重要角色。以下是收集器进程的代码:
let
processC =
phase 1 .
in ( ch ,m3) .
ν
l . out ( ch , ( l ,m3) ) .
phase 2 .
in
( ch ,(= l , rand ) ) .
let
voteV=open ( checksign (m3, pka ) , rand )
in
out ( ch , voteV )
当收集器收到已承诺的投票时,会为该投票关联一个新的标签 l
,并通过公共通道发布投票和标签列表。随后,选民可以将承诺方案中作为密钥的随机数与标签一起发送回来。收集器接收与标签匹配的密钥,打开投票并发布。需要注意的是,在这个模型中,收集器会立即发布投票,而不等待所有选民都提交投票。
2. 电子投票协议的属性分析
2.1 公平性
公平性确保在投票开启阶段之前不会有早期结果泄露,从而影响投票。我们将公平性建模为一种保密性属性,即攻击者在开启阶段(阶段2开始之前)无法得知投票信息。
- 标准保密性 :ProVerif可以检查基于可达性的标准保密性。我们请求ProVerif检查代表投票的私有自由变量 v
是否不能被攻击者推导得出,ProVerif直接证明了这一结果。
- <