一种基于手指静脉特征识别的电子投票系统的利记博彩app
【专利摘要】本发明公开了一种基于手指静脉特征识别的电子投票系统。系统由手指静脉特征采集装置,投票客户端子系统、投票中心子系统、计票中心子系统构成。通过手指静脉特征装置采集投票人的手指静脉图像后,通过手指静脉特征向投票中心子系统注册,投票中心子系统验证投票者合法性,若合格则下发选票。投票客户端子系统软件能够生成投票人的生物特征公/私钥对,并通过投票客户端子系统、投票中心子系统以及计票中心子系统之间认证签名等安全协议的交互实现投票过程。相比其它电子投票系统,本系统引入手指静脉特征识别技术代替口令、数字证书等方式参与整个网络身份认证和投票过程,提高了系统安全性和使用便利性,并具有匿名性、透明性和公开性。
【专利说明】一种基于手指静脉特征识别的电子投票系统
【技术领域】
[0001] 本发明涉及密码学和人体生物特征识别交叉应用领域,具体是指一种基于人体手 指静脉特征识别的电子投票系统。
【背景技术】
[0002] 投票是一种非常重要的民主决策形式。无论是对候选人员的选举,还是对候选决 策的决定,往往需要采用民主投票的方式来执行。传统投票采用手工方式,以选举为例,其 一般工作流程为:组织者将选举人集中在会场,现场发放含有候选者姓名的纸质选票,选举 人按照事先约定的规则勾选候选人,最后将填写好的选票统一投到票箱由公证人员对选票 进行统计并公布最终结果。这种手工投票方式具有一些不足,如前期准备工作量大,发票、 选举、计票等选举过程繁琐,选举人无法知道自己的选票是否被统计,浪费纸张等。因此,研 究人员提出基于计算机网络通讯技术的电子投票系统,并申请了相关专利。
[0003] 专利号申请为2013105356249《基于蓝牙的匿名团体投票方法》提出了一种基于蓝 牙的匿名团体投票方法,包括:投票发起方使用密钥对投票信息进行加密,而投票方接收到 信息需使用密钥解密信息才投票;投票完毕后,将投票结果及自动产生的随机码存储到手 机蓝牙设备名上,输入密钥加密并提交选票;投票结束,系统根据收到有效信息进行解密, 并自动计算投票结果呈现给投票发起方。
[0004] 专利申请号为200410036738X《公正网络投票箱和方法》提出了一种公开网络投 票箱和方法,选举利用互联网汇总,利用电脑技术,利用身份证鉴别参选资格,按候选人的 独立票箱用硬币投票,此方法以身份证作为判断用户合法性的依据。
[0005] 上述电子投票系统主要存在如下问题:在选举过程中,对于选举人的网络身份鉴 另IJ,采用口令、身份证或者数字证书的方式,然而口令和身份证的认证方式安全性不高,数 字证书方式虽然有足够的安全性,但是证书需要存放在智能卡或者USBKey上并通过口令 来保护,一方面使用不够方便,另一方面智能卡和USBKey存在丢失和被盗的风险。基于以 上分析,考虑在电子投票过程中引入人体生物特征进行投票人身份的验证和投票的管理, 可以有效地保证投票的公开性、民主性、安全性、保密性以及便利性。
【发明内容】
[0006] 本发明的目的在于克服目前电子投票系统在安全性、建立数字证书系统复杂性、 使用便利性等方面的不足,提供一种基于人体生物特征识别的电子投票系统。由于人体手 指静脉特征特有的稳定性和鲁棒性,具体通过采集手指静脉特征来实现电子投票系统。
[0007] 为方便描述,在以下基于手指静脉特征识别的电子投票系统的叙述中,涉及投票 者(Voter,简记为V),投票中心(TicketCenter,简记为C),以及计票中心(TallyCenter, 简记为T)三种角色,其中投票者可有多个,投票中心为一个,计票中心为一个。
[0008] 在所述的基于手指静脉特征识别的电子投票系统实现方法中的叙述中,涉及到密 码学中的加密、解密、签名及验证等过程,各个密码学过程的表示方法如下:设消息为m,则 签名算法为Sign,签名验证算法为Verify,利用投票者V的公钥进行非对称加密算法为C1,相应私钥解密算法为D1,利用投票中心C的公钥进行非对称加密算法为C2,对应的解密 算法为D2,利用计票中心T的公钥进行非对称加密算法为C3,对应的解密算法为D3,散列 算法为H,消息盲化算法为Blind,比特承诺算法为BCom,由手指静脉彳目息获得稳定特征码 的算法为Gen(b) = (U,P),R印(b',P) =U,其中b为手指静脉采集装置采集的指静脉图像 信息,b'为手指静脉采集装置另一次采集得到的指静脉图像信息。Gen算法根据b可得到 指静脉编码U和帮助信息P,Rep算法计算新采集的指静脉图像信息b'和得到的帮助信息 P,如果b'和b之间的差异足够小,则可恢复指静脉编码U。
[0009] 本发明的目的通过下述技术方案实现:
[0010] 一种基于手指静脉特征识别的电子投票实现方法,基于由手指静脉特征采集装 置、投票客户端子系统、投票中心子系统和计票中心子系统组成的装置实现采集投票者的 手指静脉特征图像,进行相关计算后参与电子投票;手指静脉采集装置与投票客户端子系 统通过接口相连,投票客户端子系统、投票中心子系统和计票中心子系统通过互联网络相 连;
[0011] 其主要步骤如下:
[0012] (1)投票者V通过手指静脉图像采集装置采集手指静脉图像,传入投票客户端子 系统后提取手指静脉特征信息b,然后用Gen(b) = (U,P)产生V的生物特征码U和帮助信 息P,并进一步产生V的一对生物特征私钥Vx和公钥Vy。V利用投票中心C的公钥对b和 Vy进行加密得到C2 (b,Vy),然后发送C2 (b,Vy)给C进行注册;
[0013] (2)投票中心C收到投票者V发送来的C2(b,Vy)后,首先利用自己的私钥对C2(b, Vy)进行解密得到D2(C2(b,Vy)) = (b,Vy),然后通过手指静脉特征识别软件将b在C的 指静脉模板数据库中进行比对,识别出b的身份,并根据本次选举对选举人身份的要求,来 确定V是否具备注册资格;如果V不具备注册资格,则C发送注册失败信息给V;如果V具 备注册资格,则C为V产生一个影子id、一个随机数r和一张选票vt,然后用V的生物特征 公钥Vy加密得Cl(id,r,vt,H(id,r,vt))并发送给V;
[0014] (3)投票者乂收到(:1(1(1,1',竹,11(1(1,1',竹))后,通过手指静脉采集仪采集自身手 指静脉图像b',并通过客户端软件计算R印(b',P) =U恢复指静脉特征码并进而生成生物 特征私钥,利用私钥解密D1(Cl(id,r,vt,H(id,r,vt)))得到(id,r,vt,H(id,r,vt)),通过 散列函数H(id,r,vt)确认信息传输过程正确后,填写选票;填写完成后,V选择盲化因子K, 然后用盲化因子K对选票vt进行盲化Blind(vt)后得到盲化后的选票bvt并签名,用计票 中心T的公钥加密盲化因子C3 (K),最后,发送C2 (id,r,bvt,Sign(H(id,r,bvt)),C3 (K))给 投票中心C;
[0015](4)投票中心C接收到投票者V发送过来的选票信息后,首先进行解密D2 (C2(id ,r,bvt,Sign(H(id,r,bvt)))得到id,r,bvt和Sign(H(id,r,bvt)),然后检查id在数据 库中是否已有对应的选票,如果有表明已经投过票,则本次投票无效丢弃,如果没有,则进 一步通过Verify()函数验证V的签名,如果验证不通过则本次投票无效丢弃,否则对盲化 后的选票bvt使用比特承诺算法,随机选择比特承诺随机数Num并生成Bcom(bvt),保存 Num在数据库中;由于此时投票中心没有盲化因子K,所以无法知道选票的真实内容;最后C 对比特承诺后的选票签名Sign(H(Bcom(bvt))),然后利用计票中心T的公钥加密C3(id, Bcom(bvt),Sign(H(Bcom(bvt)))并发送给T;
[0016] (5)计票中心T在接收到投票中心C发送过来的信息以后,利用自己的私钥进行 解密03(03(1^0111〇3¥1:),31811(}1(13(30111〇3¥1:))))得到1(1,13(30111〇3¥1:)和31811(}1(13(30111〇3¥1:)),通过VerifyO函数对签名进行验证,通过后则接受比特承诺后的选票Bcom(bvt)为有效选 票并进行记录;但由于T不知道比特承诺随机数Num,所以此时得不到选票的真实内容;
[0017] (6)在最后统一计票时,投票中心C发送各个id对应的比特承诺随机数Num 给计票中心T,计票中心用自己的私钥解密得到id对应的盲化因子D3(C3(K)) =K,对 Bc〇m(bvt)进行去承诺和去盲化操作,便可以得到选票的真实内容,然后进行计票和统计, 并接受外界的监督。
[0018] 本发明的另一目的是为上述方法提供实现的物理存在,采用的手段是:
[0019] 基于手指静脉特征识别的电子投票系统主要由以下相互关联的功能模块组成:手 指静脉特征采集装置1S,投票客户端子系统2S、投票中心子系统3S、计票中心子系统4S,其 中手指静脉采集装置1S和投票客户端子系统2S位于投票者本地端,投票中心子系统3S和 计票中心子系统4S位于远程服务端,并分别有自己的数据库系统用于存储各自的选票信 息,各子系统之间通过互联网络进行连接。
[0020] 手指静脉特征采集装置1S采集投票人的手指静脉图像信息,并将其传送给与其 相连的投票客户端子系统2S。
[0021] 投票客户端子系统2S接受来自手指静脉图像采集装置输入的手指静脉图像,利 用识别算法提取投票者的手指静脉特征,并进一步利用手指静脉特征密钥生成算法生成投 票者的公钥和私钥。然后通过与投票中心子系统的交互,进行身份注册和投票。
[0022] 这里需要注意在投票过程中投票者用到的自身公钥和私钥都是在需要时由自己 生成的,用后也不需要保存,保证了安全性和使用的便利性。另外投票者投出的是经过盲化 后的选票,投票中心无法获知选票的真实选举内容。
[0023] 投票中心子系统3S通过投票客户端子系统提交的手指静脉特征认证投票者身 份,发送空白选票给投票客户端子系统2S,接受来自投票客户端子系统2S的填写过的选 票,验证选票的有效性,在数据库中建立投票者和其选票之间的关联关系,并利用比特承诺 算法承诺选票,并发送给计票中心子系统4S。
[0024] 计票中心子系统4S接受来自投票中心子系统3S的选票并在其数据库中保存投票 者身份信息及其选票信息。在最后进行计票时,接受来自投票中心子系统3S的比特承诺信 息,对选票进行去承诺和去盲化,得到选票的真实信息并进行计票统计。最后将相关信息向 外界公布,接受检查和监督。
[0025] 投票者的操作包含投票者通过手指静脉采集装置采集指静脉图像的操作以及通 过投票客户端软件进行的运算及投票操作。为便于描述,在不引起歧义的情况下,本说明书 在【具体实施方式】的描述时不严格区分投票者和投票客户端子系统。
[0026] 本发明与现有技术相比,具有如下的优点和有益效果:
[0027] (1)在进行投票注册时,是通过注册投票者的手指静脉特征进行认证,由于投票者 的手指静脉特征与其本人天然关联,所以相比口令、数字证书等认证方式,手指静脉认证方 式更加安全;
[0028] (2)在投票者与投票中心进行交互投票时,加解密与签名过程中需要用到的投票 者的签名私钥和加密公钥都是由实时采集投票者手指静脉图像并经过客户端程序识别编 码生成的,私钥用完即销毁,在整个电子投票系统里都不需要保存投票者的私钥,所以不需 要存储数字证书的智能卡等硬件和口令,系统具有更高的使用便利性和安全性;
[0029] (3)系统通过引入手指静脉识别技术,并结合盲签名、比特承诺等密码学技术,保 证了选举结果的正确性、公平性、公开性、匿名性、保密性和不可抵赖性,是一种新型的电子 投票系统。
【专利附图】
【附图说明】
[0030] 图1为本发明的系统组成结构示意图;
[0031] 图2为应用本发明系统主要工作流程图示意图。
【具体实施方式】
[0032] 下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不 限于此。
[0033] 如图1所示,是本发明一种基于手指静脉特征识别的电子投票系统的功能模块 图。本系统主要由以下相互关联的功能模块组成:手指静脉特征采集装置1S、投票客户端 子系统2S、投票中心子系统3S、计票中心子系统4S,各子系统通过互联网络进行连接。其中 手指静脉特征采集装置1S和投票客户端子系统2S可有一个或多个,投票中心子系统3S和 计票中心子系统4S各有一个。
[0034] 手指静脉特征采集装置1S与投票客户端子系统2S直接通过计算机的接口相连, 其主要功能是在系统需要时采集投票人的手指静脉图像信息并将之传给计算机中的投票 客户端子系统2S。
[0035] 投票客户端子系统2S主要用于接收投票者的投票注册和投票信息,并通过与投 票中心子系统3S的交互,向投票中心子系统认证投票者的身份,并将投票者填写好的选票 发送给投票中心子系统3S。
[0036] 投票中心子系统3S验证投票客户端子系统2S上传的投票者的身份信息并进行验 证,验证通过后下发空白选票信息,待投票客户端子系统2S上传了投票者的选票信息后, 对选票进行检查处理后发送给计票中心子系统4S。
[0037] 计票中心子系统4S收到投票中心子系统3S发送的选票后,将选票保留在自己的 数据库内。等到需要统计并公布投票结果时,通过与投票中心子系统3S进行交互获得帮助 信息,然后才能获知选票的真实内容并进行统计和公布。
[0038] 如图2所示,是本发明基于手指静脉特征识别的电子投票系统的主要工作流程 图。对于具体实施例,生物特征编码的方法Gen(b) = (U,P)可以采用Dodis等人提出的方 法(见Fuzzyextractors:Howtogeneratestrongkeysfrombiometricsandother noisydata.JournalonComputing, 2008, 38(1) :97_139),公开密钥加密算法可以采用 RSA算法,签名算法也可以采用RSA算法,散列函数H()可以采用SHA-1算法。对于各RSA 加密过程,采用两个大素数P和q的乘积n=p*q作为共同的公开参数,另外为了描述方 便,设投票者生成的RSA私钥为dv,公钥为ev;投票中心的私钥为d。,公钥为e。;计票中心 的私钥为dt,公钥为et。对于显而易见的RSA加解密过程,省去具体的公式过程,而仅用文 字加以表达。
[0039] 该方法包括以下步骤:
[0040] 步骤S1 :投票者V在投票客户端子系统的软件界面上选择进行投票注册,然后通 过手指静脉特征采集装置采集自己的手指静脉图像b,同时输入一个口令X。
[0041] 步骤S2 :投票者V首先计算Gen(b) = (U,P),产生手指静脉特征码U和辅助信息 P,计算H(U,x) =dv作为投票者的RSA私钥,同时计算得到对应的公钥为ev。
[0042] 步骤S3 :投票者V发送用投票中心C的公钥et进行RSA加密后的(b,ev,H(b,ev)) 给投票中心。
[0043] 步骤S4 :投票中心C收到信息后,首先用自己的私钥dt进行RSA解密得到 (b,ev,H(b,ev)),然后在自己的数据库中进行投票者手指静脉特征的比对(注:投票中心拥 有之前登记过的所有潜在投票者的手指静脉特征模板),识别出投票者的身份。如果识别结 果表明投票者不符合要求,则发送验证不合格消息给投票客户端;否则转下一步。
[0044] 步骤S5 :投票中心C首先对验证合格的投票者分配一个影子id,并在数据库中创 建一条空记录,包括选票vt、是否已选等字段。然后投票中心生成一个随机数r,并用投票 者的公钥0¥进行RSA加密由id,随机数r和空白选票vt组成的消息(id,r,vt,H(id,r,vt)) 并发送给投票者V。
[0045] 步骤S6 :投票者V收到消息后,首先通过手指静脉采集仪采集自身手指静脉图 像b',并通过投票客户端软件计算R印(b',P) =U恢复指静脉特征码,然后通过计算 H(U,x) =dv生成自己的RSA私钥,解密得到消息(id,r,vt,H(id,r,vt)),并通过散列函数 H(id,r,vt)确认信息传输无误。
[0046] 步骤S7 :投票者V填写选票,完成后选择盲化因子K,并用自己的公钥ev对选票vt 进行盲化
【权利要求】
1. 一种基于手指静脉特征识别的电子投票实现方法,基于由手指静脉特征采集装置、 投票客户端子系统、投票中心子系统和计票中心子系统组成的装置实现采集投票者的手指 静脉特征图像,进行相关计算后参与电子投票;手指静脉采集装置与投票客户端子系统通 过接口相连,投票客户端子系统、投票中心子系统和计票中心子系统通过互联网络相连; 其主要步骤如下: (1) 投票者V通过手指静脉图像采集装置采集手指静脉图像,传入投票客户端子系统 后提取手指静脉特征信息b,然后用Gen (b) = (U,P)产生V的生物特征码U和帮助信息P, 并进一步产生V的一对生物特征私钥Vx和公钥Vy ;V利用投票中心C的公钥对b和Vy进 行加密得到C2 (b,Vy),然后发送C2 (b,Vy)给C进行注册; (2) 投票中心C收到投票者V发送来的C2 (b,Vy)后,首先利用自己的私钥对C2 (b,Vy) 进行解密得到D2 (C2 (b,Vy)) = (b,Vy),然后通过手指静脉特征识别软件将b在C的指静 脉模板数据库中进行比对,识别出b的身份,并根据本次选举对选举人身份的要求,来确定 V是否具备注册资格;如果V不具备注册资格,则C发送注册失败信息给V ;如果V具备注 册资格,则C为V产生一个影子id、一个随机数r和一张选票vt,然后用V的生物特征公钥 Vy 加密得 Cl (id, r, vt, H(id, r, vt))并发送给 V ; (3) 投票者¥收到(:1(1(1,1',竹,11(1(1,1',竹))后,通过手指静脉采集仪采集自身手指静 脉图像b',并通过客户端软件计算R印(b',P) = U恢复指静脉特征码并进而生成生物特征 私钥,利用私钥解密 D1 (Cl (id, r, vt, H(id, r, vt)))得到(id, r, vt, H(id, r, vt)),通过散列 函数H(id,r,vt)确认信息传输过程正确后,填写选票;填写完成后,V选择盲化因子K,然后 用盲化因子K对选票vt进行盲化Blind (vt)后得到盲化后的选票bvt并签名,用计票中心 T的公钥加密盲化因子C3 (K),最后,发送C2 (id,r,bvt,Sign (H (id,r,bvt)),C3 (K))给投票 中心C ; (4) 投票中心C接收到投票者V发送过来的选票信息后,首先进行解密D2 (C2 (id,r, bvt, Sign(H(id, r, bvt)))得到 id, r, bvt 和 Sign(H(id, r, bvt)),然后检查 id 在数据库中 是否已有对应的选票,如果有表明已经投过票,则本次投票无效丢弃,如果没有,则进一步 通过Verify ()函数验证V的签名,如果验证不通过则本次投票无效丢弃,否则对盲化后的 选票bvt使用比特承诺算法,随机选择比特承诺随机数Num并生成Bcom(bvt),保存Num 在数据库中;由于此时投票中心没有盲化因子K,所以无法知道选票的真实内容;最后C对 比特承诺后的选票签名Sign (H(Bc〇m(bvt))),然后并利用计票中心T的公钥加密C3 (id, Bcom(bvt),Sign(H(Bcom(bvt)))并发送给 T; (5) 计票中心T在接收到投票中心C发送过来的信息以后,利用自己的私钥进行解密D 3(C3(Bcom(bvt),Sign(H(Bcom(bvt))))得到 id,Bcom(bvt)和 Sign(H(Bcom(bvt)),通过 VerifyO函数对签名进行验证,通过后则接受比特承诺后的选票Bcom(bvt)为有效选票并 进行记录;但由于T不知道比特承诺随机数Num,所以此时得不到选票的真实内容; (6) 在最后统一计票时,投票中心C发送各个id对应的比特承诺随机数Num给计票中 心T,计票中心用自己的私钥解密得到id对应的盲化因子D3(C3(K)) = K,对Bcom(bvt)进 行去承诺和去盲化操作,便可以得到选票的真实内容,然后进行计票和统计。
2. 根据权利要求1所述之基于手指静脉特征识别的电子投票实现方法,其特征在于, 在投票客户端子系统、投票中心子系统和计票中心子系统三者之间通过安全协议交互进行 投票时,安全协议涉及到的投票者的公钥/私钥对是由投票客户端子系统根据投票者的手 指静脉特征产生的,随时采集随时产生,不作长久保存。
3. -种实现权利要求1或2所述方法之电子投票装置,其特征在于,主要由以下相互关 联的功能模块组成:手指静脉特征采集装置1S,投票客户端子系统2S、投票中心子系统3S、 计票中心子系统4S,其中手指静脉采集装置1S和投票客户端子系统2S位于投票者本地端, 投票中心子系统3S和计票中心子系统4S位于远程服务端,并分别有自己的数据库系统用 于存储各自的选票信息,各子系统之间通过互联网络进行连接; 所述手指静脉特征采集装置1S采集投票人的手指静脉图像信息,并将其传送给与其 相连的投票客户端子系统2S; 所述投票客户端子系统2S接受来自手指静脉图像采集装置输入的手指静脉图像,利 用识别算法提取投票者的手指静脉特征,并进一步利用手指静脉特征密钥生成算法生成投 票者的公钥和私钥; 所述投票中心子系统3S通过投票客户端子系统提交的手指静脉特征认证投票者身 份,发送空白选票给投票客户端子系统2S,接受来自客户端子系统2S的填写过的选票,验 证选票的有效性,在数据库中建立投票者和其选票之间的关联关系,并利用比特承诺算法 承诺选票,并发送给计票中心子系统4S ; 所述计票中心子系统4S接受来自投票中心子系统3S的选票并在其数据库中保存投票 者身份信息及其选票信息;在最后进行计票时,接受来自投票中心子系统3S的比特承诺信 息,对选票进行去承诺和去盲化,得到选票的真实信息并进行计票统计。
4. 根据权利要求3所述之装置,其特征在于,手指静脉特征采集装置1S和投票客户端 子系统2S有一个或多个,投票中心子系统3S和计票中心子系统4S各有一个。
【文档编号】H04L9/28GK104392534SQ201410675142
【公开日】2015年3月4日 申请日期:2014年11月21日 优先权日:2014年11月21日
【发明者】王明文, 王周静, 郑伟范, 唐东明 申请人:西南交通大学