一种身份验证方法、装置、设备及存储介质转让专利

申请号 : CN202110398003.5

文献号 : CN113347143B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 殷亮亮屈志刚

申请人 : 西安慧博文定信息技术有限公司

摘要 :

本发明属于数据加密技术领域,具体公开了一种身份验证方法、装置、设备及存储介质。用户使用系统时,用户端内的图片加密算法对存储的图片进行加密,然后使用哈希算法计算加密图片的哈希值,将哈希值和加密的时间参数和用户的操作请求信息使用公钥加密,用户端将加密密文传输到系统服务器,系统服务器使用私钥解密密文,使用解密得到的加密时间参数对系统服务器存储的图片进行加密,然后使用哈希算法计算加密图片的哈希值,并与解密得到大哈希值做对比。本发明基于非对称加密算法、哈希算法和图片加密的身份验证方法,可在无安全加密传输的网络环境或者有加密传输的网络环境基础上增加安全验证。

权利要求 :

1.一种身份验证方法,其特征在于,包括用户身份验证方法和系统服务器身份验证方法;

所述用户身份验证方法包括以下步骤:

S1:用户提供标识图片,将所述标识图片存储在服务器,用户端对图片进行加密、哈希,得到哈希值;

S2:用户端通过对称加密生成密钥,对待传输数据原文进行加密,形成密文1;

S3:对待传输数据原文进行哈希,得到哈希值1;

S4:用户端使用时间T进行标识图片加密得到加密图片1,对加密图片1进行哈希,得到哈希值2,用户端将密钥、哈希值1、哈希值2、时间T组成一组数据D1;使用公钥对数据D1进行加密运算得到密文2;

S5:用户端通过网络数据将所述S2的密文1和所述S4的密文2以及用户编号组成数据D2发送至系统服务器;

S6:系统服务器根据用户编号,查找对应的标识图片和密钥;使用私钥进行解密密文2得到:密钥、哈希值1、哈希值2、时间T;使用密钥进行解密密文1得到待传输数据原文;

S7:对待传输数据原文进行哈希,得到待传输数据原文哈希值3;使用时间T进行标识图片加密得到加密图片2;对加密图片2进行哈希运算得到哈希值4;

S8:将所述步骤S7中的数据原文哈希值3和所述S3中的哈希值1进行比对,若一致,则数据原文未被篡改;将所述步骤S7中的哈希值4和所述S1中的哈希值进行比对,若一致,则确认发送信息的用户端身份无误;

所述系统服务器身份验证方法包括以下步骤:

S10:系统服务器对图片进行加密、哈希,得到哈希值;

S20:系统服务器通过对称加密生成密钥,对待传输文件进行加密,形成密文3;

S30:系统服务器对待传输数据原文进行哈希运算得到哈希值5;

S40:系统服务器使用时间T1进行图片加密得到加密图片3;系统服务器对加密图片3进行哈希运算得到哈希值6;系统服务器将密钥、哈希值5、哈希值6、时间T1组成一组数据D3;

使用公钥对数据D3进行加密运算得到密文4;

S50:系统服务器通过网络数据将所述S20的密文3和所述S40的密文4组成数据D4发送至用户端;

S60:用户端从D2取出密文3、密文4;使用私钥进行解密密文4得到:密钥、哈希值5、哈希值6、时间T1;使用密钥进行解密密文3得到待传输文件数据原文;

S70:对待传输数据原文进行哈希运算得到哈希值7;使用时间T1进行图片加密得到加密图片4;对加密图片4进行哈希运算得到哈希值8;

S80:将所述步骤S70中的待传输数据原文哈希值7和所述S30中的哈希值5进行比对,若一致,则数据原文未被篡改;将所述步骤S70中的标识图片哈希值8和所述S10中的哈希值进行比对,若一致,则确认发送信息的系统服务器身份无误。

2.根据权利要求1所述的一种身份验证方法,其特征在于,所述步骤S2和S20中,用户端随机通过SM4算法生成密钥,将待传输的数据原文使用所述密钥进行SM4算法加密。

3.根据权利要求2所述的一种身份验证方法,其特征在于,所述哈希为SM3哈希运算。

4.根据权利要求3所述的一种身份验证方法,其特征在于,所述步骤S1和S10中对标识图片进行加密采用时间加密算法。

