电子投票中投票者隐私保护策略的研究

2020-06-08 01:57孙毅冉丹
现代信息科技 2020年19期
关键词:隐私保护

孙毅 冉丹

摘  要:现有的电子投票系统虽然可以通过投票者的微信号、IP地址等来保证选票的唯一性,但也因此泄露了投票者的隐私。文章对电子投票中存在的隐私泄露问题进行分析,研究并提出了一种保护投票者隐私的算法。该算法使用MD5对投票者隐私进行保护,使用RSA公钥加密技术实现盲签名,可使在投票的所有环节都无法追踪投票者隐私信息。根据所提算法开发实现了一个匿名投票系统,实验验证了该匿名投票系统有效地保护了投票者隐私。

关键词:隐私保护;RSA公钥密码体制;盲签名;MD5

Abstract:Although the existing electronic voting system can guarantee the uniqueness of the vote through voters WeChat ID,IP address,etc.,but it leaks the voters privacy. The article analyzes the privacy leakage problem in electronic voting,studies and proposes an algorithm to protect the privacy of voters. The algorithm uses MD5 to protect the privacy of voters,and uses RSA public key encryption technology to achieve blind signatures,which can make it impossible to track votersprivate information in all links of voting. An anonymous voting system was developed and implemented based on the proposed algorithm,and the experiment verify that the anonymous voting system effectively protects the privacy of voters.

Keywords:privacy protection;RSA public key cryptosystem;blind signature;MD5

0  引  言

在传统的投票活动中,通常具有以下几个缺点:时间和距离的限制、选票制作和投票管理的成本、人力资源的消耗等。传统的选举在其发展过程中,我们发现其并不能保证选举的公正性,会因为人为失误的因素,導致最后的选举结果不可信,甚至导致选举失败[1]。互联网技术的发展与应用使得电子投票这种特殊的投票方式成为可能,网络的便捷使投票活动节省大量的成本。

然而,由于网络的开放性和选举活动本身对于公平性的要求,使得电子投票系统又不能简单的由选票的发送者和结果的统计者组成,应充分考虑投票者的隐私[2],而现有的电子投票系统大都不能很好地保证投票者的隐私安全[3]。为了在电子投票中能够充分保护投票者的隐私信息,在南京大学计算机软件新技术国家重点实验室的资助下,我单位(南京航空航天大学计算机科学与技术学院SVLAB实验室)成立了“电子投票中投票者隐私保护策略的研究”项目,对电子投票中存在的隐私泄露问题进行研究。首先,本文设计了一种保护投票者隐私的算法,该原创算法可使投票者隐私在所有投票环节都无法被追踪;此外,本文实现了所提算法,并开发了一个完整的匿名投票系统;最后,通过实验验证了该系统能有效地保护投票者的隐私。

1  理论知识

1.1  非对称加密体制和盲签名

非对称加密体制[4]基于数学难题构造出满足公钥加/解密的单向陷门函数[5],其须满足的条件包括[6]:第一,通信双方各持一对密钥,公钥用于加密,私钥用于解密;第二,仅持公钥解密密文难,而持对应的私钥解密密文易;第三,从公钥推算其对应的私钥很难。非对称加密体制的一个应用为签名[7],用于认证私钥持有者的身份,即用私钥加密,用公钥解密。

盲签名[8]指在签名者不知道所签署消息具体内容的情况下所采取的一种特殊的签名,其过程为:首先让消息拥有者将消息盲化;然后让签名者对盲化的消息进行签名;最后消息持有者将盲签名结果除去盲化因子,从而得到签名者对原消息的签名。一个好的盲签名应具备的性质包括[9,10]:只有签名者本人才能生成有效的盲签名(不可伪造性);签名者无法否认自己曾对消息的签名(不可抵赖性);签名者不可能得到被签名的消息的具体内容(盲性);签名者无法确定自己何时签署的消息(不可跟踪性)。

本文利用RSA非对称加密算法对投票者隐私实现盲签名。

1.2  MD5消息摘要

信息-摘要算法5[11](Message-Digest Algorithm 5,MD5)可将数据运算为另一固定长度值,可确保信息传输完整一致。MD5的属性包括:任意长度的数据算出的MD5值均为固定长度(压缩性);从原数据计算出MD5值很容易(容易计算性);对原数据进行任何改动,所得到的MD5值都有很大区别(抗修改性);已知原数据和其MD5值,想找到一个MD5值相同的数据(即伪造数据)非常困难(强抗碰撞性)。

