本发明涉及计算机信息安全,尤其涉及一种应用于浏览器的用户身份鉴别方法、装置、计算机设备和存储介质。
背景技术:
1、随着移动互联网的迅猛发展,人们越来越喜欢使用浏览器和小程序来浏览信息和进行购物,但这也带来了一些安全风险。传统的身份鉴别方式是通过预置密钥进行身份鉴别,其通常采用对称加密算法加密数据,传递给服务端进行用户身份认证,具体步骤如下:
2、1.浏览器和服务端预置相同的对称密钥;
3、2.浏览器使用预置密钥对用户的数据(敏感数据、时间戳)进行aes加密并将其放入cookie传给服务端;
4、3.服务端接收到数据后将cookie信息取出,采用相同的密钥对数据进行aes解密,得到用户数据(敏感数据、时间戳);
5、4.如果解密失败,则认为身份鉴别失败;如果解密成功,但是时间戳超过了服务端设定的阈值,也同样认为身份鉴别失败,反之则认为成功。
6、这种方法虽然简便,但是密钥一旦泄漏,身份鉴别就会变得不安全,存在较大的危险性。因此,迫切需要解决浏览器与服务端之间应用层数据安全问题。
7、为此,本技术人经过有益的探索和研究,找到了解决上述问题的方法,下面将要介绍的技术方案便是在这种背景下产生的。
技术实现思路
1、本发明所要解决的技术问题在于:针对现有技术的不足而提供一种提高身份鉴别安全性的应用于浏览器的用户身份鉴别方法。
2、本发明所要解决的技术问题之二在于:提供一种实现上述用户身份鉴别方法的用户身份鉴别装置。
3、本发明所要解决的技术问题之三在于:提供一种实现上述用户身份鉴别方法的计算机设备。
4、本发明所要解决的技术问题之四在于:提供一种实现上述用户身份鉴别方法的计算机可读存储介质。
5、作为本发明第一方面的一种用户身份鉴别方法,包括:
6、获取浏览器生成的指纹信息,并生成随机数返回给浏览器,所述随机数充当对称密钥;
7、将所述指纹信息和对应的对称密钥分别存储至服务端数据库和redis缓存;
8、在用户身份鉴别时,接收浏览器发送的身份鉴别数据,所述身份鉴别数据包括用户信息加密数据和指纹信息,所述用户信息加密数据由浏览器对用户信息进行加密而形成,所述用户信息包括用户数据、返回的随机数以及生成的随机因子;
9、对所述身份鉴别数据进行解析处理,以从所述身份鉴别数据中取出用户信息加密数据和指纹信息;
10、根据所述指纹信息从所述redis缓存内找出对应的对称密钥,若所述redis缓存内没有对应的对称密钥,则根据所述指纹信息从所述服务端数据库内找出对应的对称密钥;
11、若找到对应的对称密钥,则对所述用户信息加密数据进行解密处理,以获取用户信息中的对称密钥;以及
12、将获取到的用户信息中的对称密钥与服务端找出的对应的对称密钥进行比对,若比对一致,则向浏览器返回身份鉴别成功。
13、在本发明的一个优选实施例中,所述用户信息加密数据由浏览器采用sm4_gcm算法对用户信息进行加密而形成。
14、在本发明的一个优选实施例中,采用sm4_gcm算法对所述用户信息加密数据进行解密处理。
15、在本发明的一个优选实施例中,通过cookie文本方式接收浏览器发送的身份鉴别数据。
16、在本发明的一个优选实施例中,若根据所述指纹信息从所述服务端数据库内找不到对应的对称密钥,则向浏览器返回身份鉴别失败。
17、在本发明的一个优选实施例中,若无法对所述用户信息加密数据进行解密处理,则向浏览器返回身份鉴别失败。
18、在本发明的一个优选实施例中,若获取到的用户信息中的对称密钥与服务端找出的对应的对称密钥之间的比对结果为不一致,则向浏览器返回身份鉴别失败。
19、作为本发明第二方面的一种实现上述用户身份鉴别方法的用户身份鉴别装置,包括:
20、预处理模块,所述预处理模块用于获取浏览器生成的指纹信息,并生成随机数返回给浏览器,所述随机数充当对称密钥;
21、信息存储模块,所述信息存储模块用于将所述指纹信息和对应的对称密钥分别存储至服务端数据库和redis缓存;
22、数据接收模块,所述数据接收模块用于在用户身份鉴别时,接收浏览器发送的身份鉴别数据,所述身份鉴别数据包括用户信息加密数据和指纹信息,所述用户信息加密数据由浏览器对用户信息进行加密而形成,所述用户信息包括用户数据、返回的随机数以及生成的随机因子;
23、数据解析处理模块,所述数据解析处理模块用于对所述身份鉴别数据进行解析处理,以从所述身份鉴别数据中取出用户信息加密数据和指纹信息;
24、查询模块,所述查询模块用于根据所述指纹信息从所述redis缓存内找出对应的对称密钥,若所述redis缓存内没有对应的对称密钥,则根据所述指纹信息从所述服务端数据库内找出对应的对称密钥;
25、解密处理模块,所述解密处理模块用于若找到对应的对称密钥,则对所述用户信息加密数据进行解密处理,以获取用户信息中的对称密钥;以及
26、比对模块,所述比对模块用于将获取到的用户信息中的对称密钥与服务端找出的对应的对称密钥进行比对,若比对一致,则向浏览器返回身份鉴别成功。
27、作为本发明第三方面的一种用于实现用户身份鉴别方法的计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
28、获取浏览器生成的指纹信息,并生成随机数返回给浏览器,所述随机数充当对称密钥;
29、将所述指纹信息和对应的对称密钥分别存储至服务端数据库和redis缓存;
30、在用户身份鉴别时,接收浏览器发送的身份鉴别数据,所述身份鉴别数据包括用户信息加密数据和指纹信息,所述用户信息加密数据由浏览器对用户信息进行加密而形成,所述用户信息包括用户数据、返回的随机数以及生成的随机因子;
31、对所述身份鉴别数据进行解析处理,以从所述身份鉴别数据中取出用户信息加密数据和指纹信息;
32、根据所述指纹信息从所述redis缓存内找出对应的对称密钥,若所述redis缓存内没有对应的对称密钥,则根据所述指纹信息从所述服务端数据库内找出对应的对称密钥;
33、若找到对应的对称密钥,则对所述用户信息加密数据进行解密处理,以获取用户信息中的对称密钥;以及
34、将获取到的用户信息中的对称密钥与服务端找出的对应的对称密钥进行比对,若比对一致,则向浏览器返回身份鉴别成功。
35、作为本发明第四方面的一种用于实现上述用户身份鉴别方法的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
36、获取浏览器生成的指纹信息,并生成随机数返回给浏览器,所述随机数充当对称密钥;
37、将所述指纹信息和对应的对称密钥分别存储至服务端数据库和redis缓存;
38、在用户身份鉴别时,接收浏览器发送的身份鉴别数据,所述身份鉴别数据包括用户信息加密数据和指纹信息,所述用户信息加密数据由浏览器对用户信息进行加密而形成,所述用户信息包括用户数据、返回的随机数以及生成的随机因子;
39、对所述身份鉴别数据进行解析处理,以从所述身份鉴别数据中取出用户信息加密数据和指纹信息;
40、根据所述指纹信息从所述redis缓存内找出对应的对称密钥,若所述redis缓存内没有对应的对称密钥,则根据所述指纹信息从所述服务端数据库内找出对应的对称密钥;
41、若找到对应的对称密钥,则对所述用户信息加密数据进行解密处理,以获取用户信息中的对称密钥;以及
42、将获取到的用户信息中的对称密钥与服务端找出的对应的对称密钥进行比对,若比对一致,则向浏览器返回身份鉴别成功。
43、由于采用了如上技术方案,本发明的有益效果在于:
44、1.本发明有效地防止数据被篡改,保障应用层的数据安全;
45、2.本发明采用sm4_gcm算法,保证了用户信息的完整性和机密性;
46、3.本发明的对称密钥由服务端随机数产生,保证每个用户的对称密钥都不相同;
47、4.本发明的加密过程采用随机因子和明文进行拼接,以增加密文的随机性。