首页> 中国专利> 基于智能移动通讯设备的投票系统及其方法

基于智能移动通讯设备的投票系统及其方法

摘要

本发明提供一种基于智能移动通讯设备的投票系统,包括1个以上的智能移动通讯设备、1个以上的服务器、客户端模块和服务端模块,客户端模块安装于智能移动通讯设备中,实现投票人信息暂存、提交身份认证请求、投票查询显示及投票提交;服务端模块安装于服务器中,包括投票人管理模块、证书管理模块和票务管理模块,实现投票人信息保存、投票人注册认证及身份认证、投票证书生成、投票事务生成、发布及投票内容统计、发布,客户端模块与服务端模块通过移动通讯网络进行数据通讯;本发明还提供了基于智能移动通讯设备的投票方法;采用本发明,能够同时满足安全、方便和快捷地投票。

著录项

  • 公开/公告号CN102722931A

    专利类型发明专利

  • 公开/公告日2012-10-10

    原文格式PDF

  • 申请/专利权人 陈利浩;

    申请/专利号CN201210209301.6

  • 发明设计人 陈利浩;

    申请日2012-06-21

  • 分类号G07C13/00(20060101);

  • 代理机构44262 珠海智专专利商标代理有限公司;

  • 代理人李谨;张中

  • 地址 519015 广东省珠海市情侣南路455号华发九洲22-2702

  • 入库时间 2023-12-18 06:52:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-09-17

    授权

    授权

  • 2012-12-05

    实质审查的生效 IPC(主分类):G07C13/00 申请日:20120621

    实质审查的生效

  • 2012-10-10

    公开

    公开

说明书

技术领域

本发明涉及一种投票系统,具体的说,涉及一种基于智能移动通讯设备的投票系统,本发明还提供了一种基于智能移动通讯设备的投票方法。

背景技术

本发明中的智能移动通讯设备主要是指以下三种类型:一种是指智能手机,第二种是指至少具有通话和短信功能的手机加上具有互联网功能的平板电脑,第三种是指具有互联网功能和电话功能的平板电脑。本发明中的移动通讯网络包括移动互联网络,简称移动互联网,是移动通信和互联网的结合,其经历了1G、2G、2.5G、3G,即将进入4G时代,制式包括GSM、CDMA、GPRS、CDMA2000、WCDMA、TD-SCDMA、TD-LTE、LTE及Wi-Fi技术,其中,Wi-Fi俗称无线宽带,是一种能帮助用户访问电子邮件、Web和流式媒体的短程无线传输技术。

“投票”指的是从部分目标人群中收集信息。一般而言,正式、安全、公信的投票方法需具备以下重要特性:秘密、完整、真实、唯一、合法和可验证。“秘密”是指除投票人和法定人员(例如计票员)外,选票内容不被他人知晓;“完整”是指所有有效选票都能被正确计入;“真实”是指投票内容均是投票人的真实意志体现,任何人无法篡改;“唯一”是指每个投票人所投出的选票只有一张有效,不能一票多投;“合法”是指只有合法的投票人才能参与投票;“可验证”是指投票人能验证其选票是否被计票。

无论是记名投票还是无记名投票,通常都是采用在现场投票的方式,通过纸件、票务管理机构提供的表决器或专用投票机等终端设备完成投票,现场投票的方式虽然能够满足投票唯一性、合法性等的要求,但却受到地域和时间的限制,投票人必须悉数到达票务管理机构指定的地点,且在指定的时间内进行投票,而且,票务管理机构需要设立相应的工作人员对投票工作进行管理,既不便于投票的进行,又影响投票及计票的工作效率,无论是投票人还是工作人员,都根本不能进行远程操作。

为解决上述问题,出现了基于互联网络进行电子投票的方法,该方法虽然克服了纸件投票方式的地域限制,然而却由于不能确保投票的唯一性、秘密性和真实性而导致实施困难。如:为满足无记名电子投票的安全性,信息技术领域相继提出了盲签名、环签名策略、同态加密、混合网、零知识证明协议、安全多方计算、秘密分享与门限密码、FOO协议及其改进协议。其中FOO协议较为通用,FOO协议是一种适合大规模投票的电子投票协议,它是一个基于匿名信道的电子投票模型,采用了比特承诺和盲签名等密码技术,较好地解决了投票人的匿名性要求,然而FOO协议不允许投票人弃权,还存在选票碰撞的情况,即两个合法投票人提交的选票可能会完全一样,导致计票机构误判为重复投票。FOO协议还严格要求投票人必须按时提交加密密钥,否则,投票内容会提前泄露或在计票时无法解密。上述策略或协议均不能很好的保证无记名电子投票的安全性,对于无记名电子投票而言,其主要测重于投票内容的完整性和真实性,即投票人投出的选票内容是其本人的真实意愿表示,且选票内容没有被他人篡改,目前尚无保证安全性的互联网电子投票方法。对于记名投票而言,由于投票人的个人信息呈现在所投票面上,对于唯一性、真实性和安全性的综合要求更高,采用互联网络进行电子投票的方法往往不能很好地满足上述综合要求。安全性是投票系统的重要特性之一,以保障投票的公平、公正,对政府、企事业单位内部选举或重要人物选举时的投票行为,尤其需要保障投票过程及投票内容的安全性,现有的投票方法均不能很好地满足投票安全性的要求,而且,无论采用无记名投票还是记名投票,基于互联网络进行电子投票的方式必须使用台式电脑或手提电脑,登录票务管理机构的投票系统方能进行,不适用于无固定上班场所的人群,不能满足现代社会快捷和便利投票的需求。

发明内容

本发明的目的是提供一种能够既能满足投票重要特性要求,又能迅速且方便地实现电子投票的基于智能移动通讯设备的投票系统。

为实现上述目的,本发明的基于智能移动通讯设备的投票系统包括1个以上的智能移动通讯设备、1个以上的服务器、客户端模块和服务端模块,客户端模块安装于智能移动通讯设备中,用于实现投票人信息暂存、提交身份认证请求、投票查询显示及投票提交,服务端模块安装于服务器中,包括投票人管理模块、证书管理模块和票务管理模块,服务端模块用于实现投票人信息保存、投票人注册认证及身份认证、投票证书生成、投票证书验证、投票事务的生成、发布及投票内容的统计和发布,客户端模块与服务端模块通过移动通讯网络进行数据通讯。

由上方案可见,本发明利用客户端模块实现身份认证请求和投票查询显示,并暂存投票人的信息,如投票证书等信息;服务端模块用于永久保存投票人信息、投票事务和投票内容,并对投票人进行注册认证及身份认证,生成和发布投票事务、统计和发布投票内容,服务端模块还能够根据投票人的信息,对通过注册认证和身份认证的投票人生成投票证书并发送给客户端模块,投票人可使用该投票证书对投票事务进行数字签名后完成投票操作,如此,投票人只要利用智能移动通讯设备,即智能手机或带有通讯功能的平板电脑,随时随地进行投票操作,由于本发明中所涉及的移动通讯网络技术及其相关设备现都较为普及和成熟,如iphone/ipad产品、各类android手机或平板设备、及国内各个电信服务商的3G移动网络服务等均已广泛普及,如此,突破了现有技术中通过纸件投票或互联网电子投票的地域性限制;更重要的是,本发明在投票人进行投票操作之前,需先将投票人信息登录注册以验证其真实性和合法性,然后再根据投票人信息生成投票证书,即一个投票人只有一个投票证书,如此,确保了投票的唯一性、投票内容的真实性及投票过程的秘密性,真正确保了投票过程的安全性;本发明充分利用了移动互联网中的各项技术,并利用现有成熟的加密技术和数字签名技术,采用本发明,可同时满足安全、快捷、方便的条件下,实现投票操作。

本发明的另一目的是提供一种基于智能移动通讯设备的投票方法,该投票方法是在智能移动通讯设备安装客户端模块,在服务器安装服务端模块,服务端模块包括投票人管理模块、证书管理模块和票务管理模块,客户端模块与服务端模块通过移动通讯网络进行数据通讯;具体投票方法如下:步骤1:服务端模块生成并发布投票事务;步骤2:投票人通过客户端模块提供投票人信息给服务端模块,服务端模块根据投票人信息,通过投票人管理模块对投票人信息进行保存、注册认证及身份认证;步骤3:服务端模块将通过注册认证及身份认证的投票人信息生成投票证书并传送给客户端模块;步骤4:投票人通过客户端模块使用投票证书进行数字签名后,将针对投票事务的投票内容提交给服务端模块;服务端模块将有效的投票内容统计和发布。

由上方案可见,本发明利用智能移动通讯设备作为投票终端,投票人在进行投票之前,通过服务器上安装的投票人管理模块进行注册认证和身份认证,如此,可对投票人的身份进行真实性和合法性验证;通过验证的投票人通过客户端模块向服务器提交生成投票证书请求,利用投票证书来对某项投票事务进行数字签名以实现投票操作;如此,在投票过程中,相当于进行了多次安全认证:投票人登录时,进行身份注册认证和身份认证,以确保一个投票人只生成一个投票证书,在投票过程中,再对投票证书进行合法验证;如此,能够保障投票操作中的安全性、保密性和投票内容的唯一性;投票人只要利用智能移动通讯设备,即智能手机、至少具有通话和短信功能的手机加上具有互联网功能的平板电脑或具有互联网功能和电话功能的平板电脑,随时随地方便、快捷地执行投票操作,相对于现有采用纸件、投票器或互联网络投票的方式,本发明能在确保投票内容和投票过程安全性的前提下、更为方便、快捷,因此,兼具安全、方便、快捷的特点,大大提高了投票的效率。

附图说明

图1是本发明之投票系统第一实施例的网络连接示意图。

图2是本发明之投票系统第一实施例的系统功能结构示意图。

图3是本发明之投票系统第二实施例的系统功能结构示意图。

图4是本发明之投票方法第一实施例生成无记名投票证书的流程图。

图5是本发明之投票方法第一实施例的证书混淆效果示意图。

图6是本发明之投票方法第二实施例生成记名投票证书的流程图。

本发明使用的现有技术说明:

数字签名——又称公钥或电子签章或电子签名,常以下列形式之一存在,如在数据信息之中的形式,作为数据信息附件的形式,作为逻辑上与数据信息有关联的数据形式,等等。专用于辨别签署人的身份,并表明签署人对数据信息中所包含信息的认可,等效于书面上的亲笔签名,区别只是使用了公钥加密领域的技术手段,特别是鉴别数字信息的方法。

GUID——Globally Unique Identifier全球唯一标识符的缩写, 也称作 UUID,即Universally Unique Identifier的缩写,GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于标识产品的唯一性,GUID主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。在 Windows平台上,GUID广泛应用于微软的产品中,用于标识诸如注册表项、类及接口标识、数据库、系统目录等对象。

MD5——Message-Digest Algorithm 5信息-摘要算法5的缩写,一种用于确保信息传输完整一致的算法,是计算机广泛使用的杂凑算法之一,又称摘要算法或哈希算法。

SHA——Secure Hash Algorithm的缩写,是一种数据加密算法,该算法经过多年的发展和改进已日益完善,现已成为公认最安全的散列算法之一,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段通常更小的密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列值可以说是对明文的一种“指纹”或是“摘要”,所以对散列值的数字签名可以视为对明文的数字签名。

下面结合附图和实施例对本发明进一步说明。

具体实施方式

投票系统第一实施例

参见图1、图2,本例是一个基于iphone(苹果智能手机)的投票系统,包括多个iphone、一台服务器、客户端模块和服务端模块,每个iphone中都安装有客户端模块,用于实现投票人信息暂存、提交身份认证请求、投票查询显示及投票提交;服务端模块安装于服务器中,包括投票人管理模块、证书管理模块和票务管理模块,用于实现投票人信息保存、投票人注册认证及身份认证、投票证书生成、投票证书验证、投票事务的生成和发布、投票内容的统计和发布,客户端模块与服务端模块通过移动通讯网络或移动网络,如4G、3G、GPRS、Wi-Fi、GSM或CDMA等进行数据通讯。为说明问题清楚起见,以下仅以1个iphone为例加以说明。

其中,投票人管理模块包括身份验证模块、绑定模块和信息保存模块,身份验证模块用于实现投票人注册认证:即验证投票人信息的正确性并将结果发送给绑定模块,还用于对投票人进行身份认证,绑定模块用于将通过正确性验证的投票人与该投票人使用的iphone号码进行一对一绑定。信息保存模块用于保存投票人的信息。投票人信息的结构化数据包括:用户ID、登录名称、登录密码、投票人姓名、证件类型、证件号码、绑定手机号。用户ID是投票人在投票系统内部的唯一标志,由投票系统自动生成。登录名称是投票人登录投票系统的名称,不允许重复,由投票人手工输入。登录密码是登录投票系统时的用户密码。投票人姓名是投票人的中文或英文姓名。证件类型是指投票人的身份证件类型,如居民身份证、护照、军官证等。证件号码是指投票人的证件号码,如身份证号码。绑定手机号是指投票人使用的手机号码,在手机确认时使用;本例中即是指iphone号码,用于在iphone确认时使用。上述结构化数据是投票人登录本例的投票系统时必须提供的投票人信息,即为必填项,从而实现投票人的注册,对于其他信息,如投票人的联系方式、出生日期、籍贯、身份认证的审核人员及审核流程等信息,作为可选项提供给投票人选填。对于非常正式和较为重要的投票选举而言,需要对投票人的信息进行严格审查,此时,可在投票系统内预先设置审核流程,投票过程中由1名或2名以上审查人员依次对投票人的信息进行审核。

身份验证模块用于认证投票人的投票资格,主要是判断该投票人提交的投票人信息是否正确,然后将认证结果发送给绑定模块,绑定模块将通过正确性验证的投票人信息与其提供的iphone号码一对一绑定,接着,身份验证模块还继续认证该投票人的身份,即是验证该投票人信息是否合法且有效,可以通过第三方,如公安机关授权的查询入口进行,也可以通过预设的身份合法性条件来进行。对于投票人的身份认证方式,可以根据实际需要选择不同的认证方式,如现场柜台认证——即投票者持本人有效身份证件到票务机构中心,由相关管理人员注册登记,或采用远程网络实名认证等方式,本例中采用远程网络实名认证的方式。

