CN105391743B - 一种基于生物特征交叉验证的云投票方法 - Google Patents
一种基于生物特征交叉验证的云投票方法 Download PDFInfo
- Publication number
- CN105391743B CN105391743B CN201510957077.2A CN201510957077A CN105391743B CN 105391743 B CN105391743 B CN 105391743B CN 201510957077 A CN201510957077 A CN 201510957077A CN 105391743 B CN105391743 B CN 105391743B
- Authority
- CN
- China
- Prior art keywords
- ballot
- layer
- cloud
- service
- voter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000002790 cross-validation Methods 0.000 title claims abstract description 16
- 238000012795 verification Methods 0.000 claims abstract description 30
- 238000000605 extraction Methods 0.000 claims abstract description 15
- 238000005538 encapsulation Methods 0.000 claims abstract description 11
- 238000013507 mapping Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 22
- 230000002085 persistent effect Effects 0.000 claims description 13
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 claims description 8
- 230000002688 persistence Effects 0.000 claims description 7
- 238000010200 validation analysis Methods 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000002045 lasting effect Effects 0.000 claims description 3
- 238000012552 review Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000007726 management method Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003760 hair shine Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C13/00—Voting apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于生物特征交叉验证的云投票方法,根据生物特征具有唯一性,不可复制,信息采集方便等特点,本方法结合了生物特征提取和图像差值匹配技术以提高电子投票的合法性验证,并在此基础上,运用交叉验证和数字签名技术以保证投票的保密性和防抵赖性。本方法客户端适用于移动智能终端,在保证投票过程安全保密的同时,投票人不再受时间和地理位置的限制,只需要一部能够接入互联网或移动通讯网的移动终端即可进行投票。方法通过云服务的封装和调用以实现组件复用,用户层、云服务器和应用层之间均以REST服务方式交互调用,将共享的计算资源按需提供给对方。本发明安全性高、保密性强、可复用服务资源。
Description
技术领域
本发明涉及生物特征交叉验证的投票方法,尤其是面向云计算环境的可复用服务资源的投票方法。
背景技术
生物特征提取是生物图像分析处理的关键技术,已被广泛应用于生物识别、三维生物重建、生物图像压缩等领域。由于生物特征具有唯一性,不可复制,信息采集方便,性能较为优越。交叉验证又被称为循环估计,已被广泛应用于统计学。基本思想是把在某种意义下将原始数据进行分组,一部分作为训练集,另一部分作为验证集,首先用训练集对分类器进行训练,在利用验证集来测试训练得到的模型,以此作为评价分类器的性能指标。云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。云计算环境中的云服务是基于互联网相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。
随着互联网和智能手机的日益普及,电子投票系统逐渐成为信息安全领域的热点。现有的大部分电子投票系统重在设计投票过程的便捷性,忽略了电子投票系统的安全性、保密性和可复用性,在投票环节中存在作弊,伪造,篡改,代投等现象。
国内外许多学者对电子投票已进行了大量的研究,其主要研究内容集中于电子投票模式、投票协议、投票数据安全等方面的研究。美国的JOShBenaloh与DwightTuinStr提出了电子投票“无收据性”概念,即投票者不能向第三方证明其提交了某一特定的选票,并假设基于特定的物理设备。加拿大的chaum和日本的ohta利用匿名通信信道分别给出了一个适合于大群体选举的投票方案,尽管可以保证投票者的匿名性,但这两个方案都没有解决选票的秘密性和公平性。日本的Fuj1oka利用比特承诺协议和盲化加密技术提出了一个F00协议,具有秘密性、公平性和匿名性等特征,但是,它无法克服“选票碰撞”、伪造“合法”选票等问题,并且该方案也不具有无收据性。
西安电子科技大学陈晓峰设计了一种基于不完全信赖的无收据的电子投票方案,保证了选票的秘密性、广义可验证性和公平性,但该方案并没有完全解决选票买卖的问题。上海交通大学谢金宝提出了一个不启用签证人、而通过公证人群给选民发送匿名的成员证书的投票方案,但该方案无法保证成员的唯一性。
南通大学俞波等人提出了一种基于盲化加密的实用电子投票系统。该系统综合采用了盲加密、比特承诺、盲化签名等技术,较好地解决了中途退出、选票碰撞等问题,较好地保证了保密性、可验证性。但是它无法保证进行投票的投票人是合法的,即攻击者可以在注册选民ID时通过注册多个ID进行投票。
综上,如何设计一个安全性高、保密性强、可复用的电子投票方法是一个亟待解决的问题。
发明内容
为了克服已有电子投票方法的安全性较低、保密性较差、不可复用的不足,本发明提供一种安全性高、保密性强、可复用服务资源的基于生物特征交叉验证的云投票方法。
本发明解决其技术问题所采用的技术方案是:
一种基于生物特征交叉验证的云投票方法,包括以下步骤:
(1)应用系统TA标注
(1.1)应用系统TA通过服务标注SMa向云投票层标注需要使用的云投票层服务;
(1.2)TA通过服务标注SMa向云投票层标注自身提供服务的调用地址,TA必须提供三个服务的调用地址且必须是REST服务形式,分别是受评人服务,投票人服务,投票结果服务;
(1.3)云投票层通过服务标注SMa接收TA标注的信息并对标注的信息的有效性进行验证,有效性包括TA所需要的服务是否存在以及TA提供的服务是否完整;若验证通过,则通知TA标注成功,并返回标注码TACode,并进行图像处理模块初始化,若验证失败,则返回错误信息;
(2)图像处理模块初始化
(2.1)TA服务标注成功后,云投票层的图像处理模块即调用TA的投票人服务获取投票人信息,提取投票人与照片映射元组IPD;图像处理模块得到IDP后对其中的<T_pici>进行图像预处理与特征提取,得到的特征为<T_characi>,组成IDC并调用TA的投票人服务将IDC存入TA对应的持久层;
(3)用户层路由映射
(3.1)用户层通过服务路由SRe向云投票层调用服务,用户层必须携带TACode,该TACode表示该用户需要路由到的TA;
(3.2)服务路由SRe通过TACode在服务标注SMa中映射对应的TA,若映射成功则通知用户层映射成功,进行接用户层验证。若映射失败则结束;
用户层路由映射成功后,用户即可进行投票,投票过程中,用户层通过Web服务的方式调用云投票层封装的REST服务,投票人发出的所有请求都会被验证模块SS_V拦截,验证模块SS_V对发起请求的用户进行身份和权限认证,在该验证过程中会调用核心服务层的图像处理模块并调用TAi的Web服务获得持久层数据TIN,若验证通过再将请求转发至投票模块SS_T,投票模块SS_T的业务逻辑组件在完成其功能的过程中,会调用TAi的Web服务获取持久层的数据SIN和TR并进行交互;
(4)用户防伪造验证
(4.1)用户层映射成功后,自动启动设备摄像头,投票人选择进行拍摄或者退出使用的客户端,投票人无法从本地相册中选取照片,照片拍摄会在一秒之内拍摄三张,组成照片组VT,投票人选择是否上传VT,若选择不上传,则重新进行拍摄;
(4.2)投票人选择上传VT后,用户层通过服务路由SRe调用云投票层封装的REST服务apFaceVerification(),该方法向云投票层发起人脸验证请求,云投票层SS_V模块收到请求后获取VT,调用faceVerification()进行人脸验证,faceVerfication()会调用云投票层SS_G模块的图像差值匹配对VT进行验证;
(4.2.1)云投票层SS_G模块的图像差值匹配会调用calHSV()计算照片的HSV,通过调用hasBrightSpot()来检查局部亮点,若有局部亮点,则云投票层判定非正常情况,验证失败;若验证成功,则进行RGB差值计算;
(4.2.2)云投票层SS_G模块的图像差值匹配调用calRGB()计算照片的RGB,将三张照片的RGB做差值运算,差值运算若结果若为零,则表示三张照片完全一样,云投票层判定非正常情况,验证失败,否则,验证通过;
(5)用户人脸特征验证
(5.1)VT验证通过后,云投票层SS_V模块随机抽取照片组V3的一张照片,调用云投票层SS_G模块的getCharac()进行预处理并提取特征T_characi;
(5.2)云投票层SS_T使用提取的特征T_characi调用getTId(),该方法会通过服务标注SMa调用TA封装的REST服务,该服务会在持久层中查找对应的IDC;若没有找到,表示该投票人不是合法的投票人。若能找到则返回给云投票层的SS_T;
(6)生成并发送投票码
(6.1)若能成功查找到IDC,就唯一确定投票人T_idi,云投票层SS_T的投票码模块调用generateTCode()为T_idi生成投票码T_codei,组成ICC;
(6.2)云投票层SS_T模块调用sendTCode(),sendTCode()通过T_idi在单元信息对象DPM中查找对应的T_maili,将T_codei以邮件形式发送至T_maili;
(7)用户层登陆验证
(7.1)用户层的投票人在进行登录时需要输入从邮箱获取的投票码T_codei,并且拍摄一张人脸照片T_pici,用户层的客户端会自动从客户端系统中获取T_UUIDi,生成登录验证对象IPD,通过服务路由SRe调用云投票层的REST服务apLogin()提交登陆请求;UUID是指在一台机器上生成的数字;
(7.2)云投票层SS_V模块调用getIPD()获取T_pici,并且调用SS_G进行图像预处理与特征提取,得到图像特征T_characi;调用isMatching(),isMathcing()通过用户提交的T_codei与得到的T_characi在ICC中查找对应的T_idi,若找到,则表示投票人合法,调用generateICU()将T_UUIDi加入到合法UUID队列,生成ICU;
T_UUIDi加入到合法UUID队列后,在之后的流程中,投票人请求查看受评人信息和提交选票都自动提交发出请求的客户端的UUID,SS_V进行查询合法性验证时从ICU队列中查找匹配的UUID,若存在,表示合法;
(8)获取受评人信息
(8.1)用户登录验证通过后,云投票层SS_V调用getAppraiseeInfo()向SS_T请求受评人信息;
(8.2)云投票层SS_T通过REST服务通过服务路由SRe找到对应的应用系统TA,使用REST方式调用TA的受评人服务获取受评人信息,成功获取后通过回调函数sendAppraiseeInfo()将受评人信息发送给用户层;
(8.3)用户层调用bowerAppraiseeInfo()获取并显示受评人信息;
(9)提交选票数据
(9.1)用户层的投票人在浏览受评人信息后进行投票,投票完成后用户层调用commitVote()提交选票数据;
(9.2)选票数据首先会经过云投票层的SS_V模块进行选票有效性验证,SS_V通过getVote()获取选票数据,并且进行UUID的合法性验证;若是合法用户,则调用云投票层的SS_T模块进行选票的统计,否则,选票废弃;
(9.3)云投票SS_V模块通过getVoteInfo()将选票数据发送给SS_T模块,SS_T模块对选票数据进行统计。
进一步,所述云投票方法还包括以下步骤:(10)选票持久化
(10.1)云投票层SS_T的计票模块在完成选票统计后为了抗抵赖和保密性,调用blindVoteEncryption()对提交选票的投票人的ICU进行数字签名;
(10.2)通过服务标注SMa找到对应的应用系统TA,调用TA的投票结果服务将选票数据持久化至持久层。
更进一步,所述云投票方法还包括以下步骤:(11)投票结果公示
(11.1)云投票层SS_T通过服务路由SRe和服务标注SMa将用户层投票人与应用系统TA映射,通过调用TA的投票结果服务获取投票结果,并通过数字签名查看投票结果是否被篡改。若结果正常则调用pushResult()方法将数据发送至对应的用户层投票人;
(11.2)用户层投票人通过bowerResult()查看投票结果。
再进一步,所述步骤(1.2)中,受评人服务会由云投票层SS_T的受评人模块调用,投票人服务会由云投票层SS_T的投票人模块调用,投票结果服务会有云投票层SS_T的实时推送模块调用。
本发明的技术构思为:根据生物特征具有唯一性,不可复制,信息采集方便等特点,云投票方法结合了生物特征提取和图像差值匹配技术以提高电子投票的合法性验证,并在此基础上,运用交叉验证和数字签名技术以保证投票的保密性和防抵赖性。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。本方法客户端适用于移动智能终端,在保证投票过程安全保密的同时,投票人不再受时间和地理位置的限制,只需要一部能够接入互联网或移动通讯网的移动终端即可进行投票。本方法通过云服务的封装和调用以实现组件复用,用户层、云服务器和应用层之间均以REST服务方式交互调用,将共享的计算资源按需提供给对方。REST即表述性状态传递,是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。REST服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。通过这种方式能有效提高投票软件的复用性和开发效率,提高软件的开发质量,增强软件的可维护性。
本发明的投票框架分为四层,最上层为用户层,用户层可以是移动终端用户、平板用户或其他用户,用户层通过服务路由接入云投票层。在用户层之下的是云投票层,云投票层是云投票框架的核心,它主要提供了标准化的服务和基础的计算资源。用户层与云投票层通过服务路由进行连接和映射。核心服务层主要分为三个模块,每个模块包含多个组件。首先是验证模块,其主要功能是拦截客户端发送的所有请求,认证客户端的操作权限和身份,包含人脸验证,登录请求验证,选票有效性验证,查询合法性验证。其次是图像处理模块,用来对图像进行处理,识别和特征提取。最后是投票服务模块,其主要功能是处理投票过程中的业务逻辑,包括计票,投票码管理,受评人管理,投票人管理,实时推送。应用层可调用云服务层中投票所需的全部功能模块,并向云服务层提供数据服务,如投票人数据服务,受评人数据服务,投票结果数据服务。应用层与云投票层通过服务标注SMa进行连接和映射。应用层需维护自身应用的数据,如投票人信息、受评人信息、投票结果等,这数据均存储在应用系统对应持久层的数据源中,云投票层并不存储数据,以保障第三方应用的数据安全性。
本发明的有益效果主要表现在:该方法利用生物特征识别和交叉验证保证投票的合法性,利用移动终端搭载互联网实现投票的便捷和准确;利用数字签名保证投票过程的保密和可验证;利用云服务来有效提高软件的复用性和开发效率,如下:1.电子投票系统能够核实投票人的身份。2.投票人事后无法抵赖。3.电子投票无法伪造投票数据。4.投票人无需到达现场,不受时间和地理位置的限制。5.为第三方电子投票系统提供可复用的服务接口。
附图说明
图1是本发明的云投票框架图。
图2是本发明的框架数据流图。
图3是本发明的时序图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图3,一种基于生物特征交叉验证的云投票方法,包括以下步骤:
(1)应用系统TA标注
(1.1)应用系统TA通过服务标注SMa向云投票层标注需要使用的云投票层服务。云投票层的服务如图1所示包含3个大模块,分别是验证模块,图像处理模块和投票模块。
(1.2)TA通过服务标注SMa向云投票层标注自身提供服务的调用地址。TA必须提供三个服务的调用地址且必须是REST服务形式,分别是受评人服务,投票人服务,投票结果服务。受评人服务会由云投票层SS_T的受评人模块调用,投票人服务会由云投票层SS_T的投票人模块调用,投票结果服务会有云投票层SS_T的实时推送模块调用。
(1.3)云投票层通过服务标注SMa接收TA标注的信息并对标注的信息的有效性进行验证,有效性包括TA所需要的服务是否存在以及TA提供的服务是否完整。若验证通过,则通知TA标注成功,并返回标注码TACode,并进行图像处理模块初始化。若验证失败,则返回错误信息。
(2)图像处理模块初始化
(2.1)TA服务标注成功后,云投票层的图像处理模块即调用TA的投票人服务获取投票人信息,提取IPD。图像处理模块得到IDP后对其中的<T_pici>进行图像预处理与特征提取,得到的特征为<T_characi>,组成IDC并调用TA的投票人服务将IDC存入TA对应的持久层。
(3)用户层路由映射
(3.1)用户层通过服务路由SRe向云投票层调用服务,用户层必须携带TACode,该TACode表示该用户需要路由到的TA。
(3.2)服务路由SRe通过TACode在服务标注SMa中映射对应的TA,若映射成功则通知用户层映射成功,进行接用户层验证。若映射失败则结束。
用户层路由映射成功后,用户即可进行投票。投票过程中,用户层通过Web服务的方式调用云投票层封装的REST服务,投票人发出的所有请求都会被验证模块SS_V拦截,验证模块SS_V对发起请求的用户进行身份和权限认证,在该验证过程中会调用核心服务层的图像处理模块并调用TAi的Web服务获得持久层数据TIN,若验证通过再将请求转发至投票模块SS_T,投票模块SS_T的业务逻辑组件在完成其功能的过程中,会调用TAi的Web服务获取持久层的数据SIN和TR并进行交互。
(4)用户防伪造验证
(4.1)用户层映射成功后,自动启动设备摄像头,投票人选择进行拍摄或者退出使用的客户端。投票人无法从本地相册中选取照片。照片拍摄会在一秒之内拍摄三张,组成照片组VT,投票人选择是否上传VT,若选择不上传,则重新进行拍摄
(4.2)投票人选择上传VT后,用户层通过服务路由SRe调用云投票层封装的REST服务apFaceVerification(),该方法向云投票层发起人脸验证请求,云投票层SS_V模块收到请求后获取VT,调用faceVerification()进行人脸验证,faceVerfication()会调用云投票层SS_G模块的图像差值匹配对VT进行验证,防止投票人使用合法投票人的照片伪造合法身份。
(4.2.1)云投票层SS_G模块的图像差值匹配会调用calHSV()计算照片的HSV,通过调用hasBrightSpot()来检查局部亮点,以此来判断是否使用了照片进行伪造。若有局部亮点,则云投票层判定非正常情况,验证失败。若验证成功,则进行RGB差值计算。
(4.2.2)云投票层SS_G模块的图像差值匹配调用calRGB()计算照片的RGB,将三张照片的RGB做差值运算。差值运算若结果若为零,则表示三张照片完全一样,云投票层判定非正常情况,验证失败,否则,验证通过。
(5)用户人脸特征验证
(5.1)VT验证通过后,云投票层SS_V模块随机抽取照片组V3的一张照片,调用云投票层SS_G模块的getCharac()进行预处理并提取特征T_characi。
(5.2)云投票层SS_T使用提取的特征T_characi调用getTId(),该方法会通过服务标注SMa调用TA封装的REST服务,该服务会在持久层中查找对应的IDC。若没有找到,表示该投票人不是合法的投票人。若能找到则返回给云投票层的SS_T。
(6)生成并发送投票码
(6.1)若能成功查找到IDC,就唯一确定了,投票人T_idi,云投票层SS_T的投票码模块调用generateTCode()为T_idi生成投票码T_codei,组成ICC。
(6.2)云投票层SS_T模块调用sendTCode(),sendTCode()通过T_idi在单元信息对象DPM中查找对应的T_maili,将T_codei以邮件形式发送至T_maili。
(7)用户层登陆验证
(7.1)用户层的投票人在进行登录时需要输入从邮箱获取的投票码T_codei,并且拍摄一张人脸照片T_pici,用户层的客户端会自动从客户端系统中获取T_UUIDi,生成登录验证对象IPD,通过服务路由SRe调用云投票层的REST服务apLogin()提交登陆请求。UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。
(7.2)云投票层SS_V模块调用getIPD()获取T_pici,并且调用SS_G进行图像预处理与特征提取,得到图像特征T_characi。调用isMatching(),isMathcing()通过用户提交的T_codei与得到的T_characi在ICC中查找对应的T_idi,若找到,则表示投票人合法,调用generateICU()将T_UUIDi加入到合法UUID队列,生成ICU。
T_UUIDi加入到合法UUID队列后,在之后的流程中,投票人请求查看受评人信息和提交选票都自动提交发出请求的客户端的UUID,SS_V进行查询合法性验证时从ICU队列中查找匹配的UUID,若存在,表示合法。
(8)获取受评人信息
(8.1)用户登录验证通过后,云投票层SS_V调用getAppraiseeInfo()向SS_T请求受评人信息。
(8.2)云投票层SS_T通过REST服务通过服务路由SRe找到对应的应用系统TA,使用REST方式调用TA的受评人服务获取受评人信息,成功获取后通过回调函数sendAppraiseeInfo()将受评人信息发送给用户层。
(8.3)用户层调用bowerAppraiseeInfo()获取并显示受评人信息
(9)提交选票数据
(9.1)用户层的投票人在浏览受评人信息后进行投票,投票完成后用户层调用commitVote()提交选票数据。
(9.2)选票数据首先会经过云投票层的SS_V模块进行选票有效性验证,SS_V通过getVote()获取选票数据,并且进行UUID的合法性验证。若是合法用户,则调用云投票层的SS_T模块进行选票的统计,否则,选票废弃。
(9.3)云投票SS_V模块通过getVoteInfo()将选票数据发送给SS_T模块,SS_T模块对选票数据进行统计。
(10)选票持久化
(10.1)云投票层SS_T的计票模块在完成选票统计后为了抗抵赖和保密性,调用blindVoteEncryption()对提交选票的投票人的ICU进行数字签名。
(10.2)通过服务标注SMa找到对应的应用系统TA,调用TA的投票结果服务将选票数据持久化至持久层。
(11)投票结果公示
(11.1)云投票层SS_T通过服务路由SRe和服务标注SMa将用户层投票人与应用系统TA映射,通过调用TA的投票结果服务获取投票结果,并通过数字签名查看投票结果是否被篡改。若结果正常则调用pushResult()方法将数据发送至对应的用户层投票人。
(11.2)用户层投票人通过bowerResult()查看投票结果。
本实施例中,本发明的客户端终端可以是电脑,平板或移动设备。云服务器的服务主要分为三个模块,每个模块包含多个组件,这些组件均以Web服务的方式部署。客户端通过REST方式调用云服务器的组件,云服务器的SRe将客户端映射至对应的TAi上。TAi通过SMa进行注册,注册内容有TAi所需要的云端服务,TAi提供的数据服务,这些数据服务可由云端通过REST方式调用。云服务器的云服务属于公有云,但其只进行服务路由、数据处理以及数据过滤,不保存数据,数据只存储于TAi对应的私有数据源中,因此应用层需维护自身应用的数据,如投票人信息、受评人信息、投票结果等,这些数据均存储在TAi对应持久层的数据源中,云服务器并不存储数据,以保障第三方应用的数据安全性。
根据生物特征具有唯一性,不可复制,信息采集方便等特点,本方法结合了生物特征提取和图像差值匹配技术以提高电子投票的合法性验证,并在此基础上,运用交叉验证和数字签名技术以保证投票的保密性和防抵赖性。本方法客户端适用于移动智能终端,在保证投票过程安全保密的同时,投票人不再受时间和地理位置的限制,只需要一部能够接入互联网或移动通讯网的移动终端即可进行投票。方法通过云服务的封装和调用以实现组件复用,用户层、云服务器和应用层之间均以REST服务方式交互调用,将共享的计算资源按需提供给对方。通过这种方式能有效提高投票软件的复用性和开发效率,提高软件的开发质量,增强软件的可维护性。
本发明的云投票框架,如图1所示,最上层为用户层,用户层可以是移动终端用户、平板用户或其他用户,用户层通过服务路由接入云投票层。在用户层之下的是云投票层,云投票层是云投票框架的核心,它主要提供了标准化的服务和基础的计算资源。核心服务层主要分为三个模块,每个模块包含多个组件。首先是验证模块,其主要功能是拦截客户端发送的所有请求,认证客户端的操作权限和身份,包含人脸验证,登录请求验证,选票有效性验证,查询合法性验证。其次是图像处理模块,用来对图像进行处理,识别和特征提取。最后是投票服务模块,其主要功能是处理投票过程中的业务逻辑,包括计票,投票码管理,受评人管理,投票人管理,实时推送。应用层可调用云服务层中投票所需的全部功能模块,并向云服务层提供数据服务,如投票人数据服务,受评人数据服务,投票结果数据服务。应用层需维护自身应用的数据,如投票人信息、受评人信息、投票结果等,这数据均存储在应用系统对应持久层的数据源中,云投票层并不存储数据,以保障第三方应用的数据安全性。
该方法包括一组表示数组元组、环境、任务的上下文信息,下面对这些信息做定义。
定义1 T_id={T_idi}
T_id表示投票人。
定义2 IDP={T_idi,T_pici}。
IDP表示投票人与照片映射元组。T_idi唯一表示一个投票人,T_pici为应用预留的T_idi的人脸照片。
定义3 IDC={T_idi,T_characi}。
IDC表示投票人与人脸特征的映射元组。T_idi唯一表示一个投票人,T_characi为T_pici提取得到的特征串。
定义4 DPM={T_idi,T_pici,T_maili}。
DPM为单元信息对象,是对一个投票人数据集合的抽象。T_idi,T_pici,T_maili分别表示投票人T_id的ID,照片,邮箱。
定义5 ICC={T_idi,T_characi,T_codei}。
ICC表示投票人、人脸特征、投票码的映射元组。T_idi唯一表示一个投票人,T_characi为IDP关联T_pici提取得到的特征串,T_codei为投票模块发送至T_idi关联DPM的T_maili的投票码。
定义6 ICU={T_idi,T_codei,T_UUIDi}。
ICU表示投票人、投票码、用户设备唯一标识的映射元组。T_idi唯一表示一个投票人,T_codei为投票模块发送至T_idi关联DPM的T_maili的投票码,T_UUIDi表示合法T_idi所使用的客户端设备。
定义7 IPD={T_UUIDi,T_pic,T_codei}。
IPD表示用户设备唯一标识、人脸照片、投票码的映射元组。T_UUIDi唯一表示一个客户端设备,T_pici为客户端拍摄的人脸照片,T_codei为投票人填写的投票码。
定义8 VT={V1_pici1,V1_pici2,V1_pici3}。
VT为照片组。照片组用来防止投票人通过照片来伪造投票人进行合法性验证。V1_pici1,V1_pici2,V1_pici3表示一秒内拍摄的三张照片。
定义9 SS={SS_G,SS_T,SS_V}。
SS表示云服务器。云服务器SS有三个子模块,分别是图像处理子模块SS_G、投票子模块SS_T、验证子模块SS_V。
定义10 TIN={T_idi,T_pici,T_characi,T_maili,T_codei,T_UUIDi}
TIN表示投票人信息。投票人信息TIN包含投票人拥有的所有信息。T_idi唯一表示一个投票人,T_pici表示投票人的照片,T_characi为投票人人脸的特征,T_maili为投票人的邮箱,T_codei为投票人收到的投票码,T_UUIDi表示投票人使用的设备的唯一标识
定义11 SIN={S_idi,S_namei,S_infoi}。
SIN表示受评人信息。受评人信息包含受评人拥有的所有信息,其中S_idi唯一表示一个受评人,S_namei表示受评人的信息,S_infoi为受评人评审信息。
定义12 TR={S_idi,Tr_sp,Tr_rj}
TR表示投票结果。投票结果TR用来表示某一受评人的投票结果,其中S_idi表示受评人,Tr_sp表示评审通过的数量,Tr_rj表示评审不通过的数量。
定义13 TA={TAi}
TA表示应用系统。投票方法中,特定的应用程序TAi表示
定义14 SRe={Request1,Request2,….Requesti}
SRe为服务路由。服务路由是用户层与云投票服务的数据传输管道和调用接口,同时负责服务的路由。用户层通过服务路由调用云服务器封装的Web服务,而服务路由会将用户层的请求Requesti路由到指定TAi定制的Web服务上。
定义15 SMa={TA1,TA2,….TAi}
SMa为服务标注。服务标注是应用层与云服务器的数据传输管道和调用接口。所有的TAi都需要通过服务标注对自身的服务进行标注,TAi进行标注后,用户层在调用云服务器的Web服务时,服务路由通过查询服务标注路由到指定的TAi。
本发明提供了一种基于该方法的系统,以该系统为例说明,该系统通过调用云投票层的云服务来实现软件开发,如人脸验证,计票统计,实时推送等。该系统预先将进行投票的投票人单元信息对象DPM录入对应的数据源中,提取IDP后将T_pici进行图像预处理与特征提取,得到IDC。客户端在进行登录之前需要先进行人脸验证,开启摄像头进行人脸验证。该人脸验证通过局部亮度检测和图像差值匹配防止投票人使用照片伪造合法投票人。照片拍摄后,通过点击人脸验证进行提交验证。若其差值匹配的结果为true,并返回投票人通过人脸验证。人脸验证通过后,云投票系统将投票码发至对应单元信息对象DPM的邮箱。云投票层的云服务属于公有云,但其只进行服务路由、数据处理以及数据过滤,不保存数据,数据只存储于TAi对应的私有数据源中。
若投票人使用合法投票人的照片进行伪造验证,其验证结果会是图像局部亮度检测验证不通过或差值验证不通过,只要局部亮度和差值有一个不通过结果即为不通过,因此此次验证不通过。结果表明该云投票框架使用的算法能够有效识别出伪造照片。
登录时客户端需提交登录验证对象IPD,以REST服务的方式提交给云投票层,其中UUID由客户端系统自动获取,前置摄像头获取T_pici,T_codei由投票人填写。
登录验证通过后,客户端获取受评人信息并进行投票,用户需要输入投票码,点击登录进行特征匹配和投票码匹配,均匹配则登录验证通过,投票人开始进行投票。投票完成后,云投票层接受数据并且验证UUID,若验证通过将数据的数字签名和结果以REST服务方式提交给TAi,TAi将数据持久化后,客户端可查看实时投票结果。若验证失败则作废票处理。
Claims (4)
1.一种基于生物特征交叉验证的云投票方法,其特征在于:该云投票方法包括以下步骤:
(1)应用系统TA标注
(1.1)应用系统TA通过服务标注SMa向云投票层标注需要使用的云投票层服务;
(1.2)TA通过服务标注SMa向云投票层标注自身提供服务的调用地址,TA必须提供三个服务的调用地址且必须是REST服务形式,分别是受评人服务,投票人服务,投票结果服务;
(1.3)云投票层通过服务标注SMa接收TA标注的信息并对标注的信息的有效性进行验证,有效性包括TA所需要的服务是否存在以及TA提供的服务是否完整;若验证通过,则通知TA标注成功,并返回标注码TACode,并进行图像处理模块初始化,若验证失败,则返回错误信息;
(2)图像处理模块初始化
(2.1)TA服务标注成功后,云投票层的图像处理模块即调用TA的投票人服务获取投票人信息,提取用户设备唯一标识、人脸照片、投票码的映射元组IPD;图像处理模块得到IDP后对其中的<T_pici>进行图像预处理与特征提取,得到的特征为<T_characi>,组成IDC并调用TA的投票人服务将IDC存入TA对应的持久层;
IDP={T_idi,T_pici},IDP表示投票人与照片映射元组,T_idi唯一表示一个投票人,T_pici为应用预留的T_idi的人脸照片;IDC={T_idi,T_characi},IDC表示投票人与人脸特征的映射元组,T_characi为T_pici提取得到的特征串;
(3)用户层路由映射
(3.1)用户层通过服务路由SRe向云投票层调用服务,用户层必须携带TACode,该TACode表示该用户需要路由到的TA;
(3.2)服务路由SRe通过TACode在服务标注SMa中映射对应的TA,若映射成功则通知用户层映射成功,进行接用户层验证,若映射失败则结束;
用户层路由映射成功后,用户即可进行投票,投票过程中,用户层通过Web服务的方式调用云投票层封装的REST服务,投票人发出的所有请求都会被验证模块SS_V拦截,验证模块SS_V对发起请求的用户进行身份和权限认证,在该验证过程中会调用核心服务层的图像处理模块并调用TAi的Web服务获得持久层数据TIN,若验证通过再将请求转发至投票模块SS_T,投票模块SS_T的业务逻辑组件在完成其功能的过程中,会调用TAi的Web服务获取持久层的数据SIN和TR并进行交互;
TA={TAi},TA表示应用系统,投票方法中,特定的应用程序用TAi表示;TIN={T_idi,T_pici,T_characi,T_maili,T_codei,T_UUIDi},TIN表示投票人信息,投票人信息TIN包含投票人拥有的所有信息;T_maili为投票人的邮箱,T_codei为投票人收到的投票码,T_UUIDi表示投票人使用的设备的唯一标识;SIN={S_idi,S_namei,S_infoi},SIN表示受评人信息,受评人信息包含受评人拥有的所有信息,其中S_idi唯一表示一个受评人,S_namei表示受评人的信息,S_infoi为受评人评审信息;TR={S_idi,Tr_sp,Tr_rj},TR表示投票结果,投票结果TR用来表示某一受评人的投票结果,其中S_idi表示受评人,Tr_sp表示评审通过的数量,Tr_rj表示评审不通过的数量;
(4)用户防伪造验证
(4.1)用户层映射成功后,自动启动设备摄像头,投票人选择进行拍摄或者退出使用的客户端,投票人无法从本地相册中选取照片,照片拍摄会在一秒之内拍摄三张,组成照片组VT,投票人选择是否上传VT,若选择不上传,则重新进行拍摄;
(4.2)投票人选择上传VT后,用户层通过服务路由SRe调用云投票层封装的REST服务apFaceVerification(),该方法向云投票层发起人脸验证请求,云投票层SS_V模块收到请求后获取VT,调用faceVerification()进行人脸验证,faceVerfication()会调用云投票层SS_G模块的图像差值匹配对VT进行验证;
(4.2.1)云投票层SS_G模块的图像差值匹配会调用calHSV()计算照片的HSV,通过调用hasBrightSpot()来检查局部亮点,若有局部亮点,则云投票层判定非正常情况,验证失败;若验证成功,则进行RGB差值计算;
(4.2.2)云投票层SS_G模块的图像差值匹配调用calRGB()计算照片的RGB,将三张照片的RGB做差值运算,差值运算若结果若为零,则表示三张照片完全一样,云投票层判定非正常情况,验证失败,否则,验证通过;
(5)用户人脸特征验证
(5.1)VT验证通过后,云投票层SS_V模块随机抽取照片组VT的一张照片,调用云投票层SS_G模块的getCharac()进行预处理并提取特征T_characi;
(5.2)云投票层SS_T使用提取的特征T_characi调用getTId(),该方法会通过服务标注SMa调用TA封装的REST服务,该服务会在持久层中查找对应的IDC;若没有找到,表示该投票人不是合法的投票人,若能找到则返回给云投票层的SS_T;
(6)生成并发送投票码
(6.1)若能成功查找到IDC,就唯一确定投票人T_idi,云投票层SS_T的投票码模块调用generateTCode()为T_idi生成投票码T_codei,组成ICC;ICC={T_idi,T_characi,T_codei},ICC表示投票人、人脸特征、投票码的映射元组;T_idi唯一表示一个投票人,T_characi为T_pici提取得到的特征串,T_codei为投票模块发送至T_idi关联DPM的T_maili的投票码;
(6.2)云投票层SS_T模块调用sendTCode(),sendTCode()通过T_idi在单元信息对象DPM中查找对应的T_maili,将T_codei以邮件形式发送至T_maili;T_maili表示投票人T_id的邮箱;
(7)用户层登陆验证
(7.1)用户层的投票人在进行登录时需要输入从邮箱获取的投票码T_codei,并且拍摄一张人脸照片T_pici,用户层的客户端会自动从客户端系统中获取T_UUIDi,T_UUIDi表示合法T_idi所使用的客户端设备,生成用户设备唯一标识、人脸照片、投票码的映射元组IPD,通过服务路由SRe调用云投票层的REST服务apLogin()提交登陆请求;UUID是指在一台机器上生成的数字;
(7.2)云投票层SS_V模块调用getIPD()获取T_pici,并且调用SS_G进行图像预处理与特征提取,得到图像特征T_characi;调用isMatching(),isMathcing()通过用户提交的T_codei与得到的T_characi在ICC中查找对应的T_idi,若找到,则表示投票人合法,调用generateICU()将T_UUIDi加入到合法UUID队列,生成ICU;ICU={T_idi,T_codei,T_UUIDi},ICU表示投票人、投票码、用户设备唯一标识的映射元组;T_idi唯一表示一个投票人,T_codei为投票模块发送至T_idi关联DPM的T_maili的投票码,T_UUIDi表示合法T_idi所使用的客户端设备;
T_UUIDi加入到合法UUID队列后,在之后的流程中,投票人请求查看受评人信息和提交选票都自动提交发出请求的客户端的UUID,SS_V进行查询合法性验证时从ICU队列中查找匹配的UUID,若存在,表示合法;
(8)获取受评人信息
(8.1)用户登录验证通过后,云投票层SS_V调用getAppraiseeInfo()向SS_T请求受评人信息;
(8.2)云投票层SS_T通过REST服务通过服务路由SRe找到对应的应用系统 TA,使用REST方式调用TA的受评人服务获取受评人信息,成功获取后通过回调函数sendAppraiseeInfo()将受评人信息发送给用户层;
(8.3)用户层调用bowerAppraiseeInfo()获取并显示受评人信息;
(9)提交选票数据
(9.1)用户层的投票人在浏览受评人信息后进行投票,投票完成后用户层调用commitVote()提交选票数据;
(9.2)选票数据首先会经过云投票层的SS_V模块进行选票有效性验证,SS_V通过getVote()获取选票数据,并且进行UUID的合法性验证;若是合法用户,则调用云投票层的SS_T模块进行选票的统计,否则,选票废弃;
(9.3)云投票SS_V模块通过getVoteInfo()将选票数据发送给SS_T模块,SS_T模块对选票数据进行统计。
2.如权利要求1所述的一种基于生物特征交叉验证的云投票方法,其特征在于:所述云投票方法还包括以下步骤:(10)选票持久化
(10.1)云投票层SS_T的计票模块在完成选票统计后为了抗抵赖和保密性,调用blindVoteEncryption()对提交选票的投票人的ICU进行数字签名;
(10.2)通过服务标注SMa找到对应的应用系统TA,调用TA的投票结果服务将选票数据持久化至持久层。
3.如权利要求2所述的一种基于生物特征交叉验证的云投票方法,其特征在于:所述云投票方法还包括以下步骤:(11)投票结果公示
(11.1)云投票层SS_T通过服务路由SRe和服务标注SMa将用户层投票人与应用系统TA映射,通过调用TA的投票结果服务获取投票结果,并通过数字签名查看投票结果是否被篡改;若结果正常则调用pushResult()方法将数据发送至对应的用户层投票人;
(11.2)用户层投票人通过bowerResult()查看投票结果。
4.如权利要求1~3之一所述的一种基于生物特征交叉验证的云投票方法,其特征在于:所述步骤(1.2)中,受评人服务会由云投票层SS_T的受评人模块调用,投票人服务会由云投票层SS_T的投票人模块调用,投票结果服务会有云投票层SS_T的实时推送模块调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510957077.2A CN105391743B (zh) | 2015-12-18 | 2015-12-18 | 一种基于生物特征交叉验证的云投票方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510957077.2A CN105391743B (zh) | 2015-12-18 | 2015-12-18 | 一种基于生物特征交叉验证的云投票方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105391743A CN105391743A (zh) | 2016-03-09 |
CN105391743B true CN105391743B (zh) | 2018-03-02 |
Family
ID=55423578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510957077.2A Active CN105391743B (zh) | 2015-12-18 | 2015-12-18 | 一种基于生物特征交叉验证的云投票方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105391743B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107833345A (zh) * | 2017-11-06 | 2018-03-23 | 东信和平科技股份有限公司 | 一种物业管理电子投票的方法及系统 |
CN108280921A (zh) * | 2018-01-31 | 2018-07-13 | 合肥诺优信息科技有限公司 | 电子投票方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7197167B2 (en) * | 2001-08-02 | 2007-03-27 | Avante International Technology, Inc. | Registration apparatus and method, as for voting |
CN102568074B (zh) * | 2012-01-16 | 2014-07-02 | 浙江工业大学 | 一种局域化抗否认电子投票控制方法 |
-
2015
- 2015-12-18 CN CN201510957077.2A patent/CN105391743B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105391743A (zh) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11967186B1 (en) | Blockchain-based election system | |
CN109120597B (zh) | 身份校验、登录方法、装置及计算机设备 | |
CN104392534B (zh) | 一种基于手指静脉特征识别的电子投票方法和装置 | |
US20190019366A1 (en) | System and method of determining ballots of voters collected with the aid of electronic balloting | |
CN104993937B (zh) | 一种用于云存储数据完整性的检验方法 | |
CN105164689B (zh) | 用户认证系统及方法 | |
CN109583184A (zh) | 身份验证方法及装置和电子设备 | |
CN107025397B (zh) | 身份信息的获取方法和装置 | |
CN105225328B (zh) | 基于人脸特征识别的移动终端电子投票方法及系统 | |
CN106060097B (zh) | 一种信息安全竞赛的管理系统及管理方法 | |
CN103679436A (zh) | 一种基于生物信息识别的电子合同保全系统和方法 | |
CN106416189A (zh) | 用于改进的认证的系统、设备和方法 | |
CN105868596B (zh) | 身份实名认证的方法和装置 | |
WO2005076782A2 (en) | Use of public switched telephone network for capturing electronic signatures in on-line transactions | |
CN112789823A (zh) | 基于区块链的竞选网络系统及竞选方法 | |
CN110060403A (zh) | 基于区块链的一人多票电子投票方法及系统 | |
CN108898728A (zh) | 智能交互设备及其投票方法、装置和系统 | |
CN110011998A (zh) | 一种基于身份的多备份远程数据持有验证方法 | |
CN105391743B (zh) | 一种基于生物特征交叉验证的云投票方法 | |
CN113239335A (zh) | 一种基于Baas的区块链人事信息管理系统和方法 | |
US11087578B2 (en) | Voting booth, system, and methods of making and using same | |
US10686777B2 (en) | Method for establishing protected electronic communication, secure transfer and processing of information among three or more subjects | |
CN107135076A (zh) | 一种无可信第三方的参与式感知激励机制实现方法 | |
CN101841549B (zh) | 基于真实地址的可信任bbs地址验证方法 | |
CN111931230A (zh) | 数据授权方法和装置、存储介质和电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |