一种可信数字身份认证方法、***、设备及介质
技术领域
本发明涉及安全认证技术领域,特别指一种可信数字身份认证方法、***、设备及介质。
背景技术
二维码又称二维条码,二维码是一种数据信息的图像编码和表现形式,是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息。因为二维码可以携带较多数据、较多类型的数据,近几年来成为移动设备上主流的一种编码方式,由此也发展出了网证二维码(电子身份证),为人们的生活提供了极大的便利。
然而,由于二维码以图像的形态展现,从基本原理上来说,既不能阻止攻击者通过复制的方式对二维码进行盗用,也不能防止掌握了二维码编码原理的攻击者自己生成和改造二维码,使得二维码在使用过程中存在安全隐患。
因此,如何提供一种可信数字身份认证方法、***、设备及介质,实现提升通过网证二维码进行身份验证的可靠性,成为一个亟待解决的问题。
发明内容
本发明要解决的技术问题,在于提供一种可信数字身份认证方法、***、设备及介质,实现提升通过网证二维码进行身份验证的可靠性。
第一方面,本发明提供了一种可信数字身份认证方法,包括如下步骤:
步骤S10、扫描用户出示的网证二维码,并对所述网证二维码进行核验,生成网证二维码核验结果;
步骤S20、依据所述网证二维码核验结果,采集用户的活体人像,并对所述活体人像进行核验,生成活体人像核验结果;
步骤S30、依据所述活体人像核验结果输出身份证的二项信息。
进一步地,所述步骤S10具体包括:
步骤S11、扫描用户出示的网证二维码;
步骤S12、利用预先存储的发码方生成的公钥对网证二维码进行验签,若验签成功,生成待签名数据以及第一哈希值,并进入步骤S13;若验签失败,则予以提示后退出流程;
步骤S13、对所述待签名数据进行哈希计算得到第二哈希值,并对所述第一哈希值以及第二哈希值进行比较,若比较结果一致,则进入步骤S14;若比较结果不一致,则予以提示后退出流程;
步骤S14、提取待签名数据中的时间戳以及有效期,并计算当前的时间至时间戳的间隔是否超过有效期,若未超过,则判定所述网证二维码为有效码,且确定所述网站二维码由发码方发出、未被篡改,生成网证二维码核验成功的核验结果,进入步骤S20;若超过,则判定所述网证二维码为无效码,予以提示后退出流程。
进一步地,所述步骤S20具体包括:
步骤S21、采集用户的活体人像;
步骤S22、将所述网证二维码以及活体人像发送给服务器,判断所述网证二维码与活体人像是否为同一人,并生成判断结果;
步骤S23、接收所述判断结果,若所述判断结果为是,则生成活体人像核验成功的核验结果,并进入步骤S30;若所述判断结果为否,则活体人像核验失败,予以提示后退出流程。
进一步地,所述步骤S30中,所述身份证的二项信息为姓名以及身份证号。
第二方面,本发明提供了一种可信数字身份认证***,包括如下模块:
网证二维码核验模块、用于扫描用户出示的网证二维码,并对所述网证二维码进行核验,生成网证二维码核验结果;
活体人像核验模块、用于依据所述网证二维码核验结果,采集用户的活体人像,并对所述活体人像进行核验,生成活体人像核验结果;
身份证信息输出模块、用于依据所述活体人像核验结果输出身份证的二项信息。
进一步地,所述网证二维码核验模块具体包括:
二维码扫描单元、用于扫描用户出示的网证二维码;
验签单元、用于利用预先存储的发码方生成的公钥对网证二维码进行验签,若验签成功,生成待签名数据以及第一哈希值,并进入数据核对单元;若验签失败,则予以提示后退出流程;
数据核对单元、用于对所述待签名数据进行哈希计算得到第二哈希值,并对所述第一哈希值以及第二哈希值进行比较,若比较结果一致,则进入有效期核对单元;若比较结果不一致,则予以提示后退出流程;
有效期核对单元、用于提取待签名数据中的时间戳以及有效期,并计算当前的时间至时间戳的间隔是否超过有效期,若未超过,则判定所述网证二维码为有效码,且确定所述网站二维码由发码方发出、未被篡改,生成网证二维码核验成功的核验结果,进入活体人像核验模块;若超过,则判定所述网证二维码为无效码,予以提示后退出流程。
进一步地,所述活体人像核验模块具体包括:
人像采集单元、用于采集用户的活体人像;
通讯单元、用于将所述网证二维码以及活体人像发送给服务器,判断所述网证二维码与活体人像是否为同一人,并生成判断结果;
结果核验单元、用于接收所述判断结果,若所述判断结果为是,则生成活体人像核验成功的核验结果,并进入身份证信息输出模块;若所述判断结果为否,则活体人像核验失败,予以提示后退出流程。
进一步地,所述身份证信息输出模块中,所述身份证的二项信息为姓名以及身份证号。
第三方面,本发明提供了一种可信数字身份认证设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,本发明提供了一种可信数字身份认证介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例提供的方法、***、设备和介质,通过对所述网证二维码以及活体人像进行核验,两者均核验通过时身份认证才成功,且所述网证二维码的核验包括验签、数据核对(哈希计算)以及有效期核对,极大的提升了通过网证二维码进行身份验证的可靠性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1是本发明实施例一中可信数字身份认证方法的流程图。
图2是本发明实施例二中可信数字身份认证***的结构示意图。
图3是本发明实施例三中可信数字身份认证设备的结构示意图。
图4是本发明实施例四中可信数字身份认证介质的结构示意图。
具体实施方式
本申请实施例通过提供一种可信数字身份认证方法、***、设备及介质,实现提升通过网证二维码进行身份验证的可靠性。
本申请实施例中的技术方案,总体思路如下:
普通的身份证读卡器在使用过程中容易造成卡面信息被盗用,网证二维码也容易被复制和改造,结合活体人像的识别和网证二维码的核验,且将识别与核验的密钥和算法包装成一个黑箱,即设置于所述***、设备及介质内,外部只能根据接口规范进行数据输入,调用密钥和算法生成认证结果后输出,外部无法对黑箱内部的密钥和算法进行窥测、窃取和破坏,提升身份验证可靠性的同时避免用户的信息泄漏。
实施例一
本实施例提供一种可信数字身份认证方法,如图1所示,包括如下步骤:
步骤S10、扫描用户出示的网证二维码,并对所述网证二维码进行核验,生成网证二维码核验结果;
步骤S20、依据所述网证二维码核验结果,采集用户的活体人像,并对所述活体人像进行核验,生成活体人像核验结果;用于判断是否为本人操作;
步骤S30、依据所述活体人像核验结果输出身份证的二项信息,身份证的二项信息输出可通过串口、USB或者其他有线方式。即所述网证二维码和活体人像要都核验成功,才会输出身份证的二项信息。
所述步骤S10具体包括:
步骤S11、扫描用户出示的网证二维码;
步骤S12、利用预先存储的发码方生成的公钥对网证二维码进行验签,若验签成功,生成待签名数据以及第一哈希值,并进入步骤S13;若验签失败,则予以提示后退出流程;
步骤S13、对所述待签名数据进行哈希计算得到第二哈希值,并对所述第一哈希值以及第二哈希值进行比较,若比较结果一致,则进入步骤S14;若比较结果不一致,则予以提示后退出流程;
步骤S14、提取待签名数据中的时间戳以及有效期,并计算当前的时间至时间戳的间隔是否超过有效期,若未超过,则判定所述网证二维码为有效码,且确定所述网站二维码由发码方发出、未被篡改,生成网证二维码核验成功的核验结果,进入步骤S20;若超过,则判定所述网证二维码为无效码,予以提示后退出流程。通过对网证二维码的有效期进行核验,防止网证二维码被重放攻击以及滥用;重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗***的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。重放攻击在任何网络通过程中都可能发生,是计算机世界黑客常用的攻击方式之一。
所述网证二维码的生成过程如下:
发码方将原始数据加上一时间戳以及一有效期后生成一待签名数据;发码方对待签名数据进行哈希计算得到第一哈希值(hash值);发码方随机生成一对公钥和私钥,并利用随机生成的私钥对待签名数据以及第一哈希值进行数字签名得到签名数据,并将签名数据生成带防伪技术的网证二维码。公钥加密的数据仅能由私钥进行解密,私钥加密的数据仅能由公钥进行解密。由于公钥可以离线存储,即使在离线的状态下也可以通过公钥对网证二维码进行核验,构成了一种有效的离线核验机制。
哈希值验证方法:对信息做哈希计算得到一个哈希值,这个过程是不可逆的,即无法通过哈希值得出原信息。把哈希值加密后做为一个签名和信息一起发给接收方。接收方在收到信息后对签名进行解密得到哈希值,并依据信息重新计算哈希值,并将接收到的哈希值和重新计算的哈希值进行对比,如果一致,就说明信息的内容没有被修改过;通过哈希计算得到固定长度的哈希值可以对待签名数据进行压缩映射。
所述步骤S20具体包括:
步骤S21、采集用户的活体人像;
步骤S22、将所述网证二维码以及活体人像发送给服务器,判断所述网证二维码与活体人像是否为同一人,并生成判断结果;也可以通过服务器预先存储的人像备份进行判断;所述服务器为CTID中心;
步骤S23、接收所述判断结果,若所述判断结果为是,则生成活体人像核验成功的核验结果,并进入步骤S30;若所述判断结果为否,则活体人像核验失败,予以提示后退出流程。
所述步骤S30中,所述身份证的二项信息为姓名以及身份证号。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的***,详见实施例二。
实施例二
本实施例提供一种可信数字身份认证***,如图2所示,包括如下模块:
网证二维码核验模块、用于扫描用户出示的网证二维码,并对所述网证二维码进行核验,生成网证二维码核验结果;
活体人像核验模块、用于依据所述网证二维码核验结果,采集用户的活体人像,并对所述活体人像进行核验,生成活体人像核验结果;用于判断是否为本人操作;
身份证信息输出模块、用于依据所述活体人像核验结果输出身份证的二项信息,身份证的二项信息输出可通过串口、USB或者其他有线方式。即所述网证二维码和活体人像要都核验成功,才会输出身份证的二项信息。
所述网证二维码核验模块具体包括:
二维码扫描单元、用于扫描用户出示的网证二维码;
验签单元、用于利用预先存储的发码方生成的公钥对网证二维码进行验签,若验签成功,生成待签名数据以及第一哈希值,并进入数据核对单元;若验签失败,则予以提示后退出流程;
数据核对单元、用于对所述待签名数据进行哈希计算得到第二哈希值,并对所述第一哈希值以及第二哈希值进行比较,若比较结果一致,则进入有效期核对单元;若比较结果不一致,则予以提示后退出流程;
有效期核对单元、用于提取待签名数据中的时间戳以及有效期,并计算当前的时间至时间戳的间隔是否超过有效期,若未超过,则判定所述网证二维码为有效码,且确定所述网站二维码由发码方发出、未被篡改,生成网证二维码核验成功的核验结果,进入活体人像核验模块;若超过,则判定所述网证二维码为无效码,予以提示后退出流程。通过对网证二维码的有效期进行核验,防止网证二维码被重放攻击以及滥用;重放攻击(ReplayAttacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗***的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。重放攻击在任何网络通过程中都可能发生,是计算机世界黑客常用的攻击方式之一。
所述网证二维码的生成过程如下:
发码方将原始数据加上一时间戳以及一有效期后生成一待签名数据;发码方对待签名数据进行哈希计算得到第一哈希值(hash值);发码方随机生成一对公钥和私钥,并利用随机生成的私钥对待签名数据以及第一哈希值进行数字签名得到签名数据,并将签名数据生成带防伪技术的网证二维码。公钥加密的数据仅能由私钥进行解密,私钥加密的数据仅能由公钥进行解密。由于公钥可以离线存储,即使在离线的状态下也可以通过公钥对网证二维码进行核验,构成了一种有效的离线核验机制。
哈希值验证方法:对信息做哈希计算得到一个哈希值,这个过程是不可逆的,即无法通过哈希值得出原信息。把哈希值加密后做为一个签名和信息一起发给接收方。接收方在收到信息后对签名进行解密得到哈希值,并依据信息重新计算哈希值,并将接收到的哈希值和重新计算的哈希值进行对比,如果一致,就说明信息的内容没有被修改过;通过哈希计算得到固定长度的哈希值可以对待签名数据进行压缩映射。
所述活体人像核验模块具体包括:
人像采集单元、用于采集用户的活体人像;
通讯单元、用于将所述网证二维码以及活体人像发送给服务器,判断所述网证二维码与活体人像是否为同一人,并生成判断结果;也可以通过服务器预先存储的人像备份进行判断;所述服务器为CTID中心;
结果核验单元、用于接收所述判断结果,若所述判断结果为是,则生成活体人像核验成功的核验结果,并进入身份证信息输出模块;若所述判断结果为否,则活体人像核验失败,予以提示后退出流程。
所述身份证信息输出模块中,所述身份证的二项信息为姓名以及身份证号。
由于本发明实施例二所介绍的***,为实施本发明实施例一的方法所采用的***,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该***的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的***都属于本发明所欲保护的范围。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的设备,详见实施例三。
实施例三
本实施例提供一种可信数字身份认证设备,如图3所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的设备的具体实施方式以及其各种变化形式,所以在此对于该设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的介质,详见实施例四。
实施例四
本实施例提供一种可信数字身份认证介质,如图4所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:本申请实施例提供的方法、装置、***、设备及介质,通过对所述网证二维码以及活体人像进行核验,两者均核验通过时身份认证才成功,且所述网证二维码的核验包括验签、数据核对(哈希计算)以及有效期核对,极大的提升了通过网证二维码进行身份验证的可靠性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。