票务管理模块包括无记名投票事务生成模块、无记名投票模块、无记名计票模块和无记名验票模块。无记名投票事务生成模块用于生成无记名投票事务并使用数字签名发布、以及验证投票人的投票资格。无记名投票模块用于使用投票证书对投票人的投票内容进行数字签名,并对投票内容进行加密提交。无记名计票模块用于解密投票内容,并验证解密后投票内容及投票过程的合法性,对合法投票过程中的投票内容进行统计并通过数字签名发布。无记名验票模块用于根据无记名投票事务和无记名投票证书来验证投票内容的有效性,其中,与该无记名投票事务相关的结构化数据有:投票事务ID、标题、投票时间、投票条件、计票方式、投票表决算法、计票电子证书、投票内容概述、投票内容详述、投票事项列表。投票事务ID是投票系统内部对投票事务的唯一标识,由投票系统自动生成。标题是以不超过100个汉字的内容对投票内容进行的简要说明,如“摄影协会2012年第一次补选常务委员”。投票时间是指投票有效的截止日期和时间,如“2012年2月1日至2012年2月3日,8:00-18:00”。投票条件是指投票人的资格条件,本例中以正则表达式表示,如“投票人.摄影协会会员=是”。计票方式是指激活计票功能的方式,支持两种方式:实时计票和非实时计票,实时计票是指投票人投票后,立即进行计票;非实时计票是指投票有效期结束后运行计票功能。投票表决算法是指投票表决结果及算法,本例以正则表达式表示,如“最多选择事项=2,表决通过率>=50% 且 最高得票数的前2名”。计票电子证书是指计票环节使用的无记名投票证书,投票环节使用此无记名投票证书的公钥对投票内容进行加密。投票内容概述是以简明扼要的文字在规定的字数内概括总述本次投票事务,在多行显示投票事务视图中使用,可以包括有图片信息。投票内容详述是对本次投票事务的依据、目标、投票流程等进行的详细说明,没有字数限制,在单屏显示投票事务视图中使用,可以包括有图片信息。投票事项列表是指本次投票表决的一项或多项事项,即投票人投票选择的内容,如候选人名单等。上述是无记名投票事务的核心信息项,还可根据实际需要,增加可选项,如是否需要计票员,是否需要公证员等,一个无记名投票事务中包含一个由一项或多项投票事项组成的“投票事项列表”,这些投票事项构成了投票人进行投票选择的内容。“投票事项”的核心结构化数据包括:投票事项ID、标题、概述信息和详细信息。投票事项ID是投票系统内部用于标识投票事项的唯一标志,由该投票系统自动生成。标题是以不超过100个汉字的内容对投票事项的简要说明,如将候选人的名字作为标题。概述信息是以图文并茂的形式对投票事项进行的概括说明,如把候选人的头像照片、核心工作业绩等作为概述信息。详细信息是以图文并茂的形式对投票事项进行的详细说明。上述数据均由票务管理机构通过票务管理模块来完成填写,当完成上述数据的填写后,无记名投票事务生成模块则根据“投票事务”的结构化数据生成二进制文档,票务管理机构对二进制文档进行电子签名后发布,此时,投票人可以通过iphone查阅上述“投票事务”,并在投票过程中选择一个或多个“投票事项”作为投票对象。对于票务管理机构、计票人、验票人等投票过程中涉及的相关人员而言,已通过相关的认证机构进行资格及合法性认证,因此,已具有自己的数字证书以进行数字签名。无记名投票事务生成模块还用于验证投票人是否具备针对该无记名投票事务的投票资格。

证书管理模块包括PKI/CA模块。证书管理模块用于使用PKI/CA模块安全框架生成无记名投票证书、以及验证所述无记名投票证书的合法性。PKI/CA模块是指已获取政府相关主管部门许可、具备法律认证资格的服务商提供的认证系统,其中,PKI,为Public Key Infrastructure的缩写,指的是公钥基础设施;CA,为Certificate Authority的缩写,指的是认证中心。PKI/CA的工作原理就是通过发放和维护数字证书来建立一套信任网络,在同一信任网络中的用户通过申请到的数字证书来完成身份认证和安全处理。进行无记名投票前,投票人在iphone上自动生成不对称加密的密钥对,即公钥和私钥,投票人通过客户端模块把公钥作为证书请求通过3G网络发送到服务器,服务器上的证书管理模块接收此证书请求,根据在投票人管理模块中所绑定的iphone号码,通过语音或短信的方式向投票人发送一个有效的第一随机验证码,证书管理模块验证该第一随机验证码无误后,签发一张仅供投票人在有效期内投票使用的无记名投票证书,投票人使用该第一随机验证码以匿名的方式下载本人申请的无记名投票证书。在上述过程中,签发投票者的无记名投票证书时,票务管理机构和PKI/CA模块均使用盲签名策略,下载无记名投票证书时也是以匿名方式下载,所以除投票者本人外,其他任何人都无法推理出投票人与无记名投票证书之间的对应关系。

具体投票过程如下:

在投票有效期内,投票人在iphone上选择无记名投票事务,在iphone屏幕上显示出当前有效的无记名投票事务列表供投票人选择,投票人选择一个无记名投票事务后,iphone屏幕显示此无记名投票事务中包括的投票事项,投票人选择相关的投票事项后,客户端模块根据该无记名投票事务中的投票表决算法所规定的条件,检查当前选择动作是否符合要求,不符合则提示投票人重新选择,如规定只允许选择1个投票事项,而投票人选择了2个或超过2个投票事项时,则提示投票人重新选择,投票人通过iphone的键盘或屏幕选择完毕后,输入与该投票人相对应的密钥,便完成本次投票操作。由于是无记名投票方式,所以投票人不需要实名登录到本投票系统。投票人在iphone上确认投票,投票有效期结束后,无记名计票模块则以自动激活的方式进入计票阶段,也可以采用手动激活的方式进行计票阶段,此时,首先解密该投票人的投票内容,然后对投票内容中的无记名投票证书的合法性、投票内容的完整性、投票过程的合法性进行校验,最后,对投票结果进行统计和发布。无论何种计票方式,在对无记名的投票内容进行统计之前,票务管理模块中的无记名计票模块必须执行如下操作:将该投票事务下所有无记名的投票内容的统计结果清空,即实现初始化操作以便计票的进行。

投票人可以利用保存在iphone中的无记名投票证书,验证自己的投票是否包括在投票结果中,以及投票内容是否被他人非法篡改,待计票工作结束并最终确认无误后,投票人还可以手工删除iphone中的无记名投票证书。上述验票功能是本实施例的较佳实现方式,本例若省略验票功能,仍然可以实现本发明的目的。

投票系统第二实施例

参见图3,本例与投票系统第一实施例的网络连接图相同,不同之处在于,本例是专用于记名投票方式。基于iphone的投票系统包括多个iphone、一个服务器、客户端模块和服务端模块,每个iphone中都安装客户端模块,用于实现投票人信息暂存、提交身份认证请求、投票查询显示及投票提交,服务端模块安装于服务器中,包括投票人管理模块、证书管理模块和票务管理模块,用于实现投票人信息保存、投票人注册认证及身份认证、投票证书生成、投票证书验证、投票事务的生成、发布、及投票内容的统计和发布,客户端模块与服务端模块通过移动互联网络或移动网络,如4G、3G、GPRS、Wi-Fi、GSM或CDMA等进行数据通讯。为说明问题清楚起见,以下仅以1个iphone为例加以说明。

其中,投票人管理模块包括身份验证模块、绑定模块和信息保存模块,身份验证模块用于实现投票人注册认证:即验证投票人信息的正确性并将结果发送给绑定模块,还用于对投票人的身份进行认证。绑定模块用于将通过正确性验证的投票人与该投票人使用的iphone号码进行一对一绑定。信息保存模块用于保存投票人信息。该投票人管理模块的具体数据结构与实现与上述投票系统第一实施例相同,此处不再赘述。

票务管理模块包括记名投票事务生成模块、记名投票模块、记名计票模块和记名验票模块。记名投票事务生成模块用于生成记名投票事务并通过数字签名后发布,以及用于验证投票人的投票资格。记名投票模块用于使用记名投票证书对投票内容进行数字签名并提交。记名计票模块用于验证投票内容的完整性和所述投票证书的合法性,对具备投票资格投票人的完整且合法的投票内容进行统计发布。记名验票模块用于根据记名投票事务、记名投票证书和投票人信息验证投票内容的有效性。其中,投票事务的结构化数据和投票事项的结构化数据与上述投票系统第一实施例相类似,不同之处在于,本例中的投票事务是记名的。

证书管理模块包括PKI/CA模块。记名证书管理模块用于使用PKI/CA模块的安全框架来生成与投票人信息一一对应的记名投票证书、以及验证记名投票证书的合法性。投票人在iphone上登录到本例之投票系统,点击生成记名投票证书,投票人的iphone上则自动生成证书请求,通过3G网络或Wi-Fi网络把证书请求发送到服务器,证书管理模块根据投票人绑定的iphone号码,通过语音或短信的方式发送一个有效的第二随机验证码给该投票人,投票人把此第二随机验证码提交到服务器后,服务器对当前投票人的身份、证书请求内容和第二随机验证码均核查无误后,把投票人信息提交到PKI/CA模块,由PKI/CA模块生成标准格式的记名投票证书,完成后,iphone上的客户端模块会自动下载该记名投票证书,并把此记名投票证书与当前投票人信息进行绑定,在本投票系统中,一个投票人信息同一时刻只能绑定一张有效的记名投票证书,如果当前投票人信息已经绑定一张有效的记名投票证书,则禁止重复绑定。

投票过程如下:

投票人在iphone中登录到本投票系统,手工选择一个投票事务,选择相关的投票表决事项后,使用标准的数字签名技术,使用iphone上的记名投票证书对投票内容(即选票)进行数字签名,通过3G网络或Wi-Fi网络提交此投票内容(选票)至服务器;投票人在提交选票前,在iphone上点击“获取验证码”按钮,记名投票模块则根据投票人绑定的iphone号码,通过语音或短信的方式发送一个有效的第三随机验证码给投票人,投票人将把此第三随机验证码提交到记名投票模块,记名投票模块自动验证选票内容、投票人身份、第三随机验证码的正确无误及投票人具备投票资格后,保存此选票到记名投票列表中以进行下一步的计票操作。在记名电子投票中,计票动作分为实时计票和非实时计票两种类型,实时计票是指投票人投票后立即计算当前投票事务的投票统计结果,并立即对外公布投票结果,非实时计票是指投票有效期结束后,计算当前投票事务的投票统计结果并对外公布。记名计票模块在计票操作前,需要验证投票内容的完整性、记名投票证书的合法性及投票人的投票资格,只有三者均满足的情况下,即:投票内容完整、记名投票证书合法且投票人具备投票资格,才能将该记名的投票内容统计并发布,否则,不予统计和发布。无论何种计票方式,在对记名的投票内容进行统计之前,票务管理模块中的记名计票模块必须执行如下操作:将该投票事务下所有记名的投票内容的统计结果清空,即实现初始化操作以便计票的进行。

投票人可以利用保存在iphone中的记名投票证书,验证自己的投票是否包括在投票结果中、以及投票内容是否被他人非法篡改。上述验票功能是本实施例的较佳实现方式,本例若省略验票功能,仍然可以实现本发明的目的。

投票方法第一实施例

基于iphone的无记名投票方法,该投票方法是在所有的iphone中逐一安装客户端模块,并在服务器中安装服务端模块,服务端模块包括投票人管理模块、证书管理模块和票务管理模块,客户端模块与服务端模块通过4G网络或3G网络或Wi-Fi网络或GSM网络或CDMA网络进行数据通讯,具体投票方法如下:步骤1a:服务端模块生成并发布投票事务;步骤 2a:投票人通过客户端模块提供投票人信息给服务端模块,服务端模块根据投票人信息,通过投票人管理模块对投票人信息进行保存、注册认证及身份认证;步骤3a:服务端模块将通过注册认证及身份认证的投票人信息生成无记名投票证书并传送给客户端模块;步骤4a:投票人通过客户端模块使用该无记名投票证书进行数字签名后,将针对投票事务的无记名的投票内容提交给服务端模块,服务端模块将有效的无记名的投票内容统计和发布。

其中:

步骤1a中生成并发布投票事务是通过票务管理模块中的无记名投票事务生成模块实现的,票务管理模块中的无记名投票事务生成模块用于生成无记名投票事务并签名发布,还用于验证投票人的投票资格。

步骤2a中对投票人信息进行保存、注册认证及身份认证是通过投票人管理模块实现的,投票人管理模块包括身份验证模块、绑定模块和信息保存模块;投票人信息保存的具体过程是:通过信息保存模块保存投票人信息;注册认证的具体过程是:投票人向服务端模块提交投票人信息后,身份验证模块验证投票人信息的正确性并将验证结果发送给绑定模块,当通过正确性验证时,绑定模块将投票人信息与其使用的iphone号码进行一对一绑定,否则,不进行绑定;身份认证的具体过程是:当投票人通过正确性验证且已绑定iphone号码时,身份验证模块认证投票人身份的有效性和合法性,否则,不进行认证。更进一步地,对于非常正式和较为重要的投票选举,需要对投票人信息进行严格审查,此时,可根据投票系统预先设置的审核流程,在投票过程中由预设的1名或2名以上审查人员依次对投票人信息进行审核。

本例中的投票事务是无记名投票事务,投票证书是无记名投票证书,其中,步骤3a中生成无记名投票证书是通过证书管理模块实现的,证书管理模块包括PKI/CA模块,生成无记名投票证书的过程参见图4,其具体过程如下:

证书请求步骤:投票人通过客户端模块根据当前参与的“投票事务”列表中,针对一个或多个无记名“投票事务”来进行下述操作,本例是选择一个无记名投票事务来生成一不对称加密的密钥对并加密保存,该密钥对即是一个私钥和一个公钥,然后将公钥加密后作为无记名投票证书的请求发送给证书管理模块。生成密钥对的方法可采用本领域常用的密钥生成方法,如:生成RSA随机密钥对的方法;上述密钥对保存在投票密钥文件中,该投票密钥文件是指存储在iphone闪存卡中并采用特定加密方法加密的存储文件,投票密钥文件可采用高强度对称加密方法,如AES、3DES等来进行加密,投票密钥文件的名称可以采用:固定字符串前缀+投票事务ID来组成。客户端模块生成证书标志关键字保存到投票密钥文件,如:可使用GUID算法生成的随机码字符串,该随机码字符串可作为本次证书请求的“证书标志关键字”保存到投票密钥文件中,再使用MD5/SHA算法,生成“证书标志关键字数字摘要”,将“证书标志关键字数字摘要”和公钥组合序列化为二进制内容,使用PKI/CA模块所公布的公共证书中的公钥,加密上述“二进制内容”,生成“证书请求密文”;使用MD5或SHA算法获取上述“二进制内容”的数字摘要,作为“证书请求数字摘要”。将上述“证书请求密文”和“证书请求数字摘要”进行组合,序列化为二进制内容,使用BASE64/16进制编码为ASCII字符,形成“证书请求包”。

