基于增强型OTP的电子投票方案*
2010-07-25燕飞飞孙彦飞黄宏升
燕飞飞,仲 红,孙彦飞,黄宏升
(1.安徽大学 计算智能与信号处理教育部重点实验室,安徽 合肥 230039 2.安徽大学 计算机科学与技术学院,安徽 合肥 230039)
利用计算机和网络技术实现对投票人的登记、认证、分发、收集、计票等一系列过程即为电子投票[1-3]。电子投票过程中使用计算机和网络为媒介,可以防止参与方恶意参选,同时又满足了投票结果的公开性、透明性、及时性和公正性。目前已经有很多研究人员提出了多种电子投票方案,但其中的认证机制和对重复投票问题的解决方案还不完善。
现有方案中多数采用一个注册中心进行身份认证,少数方案利用门限秘密共享协议共同认证。2007年,日本学者Krivoruchko提出抗强制注册方案[4],防止了注册机构泄露投票者身份、投票者与投票之间联系,但是该方案的认证阶段使用门限方案,对每一个合法身份的判定都必须通过多个注册机构,因此在大规模电子投票中对身份的认证效率低下。若设置单个注册中心则存在重复认证问题。2008年,西班牙学者Jordi Girona结合声音识别技术,提出了身份注册方案[5],可防止投票人重复认证。该方案基于投票人声音来限定身份的唯一性,但是当管理机构对投票人进行验证审查时,会泄露投票人真实的声音信息和通信地址,即私有信息被部分泄露。
本方案注册阶段,利用注册中心和认证中心共同完成对投票人的身份验证,防止了恶意方冒充认证、合法投票人重复投票;在验证阶段,利用增强型OTP认证中不同认证次序对应不同认证口令的特点,合法投票人不但能简单、有效地申诉,还防止公开验证阶段投票人的身份信息被泄露。
1 基础知识
1.1 参与方的名称和职能
投票人 Vi:i∈[1,N]。
计票中心T:负责计票和公布选举结果。
注册中心R:发放合法身份证书、验证Vi身份证书的合法性、向T发送投票信息组成的列表。
认证中心CA:向 Vi提供 SOTP认证服务;为正确认证的Vi提供向R发送投票信息的服务。
验证中心TA:接受Vi的申诉,并进行检验。
1.2 方案中涉及的符号定义
Bulletin Board(BB):电子公告板;Mix Net(MN):混合网;
bi:参与方 Vi的选票;Ci:由注册中心签发的合法身份证书;
SIGNVi(m):投票人 Vi对数据m进行数字签名[6];
PKS、PKR、PKT:分别为 CA、R、T 的公钥;SKS、SKR、SKT:分别为CA、R、T的私钥;
L0:R已经分发的 Ci列表;
L1:由 R加密的 EPKS(Ci)列表;
L2:合法 Vi投票信息列表(投票信息:EPKR(Ci)、EPKI(bi)和SIGNVi(EPKI(bi)));
L2′:是 L2经过 MN后得到的列表;
A→B:(m)表示参与方A向参与方B发送消息m。
HN(spp‖seed):对数据 spp和 seed进行 N次哈希运算。
1.3 增强型OTP身份认证
2008年,国内研究人员提出了基于一次性口令OTP[7](One-Time Password)的增强型认证系统SOTP[7](Strengthened OTP),在C/S模式下设置单个认证中心,实现客户端的身份认证。不但减少了认证系统中信道安全性假设,还防止了恶意者利用公开信道冒充认证服务器,截获认证口令仿冒认证,使SOTP可用于大规模电子投票中的身份认证。
此C/S模式中,客户端保存秘密口令 spp、seed和相应的认证次序,而服务器端保存客户端的ID、seed、客户端认证次序和HN(spp‖seed)的值。协议执行时,客户端与服务器端进行简单的相互通信,双方对秘密信息进行加/解密和H(spp‖seed)运算,比较已存信息与接收的秘密信息是否相同,判断出两端身份的合法性。不仅完成了相互认证,还修改了下次认证口令,提高了安全性。
1.4 身份注册机制
R通过安全性信道向合法Vi发放唯一的Ci,Vi在注册阶段向R提供其收到的Ci,R按照自己已经发放的证书列表进行证书检查,根据检查的结果来判断Vi身份的合法性。
2 具体的投票方案
该方案中Vi只有同时拥有合法Ci和正确认证口令时才能投票。利用剩余的秘密认证口令,在公开验证阶段向TA提出有效申诉,确保Vi的投票被正确计票。对图1的方案框图解释如下:
初始化阶段:
①R→Vi:Ci;//R经过MN混合后,通过安全信道为每个Vi核发唯一的匿名证书 Ci。
图1 方案框架图
②R:L1=EPKS(L0);R→CA:L1;CA:L0=DSKS(L1);
SOTP认证阶段:
③SOTP初始化:
④SOTP认证:
Vi:随机选择 S和对称加密密钥 K,保存 S′=S;
注册阶段:
Else丢弃Vi发送的所有信息。
计票阶段:
⑥注册结束时 R 利用 MN 使 L2转换为 L2′;R→T:L2′;
公开验证阶段:
⑧R:根据 BB公布的EPKR(Ci)检查是否有非法的注册信息;
⑨TA:利用Vi提供的剩余认证口令进行N-1次认证;
10TA通知Vi利用BB查看公开验证结果。
3 安全性分析
初始化阶段:R利用MN混合后,通过安全信道为每个Vi核发唯一的Ci,既保证了 Ci的传输安全,也完成了Ci的匿名分发,防止恶意方获取Ci与Vi之间的对应关系,进行恶意攻击;R用PKS对L0进行加密,实现了安全的SOTP初始化。
注册阶段:本方案中CA和R共同验证Vi的合法性。在恶意方无法获得Ci的情况下,无法通过SOTP认证,即使恶意方非法避开SOTP阶段也不能完成注册,因为R在⑤中检查EPKR(Ci)的合法性;由于SOTP的特点是不同认证次序对应不同的认证口令,即使恶意方拥有SOTP认证口令也不能完成注册;假设恶意方非法避开整个注册阶段,利用伪造Ci直接投票也会失效,因为在公开验证时R检查BB中EPKR(Ci)的合法性,会发现虚假的注册信息。
计票阶段:T利用⑥判断是否有重复认证和重复投票,同时公开EPKR(Ci)和SIGNVi(EPKT(bi))以 便 R 和 Vi验证计票阶段的合法性,增强了方案的健壮性。
4 性能比较
从通信的安全性的角度对比,参考文献[8]中使用了一次容易泄密的电话通信,但本方案利用安全信道和数据加密的方法实现了信息安全传输;本方案中利用SOTP机制实现了Vi对认证机构诚实性的判断过程,而参考文献[8]没有Vi对认证机构的验证过程;参考文献[8]增加了保存声音特征的步骤,即Vi与认证机构电话通信时Vi的声音特征,不但增加了通信代价、数据存储代价,而且声音特征的录入与普通数字相比,录入的工作量大、误差率高;从认证的准确性角度分析,参考文献[8]中认证机构对Vi身份的真实性检查、Vi认证信息的完整性检查,都是基于生物特性的比对,由于当前生物认证技术的限制,在Vi认证阶段仍会存在2%以上的错误率[8];从公开验证的角度比较,本方案公开验证数据都是秘密数据,即利用秘密挑战口令进行验证,不会泄露Vi的私有信息,而参考文献[8]身份检查时涉及了Vi的录音或者电话号码。
综上所述,本方案仅在认证机构中增加一个挑战中心,却比参考文献[8]多了以下特点:(1)避免恶意方通过监听Vi电话而造成私有信息泄露;(2)增加了投票方Vi对认证机构诚实性判定功能;(3)认证阶段验证准确率高于基于声音特征的准确率;(4)验证阶段对保护Vi的私有信息更加合理,验证过程更加简单、准确;(5)增加了具体的计票方案,完善了公开验证中的申诉方法。
本方案不但满足了一般电子投票的要求,还增加了防止重复认证、重复投票以及保密申诉的功能。方案也存在一些不足之处,如对投票人诚实性要求较高,不能防止Vi与恶意方合谋,这将是作者下一步的研究重点。
[1]FUJIOKA A, OKAMOTO T, OHTA K.A practical secret voting scheme for large scale elections[C].In Advancesin Cryptology(-AUSCRYPT9 2), LNCS 718, Berlin:S pringer-Verlag,1992:244-251.
[2]仲红,黄刘生,罗永龙.一个实用的电子评审方案[J].小型微型计算机系统,2007,43(1):178-181.
[3]ZHONG H, HUANG L S, XIONG Y.A weighted e-voting scheme with secret weights[J].Chinese Journal of Electron-ics, 2006,15(3):413-416.
[4]KRIVORUCHKO T.Robust coercion-resistant registra tion for remote e-voting[C].Proceedings of the IAVoSS Workshop on Trustworthy Elections(WOTE 2007),2007.
[5]JORDI G.Secure remote voter registration[DB/OL].2008.http://www.e-voting.cc/files/Session03_JordiPuiggali.
[6]赵泽茂.数字签名理论[M].北京:科学出版社,2007.
[7]张丽,赵洋,史丽敏.基于 OTP的增强型身份认证系统的研究与设计 [J].计算机工程与科学,2008,30(6):1007-130.
[8]HALLER N, METZ C, NESSER P.A one-time password system[M].RFC 2289,1995(2).