互联网在线投票系统的制作方法_3

文档序号:9923836阅读:来源:国知局
;通过第三服务器70转发数据库验证公钥和投票验证公钥至第四服务器;接受并保存管理终端发送的管理验证公钥;接受并保存审计终端发送的审计验证公钥;接受并保存投票终端发送的投票验证公钥;其中,数据库签名私钥为数据库服务器的签名私钥,管理验证公钥为管理终端的验证公钥,审计验证公钥为审计终端的验证公钥。
[0045]在本发明的实施例中,第四服务器可以用于执行如下步骤:按照第一预设算法生成第三签名私钥和第三验证公钥;通过隔离网闸或摆渡设备传递第三验证公钥至第三服务器;从后台离线子系统获取系统加密公钥;通过隔离网闸或摆渡设备传递经由第三签名私钥签署的系统加密公钥至第三服务器;保存数据库服务器发送的数据库验证公钥,其中,数据库验证公钥为数据库服务器的验证公钥。即第四服务器自行生成签名私钥和验证公钥,并将验证公钥摆渡到第三服务器上保存,以和第三服务器进行通讯。
[0046]需要说明的是,本申请的投票系统在用于投票前,需要进行如下的准备步骤:
[0047]步骤SlOl,第二服务器上的选举管理Web站点和第三服务器分别向第三方证书机构注册申请数字签名证书。
[0048]步骤S102,第三方证书机构用自己的签名私钥签署第二服务器和第三服务器的验证公钥证书,同时将它们各自的签名私钥和验证公钥证书分别发送至对应的服务器。
[0049]步骤S103,第二服务器向管理终端提供自己的验证公钥下载。
[0050]步骤S104,第二服务器将验证公钥发给第一服务器的Web站点,供网投选民公开下载。
[0051]步骤S105,第二服务器保存自己的签名私钥。
[0052]步骤S106,第四服务器获取系统加密公钥,并摆渡给第三服务器。
[0053]步骤S107,第三服务器用签名私钥签署选举系统加密公钥(即系统加密公钥)。
[0054]步骤S108,第三服务器将选举系统加密公钥、自己的验证公钥发给第一服务器的Web站点,供网投选民公开下载。
[0055]步骤S109,数据库服务器自行生成签名私钥和验证公钥。
[0056]步骤S110,数据库服务器将验证公钥通过第三服务器和摆渡设备发送给第四服务器。
[0057]步骤Slll,数据库服务器保存自己的签名私钥。
[0058]通过上述实施例,将关键数据(如签名私钥、验证公钥以及系统加密公钥等)保存在本地,用户通过用户口令即可在一台机器上完成投票的所有操作,简便易懂,而不用使用U盘之类的便携式存储设备来存储关键数据,避免了因U盘遗失不能进行投票的问题。
[0059]在本发明的实施例中,管理终端可以用于执行如下步骤:接收管理员输入的注册信息和注册口令,并保存基于管理员输入的注册口令生成的管理AES密钥;按照第三预设算法生成管理签名私钥和管理验证公钥;保存从第二服务器获取到的第一验证公钥和经由管理AES密钥加密的管理签名私钥;通过第二服务器转发管理员输入的注册信息至身份认证服务器;通过第二服务器转发管理验证公钥至数据库服务器,其中,管理签名私钥为管理终端的签名私钥。上述注册口令和用户口令可以为同一个口令,也即用于生成AES密钥的口令和用于解密签名私钥的口令相同。审计终端与第二服务器之间的通讯数据(如注册信息、登录时产生的数据)仅可由第二服务器解密;同时,管理终端在修改选票时可以防止数据被非法篡改。
[0060]可选地,审计终端可以用于执行如下步骤:接收审计者输入的注册信息和注册口令,并保存基于审计者输入的注册口令生成的审计AES密钥;按照第四预设算法生成审计签名私钥和审计验证公钥;保存从第一服务器获取到的第二验证公钥和经由审计AES密钥加密的审计签名私钥;通过第一服务器转发审计者输入的注册信息至身份认证服务器;通过第一服务器转发审计验证公钥至数据库服务器,其中,审计签名私钥为审计终端的签名私钥。审计终端主要与第一服务器进行通讯,通讯数据包括审计者的注册信息和审计者登录过程中产生的数据,审计终端还可以通过第一服务器从数据库服务器下载选举过程数据。
[0061]具体地,在管理终端和审计终端上,在用户进行注册之后,根据用户输入的口令生成AES密钥以加密该用户的签名私钥;由于AES密钥不是固定保存在终端本地(即完成加密工作后自动删除),因此,在用户再次操作时,需要输入口令以再次生成用于对上述签名私钥进行解密的AES密钥,这样用户才能进行相关操作(如投票),在操作过程中产生的数据需经由签名私钥的签名后传输至服务器,通过使用签名私钥,服务器端可以对数据源进行认证,即保证数据包确实自来其所声称的个人或服务器,并在传输过程中未经篡改。
[0062]如图3所示,投票终端101可以用于执行如下步骤:接收投票者输入的注册信息和注册口令,并保存基于投票者输入的注册口令生成的投票AES密钥;按照第五预设算法生成投票签名私钥和投票验证公钥;保存从第一服务器301获取到的第一验证公钥、第二验证公钥、系统加密公钥以及经由投票AES密钥加密的投票签名私钥;发送注册信息和投票验证公钥至第一服务器,第一服务器在接收到之后,发送网投选民输入的注册信息至身份认证服务器,并发送投票验证公钥至数据库服务器50,数据库服务器保存接收到的投票验证公钥,其中,投票签名私钥为投票终端的签名私钥。投票终端主要用于与第一服务器通讯,如发送网投选民的注册信息、登录过程中产生的数据信息、接收空白选票(Web页面格式)、发送填好的选票等,并保存加密后的关键数据。
[0063]网投选民在投票终端进行注册之后,投票终端根据网投选民输入的口令生成AES密钥,该AES密钥用于对投票终端的签名私钥进行加密保存;由于AES密钥不是固定保存在投票终端本地,因此在网投选民进行投票时,用户需要再次输入口令以生成用于对签名私钥进行解密的AES密钥,然后再填写空白选票,填好的选票经由签名私钥签名后传送至服务器端。
[0064]需要说明的是,网投选民、审计者和管理员的个人注册信息包括个人基本信息、生物特征、机器行为特征等信息;客户端(包括投票终端、审计终端以及管理终端)没有预先保存AES密钥,该AES密钥由注册口令经Hash函数(如通过MD5算法、SHA-3算法)衍生计算得出,在需要使用签名私钥时需先由用户输入用户口令后算出该密钥,再用其解密签名私钥方可使用。在多用户共用机器的情况下,每个用户的签名私钥都使用其口令单独加密,然后将加密后的关键数据保存在一个数据表中,数据表包括网投选民ID和加密后的关键数据。这样,在多人共用电脑登录系统的情况下,依然能保证关键数据(如密钥)安全有效,互不干扰。本申请的预设算法(即第一预设算法至第五预设算法)可以通过上述的哈希函数实现。
[0065]在通过上述的密钥传输之后,各个终端除了保存的主要关键数据如下:
[0066]投票终端:投票AES密钥、投票签名私钥、第一验证公钥、第二验证公钥、系统加密公钥。
[0067 ] 审计终端:审计AES密钥、审计签名私钥、第二验证公钥。
[0068]管理终端:管理AES密钥、管理签名私钥、第一验证公钥。
[0069]第一服务器:证书验证公钥、第一验证公钥、第二验证公钥、系统加密公钥。
[0070]第二服务器:证书验证公钥、第一签名私钥。
[0071 ] 第三服务器:第二签名私钥、证书验证公钥。
[0072]第四服务器:第四签名私钥、数据库验证公钥、投票验证公钥。
[0073]数据库服务器:数据库签名私钥、管理验证公钥、投票验证公钥、审计验证公钥。
[0074]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0075]在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0076]在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0077]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0078]另外,在本发明各个实施例中的各功能单元可以集成在一个处
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1