获取验证步骤:证书管理模块接收无记名投票证书请求,生成第一随机验证码,然后将第一随机验证码通过投票人管理模块中获取的绑定iphone号码发送给投票人,投票人再将接收的第一随机验证码发送回证书管理模块;第一随机验证码是由服务端模块随机生成特定长度的、由数字和字母组成的随机码字符串,第一随机验证码可以通过语音或短信两种方式通知投票人,语音方式是指通过拨打电话,通过电话语音的方式将上述提示信息播放给投票人,短信方式是指以短信的方式发送到投票人的iphone上。本步骤是根据投票人选择的无记名投票事务的具体内容和第一随机验证码来生成提示信息,调用第三方电信运营服务商提供的接口发送到投票人的iphone上,提示信息的内容可以利用一定的模板生成,如:尊敬的张三,您好!您本次对于‘摄影协会2012年度第1次常委补选投票’的证书请求的验证码是“AB134LD”。

验证请求步骤:证书管理模块验证投票人发送的第一随机验证码与缓存中的第一随机验证码是否一致,通过票务管理模块中的无记名投票事务生成模块来验证投票人是否符合无记名投票事务中的投票资格,以及验证投票人是否请求过无记名投票证书,当同时满足:第一验证码一致、符合投票资格、未请求过无记名投票证书时,证书管理模块允许无记名投票证书请求,向PKI/CA模块发出签发指令,进入生成请求步骤,否则,拒绝无记名投票证书请求,结束所述生成无记名投票证书的过程。对于特别重要或关键的投票事务,还可以增加人工确认的验证环节,通过人工电话回访的方式再次验证投票人的合法身份,是否具备该人工验证环节,增加上述过程的投票方法也可实现利用本发明安全、快捷、方便进行投票的发明目的。

生成请求步骤:将证书名称、证书用途、证书有效期、请求签名和无记名投票证书请求进行序列化,以生成无记名投票证书的请求数据包并保存,然后将无记名投票证书请求数据包通过移动互联网络,如3G网络或Wi-Fi网络发送到PKI/CA模块。在上述证书请求步骤中,投票人的证书请求中仅包含投票人的公钥信息,所以需要生成证书名称、证书用途和证书有效期等内容要素,由于本例中生成的是无记名投票证书,因此需要对无记名投票证书的用途、有效期等信息进行严格控制。为防止投票人对同一投票事务重复申请无记名投票证书,同时也用于证书申请过程的审计审查,在该步骤中必须记录投票人对投票事务的无记名投票证书请求时间、投票人的用户ID、投票事务ID、手机号码及手机验证码,本例中是指iphone号码及iphone验证码。请求要素的生成规则举例如下:证书名称是固定字符串,如“无记名投票证书”。证书用途是根据投票事务ID和投票事务标题生成,如“10001_摄影协会2012年第1次常委会委员补选_投票专用”,如果证书适用于多个投票事务,则以列表的方式进行枚举。证书有效期以对应投票事务的投票时间作为证书的有效期,如果证书适用于多个投票事务,则以多个投票事务的投票时间的最早时间和最晚时间作为证书的有效期,如“2012.2.1 8:00至2012.2.3 18:00”。证书请求签名是将上述证书名称、证书用途、证书有效期、投票人提交的证书请求数字摘要信息数据进行序列化,使用证书管理模块的数字证书进行数字签名,生成证书请求签名。将上述证书名称、证书用途、证书有效期、证书请求签名、投票人提交的证书请求密文信息数据进行序列化,从而生成完整的无记名投票证书请求数据包。

较佳地,为了防止他人根据证书请求的发送时间和最终无记名投票证书签发时间之间的先后顺序推导出无记名投票证书和投票人之间的关系,上述生成请求步骤所生成的无记名投票证书请求数据包并不立即发送到PKI/CA模块,而是先缓存到磁盘文件中,待达到一定的参数阀值,参数阙值可根据实际情况设置,取值为大于1的正整数,如:缓存的无记名投票证书请求数据包的数量达到100个后,以随机顺序将上述无记名投票证书请求数据包发送到PKI/CA模块,以消除证书请求顺序与证书签发顺序的对应关系,一般来说,证书请求顺序与证书签发顺序是一致的,即符合“先进先出”原则,上述过程称为证书混淆步骤,其执行效果参见图5,图5给出了证书混淆步骤的效果示意,左侧的4个证书请求数据包经证书混淆步骤后,以另外一种随机顺序输出。特殊情况下无法达到指定的无记名证书请求数据包参数阙值时,可以采用特殊策略,如投票过程将要结束时,采用等待超时的策略,等待若干分钟后再提交给PKI/CA模块,等待时长也可根据实际情况进行设置,其取值同样为大于1的正整数;采用证书混淆步骤,能更好地保证投票的保密性,无论是否采用证书混淆步骤,均可实现本发明的目的。

证书签发步骤: PKI/CA模块使用私钥解密无记名投票证书请求数据包,然后验证解密后的无记名投票证书请求数据包是否完整和合法,若完整且合法,PKI/CA模块则生成无记名投票证书并保存,否则不生成无记名投票证书。PKI/CA模块接收到无记名投票证书请求数据包后,使用私钥解密无记名投票证书请求数据包中的证书请求密文,得到投票人提交的证书标志关键字数字摘要和投票人公钥,根据上述解密数据,使用标准的数字摘要算法得到证书请求数字摘要。然后,PKI/CA模块使用标准的电子签名验证算法,根据票务管理机构提交的证书请求签名,验证无记名证书请求数据包是否完整,即:验证证书名称、证书用途、证书有效期和证书请求数字摘要的完整性,并验证上述相关内容是否被非法篡改。验证无记名证书请求数据包中合法性是:验证是否为指定的票务管理机构签发的无记名投票证书,并验证是否是本投票系统的PKI/CA模块所签发的无记名投票证书,还验证该无记名投票证书是否在有效期内。执行上述步骤验证通过后,调用标准的无记名投票证书签发方法,生成一张无记名投票证书,同时计算出此无记名投票证书的数字摘要,作为此证书的无记名证书唯一标识,并从已生成证书列表中查找是否存在相同的无记名证书唯一标识,如果存在,说明不同投票人生成了相同的公钥(即存在相同投票人无记名投票证书,该情况出现概率极低),则生成一随机字符串添加到证书名称中,重新再生成一张新的无记名投票证书,再重复上述判断,直到生成一张从未使用过的无记名投票证书,把上述生成的无记名投票证书,保存到已生成证书列表中,此列表包括无记名证书唯一标识、无记名证书内容、无记名证书请求内容和证书生成时间。为了让投票人下载自己的无记名投票证书,把上述生成的无记名投票证书用该证书的公钥加密生成密文,保存到无记名证书下载列表中,无记名证书下载列表包括:证书标志关键字数字摘要、证书密文和是否下载标志。

