电子投票系统探讨

时间:2022-08-08 11:48:35

电子投票系统探讨

摘 要:随着我国网络技术的发展,以及民主制度的完善,电子投票系统将越来越被重视和运用。双重签名和数字信封技术室SET协议中的主要技术。根据其在SET协议中的应用,可将其作为解决电子投票系统中的信息安全问题。为此,基于该技术,探讨电子投票系统的实现。

关键词:电子投票;双重签名;数字信封

中图分类号:F49 文献标识码:A 文章编号:16723198(2013)11017002

1 引言

随着今年来我国网络技术的飞速发展,互联网所提供的各种便利服务也越来越为人们所接受与采用。而作为环保的一部分,无纸化办公也是当今社会所推崇的。作为民主社会中的主要行为——投票,几乎出现在我们生活的每一个角落。而传统投票方式中,大量采用纸质选票的方式,不仅纸张耗费严重,统计效率低,而且往往需要投票人亲临现场,浪费大量的人力物力。基于此现状,电子投票系统便应运而生。

2 电子投票系统的简要需求分析

作为电子投票系统除了应满足传统投票方式的主要功能外,还应保证统计速度快,投票客户端和统计中心分离,网络安全保障等需求。主要需求可总结为以下几点:(1)合法的选票必须保证全部计入票数;(2)非法用户不能截获或篡改选票;(3)合法用户的选票内容应保密;(4)每个用户只能投放一张选票;(5)在保证保密性的前提下,用户可以验证其选票是否被篡改;(6)流程应快捷简便。

在本系统中,主要参与实体有:投票人和投票中心。投票中心又可细分为:注册模块、认证模块、发票模块、统计模块和验证模块五个部分。

根据以上需求,本文将采用类似于安全电子交易协议(SET)中的双重签名和数字信封技术,来实现本系统。

3 双重签名的原理机制

双重签名主要运用的技术包括:散列(Hash)函数消息认证技术,公钥加密算法(RSA)加密技术。

3.1 散列(Hash)函数消息认证技术

Hash函数是对不定长的输入产生定长输出的一种特殊函数,可以表达为h=H(M),这里的M为消息,其长度不定,h被称为散列值(Hash值),其长度一定,一般为128位或160位。Hash函数的目的是为文件、消息或者其他的分组数据产生“指纹”,为防止第三方伪造Hash值或者通过Hash值计算出明文。常用的Hash函数有很多种,在SET协议中,双重签名主要使用的是安全散列算法(SHA-1),该算法主要是将按一定规则进行消息填充后的消息,以每512位进行分组,然后进行迭代Hash运算。

3.2 公钥加密算法(RSA)加密技术

公钥算法使用两个独立的密钥,每个用户M都有一对选定的密钥(公钥、私钥),公开的密钥可以像电话号码一样进行注册公布。公钥密码算法基于数学函数而不像对称密码体制那样基于代换和置换。

而在SET协议中,双重签名使用的是RSA算法。RSA算法的安全性基于大素数分解的困难性。RSA算法使用了乘方运算。

在加密时,明文M经过加密运算得到密文C:C=Me mod n,密文在经过解密得到明文M:Cd mod n=(Me mod n)d mod n=Med mod n=M。其中,e,d,n的确定方法如下:

(1)确定n:独立地选取两大素数p和q,计算n=p×q。

(2)确定e:计算n的欧拉函数值ψ(n)=(p-1)×(q-1),随机选择一整数e,使得1≤e

(3)确定d:计算e模ψ(n)的乘法逆元。

3.3 双重签名技术

(1)双重数字签名的目的作用。

双重签名的目的在于连接两个不同接收者消息。以SET协议为例,消费者想要发送订单信息(OI)到特约商店,且发送支付命令(PI)给银行。特约商店并不需要知道消费者的信用卡卡号,银行不需要知道消费者订单的详细信息。消费者需要将这两个消息分隔开,而受到额外的隐私保护。然而,在必要的时候,这两个消息必须要连接在一起,才可以解决可能的争议、质疑。这样消费者可以证明这个支付行为是根据他的订单来执行的,而不是其他的货品或服务。

(2)双重签名实现。

以SET协议为例,假设消费者发送两个消息给特约商户:签名过的OI及PI,而特约商店将PI的部分传递给银行。

消费者用SHA-1算法,取得PI的Hash值和OI的Hash值。接着将这两个Hash值连接在一起,并用消费者的私钥来加密,就产生了双重签名,如图1所示。

图1 双重签名产生过程这个过程可以用式子表示为DS=E[H( H(PI)||H(OI))],其中K是消费者私钥。现在假设特约商户拥有这个双重数字签名(DS)、OI和PI的消费者摘要(PIMD)。并且特约商户从消费者证书中得到消费者的公钥。特约商户就能做如下计算:H(PIMD||H(OI))和D[DS],其中K为消费者公钥,如果这两个结果相同,则特约商户就可以核准这个签名。同样地,如果银行拥有DS、PI和OI的消息摘要(OIMD),以及消费者的公钥,则银行可以计算:H(H(PI)||OIMD)和D[DS]。如果这两个数一样,则银行就核准这个签名。

综上:商店接收OI可以验证OI正确性,银行接收PI可以验证PI正确性,消费者连接OI和PI可以证明连接的正确性。

4 数字信封技术的原理机制

数字信封是将对称密钥通过非对称加密的结果分发对称密钥的方法。其主要运用到对称加密技术,公钥加密技术。