5.一种身份验证装置,其特征在于,所述装置采用权利要求1‑4任一所述的身份验证方法进行身份验证;所述装置包括用户模块和系统服务器,所述用户模块和系统服务器均包括加密模块、密钥生成模块、数据传输模块、数据接收模块、存储模块和分析模块,所述加密模块用于对标识图片进行加密、哈希;所述密钥生成模块用于随机生成密钥,对文件原文进行加密,形成密文;所述数据传输模块用于通过网络数据将所述密文2发送至系统服务器;

所述数据接收模块用于接收加密文件;所述存储模块用于存储加密文件和标识图片;所述分析模块用于比对哈希值,确认身份验证是否通过;

所述比对哈希值包括:将所述步骤S7中的数据原文哈希值3和所述S3中的哈希值1进行比对,若一致,则数据原文未被篡改;将所述步骤S7中的哈希值4和所述S1中的哈希值进行比对,若一致,则确认发送信息的用户端身份无误;以及将所述步骤S70中的待传输数据原文哈希值7和所述S30中的哈希值5进行比对,若一致,则数据原文未被篡改;将所述步骤S70中的标识图片哈希值8和所述S10中的哈希值进行比对,若一致,则确认发送信息的系统服务器身份无误。

6.根据权利要求5所述的一种身份验证方法,其特征在于,所述用户模块和系统服务器设置相同的SM2、SM3、SM4算法和图片加密算法。

7.根据权利要求6所述的一种身份验证方法,其特征在于,对所述标识图片进行加密采用时间加密算法。

8.一种身份验证设备,其特征在于,包括:存储器和处理器;所述存储器用于存储计算机指令;所述处理器用于运行所述存储器存储的所述计算机指令实现权利要求1至4任一项所述的身份验证方法。

9.一种存储介质,其特征在于,包括:可读存储介质和计算机指令,所述计算机指令存储在所述可读存储介质中;所述计算机指令用于实现权利要求1至4任一项所述的身份验证方法。

说明书 :

一种身份验证方法、装置、设备及存储介质

技术领域

[0001] 本申请属于数据加密技术领域,特别涉及一种身份验证方法、装置、设备及存储介质。

背景技术

[0002] 随着计算机技术应用的普及,计算机在人们的生产、生活中有着举足轻重的地位。计算机在使用过程中,往往会受到各种挑战,其中,计算机上的各种文件的安全就是一个非常大的挑战。
[0003] 为了保证文件的安全,发展出了各种行之有效的加解密技术。现有技术中,为了保证文件的安全性,常常会采用各种加密算法给文件加密,从而避免文件被非法篡改以保证文件的安全性。但是在用户与系统交互的过程中,存在用户操作数据被截获,进而也就增加了数据被篡改的可能,因此有被模仿操作的风险。
[0004] 因此,提供一种新的系统与用户身份互相验证的方法是本领域技术人员亟需解决的技术问题。

发明内容

[0005] 本发明的目的在于克服现有技术中存在数据被截获篡改的缺陷,提供一种身份验证方法。
[0006] 本发明的第一方面,提供了一种身份验证方法,包括用户身份验证方法和系统服务器身份验证方法,
[0007] 所述用户身份验证方法包括以下步骤:
[0008] S1:用户提供标识图片,用户端对图片进行加密、哈希,得到哈希值;
[0009] S2:用户端随机生成密钥,对文件原文进行加密,形成密文;
[0010] S3:对所述密文进行哈希、对称加密,得到哈希值;
[0011] S4:对步骤S1‑S3所得的哈希值和密文进行非对称加密,得到新的密文;
[0012] S5:用户端通过网络数据将所述新的密文发送至系统服务器;
[0013] S6:系统服务器对新的密文进行解密,得到数据原文和标识图片;
[0014] S7:对数据原文和标识图片分别进行哈希,得到数据原文哈希值和标识图片哈希值;
[0015] S8:将所述步骤S7中的数据原文哈希值和所述S3中的哈希值进行比对,若一致,则数据原文未被篡改;将所述步骤S7中的标识图片哈希值和所述S1中的哈希值进行比对,若一致,则确认发送信息的用户端身份无误;
[0016] 所述系统服务器身份验证方法包括以下步骤:
[0017] S10:系统服务器根据用户提供标识图片,对图片进行加密、哈希,得到哈希值;
[0018] S20:系统服务器随机生成密钥,对文件原文进行加密,形成密文;
[0019] S30:对所述密文进行哈希、对称加密,得到哈希值;
[0020] S40:对步骤S1‑S3所得的哈希值和密文进行非对称加密,得到新的密文;
[0021] S50:系统服务器通过网络数据将所述新的密文发送至用户端;
[0022] S60:用户端对新的密文进行解密,得到数据原文和标识图片;
[0023] S70:用户端对数据原文和标识图片分别进行哈希,得到数据原文哈希值和标识图片哈希值;
[0024] S80:将所述步骤S7中的数据原文哈希值和所述S3中的哈希值进行比对,若一致,则数据原文未被篡改;将所述步骤S7中的标识图片哈希值和所述S1中的哈希值进行比对,若一致,则确认发送信息的系统服务器身份无误。
[0025] 进一步的方案为,所述步骤S2和S20中,用户端随机通过SM4算法生成密钥,将待传输的数据原文使用所述密钥进行SM4算法加密。
[0026] 进一步的方案为,所述哈希为SM3哈希运算。
[0027] 进一步的方案为,所述步骤S1和S10中对图片进行加密采用时间加密算法。
[0028] 本发明的第二方面,提供一种身份验证装置,包括用户模块和系统服务模块,所述用户模块和系统服务模块均包括加密模块、密钥生成模块、数据传输模块、数据接收模块、存储模块和分析模块,所述加密模块用于对标识图片进行加密、哈希;所述密钥生成模块用于随机生成密钥,对文件原文进行加密,形成密文;所述数据传输模块用于通过网络数据将所述新的密文发送至系统服务器;所述数据接收模块用于接收加密文件;所述存储模块用于存储加密文件和标识图片;所述分析模块用于比对哈希值,确认身份验证是否通过。
[0029] 进一步的方案为,所述用户模块和系统服务模块设置相同的SM2、SM3、SM4算法和图片加密算法。
[0030] 进一步的方案为,对所述标识图片进行加密采用时间加密算法。
[0031] 本发明的第三方面,提供一种设备,包括:存储器和处理器;所述存储器用于存储计算机指令;所述处理器用于运行所述存储器存储的所述计算机指令实现上述的身份验证方法。
[0032] 本发明的第四方面,提供一种存储介质,包括:可读存储介质和计算机指令,所述计算机指令存储在所述可读存储介质中;所述计算机指令用于实现上述的身份验证方法。
[0033] 与现有技术相比,本发明的有益效果在于:
[0034] (1)本发明基于非对称加密算法、哈希算法和图片加密的身份验证方法,可在无安全加密传输的网络环境或者有加密传输的网络环境基础上增加安全验证。
[0035] (2)本发明通过确认数据原文是否被篡改和确认发送数据的用户端或系统服务器身份是否无误两方面来保护文件,保证了文件的安全性。

附图说明

[0036] 以下附图仅对本发明作示意性的说明和解释,并不用于限定本发明的范围,其中:
[0037] 图1:用户身份验证方法流程示意图;
[0038] 图2:系统服务器身份验证方法流程示意图。

具体实施方式