证书下载步骤:投票人通过客户端模块定时查询证书签发步骤是否完成,若完成,客户端模块自动下载无记名投票证书,否则,不进行下载。该证书下载步骤采用的是无记名方式下载,因此,投票人不需要实名登录到投票系统。下载证书的具体实现步骤如下:首先进行定时检查,投票人iphone上的客户端模块会自动启动后台服务,定时把证书标志关键字发送到服务器,服务端模块使用MD5或SHA算法获取证书标志关键字数字摘要,根据此信息在无记名证书下载列表中检查是否存在无记名投票证书,如已存在,则通过iphone屏幕提示或iphone声音或iphone震动等方式或上述方式的组合来提示投票人,证书标志关键字仅供投票人知晓,其他人员无法知晓。定时检查后则下载并安装证书,客户端模块自动下载此无记名投票证书,在投票人手工输入加密口令后,从对应的投票密钥文件中读取私钥,使用私钥解密此无记名投票证书,如果解密成功,把解密得到的无记名投票证书保存到上述投票密钥文件中,并调用服务端模块,把无记名投票证书下载列表对应记录的是否下载标记修改为“是”。如果发现存在多张无记名投票证书,说明多个投票人生成了相同的证书标志关键字,出现重复的概率约是2的128次方分之一,此时则依次使用私钥进行解密,能成功解密的无记名投票证书则是本投票人的无记名投票证书;反之,若上述解密操作失败,说明不是本投票人的无记名投票证书,则在iphone后台服务中继续定时检查。

本方法例中,无记名投票事务的投票内容是无记名的,投票内容统计是对无记名的投票内容进行统计;步骤4a中,投票人通过客户端模块使用无记名投票证书进行数字签名后,将针对无记名投票事务的无记名的投票内容提交给服务端模块,服务端模块将有效的无记名的投票内容进行统计和发布是通过票务管理模块实现的,票务管理模块包括投票事务生成模块、无记名投票模块、无记名计票模块和无记名验票模块,具体过程如下:

提交步骤:针对投票事务生成模块产生的无记名投票事务,投票人使用无记名投票证书进行数字签名,将无记名的投票内容加密后发送给无记名投票模块;投票人在iphone上确认投票后,客户端模块把上述选择的投票事务文档,即票务管理机构签发的具有数字签名的投票事务文档,以及选择的投票事项ID组合序列化为投票内容二进制文档;客户端模块根据投票事务ID找到对应的投票密钥文件,由投票人手工输入加密口令,使用投票密钥文件中的无记名投票证书对上述投票内容二进制文档进行数字签名,生成投票内容签名文档,接着使用投票事务中的计票证书的公钥,加密投票内容签名文档,生成投票内容签名文档密文,再使用投票人的无记名投票证书对投票内容签名文档密文、投票事务的组合序列化内容进行第二次数字签名,生成投票内容密文签名文档并发送给无记名投票模块。 

验证步骤:无记名投票模块接收无记名的投票内容,验证无记名投票事务是否在有效期内,通过PKI/CA模块来验证无记名投票证书是否合法,并验证该无记名投票证书与无记名投票事务是否匹配,以及验证数据是否完整,在同时满足在有效期、合法、匹配且数据完整的情况下,无记名投票模块保存无记名的投票内容并进入计票步骤,否则,不保存并退出对无记名的投票内容的统计和发布;无记名投票模块在该验证步骤自动验证:当前无记名投票事务是否在有效的投票期间内、当前无记名投票证书是否由本PKI/CA模块签发(即是否合法)、签名数据是否被非法篡改(即数据是否完整)、根据证书名称验证当前无记名投票证书是否可以用于当前无记名投票事务(即无记名投票证书是否与无记名投票事务匹配);对投票内容的合法性验证通过后,无记名投票模块则保存该无记名的投票内容至投票内容列表。投票内容列表包括:投票事务ID、无记名投票证书数字摘要、投票内容密文和投票内容明文,投票内容密文是投票人提交的投票内容密文签名文档,投票内容明文是计票阶段解密得到的投票内容签名文档。在保存投票内容时,如果检查到投票内容列表已存在相同的无记名投票证书数字摘要,说明投票人已经投过票,则把此记录删除,把本次的投票内容增加到投票内容列表的无记名投票证书数字摘要和投票内容密文两个信息项中。 

计票步骤:无记名计票模块使用私钥解密无记名的投票内容,通过PKI/CA模块验证无记名投票证书是否合法且与无记名投票事务匹配,验证无记名的投票内容是否完整,验证投票过程是否合法,在同时满足:无记名投票证书合法且匹配、无记名的投票内容完整和投票过程合法的前提下,将无记名的投票内容统计并发布;否则,不统计不发布。为确保投票的保密性,无记名投票均采用非实时计票方式,即投票结束有效期结束后执行计票操作。计票操作是遍历投票内容列表,采用如下方法验证投票内容的合法性:首先使用计票电子证书对应的私钥,解密投票内容密文,得到明文数据,保存到投票内容列表的投票内容明文,再使用标准算法,分别验证投票内容密文和投票内容明文中无记名投票证书的合法性、签名内容的完整性、投票事务文档签名内容的完整性以及投票事务文档证书的合法性,验证投票内容密文和投票内容明文中的无记名投票证书和投票事务文档是否完全一致,验证无记名投票证书的MD5/SHA数字摘要与无记名投票证书数字摘要是否一致,根据投票事务的投票表决算法,验证当前投票内容中的选择事项的正确性,如验证每张投票选择的投票事项数量是否在规定数量之内。验证投票过程合法性的方法为:验证投票内容列表的数量是否小于等于无记名投票证书下载列表中是否下载=是的数量,验证无记名投票证书下载列表数量是否等于已生成证书列表的数量,验证已生成证书列表数量是否等于证书请求列表的数量,验证证书请求列表中的用户ID在投票人身份列表是否存在?证书请求列表中的iphone号码与投票人身份列表中的iphone号码是否相同?根据投票事务的投票人条件验证投票人对于当前投票事务是否具有投票资格?对于一个投票事务,证书请求列表的iphone号码是否唯一?即一个iphone号码只能对应一个投票人。遍历证书请求列表,检查证书无记名投票证书请求内容中,使用标准签名算法,验证签名内容的完整性、签名证书的合法性以及是否是票务中心所使用的证书?无记名投票证书请求内容中的公钥数字摘要与无记名证书内容中的公钥数字摘要是否一致?执行上述验证操作,完成对投票内容及投票过程的合法性验证后,无记名计票模块才对合法有效的投票进行统计,根据投票事务中的投票表决算法,统计投票人数量、投票总数量、有效投票数,每个投票事项的投票数、投票入选的投票事项,将上述统计结果与投票事务文档使用计票人数字证书进行数字签名对外公布。否则,不予统计和发布。可选地,如需要公证人公证,则公证人必须使用自己的数字证书对上述统计结果进行数字签名。

验票操作是由无记名验票模块实现,具体过程为:

请求步骤:投票人针对一个无记名投票事务向无记名验票模块提交验票请求;投票人在iphone上选择一个投票事务,客户端模块把该无记名投票事务的投票事务ID发送到投票系统的无记名验票模块。

查找步骤:无记名验票模块根据无记名投票事务和无记名投票证书查找是否存在对应无记名的投票内容,如果查找到,则进入验证步骤,否则,提示未查找到并退出所述验票操作;服务端模块收到上述信息,根据无记名投票事务ID和当前用户ID来查找投票内容列表所对应的有效投票内容,如果没有查找到,说明计票结果没有包括此投票人的投票信息,如果查找到相关投票记录,进入验证步骤。 

