本技术涉及信息安全,具体涉及一种数据库安全认证方法、装置、电子设备和存储介质。
背景技术:
1、随着数字化时代的推进,人们在日常生活中会产生大量的数据,数据库作为存储数据主要载体之一,各种功能也随之完善;与此同时,人们对个人数据的隐私性也更加注重,在大多数情况下,简单的账号密码认证已经无法满足部分人对数据库的安全需求,因此,如何提高数据库的安全性成了必须解决的问题。
技术实现思路
1、第一方面,本技术实施例公开了一种数据库安全认证方法,应用于服务端,包括:
2、接收客户端针对目标访问端口发送的访问请求;
3、根据所述访问请求,生成第一数据集及第二数据集;所述第一数据集包括n个第一数据,所述第二数据集包括m个第二数据,所述n和m均为正整数;
4、对所述第一数据集中的所述n个第一数据进行分类,得到第一分类结果;所述第一分类结果包括多个类别;
5、分别计算所述第二数据集中的各个所述第二数据与所述n个第一数据之间的第一距离;
6、根据各个所述第二数据对应的n个第一距离及所述第一分类结果,确定所述第二数据集对应的第一归属向量;所述第一归属向量用于指示所述m个第二数据分别对应的类别;
7、根据所述第一归属向量生成服务端密码;
8、将所述第一数据集及所述第二数据集发送给所述客户端,以使所述客户端对所述第一数据集中的所述n个第一数据进行分类,得到第二分类结果,分别计算所述第二数据集中的各个所述第二数据与所述n个第一数据之间的第二距离,根据各个所述第二数据对应的n个第二距离及所述第二分类结果,确定所述第二数据集对应的第二归属向量,并根据所述第二归属向量生成客户端密码;
9、接收所述客户端发送的所述客户端密码;
10、若所述客户端密码与所述服务端密码一致,则允许所述客户端通过所述目标访问端口访问数据库。
11、作为一种可选的实施方式,在本技术实施例的第一方面中,所述第一分类结果包括各个所述第一数据与所述多个类别之间的映射关系;所述根据各个所述第二数据对应的n个第一距离及所述第一分类结果,确定所述第二数据集对应的第一归属向量,包括:
12、根据目标第二数据对应的n个第一距离,从所述n个第一数据中确定k个目标第一数据;所述目标第二数据为任一所述第二数据;
13、根据所述映射关系,确定所述k个目标第一数据分别对应的类别;
14、根据所述k个目标第一数据分别对应的类别,确定所述目标第二数据所属的类别;
15、根据各个所述第二数据所属的类别,生成第一归属向量。
16、作为一种可选的实施方式,在本技术实施例的第一方面中,所述根据目标第二数据对应的n个第一距离,从所述n个第一数据中确定k个目标第一数据,包括:
17、按照第一距离从小到大的顺序,对所述目标第二数据对应的n个第一距离进行排序,并选择排列在前k个的第一距离对应的第一数据作为目标第一数据;
18、所述根据所述k个目标第一数据分别对应的类别,确定所述目标第二数据所属的类别,包括:
19、确定所述k个目标第一数据分别对应的类别的出现概率,得到出现概率最大的类别;
20、将所述出现概率最大的类别作为所述目标第二数据所属的类别。
21、作为一种可选的实施方式,在本技术实施例的第一方面中,所述访问请求包括所述客户端对应的第一客户端标识;在所述生成第一数据集及第二数据集之前,所述方法还包括:
22、获取第一服务端标识;
23、将所述第一服务端标识与所述第一客户端标识进行比对;
24、若所述第一服务端标识与所述第一客户端标识一致,则执行所述生成第一数据集及第二数据集的步骤。
25、作为一种可选的实施方式,在本技术实施例的第一方面中,所述访问请求还包括时间戳;所述获取第一服务端标识,包括:
26、获取第二服务端标识;
27、将所述第二服务端标识与所述时间戳进行组合,得到第一组合数据;
28、对所述第一组合数据进行哈希计算,得到第一服务端标识。
29、作为一种可选的实施方式,在本技术实施例的第一方面中,在所述允许所述客户端通过所述目标访问端口访问数据库之后,所述方法还包括:
30、对所述目标访问端口的访问流量进行监控;
31、若检测到所述目标访问端口在目标时间段内的访问流量满足端口关闭规则,则关闭所述目标访问端口,并删除所述目标访问端口对应的服务端密码。
32、第二方面,本技术实施例公开了一种数据库安全认证方法,应用于客户端,所述方法包括:
33、向服务端发送针对目标访问端口的访问请求;所述访问请求用于指示所述服务端生成第一数据集及第二数据集,所述第一数据集包括n个第一数据,所述第二数据集包括m个第二数据,所述n和m均为正整数,以及指示所述服务端对所述第一数据集中的n个第一数据进行分类,得到第一分类结果,分别计算所述第二数据集中的各个所述第二数据与所述n个第一数据之间的第一距离,根据各个所述第二数据对应的n个第一距离及所述第一分类结果,确定所述第二数据集对应的第一归属向量,并根据所述第一归属向量生成服务端密码;
34、接收服务端发送的所述第一数据集及第二数据集;
35、对所述第一数据集中的所述n个第一数据进行分类,得到第二分类结果;所述第二分类结果包括多个类别;
36、分别计算所述第二数据集中的各个所述第二数据与所述n个第一数据之间的第二距离;
37、根据各个所述第二数据对应的n个第二距离及所述第二分类结果,确定所述第二数据集对应的第二归属向量;所述第二归属向量用于指示所述m个第二数据分别对应的类别;
38、根据所述第二归属向量生成客户端密码;
39、将所述客户端密码发送给所述服务端,以使所述服务端在确定所述客户端密码与所述服务端密码一致的情况下,允许所述客户端通过所述目标访问端口访问数据库。
40、第三方面,本技术实施例公开了一种数据库安全认证装置,应用于服务端,包括:
41、接收请求模块,用于接收客户端针对目标访问端口发送的访问请求;
42、数据集生成模块,用于根据所述访问请求,生成第一数据集及第二数据集;所述第一数据集包括n个第一数据,所述第二数据集包括m个第二数据,所述n和m均为正整数;
43、分类模块,用于对所述第一数据集中的所述n个第一数据进行分类,得到第一分类结果;所述第一分类结果包括多个类别;以及用于分别计算所述第二数据集中的各个所述第二数据与所述n个第一数据之间的第一距离;根据各个所述第二数据对应的n个第一距离及所述第一分类结果,确定所述第二数据集对应的第一归属向量;所述第一归属向量用于指示所述m个第二数据分别对应的类别;
44、密码生成模块,用于根据所述第一归属向量生成服务端密码;
45、数据集发送模块,用于将所述第一数据集及所述第二数据集发送给所述客户端,以使所述客户端对所述第一数据集中的所述n个第一数据进行分类,得到第二分类结果,分别计算所述第二数据集中的各个所述第二数据与所述n个第一数据之间第二距离,根据各个所述第二数据对应的n个第二距离及所述第二分类结果,确定所述第二数据集对应的第二归属向量,并根据所述第二归属向量生成客户端密码;
46、接收模块,用于接收所述客户端发送的所述客户端密码;
47、验证模块,用于若所述客户端密码与所述服务端密码一致,则允许所述客户端通过所述目标访问端口访问数据库。
48、第四方面,本技术实施例公开了一种数据库安全认证装置,应用于客户端,包括:
49、请求发送模块,用于向服务端发送针对目标访问端口的访问请求;所述访问请求用于指示所述服务端生成第一数据集及第二数据集,所述第一数据集包括n个第一数据,所述第二数据集包括m个第二数据,所述n和m均为正整数,以及指示所述服务端对所述第一数据集中的n个第一数据进行分类,得到第一分类结果,分别计算所述第二数据集中的各个所述第二数据与所述n个第一数据之间的第一距离,根据各个所述第二数据对应的n个第一距离及所述第一分类结果,确定所述第二数据集对应的第一归属向量,并根据所述第一归属向量生成服务端密码;
50、数据集接收模块,用于接收服务端发送的所述第一数据集及第二数据集;
51、分类模块,用于对所述第一数据集中的所述n个第一数据进行分类,得到第二分类结果;所述第二分类结果包括多个类别;以及用于分别计算所述第二数据集中的各个所述第二数据与所述n个第一数据之间的第二距离;根据各个所述第二数据对应的n个第二距离及所述第二分类结果,确定所述第二数据集对应的第二归属向量;所述第二归属向量用于指示所述m个第二数据分别对应的类别;
52、密码生成模块,用于根据所述第二归属向量生成客户端密码;
53、密码发送模块,用于将所述客户端密码发送给所述服务端,以使所述服务端在确定所述客户端密码与所述服务端密码一致的情况下,允许所述客户端通过所述目标访问端口访问数据库。
54、第五方面,本技术实施例公开了一种电子设备,包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如上所述的应用于服务端的方法。
55、第六方面,本技术实施例公开了一种电子设备,包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如上所述的应用于客户端的方法。
56、第七方面,本技术实施例公开了一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序被处理器执行时实现如上所述的应用于服务端的方法。
57、第八方面,本技术实施例公开了一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序被处理器执行时实现如上所述的应用于客户端的方法。
58、本技术实施例公开的数据库安全认证方法、装置、电子设备和存储介质,服务端接收客户端针对目标访问端口发送的访问请求;服务端根据访问请求,生成第一数据集及第二数据集;服务端对第一数据集中的n个第一数据进行分类,得到第一分类结果;服务端分别计算第二数据集中的各个第二数据与n个第一数据之间的第一距离;服务端根据各个第二数据对应的n个第一距离及第一分类结果,确定第二数据集对应的第一归属向量;服务端根据第一归属向量生成服务端密码;将第一数据集及第二数据集发送给客户端,以使客户端对第一数据集中的n个第一数据进行分类,得到第二分类结果,客户端分别计算第二数据集中的各个第二数据与n个第一数据之间的第二距离,根据各个第二数据对应的n个第二距离及第二分类结果,客户端确定第二数据集对应的第二归属向量,并根据第二归属向量生成客户端密码;服务端接收客户端发送的客户端密码;若客户端密码与服务端密码一致,则允许客户端通过目标访问端口访问数据库。在本技术实施例中,服务端在接收到客户端针对目标访问端口发送的访问请求,生成第一数据集及第二数据集,并根据第一数据集及第二数据集为客户端动态生成对应的服务端密码,能够避免固定密码被猜测导致数据库被入侵;而且,服务端使用第一数据集及第二数据集的分类结果生成服务端密码,并只将第一数据集及第二数据集发送给客户端,客户端按照相同的方式生成客户端密码,服务端再对客户端生成的客户端密码进行验证,能够有效防止密码的泄漏,以及提高密码被破解的难度,从而有效提高数据库的安全性。