[0039] 为了使本发明的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
[0040] 如图1和图2所示,本发明的第一方面,提供了一种身份验证方法,包括用户身份验证方法和系统服务器身份验证方法,
[0041] 所述用户身份验证方法包括以下步骤:
[0042] S1:用户提供标识图片,用户端对图片进行加密、哈希,得到哈希值;
[0043] S2:用户端随机生成密钥,对文件原文进行加密,形成密文;
[0044] S3:对所述密文进行哈希、对称加密,得到哈希值;
[0045] S4:对步骤S1‑S3所得的哈希值和密文进行非对称加密,得到新的密文;
[0046] S5:用户端通过网络数据将所述新的密文发送至系统服务器;
[0047] S6:系统服务器对新的密文进行解密,得到数据原文和标识图片;
[0048] S7:对数据原文和标识图片分别进行哈希,得到数据原文哈希值和标识图片哈希值;
[0049] S8:将所述步骤S7中的数据原文哈希值和所述S3中的哈希值进行比对,若一致,则数据原文未被篡改;将所述步骤S7中的标识图片哈希值和所述S1中的哈希值进行比对,若一致,则确认发送信息的用户端身份无误;
[0050] 所述系统服务器身份验证方法包括以下步骤:
[0051] S10:系统服务器根据用户提供标识图片,对图片进行加密、哈希,得到哈希值;
[0052] S20:系统服务器随机生成密钥,对文件原文进行加密,形成密文;
[0053] S30:对所述密文进行哈希、对称加密,得到哈希值;
[0054] S40:对步骤S1‑S3所得的哈希值和密文进行非对称加密,得到新的密文;
[0055] S50:系统服务器通过网络数据将所述新的密文发送至用户端;
[0056] S60:用户端对新的密文进行解密,得到数据原文和标识图片;
[0057] S70:用户端对数据原文和标识图片分别进行哈希,得到数据原文哈希值和标识图片哈希值;
[0058] S80:将所述步骤S7中的数据原文哈希值和所述S3中的哈希值进行比对,若一致,则数据原文未被篡改;将所述步骤S7中的标识图片哈希值和所述S1中的哈希值进行比对,若一致,则确认发送信息的系统服务器身份无误。
[0059] 本发明通过确认数据原文是否被篡改和确认发送数据的用户端或系统服务器身份是否无误两方面来保护文件,保证了文件的安全性。
[0060] 具体的,在进行用户身份验证时,用户端随机生成SM 4密钥KEY1,将待传输数据原文使用KEY1进行SM 4算法加密得到密文1;(数据原文一般较大,使用SM4运算比SM2运算速率快);用户端对待传输数据原文进行SM3哈希运算得到哈希值1;用户端使用时间T进行图片A加密得到加密图片1;用户端对加密图片1进行SM3哈希运算得到哈希值2;用户端将密钥KEY1、哈希值1、哈希值2、时间T组成一组数据D1;使用B公钥对数据D1进行SM2加密运算得到密文2;将密文1、密文2、用户编号等数据组成数据D2;用户端通过网络将数据D2传送给系统服务器;系统服务器接收到数据D2;系统服务器从D2取出密文1、密文2、用户编号等数据;根据用户编号,查找对应的标识图片和密钥;使用B私钥进行SM 2解密密文2得到:密钥KEY1、哈希值1、哈希值2、时间T;使用密钥KEY1进行SM4解密密文1得到数据原文;对待传输数据原文进行SM3哈希运算得到哈希值3;对比哈希值3和哈希值1,一致则数据原文未被篡改;使用时间T进行图片A加密得到加密图片2;对加密图片2进行SM3哈希运算得到哈希值4;对比哈希值4和哈希值2,一致则确认发送信息的用户端身份无误。
[0061] 在进行系统服务器身份识别验证时,与用户身份识别验证类似,为逆过程,具体为:
[0062] 系统服务器随机生成SM 4密钥KEY1,将待传输数据原文使用KEY1进行SM 4算法加密得到密文1;(数据原文一般较大,使用SM4运算比SM2运算速率快);系统服务器对待传输数据原文进行SM3哈希运算得到哈希值1;系统服务器使用时间T进行图片A加密得到加密图片1;系统服务器对加密图片1进行SM3哈希运算得到哈希值2;系统服务器将密钥KEY1、哈希值1、哈希值2、时间T组成一组数据D1;使用A公钥对数据D1进行SM2加密运算得到密文2;将密文1、密文2等数据组成数据D2;系统服务通过网络将数据D2传送给用户端;用户端接收到数据D2;用户端从D2取出密文1、密文2等数据;使用A私钥进行SM 2解密密文2得到:密钥KEY1、哈希值1、哈希值2、时间T;使用密钥KEY1进行SM4解密密文1得到数据原文;对待传输数据原文进行SM3哈希运算得到哈希值3;对比哈希值3和哈希值1,一致则数据原文未被篡改;使用时间T进行图片A加密得到加密图片2;对加密图片2进行SM3哈希运算得到哈希值4;对比哈希值4和哈希值2,一致则确认发送信息的系统服务身份无误。
[0063] 本发明的第二方面,提供一种身份验证装置,包括用户模块和系统服务模块,所述用户模块和系统服务模块均包括加密模块、密钥生成模块、数据传输模块、数据接收模块、存储模块和分析模块,所述加密模块用于对标识图片进行加密、哈希;所述密钥生成模块用于随机生成密钥,对文件原文进行加密,形成密文;所述数据传输模块用于通过网络数据将所述新的密文发送至系统服务器;所述数据接收模块用于接收加密文件;所述存储模块用于存储加密文件和标识图片;所述分析模块用于比对哈希值,确认身份验证是否通过。
[0064] 可选的,所述用户模块和系统服务模块设置相同的SM2、SM3、SM4算法和图片加密算法。
[0065] 可选的,对所述标识图片进行加密采用时间加密算法。
[0066] 本发明的第三方面,提供一种设备,包括:存储器和处理器;所述存储器用于存储计算机指令;所述处理器用于运行所述存储器存储的所述计算机指令实现上述的身份验证方法。
[0067] 本发明的第四方面,提供一种存储介质,包括:可读存储介质和计算机指令,所述计算机指令存储在所述可读存储介质中;所述计算机指令用于实现上述的身份验证方法。
[0068] 以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。