验证步骤:验证无记名的投票内容是否完整,并验证投票人的公钥与无记名投票证书的公钥是否一致,当无记名的投票内容完整且公钥一致时,返回验票成功提示,否则返回验票不一致的结果。验证投票内容明文的完整性和无记名投票证书中的公钥是否与待验证的公钥是否一致,如果投票内容完整且公钥一致,验证通过,表示则当前投票人的投票内容包括在计票结果中、且投票内容没有被非法篡改。优选地,在对投票内容和计票结果验证确认无误后,投票人可手工删除保存在自己iphone上的投票密钥文件,防止此密钥文件日后不慎泄露引起不必要的负面影响,删除密钥文件后,投票人也失去了验证自己投票内容的功能。

 投票方法第二实施例

基于iphone的记名投票方法,该记名投票方法是在iphone中安装客户端模块,在服务器中安装服务端模块,服务端模块包括投票人管理模块、证书管理模块和票务管理模块,客户端模块与服务端模块通过4G网络或3G网络或Wi-Fi网络或GSM网络或CDMA网络进行数据通讯,投票方法为:步骤1b:服务端模块生成并发布投票事务;步骤2b:投票人通过客户端模块提供投票人信息给服务端模块,服务端模块根据投票人信息,通过投票人管理模块对投票人信息进行保存、注册认证及身份认证;步骤3b:服务端模块将通过投票注册认证及身份认证的投票人信息生成与投票人信息一一对应的投票证书并传送给客户端模块;步骤4b:投票人通过客户端模块使用投票证书进行数字签名后,将针对投票事务的投票内容提交给服务端模块,服务端模块将有效的投票内容统计和发布。

其中:

步骤1b中生成并发布投票事务是通过票务管理模块中的记名投票事务生成模块实现的;记名投票事务生成模块用于生成记名投票事务并通过数字签名后发布,还用于验证投票人的投票资格。

步骤2b中对投票人信息进行保存、注册认证及身份认证是通过投票人管理模块实现的,投票人管理模块包括身份验证模块、绑定模块和信息保存模块;投票人信息保存的具体过程是:通过信息保存模块保存投票人信息;注册认证的具体过程是:投票人向服务端模块提交投票人信息后,身份验证模块验证投票人信息的正确性并将验证结果发送给绑定模块,当通过正确性认证时,绑定模块将投票人信息与其使用的iphone号码进行一对一绑定,否则,不进行绑定;身份认证的具体过程是:当投票人通过正确性验证且已绑定iphone号码时,身份验证模块认证投票人的身份,否则,不进行认证。投票人信息保存、注册认证及身份认证的方法与投票方法第一实施例相同,此处不再赘述。

本例中的投票事务是记名投票事务,投票证书是与投票人信息一一对应的记名投票证书,在本例中,步骤1b和所述步骤2b的执行顺序是倒序执行,当然,步骤1b和步骤2b也可以顺序执行或同时执行,即对于记名投票方法而言,步骤1b和步骤2b可以不分先后顺序;上述步骤3b中生成记名投票证书是通过证书管理模块实现的,证书管理模块包括PKI/CA模块,生成记名投票证书的过程参见图6,具体过程如下:

绑定检查步骤:检查投票人是否已绑定使用一有效的记名投票证书,如果已绑定,结束生成记名投票证书步骤,如果未绑定,则进入生成请求步骤;该步骤是为了检查当前投票人是否已绑定一张有效的记名投票证书,如果已绑定,则禁止重复生成。采用本例的记名投票方法中,一个投票人同一时刻只能绑定一张有效的记名投票证书,如果当前投票人因记名投票证书丢失或怀疑第二随机验证码泄露时,需要向PKI/CA模块注销当前记名投票证书,再重新生成一张新的记名投票证书。

生成证书请求步骤:根据投票人信息生成记名投票证书请求包并加密发送给证书管理模块;投票人在iphone上使用客户端模块调用标准算法生成标准格式的记名投票证书请求包,其中证书名称以当前投票人的姓名和用户ID等信息组成,如“OU=张三,OU=10001”;把上述记名投票证书请求包及对应的私钥保存到投票密钥文件中,投票密钥文件的加密口令由投票人手工输入,其中,投票密钥文件是指存储在iphone闪存卡、使用特定的加密算法加密的存储文件。

验证获取验证步骤:证书管理模块接收加密的记名投票证书请求包生成第二随机验证码,然后将第二随机验证码通过投票人管理模块中所获取的绑定iphone号码发送,投票人将接收的第二随机验证码发送回证书管理模块;为实现该步骤,投票人可在iphone上点击“获取验证码”按钮,服务端模块则通过当前投票人绑定的iphone号码,通过语音或短信方式把证书管理模块所生成的第二随机验证码发送给投票人,第二随机验证码是由服务端模块随机生成特定长度的、由数字和字母组成的随机码字符串,投票人收到该第二随机验证码后,将其手工填写到生成证书请求窗口指定的信息项。

验证请求步骤:证书管理模块验证投票人发送的第二随机验证码与缓存的第二随机验证码是否一致,验证投票人是否请求过记名投票证书,验证记名投票证书请求包中的信息是否与投票人注册的信息一致,以及验证记名投票证书请求包的完整性,当同时满足:第二随机验证码一致、未请求过记名投票证书、信息一致及记名投票证书请求包完整时,证书管理模块允许记名投票证书请求,向PKI/CA模块发出签发指令并进入签发证书步骤,否则,只要上述验证过程中的任意一项不符合,均拒绝记名投票证书请求。

签发证书步骤: PKI/CA模块根据记名投票证书请求包的内容生成记名投票证书并保存;证书管理模块调用PKI/CA模块的API,根据记名投票证书请求包的内容,生成标准格式的记名投票证书并保存到投票人个人证书列表。

下载证书步骤:投票人通过客户端模块定时查询证书签发步骤是否完成,若完成,客户端模块自动下载无记名投票证书,否则,不进行下载。投票人通过iphone上的客户端模块自动启动后台服务,定时调用服务端模块检测是否已生成相应的记名投票证书,如果投票人个人证书列表已存在,则自动下载到iphone上,并提示投票人输入加密口令以将该记名投票证书保存到投票密钥文件中。

本例中,记名投票事务的投票内容是记名的,因此,投票内容统计是对记名的投票内容进行统计,对于记名投票方法,可以采用两种不同的计票激活策略,一种是实时计票方式,指投票人提交投票后,记名计票模块自动根据投票内容签名文档中的投票事项ID来统计投票事项的选择票数,该方式不需要对记名的投票内容进行加密处理;另一种是非实时计票方式,指在投票有效期结束后,记名计票模块自动根据投票内容签名文档中的投票事项ID来统计投票事项的选择票数,该方式需要对记名的投票内容进行加密处理。无论采用实时计票还是非实时计票的方式,在计票前,必须验证投票内容签名文档的完整性和证书的合法性、以及投票人是否重复投票。步骤4b中,投票人通过客户端模块使用记名投票证书进行数字签名后,将针对记名投票事务的记名的投票内容提交给服务端模块,服务端模块对记名的投票内容进行统计和发布,上述过程均是通过票务管理模块实现的,票务管理模块包括记名投票事务生成模块、记名投票模块、记名计票模块和记名验票模块。具体过程如下:

投票验证步骤:投票人向记名投票模块提交获取验证码请求,记名投票模块生成第三随机验证码,并将第三随机验证码发送给投票人绑定的iphone号码,第三随机验证码是由服务端模块随机生成特定长度的、由数字和字母组成的随机码字符串。

投票提交步骤:投票人将第三随机验证码和记名的投票内容提交给记名投票模块。

