本发明涉及数据处理技术领域,尤其涉及一种网证数据的生成方法及系统。
背景技术:
现有的生成网证的主要技术是通过包含公民信息的特殊字符串的加密生成。通常情况下,现有的网证生成逻辑为:首先,将公民的姓名和身份号码拼接后进行md5得出散列;然后,网证管理编号与公民基本信息进行aes加密,并使用md5进行散列摘要;最后,将网证管理编号、公民信息与摘要按顺序拼接,从而生成现有的网证。
但是,现有技术生成的网证携带了公民信息,在使用过程中不断传播,而md5哈希已经被破解,容易泄漏公民的身份信息;同时,在使用的过程中,因为网证信息缺少了公民的特征信息,无法保证使用者与网证为同一个人,所以现有技术生成的网证存在以下几个缺点:
(1)公民信息容易泄漏;
(2)数据传输过程不安全;
(3)无法保证人证统一。
技术实现要素:
本发明实施例的目的是提供一种网证数据的生成方法,不仅能够判断网证数据是否为本人,还能有效地提高了网证数据的复杂程度,避免网证数据被不法分子暴力破解,从而保证了网证数据在数据传输时的安全性。
为实现上述目的,本发明实施例提供了一种网证数据的生成方法,包括以下步骤:
获取待验证身份的用户的个人身份信息,对所述待验证身份的用户的个人身份信息进行验证,以核验所述待验证身份的用户是否为本人;
在所述待验证身份的用户成功通过核验后,根据该完成身份验证的用户的个人身份信息,采用多种加密技术生成可替代该用户明文信息的网证根;
当完成身份验证的用户通过第一应用接入时,获取所述第一应用id和所述完成身份验证的用户的个人身份信息,根据所述完成身份验证的用户的个人身份信息找到对应的网证根,并根据该网证根和所述第一应用id,采用多种加密技术生成可在所述第一应用证明个人身份的网证标识。
进一步的,所述多种加密技术包括sm3、sm2、散列以及组合的加密技术。
进一步的,所述个人身份信息包括社会属性信息和自然属性信息;
所述社会属性信息包括身份证号码、法定证件号码以及法定证件本体信息;
所述自然属性信息包括面部特征、指纹特征以及虹膜特征。
进一步的,所述采用多种加密技术生成可替代该用户明文信息的网证根,具体为:
将用户的社会属性信息、自然属性信息以及第一管理字段,通过sm3加密技术散列生成网证根身份信息散列值;其中,所述第一管理字段包括随机数和随机分配的网证根编号;
将随机分配的网证根编号、所述网证根身份信息散列值、系统版本号、法定证件信息以及创建时间,通过sm2加密技术进行私钥签名生成第一签名值数据信息;
将随机分配的网证根编号、所述网证根身份信息散列值、系统版本号、法定证件信息、创建时间以及第一签名值数据信息,进行组合生成第一字符串并作为用户的网证根。
进一步的,所述根据该网证根和所述第一应用id,采用多种加密技术生成可在所述第一应用证明个人身份的网证标识,具体为:
将用户的网证根和第二管理字段,通过sm3加密技术散列生成网证标识身份信息散列值;
将随机分配的网证标识编号、所述网证标识身份信息散列值、系统版本号、法定证件信息以及创建时间,通过sm2加密技术进行私钥签名生成第二签名值数据信息;
将随机分配的网证根编号、所述网证标识身份信息散列值、系统版本号、法定证件信息、创建时间以及第二签名值数据信息,进行组合生成第二字符串并作为用户的网证标识。
本发明实施例还提供了一种网证数据的生成系统,包括数据获取模块、网证根生成模块以及网证标识生成模块;
所述数据获取模块,用于获取待验证身份的用户的个人身份信息,对所述待验证身份的用户的个人身份信息进行验证,以核验所述待验证身份的用户是否为本人;
所述网证根生成模块,用于在所述待验证身份的用户成功通过核验后,根据该完成身份验证的用户的个人身份信息,采用多种加密技术生成可替代该用户明文信息的网证根;
所述网证标识生成模块,用于当完成身份验证的用户通过第一应用接入时,获取所述第一应用id和所述完成身份验证的用户的个人身份信息,根据所述完成身份验证的用户的个人身份信息找到对应的网证根,并根据该网证根和所述第一应用id,采用多种加密技术生成可在所述第一应用证明个人身份的网证标识。
进一步的,所述多种加密技术包括sm3、sm2、散列以及组合的加密技术。
进一步的,所述个人身份信息包括社会属性信息和自然属性信息;
所述社会属性信息包括身份证号码、法定证件号码以及法定证件本体信息;
所述自然属性信息包括面部特征、指纹特征以及虹膜特征。
进一步的,所述网证根生成模块包括第一sm3加密单元、第一sm2加密单元以及网证根生成单元;
所述第一sm3加密单元,用于将用户的社会属性信息、自然属性信息以及第一管理字段,通过sm3加密技术散列生成网证根身份信息散列值;其中,所述第一管理字段包括随机数和随机分配的网证根编号;
所述第一sm2加密单元,用于将随机分配的网证根编号、所述网证根身份信息散列值、系统版本号、法定证件信息以及创建时间,通过sm2加密技术进行私钥签名生成第一签名值数据信息;
所述网证根生成单元,用于将随机分配的网证根编号、所述网证根身份信息散列值、系统版本号、法定证件信息、创建时间以及第一签名值数据信息,进行组合生成第一字符串并作为用户的网证根。
进一步的,所述网证标识生成模块包括第二sm3加密单元、第二sm2加密单元以及网证标识生成单元;
所述第二sm3加密单元,用于将用户的网证根和第二管理字段,通过sm3加密技术散列生成网证标识身份信息散列值;
所述第二sm2加密单元,用于将随机分配的网证标识编号、所述网证标识身份信息散列值、系统版本号、法定证件信息以及创建时间,通过sm2加密技术进行私钥签名生成第二签名值数据信息;
所述网证标识生成单元,用于将随机分配的网证根编号、所述网证标识身份信息散列值、系统版本号、法定证件信息、创建时间以及第二签名值数据信息,进行组合生成第二字符串并作为用户的网证标识。
与现有技术相比,具有如下有益效果:
本发明实施例提供的网证数据的生成方法,通过获取待验证身份的用户的个人身份信息,对所述待验证身份的用户的个人身份信息进行验证,以核验所述待验证身份的用户是否为本人,然后在所述待验证身份的用户成功通过核验后,根据该完成身份验证的用户的个人身份信息,采用多种加密技术生成可替代该用户明文信息的网证根,当完成身份验证的用户通过第一应用接入时,获取所述第一应用id和所述完成身份验证的用户的个人身份信息,根据所述完成身份验证的用户的个人身份信息找到对应的网证根,并根据该网证根和所述第一应用id,采用多种加密技术生成可在所述第一应用证明个人身份的网证标识,采用发明提供的实施例,不仅能够判断网证数据是否为本人,还能有效地提高了网证数据的复杂程度,避免网证数据被不法分子暴力破解,从而保证了网证数据在数据传输时的安全性。
附图说明
图1是本发明提供的网证数据的生成方法的一个实施例的流程示意图;
图2是本发明提供的网证数据的网证根生成方法的一个实施例的流程示意图;
图3是本发明提供的网证数据的网证标识生成方法的一个实施例的流程示意图;
图4是本发明提供的网证数据的生成系统的一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明提供的网证数据的生成方法的一个实施例的结构示意图;本发明实施例提供一种网证数据的生成方法,包括步骤s1-s3;
s1,获取待验证身份的用户的个人身份信息,对所述待验证身份的用户的个人身份信息进行验证,以核验所述待验证身份的用户是否为本人。
其中,所述个人身份信息包括社会属性信息和自然属性信息;所述社会属性信息包括但不限于为身份证号码、法定证件号码以及法定证件本体信息等具有权威机构认可的证件信息。所述自然属性信息包括但不限于为面部特征、指纹特征以及虹膜特征等生物特征。
需要说明的是,本发明是通过公安部“互联网+”可信身份认证体系等技术方式,验证用户提供的个人身份信息是否真实有效并系本人,大大地提高了对用户身份验证的准确率。
s2,在所述待验证身份的用户成功通过核验后,根据该完成身份验证的用户的个人身份信息,采用多种加密技术生成可替代该用户明文信息的网证根。
需要说明的是,所述多种加密技术包括但不限于为sm3、sm2、散列以及组合的加密技术。
请参见图2,图2是本发明提供的网证数据的网证根生成方法的一个实施例的流程示意图,具体的网证根的生成方法为:首先,将用户的社会属性信息,包括但不限于用户身份号码、法定证件类型与卡证本体信息等;以及个人的自然属性信息,包括但不限于人像、指纹、虹膜等生物特征;再加上管理字段,例如网证根编号、随机数、接入业务应用id等;通过sm3等加密技术散列生成网证根身份信息散列值;然后将网证根编号、网证根身份信息散列值、版本号、法定证件信息、创建时间等信息,通过sm2等加密技术进行私钥签名得到签名值;最后将网证根编号、网证根身份信息散列值、版本号、法定证件信息、创建时间、签名值等数据信息进行组合,从而得到网证根字符串。
采用本发明提供的网证根生成方法,能够杜绝用户的网证根能够被他人轻易破解,而造成的用户个人信息的泄漏和个人财产的损失,采用该生成方法能够大大的提高用户个人身份信息的安全性,有力的保障了用户个人身份信息和个人财产的安全。
s3,当完成身份验证的用户通过第一应用接入时,获取所述第一应用id和所述完成身份验证的用户的个人身份信息,根据所述完成身份验证的用户的个人身份信息找到对应的网证根,并根据该网证根和所述第一应用id,采用多种加密技术生成可在所述第一应用证明个人身份的网证标识。
网证标识是实际下发给各接入单位的、用于表示特定公民身份的数据信息,通常的表现形式是字符串或者二进制数组,它体现了接入应用层面上网证与用户身份之间的关联关系。
应当理解的是,网证标识是用户在某一业务应用中用于证实用户身份的网证,并且该业务应用的网证标识只能够用于在该业务应用中证实对应用户,无法在其他业务应用中使用,防止由于网证标识被盗,从而导致用户的财产安全受到侵害,为用户的个人信息提供了有效的保障。
请参见图3,图3是本发明提供的网证数据的网证标识生成方法的一个实施例的流程示意图,具体的网证标识的生成方法为:首先将用户的网证根再加上管理字段,例如网证标识编号、随机数、接入业务应用id等;通过sm3等加密技术散列生成网证标识身份信息散列值;然后将网证标识编号、网证标识身份信息散列值、版本号、法定证件信息、创建时间等信息,通过sm2等加密技术进行私钥签名得到签名值;最后将网证标识编号、网证标识身份信息散列值、版本号、法定证件信息、创建时间、签名值等数据信息进行组合,从而得到网证标识字符串。
网证根/标识生成过程中使用的散列算法技术,可以有效防止通过网证标识解密用户个人身份明文信息,使用的签名算法技术可以在业务应用需要的时候,对网证标识进行离线验证。
综上所述,本发明实施例提供的网证数据的生成方法,通过获取待验证身份的用户的个人身份信息,对所述待验证身份的用户的个人身份信息进行验证,以核验所述待验证身份的用户是否为本人,然后在所述待验证身份的用户成功通过核验后,根据该完成身份验证的用户的个人身份信息,采用多种加密技术生成可替代该用户明文信息的网证根,当完成身份验证的用户通过第一应用接入时,获取所述第一应用id和所述完成身份验证的用户的个人身份信息,根据所述完成身份验证的用户的个人身份信息找到对应的网证根,并根据该网证根和所述第一应用id,采用多种加密技术生成可在所述第一应用证明个人身份的网证标识,采用发明提供的实施例,不仅能够判断网证数据是否为本人,还能有效地提高了网证数据的复杂程度,避免网证数据被不法分子暴力破解,从而保证了网证数据在数据传输时的安全性。
请参见图4,图4是本发明提供的网证数据的生成系统的一个实施例的结构示意图,作为本发明的优选实施例,本发明还提供了一种网证数据的生成系统,包括数据获取模块、网证根生成模块以及网证标识生成模块;
所述数据获取模块,用于获取待验证身份的用户的个人身份信息,对所述待验证身份的用户的个人身份信息进行验证,以核验所述待验证身份的用户是否为本人;所述网证根生成模块,用于在所述待验证身份的用户成功通过核验后,根据该完成身份验证的用户的个人身份信息,采用多种加密技术生成可替代该用户明文信息的网证根;所述网证标识生成模块,用于当完成身份验证的用户通过第一应用接入时,获取所述第一应用id和所述完成身份验证的用户的个人身份信息,根据所述完成身份验证的用户的个人身份信息找到对应的网证根,并根据该网证根和所述第一应用id,采用多种加密技术生成可在所述第一应用证明个人身份的网证标识。
其中,所述多种加密技术包括sm3、sm2、散列以及组合的加密技术。
所述个人身份信息包括社会属性信息和自然属性信息;所述社会属性信息包括但不限于为身份证号码、法定证件号码以及法定证件本体信息等具有权威机构认可的证件信息。所述自然属性信息包括但不限于为面部特征、指纹特征以及虹膜特征等生物特征。
优选的,所述网证根生成模块包括第一sm3加密单元、第一sm2加密单元以及网证根生成单元;
所述第一sm3加密单元,用于将用户的社会属性信息、自然属性信息以及第一管理字段,通过sm3加密技术散列生成网证根身份信息散列值;其中,所述第一管理字段包括随机数和随机分配的网证根编号;所述第一sm2加密单元,用于将随机分配的网证根编号、所述网证根身份信息散列值、系统版本号、法定证件信息以及创建时间,通过sm2加密技术进行私钥签名生成第一签名值数据信息;所述网证根生成单元,用于将随机分配的网证根编号、所述网证根身份信息散列值、系统版本号、法定证件信息、创建时间以及第一签名值数据信息,进行组合生成第一字符串并作为用户的网证根。
所述网证标识生成模块包括第二sm3加密单元、第二sm2加密单元以及网证标识生成单元;
所述第二sm3加密单元,用于将用户的网证根和第二管理字段,通过sm3加密技术散列生成网证标识身份信息散列值;所述第二sm2加密单元,用于将随机分配的网证标识编号、所述网证标识身份信息散列值、系统版本号、法定证件信息以及创建时间,通过sm2加密技术进行私钥签名生成第二签名值数据信息;所述网证标识生成单元,用于将随机分配的网证根编号、所述网证标识身份信息散列值、系统版本号、法定证件信息、创建时间以及第二签名值数据信息,进行组合生成第二字符串并作为用户的网证标识。
综上所述,本发明提供的一种网证数据的生成系统,通过数据获取模块获取待验证身份的用户的个人身份信息,对所述待验证身份的用户的个人身份信息进行验证,以核验所述待验证身份的用户是否为本人,通过网证根生成模块在所述待验证身份的用户成功通过核验后,根据该完成身份验证的用户的个人身份信息,采用多种加密技术生成可替代该用户明文信息的网证根,通过网证标识生成模块在当完成身份验证的用户通过第一应用接入时,获取所述第一应用id和所述完成身份验证的用户的个人身份信息,根据所述完成身份验证的用户的个人身份信息找到对应的网证根,并根据该网证根和所述第一应用id,采用多种加密技术生成可在所述第一应用证明个人身份的网证标识,采用本发明提供的实施例,不仅能够判断网证数据是否为本人,还能有效地提高了网证数据的复杂程度,避免网证数据被不法分子暴力破解,从而保证了网证数据在数据传输时的安全性。
与现有技术相比,本发明提供的实施例,具有以下优点:
(1)对不同的应用,下发不同的网证标识,保证了在不同平台间使用的网证是受保护的。
(2)在使用网证前,需要对用户的身份信息进行核验,保证了使用网证的用户是本人。
(3)利用网证根生成网证标识,在互联网传播不携带公民信息的网证标识,可以最大程度的保护好用户的身份信息。
(4)采用了sm2、sm3等加密算法,可以有效地提高网证根及网证标识的复杂度,避免被不法分子暴力破解。
(5)使用的签名算法技术可以在业务应用需要的时候,对网证标识进行离线验证。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。