2  投票者隐私保护算法

为了实现投票者隐私在所有投票环节都无法被追踪,我们设计算法的思想是:在电子投票系统的注册阶段便利用密码技术对投票者的身份ID实现“隐身”。其注册阶段的信息交互如图1所示。

投票者提供自己合法的身份ID到投票终端,投票终端将ID的MD5值发送到服务器,使得服务器始终无法知晓投票者的身份ID,利用MD5的抗修改性和强抗碰撞性保证投票者隐私的同时,也可保证投票的唯一性。此外,我们设计了以下三个公式:

利用这三个公式和RSA非对称加密实现对投票号整个盲签名过程,其中,vn为服务器为投票者生成的唯一的投票号,k为盲化因子,e为RSA公钥,d为与e对应的私钥,三个公式分别用于实现盲化、盲签名和脱盲,x为盲化结果,y为盲签名结果,m为脱盲结果,我们称m为授权码。本文设计的具体注册过程见算法1所示,算法的输入为投票者的身份ID,输出为用于投票者登录系统并参与投票的投票号vn和授权码m。注意,投票者注册时仅需提供自己的身份ID,服务器在整个过程中始终只能知晓ID的MD5值,即dig,即我们利用MD5的不可伪造性来确保投票者身份的合法性,利用其不可逆性和盲性来保护用户隐私和匿名性。

算法1.投票者隐私保护算法:

输入:投票者身份ID

输出:投票号vn和授权码m

1:begin

2:投票者从投票终端输入身份信息ID

3:投票终端对ID使用MD5技术加密得到摘要dig,并将dig发送到服务器

4:if (数据库中已存在该摘要dig)

5:  then不允许重复注册

6:else

7:  服务器生成唯一的投票号vn,并将vn发送到投票终端

8:  投票者选定盲化因子k,并利用k和服务器公钥e对vn做盲化处理得到盲化结果x,再将x发送到服务器

9:  服务器对x进行盲签名得到盲签名结果y,并将y发送给投票终端

10: 投票者对y做脱盲处理,得到脱盲结果m

11: 投票终端发送确认信号到服务器

12: 服务器收到确认信号后将dig存入数据库

13:end if

14:end

投票号vn和授权码m的关系为m=vnd,投票者完成注册并获取投票号vn和授权码m之后,投票者使用投票号和授权码m登录系统,系统使用服务器私钥d对投票号进行加密,如果加密结果与投票者提供的授权码相同,则认为该投票者为合法的,允许进入系统。需要注意的是,因可以使用服务器公钥e对授权码进行解密,然后与投票号进行对比,而服务器公钥为公开的,所以任何人均可验证投票号和授权码是否合法,故投票者必须秘密保存自己的投票号和授权码,以防止授权码丢失并落入不法分子之手。

因管理员知晓服务器私钥d,且投票号vn和授权码m之间存在关系,在服务器对x做盲签名得到盲签名结果y后,为防止不法分子利用k直接对y进行脱盲操作,导致授权码泄露,投票者还必须秘密保存好自己选取的盲化因子k。

3  匿名投票系统

我们在第2节以密码学原理为基础,设计了一个保护投票者隐私的算法,本节根据该算法设计了一个完整、合理的保护投票者隐私的匿名投票系统,该匿名投票系统应满足以下要求:

(1)匿名性:所有的选票都是保密的,任何人都无法从选票信息追踪其投票者隐私,这是本文研究的目标和宗旨。

(2)公正性:选票验证方应接受任何合法投票者的投票,且所有有效选票都应该被正确统计。

(3)唯一性:合法的投票者能且只能投一次。

(4)可验证性:任何投票者都可以检查自己的选票是否被正确统计,投票结果可进行公正性验证。

(5)合法性:只有合法的选举人才能参与投票。

(6)灵活性:对投票的人数和场地不应有任何限制,各投票者的投票时间均相互独立。

4  实验与分析

根据第2节提出的方案和第3节提出的要求,我们在Windows环境下开发实现了这个匿名投票系统。为了验证该匿名投票系统是否满足第3节提出的要求,我们对系统的各个模块进行了测试。

表1为对该匿名投票系统进行测试的展示,第一列为测试序号;第二列为测试的输入或操作;第三列为系统给出的提示或响应。序号1~3为测试匿名投票系统的登录模块对不同输入的响应,测试结果证明只有合法且匹配的投票号vn和授权码m才能登录该匿名投票系统,满足了其合法性要求。序号4~6为测试系统的注册模块对不同输入的响应,测试结果证明只有未注册过的、且合法的身份ID才能注册成功,满足了公正性要求。

当投票者试图用注册过的身份ID再次注册时系统的响应如图2所示,这也证明该系统保证了投票活动的公正性。序号7、8为测试系统对重复投票的响应,测试结果证明不能对已经参与过的活动重复投票,满足了唯一性要求;投票者试图重复投票时系统的响应,这也证明该系统保证了投票活动的唯一性如图3所示。

从整个实际的测试过程中还可以证明该匿名投票系统满足第4节提出的其他所有要求。

对于本文的目标和宗旨,即投票者的隐私保护问题,除了从实验过程体现,从第3节算法1中也可以分析得知:在投票者秘密保存好自己的投票号vn和授权码m以及所选取的盲化因子k的前提下,该匿名投票系统的所有过程、所有人均无法追踪投票者的身份ID,即投票者的隱私,故该匿名投票系统满足了匿名性要求。

5  结  论

本文通过对现有电子投票中存在的隐私泄露问题进行研究,提出了一种投票者隐私保护算法,并根据该算法设计并实现了一个完整、合理的匿名投票系统。通过实验验证了该系统不仅能够实现对投票者隐私进行保护,还实现了第3节中提出的另外5个要求。在未来的工作中,我们会继续研究更广泛的用户隐私保护策略(不局限于电子投票)。

参考文献:

[1] 冯泽涛,张勇.一个有效的电子选举方案 [J].计算机与信息技术,2007(5):24-26+29.

[2] JAKOBSSON M,JUELS A. An optimally robust hybrid mix network [C]//Proceedings of the twentieth annual ACM symposium on Principles of distributed computing.ACM,2001:284-292.

[3] CHAUM D. Untraceable electronic mail,return addresses,and digital pseudonyms [J]. Communications of the Acm,1981,24(2):84-88.

[4] 刘艳华.非对称密钥算法在区块链专利中的应用分析 [J].中国科技信息,2020(21):18-20.

[5] 卢鹏菲,詹雄泉,洪景新.基于椭圆曲线的有序多重数字签名方案 [J].厦门大学学报(自然科学版),2005,44(3):341-343.

[6] 刘景美,傅晓彤,程相国,等.电子投票的安全性及应用前景 [J].计算机安全,2004(12):24-26.

[7] CHAUM D. Blind Signatures for Untraceable Payments [J]. Advances in Cryptology:Proceedings of Crypto 82,1983:199-203.

[8] 何莉莉.密码技术在安全电子投票中的应用 [D].成都:西南交通大学,2005.

[9] MANEY K. Megamedia Shakeout. The Inside Story of the Leaders and the Losers in the Exploding Communications Industry [M].America:John Wiley and Sons Ltd,1995.

[10] YUN S H,LEE S J. An electronic voting scheme based on undeniable blind signature scheme [C]//IEEE 37th Annual 2003 International Carnahan Conference onSecurity Technology.IEEE,2003:163-167.

[11] RIVEST R L. The MD5 Message-Digest Algorithm [M]. RFC Editor,1992.

作者簡介:孙毅(1994—),男,苗族,贵州遵义人,硕士研究生,研究方向:网络空间安全、信息安全、隐私保护;冉丹(1995—),男,土家族,重庆酉阳人,硕士研究生,研究方向:软件工程、网络空间安全。

猜你喜欢
隐私保护
移动商务消费行为分析研究
适用于社交网络的隐私保护兴趣度匹配方案
可搜索加密在云计算移动学习中的应用
基于层次和节点功率控制的源位置隐私保护策略研究
关联规则隐藏算法综述
大数据环境下用户信息隐私泄露成因分析和保护对策
大数据安全与隐私保护的必要性及措施
大数据时代中美保护个人隐私的对比研究
社交网络中的隐私关注及隐私保护研究综述
大数据时代的隐私保护关键技术研究