内容验证步骤:记名投票模块验证记名投票事务是否在有效期间、验证投票人发送的第三随机验证码与服务器中缓存的第三随机验证码是否一致、通过PKI/CA模块验证记名投票证书是否合法、验证该记名投票证书与投票人是否匹配、以及通过记名投票事务生成模块来验证投票人的投票资格,当同时满足:记名投票事务在有效期内、第三随机验证码一致、记名的投票内容完整、记名投票证书合法、与投票人匹配且投票人具备投票资格的情况下,保存记名的投票内容并进入统计内容步骤,否则,不保存并退出对记名的投票内容的统计和发布;在保存记名的投票内容时,如果检查到投票内容列表已存在相同的用户ID,说明该投票人已经投过票,则删除此记录,把本次的投票内容增加到投票内容列表中。

统计内容步骤:记名计票模块通过PKI/CA模块验证记名投票证书是否合法、验证记名的投票内容是否完整、验证投票过程是否合法、以及通过记名投票事务生成模块来验证投票人是否具备投票资格,在同时满足:记名投票证书合法、记名的投票内容完整、投票过程合法且投票人具备投票资格的情况下,将记名的投票内容统计并发布;否则,不予统计和发布。

优选地,投票人可以对自己提交的记名的投票内容执行验票操作,该验票操作是通过记名验票模块实现,其具体过程如下:

请求提交步骤:投票人针对记名投票事务向记名验票模块提交验票请求;投票人在iphone上选择一个投票事务,客户端模块从投票密钥文件中读取记名投票证书,投票人手工输入解密口令后,读取投票密钥文件中的公钥,客户端模块把投票事务ID和公钥发送到投票系统的记名验票模块。

查找信息步骤:记名验票模块根据记名投票事务、投票人信息和记名投票证书查找是否存在对应的记名的投票内容,如果查找到,则进入验证信息步骤,否则,提示未查找到并退出验票操作;记名验票模块收到客户端模块发送的信息后,使用数字摘要算法获取公钥摘要,根据投票事务ID和无记名投票证书数字摘要查找投票内容列表对应的有效投票内容,如果没有查找到,说明计票结果没有包括此投票人的投票信息,如果查找到相关投票记录,则进入验证信息步骤。

验证信息步骤:验证记名的投票内容是否完整,并验证记名投票证书是否与投票人匹配,当记名的投票内容完整且记名投票证书与投票人匹配时,返回验票成功提示,否则返回验票失败提示;该步骤是验证投票内容明文的完整性,以及数字签名所使用的记名投票证书是否是投票人本人证书,如果二者均验证通过,则说明当前投票人的记名的投票内容包括在计票结果中,且投票内容没有被非法篡改。

本发明各投票系统实施例及各投票方法实施例所公开的无记名电子投票方法中,无记名电子投票是在盲签名、混合网理论和FOO协议的基础上进行的创新,相对于传统的电子投票方法,如采用FOO协议的投票方法,其显著特点是对投票人的投票证书进行盲签名,以投票证书信息的盲化作为重点,通过对投票证书的匿名和保密以达到无记名电子投票的“匿名性”技术指标,传统的电子投票协议中是对投票人的投票内容作为盲化重点;进行投票时,投票人仅使用无记名投票证书进行数字签名,不需要输入投票者的任何资料,本发明对投票内容使用计票证书公钥进行加密处理,因此整个投票过程是完全匿名处理,即使他人非法监控无线移动互联网络,也无法获取投票人的个人信息及其投票内容。

本发明各投票系统实施例及各投票方法实施例所公开的无记名电子投票及记名电子投票方法中,投票人在同一时刻只能绑定一张有效的投票证书,如果该投票人已绑定一张有效的投票证书,则禁止重复绑定;综上所述,本发明具备更高的安全性,可以广泛应用于正式、对数据安全要求较严格的各类电子投票表决事宜,如城市社区对基层居委会管理相关事宜的投票表决、各类民间协会内部相关事宜的投票表决、企业股东大会表决、企业法人董事会表决等。

在实际应用过程中,当特定的投票事务的投票人数较多时,本投票系统可采用分布式部署的方式,可以在每个选区部署一套服务端模块,投票人进行投票时,客户端模块根据投票人所处的选区自动提交选票至对应选区的服务端模块,每个选区的服务端模块自动将本选区的计票结果上报至中央服务器,再由中央服务器统计出最终的投票结果。

上述各投票系统及各投票方法实施例是基于iphone而实现的,作为本发明各实施例的变换,本发明的客户端模块可安装于ipad或各类android手机或其他智能移动通讯设备中。当本发明用于至少具有通话和短信功能的手机加具有互联网功能的平板电脑中时,客户端模块安装于具有互联网功能的平板电脑中,各随机验证码的获取、以及与投票人信息进行一对一的绑定号码均通过上述至少具有通话和短信功能的手机来实现,其余功能与上各实施例相类似。对于具备通话功能且具有互联网功能的平板电脑而言,如:三星P1000,是一款支持通话功能的平板电脑,其具有标准的SIM卡槽,只要将SIM卡插入该SIM卡槽,即同时实现互联网功能和通话功能,本发明在该类智能移动通讯设备中的应用与上述实施例相同,只需在该平板电脑中安装客户端,在服务器中安装服务端模块即可。

作为上述投票系统各实施例的另一变换,可以是集成了上述无记名投票功能及记名投票功能的投票系统,即上述投票系统第一实施例和投票系统第二实施例的结合,其系统组成结构、连接方式及主要功能与上述投票系统各实施例相同,仍然是在智能移动通讯设备中安装客户端模块,服务器安装服务端模块,客户端模块与服务端模块通过移动通讯网络进行数据通讯,服务端模块包括投票人管理模块、票务管理模块和证书管理模块。不同之处在于:票务管理模块包括投票事务生成模块、投票模块、计票模块和验票模块,投票事务生成模块用于生成无记名投票事务并使用数字签名发布、以及验证参加无记名投票事务的投票人的投票资格;投票事务生成模块还用于生成记名投票事务并通过数字签名后发布、以及验证参加记名投票事务的投票人的投票资格。投票模块用于使用无记名投票证书对投票人无记名的投票内容进行数字签名,并对该无记名的投票内容进行加密提交;投票模块还用于使用记名投票证书对记名的投票内容进行数字签名并提交。计票模块用于解密无记名的投票内容,并验证解密后的无记名的投票内容及投票过程的合法性,对合法的所述投票过程中的无记名的投票内容进行统计并通过数字签名发布;计票模块还用于验证有记名的投票内容的完整性和有记名投票证书的合法性、并在计票过程中验证投票人的投票资格,并对具备投票资格投票人的完整且合法的有记名的投票内容进行统计发布。验票模块用于根据无记名投票事务和无记名投票证书验证无记名的投票内容的有效性;验票模块还用于根据记名投票事务、投票人信息及记名投票证书验证记名的投票内容的有效性。证书管理模块包括PKI/CA模块;证书管理模块用于生成无记名投票证书、以及验证该无记名投票证书的合法性;证书管理模块还用于生成与投票人信息一一对应的记名投票证书、以及验证该记名投票证书的合法性。即是将投票事务和投票内容设置“记名”或“无记名”的属性,根据相应属性进行相关操作。显而易见地,可将上述变换应用到上述投票方法各实施例及其变换中,具体实现步骤参见投票方法各实施例,此处不再赘述。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号