用户用对称密钥K1对发送的消息M进行加密,形成消息密文E(M),然后用接收方的公钥K2对对称密钥K1进行加密,形成密钥密文E(K1)。最后将消息密文和密钥密文连接,便形成数字信封Digital Envelope,发送给接收方。其过程如图2所示。

图2 数字信封生成过程接收方收到数字信封后,先用其私钥K3对数字信封解密,得到对称密钥K1,然后用K1对消息密文进行解密,便得到所需消息。其过程如图3所示。

图3 数字信封使用过程5 电子投票系统中双重签名和数字信封的应用

通过以上所述,电子投票系统中,双重签名可用于投票人发送选票和个人验证信息,而数字信封则使用于投票人将双重签名等信息发送给投票中心时使用。其主要流程为:(1)投票中心为其注册、认证、发票、统计、验证五个模块分别分配基于RSA的密钥对,并将公钥公开;(2)用户注册,将身份信息等提交给注册模块,注册模块给用户分配唯一的标识符Id,将用户信息保存后,计算Id的哈希值h后,将h发送给认证模块,并向其申请用户RSA密钥对;(3)认证模块产生密钥对后,将密钥对发给注册模块,并将h和产生的公钥存入数据库;(4)注册模块将Id和密钥对发给用户;(5)发票模块根据注册人数,生成相应数量选票,并对其选票编号进行签名;(6)投票人登录系统后,获得由投票中心发来的选票Vote;(7)投票人填好选票后,用SHA-1算法计算出选票的摘要V-MD,和身份信息Id的摘要I-MD,将两者连接后,再使用SHA-1算法,计算出选票身份摘要VI-MD;(8)使用投票人的私钥Kr-c对VI-MD进行加密后,得到双重签名DS;(9)投票人将双重签名DS和选票内容Vote以及身份信息摘要I-MD用对称密钥Ks加密得到消息密文,再使用投票中心统计部分的公钥Ku-v对Ks进行加密,得到密钥密文,将两密文连接得到数字信封DE;(10)将数字信封DE,双重签名DS,选票内容摘要V-MD,和投票人的Id发送给投票中心;(11)投票中心收到信息后,其中的V-MD,Id,和DS,传递给验证模块;(12)验证模块通过Id查找到用户公钥后,解密DS得到VI-MD,然后将Id通过SHA-1计算后得到的I-MD与V-MD连接,将结果与解密得到的VI-MD比较,若匹配,则验证成功,否则失败;(13)验证成功后,投票中心将DE,Id的哈希值h发送给统计模块;(14)统计模块用其私钥解密DE,得到对称密钥Ks,用Ks解密消息密文,得到DS,Vote和VI-MD;(15)统计模块申请用户公钥后,解密DS,得到VI-MD,将与之前得到的比对,如相同,则验证成功,否则失败,然后读取Vote内容;(16)统计模块公布结果和每张选票的编号和内容。

6 电子投票系统的安全性分析

在本套电子投票系统中,我们选择RSA作为公钥加密算法,由于RSA私有密钥存在唯一性,所以只有真正的投票中心模块才有与公钥匹配的私钥。除非私钥失窃,则不会出现冒充投票系统的情况,或是系统不相关模块取得别的模块的信息。其次,用户的公钥和私钥也是如此,所以,此算法保证了拒绝非法用户的使用。而在每次接受到用户的选票后,都会进行验证,则可通过判断是否进行过该Id的验证,来防止一票多投。而在用户验证是否为自己所投的选票过程中,可以查询自己的选票号和内容是否为自己所填,若有出入,则可根据自己的相关选票信息和公钥,进行重新计票。

除非选票中心内部的管理出现问题,各模块保密被破坏,则该系统在实际中可以认为是符合机密性、完整性、可用性、不可抵赖性的信息安全要求的。

7 结语

综上所述,双重签名和数字信封技术在电子投票系统的消息传递过程中,对于信息的不可抵赖性,以及防止信息传递双方自身进行非法行为,有着比一般数字签名算法更优越的前景。尤其对于消息发送方要将两个不同消息发给不同对象,却又需要保证两者的对应性而必须将消息连接的情况下,双重签名和数字信封不仅可以使接收方均可通过发送方公钥进行签名验证,而且均无法看到发送给另一方的消息,还可以防止其中一方修改某一信息进行欺诈。其可以根据不同的安全级别,采用不同的哈希函数和加密算法,可以灵活调整。所以,电子投票系统的前景非常明朗。

参考文献

[1]陈晓峰,王育民.基于匿名通讯信道的安全电子投票方案[J].电子学报,2003,31(3).

[2]鲁军,汪同庆,任莉.身份认证系统的设计与实现[J].网络安全技术与应用,2004,(2):2225.

[3]华晋,汪同庆,鲁军,倪水平,熊波.基于特征匹配的建筑平面图自动识别的研究与实现[J].计算机科学与实践,2004,2(2):8183.

[4]熊平,朱天清.信息安全原理及应用[M].北京:清华大学出版社,2012.

[5]张海鑫,程丽红,李顺东.网上阅卷系统中双重签名的研究[J].计算机应用,2009,(29).

[6]张君维.双重身份验证的数字签名系统的研究与实现[J].科技信息,2007,(23):301302.

[7]Brueeschneier.应用密码学[M].北京:机械工业出版社,2000.

上一篇:论做好中职学校班主任 下一篇:论集团财务管理体系建设