一种访问方法、装置、设备及计算机可读存储介质与流程

文档序号:24744828发布日期:2021-04-20 22:46阅读:75来源:国知局
一种访问方法、装置、设备及计算机可读存储介质与流程

1.本申请涉及通信技术领域,更具体地说,涉及一种访问方法、装置、设备及计算机可读存储介质。


背景技术:

2.redis是目前应用最为广泛的基于内存存储的数据库,具有完全开源、高性能等特点。
3.目前,redis默认的访问方法仅有密码认证,即redis客户端发出请求并向redis服务端提供正确的密码即可与redis服务端成功连接并获取数据,但上述过程可能会出现不合法的客户端向redis服务端进行访问的情况发生,且可能会因非法攻击者对请求进行攻击而导致访问出现问题。
4.综上所述,如何提高redis中访问的安全性,是目前本领域技术人员亟待解决的技术问题。


技术实现要素:

5.有鉴于此,本申请的目的是提供一种访问方法、装置、设备及计算机可读存储介质,用于提高redis中访问的安全性。
6.为了实现上述目的,本申请提供如下技术方案:
7.一种访问方法,包括:
8.当redis中的客户端发起请求时,利用第一密钥对所述客户端的请求进行加密并将加密后的请求发送至所述客户端,由所述客户端向服务端发送所述加密后的请求;所述请求中包含所述客户端的身份信息;
9.利用与所述第一密钥对应的密钥对所述加密后的请求进行解密,并将解密得到的客户端的身份信息发送给所述服务端,以由所述服务端对所述客户端的身份信息进行验证,并在验证通过时获取与所述请求对应的数据且将所述数据发送至所述客户端。
10.优选的,在所述服务端获取与所述请求对应的数据之后,还包括:
11.利用第二密钥对所述服务端的所述数据进行加密并将加密后的数据发送至所述服务端,以由所述服务端将所述加密后的数据发送至所述客户端;
12.利用与所述第二密钥对应的密钥对所述加密后的数据进行解密,并将解密得到的所述服务端的身份信息发送给所述客户端,以由所述客户端对所述服务端的身份信息进行验证并在验证通过时接收与所述请求对应的所述数据。
13.优选的,利用第一密钥对所述客户端的请求进行加密,包括:
14.从所述客户端中获取与所述客户端对应的客户端短期密钥,并利用所述客户端短期密钥对所述客户端的请求进行加密;
15.利用与所述第一密钥对应的密钥对所述加密后的请求进行解密,包括:
16.利用与所述客户端短期密钥对应的客户端长期密钥对所述加密后的请求进行解
密。
17.优选的,在从所述客户端中获取与所述客户端对应的客户端短期密钥之前,还包括:
18.根据预设规则生成与所述客户端对应的客户端长期密钥并进行存储,利用所述客户端长期密钥对对应的客户端的身份信息进行加密,得到与所述客户端对应的客户端短期密钥,并将所述客户端短期密钥发送至对应的所述客户端中。
19.优选的,利用第二密钥对所述服务端的所述数据进行加密,包括:
20.从所述服务端中获取与所述服务端对应的服务端短期密钥,并利用所述服务端短期密钥对所述服务端的所述数据进行加密;
21.利用与所述第二密钥对应的密钥对所述加密后的数据进行解密,包括:
22.利用与所述服务端短期密钥对应的服务端长期密钥对所述加密后的数据进行解密。
23.优选的,在从所述服务端中获取与所述服务端对应的服务端短期密钥之前,还包括:
24.根据预设规则生成与所述服务端对应的服务端长期密钥并进行存储,利用所述服务端长期密钥对对应的服务端的身份信息进行加密,得到与所述服务端对应的服务端短期密钥,并将所述服务端短期密钥发送至对应的所述服务端中。
25.一种访问装置,包括:
26.第一加密模块,用于当redis中的客户端发起请求时,利用第一密钥对所述客户端的请求进行加密并将加密后的请求发送至所述客户端,由所述客户端向服务端发送所述加密后的请求;所述请求中包含所述客户端的身份信息;
27.第一解密模块,用于利用与所述第一密钥对应的密钥对所述加密后的请求进行解密,并将解密得到的客户端的身份信息发送给所述服务端,以由所述服务端对所述客户端的身份信息进行验证,并在验证通过时获取与所述请求对应的数据且将所述数据发送至所述客户端。
28.优选的,还包括:
29.第二加密模块,用于在所述服务端获取与所述请求对应的数据之后,利用第二密钥对所述服务端的所述数据进行加密并将加密后的数据发送至所述服务端,以由所述服务端将所述加密后的数据发送至所述客户端;
30.第二解密模块,用于利用与所述第二密钥对应的密钥对所述加密后的数据进行解密,并将解密得到的所述服务端的身份信息发送给所述客户端,以由所述客户端对所述服务端的身份信息进行验证并在验证通过时接收与所述请求对应的所述数据。
31.一种访问设备,包括:
32.存储器,用于存储计算机程序;
33.处理器,用于执行所述计算机程序时实现如上述任一项所述的访问方法的步骤。
34.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的访问方法的步骤。
35.本申请提供了一种访问方法、装置、设备及计算机可读存储介质,其中,该方法包括:当redis中的客户端发起请求时,利用第一密钥对客户端的请求进行加密并将加密后的
请求发送至客户端,由客户端向服务端发送加密后的请求;请求中包含客户端的身份信息;利用与第一密钥对应的密钥对加密后的请求进行解密,并将解密得到的客户端的身份信息发送给服务端,以由服务端对客户端的身份信息进行验证,并在验证通过时获取与请求对应的数据且将数据发送至客户端。
36.本申请公开的上述技术方案,利用第一密钥对redis中的客户端所发起的请求进行加密,以使得客户端在访问服务端时向服务端发送经过加密的请求,之后,则利用与第一密钥对应的密钥对加密后的请求进行解密,以得到客户端的身份信息,并由服务端对解密得到的客户端的身份信息进行验证,只有在验证通过时服务端才获取与客户端的请求对应的数据并将其发送至客户端,通过上述过程实现对请求的加密以及对客户端身份信息的验证,以尽量避免客户端向服务端发送请求的过程中遭到攻击,并尽量避免不合法客户端对服务端进行访问,从而提高访问的安全性。
附图说明
37.为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
38.图1为本申请实施例提供的一种访问方法的流程图;
39.图2为本申请实施例提供的一种访问装置的结构示意图;
40.图3为本申请实施例提供的一种访问设备的结构示意图。
具体实施方式
41.目前,redis默认的认证方法仅有密码认证,客户端在连接服务端时只需向服务端发出请求并提供正确的密码即可与服务端成功连接并获取与请求对应的数据,且由于服务端认证的密码明文保存在服务端配置文件中,极易遭受暴力破解,因此,如果不合法的客户端破解其认证的密码,则可以利用该密码向服务端发起访问,另外,不合法客户端也可能会攻击请求而导致访问出现问题。
42.为此,本申请提供一种访问方法、装置、设备及计算机可读,用于尽量避免非法用户对服务端进行访问,以提高访问的安全性。
43.为了使本领域技术人员更清楚地理解本技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
44.参见图1,其示出了本申请实施例提供的一种访问方法的流程图,本申请实施例提供的一种访问方法,可以包括:
45.s11:当redis中的客户端发起请求时,利用第一密钥对客户端的请求进行加密并将加密后的请求发送至客户端,由客户端向服务端发送加密后的请求;请求中包含客户端的身份信息。
46.需要说明的是,本申请所提供的访问方法的执行主体具体可以为加密管理装置,
具体地,当redis中的客户端需要访问redis中的服务端时,客户端可以发起请求,其中,该请求中包含有客户端的身份信息以及具体的请求数据等内容。在客户端发起请求之后,加密管理装置可以获取客户端所发起的请求,并利用与客户端对应的第一密钥对客户端所发起的请求进行加密,以得到加密后的请求,并将加密后的请求发送给客户端。客户端在接收到加密后的请求后,可以将该加密后的请求发送给服务端。
47.通过对客户端发起的请求进行加密可以使得客户端向服务端所发送的请求为加密后的请求,从而尽量避免非法用户在客户端访问服务端的过程中攻击请求而向请求中加入非法数据,以尽量保证访问的安全性。
48.s12:利用与第一密钥对应的密钥对加密后的请求进行解密,并将解密得到的客户端的身份信息发送给服务端,以由服务端对客户端的身份信息进行验证,并在验证通过时获取与请求对应的数据且将数据发送至客户端。
49.在服务端接收到客户端发送的加密后的请求时,服务端可以先将加密后的请求发送至加密管理装置,此时,加密管理装置可以利用与第一密钥对应的密钥对加密后的请求进行解密,以得到客户端的身份信息及具体的请求数据等内容,并将得到的客户端的身份信息及具体的请求数据等内容发送至服务端。服务端在接收到解密后的信息后,对其中包含的客户端的身份信息进行验证,若客户端的身份信息通过验证,则获取与客户端的请求对应的数据,并将与客户端的请求对应的数据发送至客户端,以使得客户端可以接收数据;若客户端的身份信息未通过验证,则服务端拒绝获取与客户端的请求对应的数据并拒绝向客户端发送数据,与此同时,服务端还可以发出提示,以便于服务端对应的用户可以及时获知有非法客户端进行访问,从而便于其及时采取措施进行应对,以保证服务端的安全性。
50.在上述过程中,通过对客户端进行身份信息加密和验证而尽量避免非法用户在客户端访问服务端的过程中进行攻击和冒充等,以尽量提高访问的安全性。
51.本申请公开的上述技术方案,利用第一密钥对redis中的客户端所发起的请求进行加密,以使得客户端在访问服务端时向服务端发送经过加密的请求,之后,则利用与第一密钥对应的密钥对加密后的请求进行解密,以得到客户端的身份信息,并由服务端对解密得到的客户端的身份信息进行验证,只有在验证通过时服务端才获取与客户端的请求对应的数据并将其发送至客户端,通过上述过程实现对请求的加密以及对客户端身份信息的验证,以尽量避免客户端向服务端发送请求的过程中遭到攻击,并尽量避免不合法客户端对服务端进行访问,从而提高访问的安全性。
52.本申请实施例提供的一种访问方法,在服务端获取与请求对应的数据之后,还可以包括:
53.利用第二密钥对服务端的数据进行加密并将加密后的数据发送至服务端,以由服务端将加密后的数据发送至客户端;
54.利用与第二密钥对应的密钥对加密后的数据进行解密,并将解密得到的服务端的身份信息发送给客户端,以由客户端对服务端的身份信息进行验证并在验证通过时接收与请求对应的数据。
55.在服务端获取与客户端的请求对应的数据之后,加密管理装置可以利用第二密钥对服务端获取到的且与客户端的请求对应的数据进行加密,以得到加密后的数据,并将加密后的数据发送至服务端,服务端在接收到加密后的数据之后,可以将加密后的数据发送
至客户端。需要说明的是,服务端获取到的与客户端的请求对应的数据中除了包含有与具体的请求数据等内容对应的具体数据外,还可以包含有服务端的身份信息。
56.当客户端接收到服务端所发送的加密后的数据之后,可以先将加密后的数据发送至加密管理装置,此时,加密管理装置可以利用与第二密钥对应的密钥对加密后的数据进行解密,以得到服务端的身份信息及具体数据,并将解密得到的所有数据发送给客户端。客户端在接收到解密得到的所有数据之后,从中获取服务端的身份信息,并对服务端的身份信息进行验证,若服务端的身份信息通过验证,则客户端可以接收与请求对应的数据,具体而言,即为接收与具体的请求数据等内容对应的具体数据;若服务端的身份信息未通过验证,则客户端可以拒绝接收与请求对应的数据,以保证客户端的安全性,与此同时,客户端可以发出提示,以使得与客户端对应的用户可以及时获知有非法服务端向客户端提供服务这一异常情况,从而便于与客户端对应的用户可以及时采取措施进行应对,以保证客户端的安全性。
57.通过服务端向客户端发送加密后的数据而保证数据的安全性,且通过上述过程可以实现客户端与服务端的双向验证,以进一步提高访问的安全性和可靠性。
58.本申请实施例提供的一种访问方法,利用第一密钥对客户端的请求进行加密,可以包括:
59.从客户端中获取与客户端对应的客户端短期密钥,并利用客户端短期密钥对客户端的请求进行加密;
60.利用与第一密钥对应的密钥对加密后的请求进行解密,可以包括:
61.利用与客户端短期密钥对应的客户端长期密钥对加密后的请求进行解密。
62.加密管理装置在利用第一密钥对客户端的请求进行加密时,可以先从客户端中获取与客户端对应的客户端短期密钥,并将获取到的客户端短期密钥作为第一密钥,以利用该客户端短期密钥而对客户端的请求进行加密。其中,与客户端对应的客户端短期密钥为利用与该客户端对应的客户端长期密钥对该客户端的身份信息进行加密得到的,且客户端短期密钥带有过期时间,在过期时间内可以利用其对客户端发起的请求进行加密,超过过期时间则该客户端短期密钥会发生更新,因此,利用客户端短期密钥对客户端的请求进行加密的方式可以增加加密后的请求被破解的难度,降低加密后的请求被破解的概率,以提高客户端访问的可靠性和安全性。
63.在上述过程的基础上,当利用与第一密钥对应的密钥对加密后的请求进行解密时,加密管理装置具体可以利用与客户端短期密钥对应的客户端长期密钥对加密后的请求进行解密,以得到客户端的身份信息。其中,客户端长期密钥为长期有效的密钥,由于客户端长期密钥并不参与网络传输,因此,则可以尽量避免被非法程序捕获并破解,因此,则可以尽量提高访问的安全性。
64.本申请实施例提供的一种访问方法,在从客户端中获取与客户端对应的客户端短期密钥之前,还可以包括:
65.根据预设规则生成与客户端对应的客户端长期密钥并进行存储,利用客户端长期密钥对对应的客户端的身份信息进行加密,得到与客户端对应的客户端短期密钥,并将客户端短期密钥发送至对应的客户端中。
66.加密管理装置在从客户端中获取与客户端对应的客户端短期密钥之前,其可以先
根据预设规则生成与客户端对应的客户端长期密钥并对所生成的客户端长期密钥进行存储,其中,该客户端长期密钥中可以包含有客户端的身份信息。之后,加密管理装置可以利用客户端长期密钥对其对应的客户端的身份信息进行加密而得到与客户端对应的客户端短期密钥,且可以将客户端短期密钥发送至客户端短期密钥对应的客户端中,以便于后续在对请求进行加密时可以直接从客户端中获取其对应的客户端短期密钥,从而便于提高加密效率。
67.需要说明的是,在利用客户端长期密钥对其对应的客户端的身份信息进行加密而得到与客户端对应的客户端短期密钥时,加密管理装置可以每间隔预设时长即利用客户端长期密钥对其对应的客户端的身份信息进行加密而得到与客户端对应的客户端短期密钥,以实现对客户端短期密钥的更新,之后,则可以将更新后的客户端短期密钥发送至对应的客户端中,其中,上述提及的预设时长可以预先进行设置,例如可以为1天。
68.本申请实施例提供的一种访问方法,利用第二密钥对服务端的数据进行加密,可以包括:
69.从服务端中获取与服务端对应的服务端短期密钥,并利用服务端短期密钥对服务端的数据进行加密;
70.利用与第二密钥对应的密钥对加密后的数据进行解密,可以包括:
71.利用与服务端短期密钥对应的服务端长期密钥对加密后的数据进行解密。
72.加密管理装置在利用第二密钥对服务端的请求进行加密时,可以先从服务端中获取与服务端对应的服务端短期密钥,并将获取到的服务端短期密钥作为第二密钥,以利用该服务端短期密钥对服务端的数据进行加密。其中,与服务端对应的服务端短期密钥为利用与该服务端对应的服务端长期密钥对该服务端的身份信息进行加密得到的,且服务端短期密钥带有过期时间,在过期时间内可以利用其对服务端获取的数据进行加密,超过其过期时间后则该服务端短期密钥会发生更新,因此,利用服务端短期密钥对服务端获取的数据进行加密的方式可以增加加密后的数据被破解的难度,降低加密后的数据被破解的概率,从而提高数据传输的可靠性和安全性。
73.在上述过程的基础上,当利用与第二密钥对应的密钥对加密后的数据进行解密时,加密管理装置具体可以与服务端短期密钥对应的服务端长期密钥对加密后的数据进行解密。其中,服务端长期密钥为长期有效的密钥,且由于服务端长期密钥不参与网络传输,因此,则可以尽量避免被非法程序捕获并破解,因此,则可以尽量提高访问的安全性。
74.本申请实施例提供的一种访问方法,在从服务端中获取与服务端对应的服务端短期密钥之前,还可以包括:
75.根据预设规则生成与服务端对应的服务端长期密钥并进行存储,利用服务端长期密钥对对应的服务端的身份信息进行加密,得到与服务端对应的服务端短期密钥,并将服务端短期密钥发送至对应的服务端中。
76.加密管理装置在从服务端中获取与服务端对应的服务端短期密钥之前,可以先根据预设规则生成与服务端对应的服务端长期密钥并对其进行存储,其中,该服务端长期密钥中可以包含有服务端的身份信息。之后,加密管理装置可以利用服务端长期密钥对其对应的服务端的身份信息进行加密,以得到与服务端对应的服务端短期密钥,且可以将服务端短期密钥发送至该服务端短期密钥对应的服务端中,以便于后续在对数据进行加密时可
以直接从服务端中获取其对应的服务端短期密钥,从而便于提高加密效率。
77.需要说明的是,在利用服务端长期密钥对其对应的服务端的身份信息进行加密而得到与服务端对应的服务端短期密钥时,加密管理装置可以每间隔预设时长即利用服务端长期密钥对其对应的服务端的身份信息进行加密而得到与服务端对应的服务端短期密钥,以实现对服务端短期密钥的更新,之后,则可以将更新后的服务端短期密钥发送至对应的服务端中,其中,上述提及的预设时长可以预先进行设置,例如可以为1天。
78.本申请实施例还提供了一种访问装置,参见图2,其示出了本申请实施例提供的一种访问装置的结构示意图,可以包括:
79.第一加密模块21,用于当redis中的客户端发起请求时,利用第一密钥对客户端的请求进行加密并将加密后的请求发送至客户端,由客户端向服务端发送加密后的请求;请求中包含客户端的身份信息;
80.第一解密模块22,用于利用与第一密钥对应的密钥对加密后的请求进行解密,并将解密得到的客户端的身份信息发送给服务端,以由服务端对客户端的身份信息进行验证,并在验证通过时获取与请求对应的数据且将数据发送至客户端。
81.本申请实施例提供的一种访问装置,还可以包括:
82.第二加密模块,用于在服务端获取与请求对应的数据之后,利用第二密钥对服务端的数据进行加密并将加密后的数据发送至服务端,以由服务端将加密后的数据发送至客户端;
83.第二解密模块,用于利用与第二密钥对应的密钥对加密后的数据进行解密,并将解密得到的服务端的身份信息发送给客户端,以由客户端对服务端的身份信息进行验证并在验证通过时接收与请求对应的数据。
84.本申请实施例提供的一种访问装置,第一加密模块21可以包括:
85.第一加密单元,用于从客户端中获取与客户端对应的客户端短期密钥,并利用客户端短期密钥对客户端的请求进行加密;
86.第一解密模块22可以包括:
87.第一解密单元,用于利用与客户端短期密钥对应的客户端长期密钥对加密后的请求进行解密。
88.本申请实施例提供的一种访问装置,第一加密模块21还可以包括:
89.第一发送单元,用于在从客户端中获取与客户端对应的客户端短期密钥之前,根据预设规则生成与客户端对应的客户端长期密钥并进行存储,利用客户端长期密钥对对应的客户端的身份信息进行加密,得到与客户端对应的客户端短期密钥,并将客户端短期密钥发送至对应的客户端中。
90.本申请实施例提供的一种访问装置,第二加密模块可以包括:
91.第二加密单元,用于从服务端中获取与服务端对应的服务端短期密钥,并利用服务端短期密钥对服务端的数据进行加密;
92.第二解密模块可以包括:
93.第二解密单元,用于利用与服务端短期密钥对应的服务端长期密钥对加密后的数据进行解密。
94.本申请实施例提供的一种访问装置,第二加密模块还可以包括:
95.第二发送单元,用于在从服务端中获取与服务端对应的服务端短期密钥之前,根据预设规则生成与服务端对应的服务端长期密钥并进行存储,利用服务端长期密钥对对应的服务端的身份信息进行加密,得到与服务端对应的服务端短期密钥,并将服务端短期密钥发送至对应的服务端中。
96.本申请实施例还提供了一种访问设备,参见图3,其示出了本申请实施例提供的一种访问设备的结构示意图,可以包括:
97.存储器31,用于存储计算机程序;
98.处理器32,用于执行存储器31存储的计算机程序时可实现如下步骤:
99.当redis中的客户端发起请求时,利用第一密钥对客户端的请求进行加密并将加密后的请求发送至客户端,由客户端向服务端发送加密后的请求;请求中包含客户端的身份信息;利用与第一密钥对应的密钥对加密后的请求进行解密,并将解密得到的客户端的身份信息发送给服务端,以由服务端对客户端的身份信息进行验证,并在验证通过时获取与请求对应的数据且将数据发送至客户端。
100.本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
101.当redis中的客户端发起请求时,利用第一密钥对客户端的请求进行加密并将加密后的请求发送至客户端,由客户端向服务端发送加密后的请求;请求中包含客户端的身份信息;利用与第一密钥对应的密钥对加密后的请求进行解密,并将解密得到的客户端的身份信息发送给服务端,以由服务端对客户端的身份信息进行验证,并在验证通过时获取与请求对应的数据且将数据发送至客户端。
102.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
103.本申请实施例提供的一种访问装置、设备及计算机可读存储介质中相关部分的说明可以参见本申请实施例提供的一种访问方法中对应部分的详细说明,在此不再赘述。
104.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
105.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1