数据处理方法、装置及设备与流程

文档序号:33323752发布日期:2023-03-03 22:03阅读:27来源:国知局
数据处理方法、装置及设备与流程

1.本说明书实施例涉及数据处理技术领域,尤其涉及一种数据处理方法、装置及设备。


背景技术:

2.在微服务场景下,由于通过将系统分解为更小、独立和分布式的单元,因而出现了大量的入口点和通信流量,即微服务之间存在大量的东西向的访问流量,如何解决微服务之间的访问安全性,成为网络服务商关注的焦点。
3.在微服务场景下,为提高微服务间的访问安全性,可以在每次访问时都进行一次身份认证,例如,被访问的微服务可以基于存储的微服务的身份信息对请求访问的微服务进行身份认证。
4.但是,在微服务的数量较多的情况下,每个微服务都需要存储大量的其他微服务的身份信息,资源利用率低,对微服务内存储的身份信息的管理成本高,微服务之间的认证成本高,且请求访问的微服务需要将身份信息发送给被访问的微服务,这就会导致微服务间的认证安全性低,因此,需要一种在微服务场景下,能降低微服务间的认证成本,提高微服务间的认证安全性的解决方案。


技术实现要素:

5.本说明书实施例的目的是提供一种数据处理方法、装置及设备,以提供一种在微服务场景下,能降低微服务间的认证成本,提高微服务间的认证安全性的解决方案。
6.为了实现上述技术方案,本说明书实施例是这样实现的:
7.第一方面,本说明书实施例提供了一种数据处理方法,所述方法应用于第一微服务,包括:向验证服务器发送所述第一微服务针对目标微服务的访问请求;接收所述验证服务器返回的第一验证信息,所述第一验证信息为所述验证服务器基于所述第一微服务的身份密钥对会话密钥和第二验证信息进行加密得到,所述第二验证信息为所述验证服务器基于所述目标微服务的身份密钥对所述会话密钥和所述第一微服务的标识进行加密得到,所述会话密钥为所述验证服务器基于所述访问请求生成的密钥;对所述第一验证信息进行解密得到所述会话密钥和所述第二验证信息,并基于所述会话密钥对所述第一微服务的标识进行签名,得到第三验证信息;将所述第二验证信息和所述第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的所述第三验证信息对所述第一微服务进行认证。
8.第二方面,本说明书实施例提供了一种数据处理方法,所述方法应用于验证服务器,包括:接收第一微服务针对目标微服务的访问请求;基于所述第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息,所述第二验证信息为所述验证服务器基于所述目标微服务的身份密钥对所述会话密钥和所述第一微服务的标识进行加密
得到,所述会话密钥为所述验证服务器基于所述访问请求生成的密钥;将所述第一验证信息发送给所述第一微服务,所述第一验证信息用于触发所述第一微服务基于对所述第一验证信息进行解密得到会话密钥和第二验证信息,并将所述第二验证信息和第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的所述第三验证信息对所述第一微服务进行认证,所述第三验证信息为所述第一微服务基于所述会话密钥对所述第一微服务的标识进行签名得到。
9.第三方面,本说明书实施例提供了一种数据处理方法,所述方法应用于目标微服务,包括:接收第一微服务发送的第二验证信息和第三验证信息,所述第二验证信息为验证服务器基于所述目标微服务的身份密钥对会话密钥和所述第一微服务的标识进行加密得到,所述会话密钥为所述验证服务器基于所述第一微服务针对所述目标微服务的访问请求生成的密钥,所述第三验证信息为所述第一微服务基于所述会话密钥对所述第一微服务的标识进行签名得到;对所述第二验证信息进行解密,得到会话密钥和第一微服务的标识,并基于解密得到的会话密钥,对解密得到的第一微服务的标识进行签名,得到第四验证信息;基于所述第三验证信息和所述第四验证信息,确定对所述第一微服务的认证结果。
10.第四方面,本说明书实施例提供了一种数据处理装置,所述装置包括:请求发送模块,用于向验证服务器发送所述数据处理装置针对目标微服务的访问请求;信息接收模块,用于接收所述验证服务器返回的第一验证信息,所述第一验证信息为所述验证服务器基于所述数据处理装置的身份密钥对会话密钥和第二验证信息进行加密得到,所述第二验证信息为所述验证服务器基于所述目标微服务的身份密钥对所述会话密钥和所述数据处理装置的标识进行加密得到,所述会话密钥为所述验证服务器基于所述访问请求生成的密钥;数据处理模块,用于对所述第一验证信息进行解密得到所述会话密钥和所述第二验证信息,并基于所述会话密钥对所述数据处理装置的标识进行签名,得到第三验证信息;信息发送模块,用于将所述第二验证信息和所述第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和数据处理装置的标识,并基于解密得到的数据处理装置的标识和会话密钥,以及接收到的所述第三验证信息对所述数据处理装置进行认证。
11.第五方面,本说明书实施例提供了一种数据处理装置,所述装置包括:请求接收模块,用于接收第一微服务针对目标微服务的访问请求;数据处理模块,用于基于所述第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息,所述第二验证信息为所述数据处理装置基于所述目标微服务的身份密钥对所述会话密钥和所述第一微服务的标识进行加密得到,所述会话密钥为所述数据处理装置基于所述访问请求生成的密钥;信息发送模块,用于将所述第一验证信息发送给所述第一微服务,所述第一验证信息用于触发所述第一微服务基于对所述第一验证信息进行解密得到会话密钥和第二验证信息,并将所述第二验证信息和第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的所述第三验证信息对所述第一微服务进行认证,所述第三验证信息为所述第一微服务基于所述会话密钥对所述第一微服务的标识进行签名得到。
12.第六方面,本说明书实施例提供了一种数据处理装置,所述装置包括:接收模块,用于接收第一微服务发送的第二验证信息和第三验证信息,所述第二验证信息为验证服务器基于所述数据处理装置的身份密钥对会话密钥和所述第一微服务的标识进行加密得到,所述会话密钥为所述验证服务器基于所述第一微服务针对所述数据处理装置的访问请求生成的密钥,所述第三验证信息为所述第一微服务基于所述会话密钥对所述第一微服务的标识进行签名得到;解密模块,用于对所述第二验证信息进行解密,得到会话密钥和第一微服务的标识,并基于解密得到的会话密钥,对解密得到的第一微服务的标识进行签名,得到第四验证信息;认证模块,用于基于所述第三验证信息和所述第四验证信息,确定对所述第一微服务的认证结果。
13.第七方面,本说明书实施例提供了一种数据处理设备,所述数据处理设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:向验证服务器发送所述数据处理设备针对目标微服务的访问请求;接收所述验证服务器返回的第一验证信息,所述第一验证信息为所述验证服务器基于所述数据处理设备的身份密钥对会话密钥和第二验证信息进行加密得到,所述第二验证信息为所述验证服务器基于所述目标微服务的身份密钥对所述会话密钥和所述数据处理设备的标识进行加密得到,所述会话密钥为所述验证服务器基于所述访问请求生成的密钥;对所述第一验证信息进行解密得到所述会话密钥和所述第二验证信息,并基于所述会话密钥对所述数据处理设备的标识进行签名,得到第三验证信息;将所述第二验证信息和所述第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和数据处理设备的标识,并基于解密得到的数据处理设备的标识和会话密钥,以及接收到的所述第三验证信息对所述数据处理设备进行认证。
14.第八方面,本说明书实施例提供了一种数据处理设备,所述数据处理设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:接收第一微服务针对目标微服务的访问请求;基于所述第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息,所述第二验证信息为所述数据处理设备基于所述目标微服务的身份密钥对所述会话密钥和所述第一微服务的标识进行加密得到,所述会话密钥为所述数据处理设备基于所述访问请求生成的密钥;将所述第一验证信息发送给所述第一微服务,所述第一验证信息用于触发所述第一微服务基于对所述第一验证信息进行解密得到会话密钥和第二验证信息,并将所述第二验证信息和第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的所述第三验证信息对所述第一微服务进行认证,所述第三验证信息为所述第一微服务基于所述会话密钥对所述第一微服务的标识进行签名得到。
15.第九方面,本说明书实施例提供了一种数据处理设备,所述数据处理设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:接收第一微服务发送的第二验证信息和第三验证信息,所述第二验证信息为验证服务器基于所述数据处理设备的身份密钥对会话密钥和所述第一微服务的标识进行加密得到,所述会话密钥为所述验证服务器基于所述第一微服务针对所述数据处理设备的访问请求生成的密钥,所述第三验证信息为所述第一微服务基于所述会话密钥对所述第一微服
务的标识进行签名得到;对所述第二验证信息进行解密,得到会话密钥和第一微服务的标识,并基于解密得到的会话密钥,对解密得到的第一微服务的标识进行签名,得到第四验证信息;基于所述第三验证信息和所述第四验证信息,确定对所述第一微服务的认证结果。
附图说明
16.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1a为本说明书一种数据处理方法实施例的流程图;
18.图1b为本说明书一种数据处理方法实施例的处理过程示意图;
19.图2为本说明书一种微服务间的关系示意图;
20.图3为本说明书一种微服务和验证服务器的关系示意图;
21.图4为本说明书另一种数据处理方法实施例的处理过程示意图;
22.图5a为本说明书另一种数据处理方法实施例的流程图;
23.图5b为本说明书另一种数据处理方法实施例的处理过程示意图;
24.图6为本说明书另一种数据处理方法实施例的处理过程示意图;
25.图7为本说明书另一种数据处理方法实施例的处理过程示意图;
26.图8a为本说明书另一种数据处理方法实施例的流程图;
27.图8b为本说明书另一种数据处理方法实施例的处理过程示意图;
28.图9为本说明书另一种数据处理方法实施例的处理过程的示意图;
29.图10为本说明书另一种数据处理方法实施例的处理过程的示意图;
30.图11为本说明书另一种数据处理方法实施例的处理过程的示意图;
31.图12为本说明书一种数据处理装置实施例的结构示意图;
32.图13为本说明书一种数据处理装置实施例的结构示意图;
33.图14为本说明书一种数据处理装置实施例的结构示意图;
34.图15为本说明书一种数据处理设备的结构示意图。
具体实施方式
35.本说明书实施例提供一种数据处理方法、装置及设备。
36.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
37.实施例一
38.如图1a和图1b所示,本说明书实施例提供一种数据处理方法,该方法的执行主体可以为第一微服务对应的服务器,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,第一微服务可以是任意能够提供数据处理服务的微服务。该方法具体
可以包括以下步骤:
39.在s102中,向验证服务器发送第一微服务针对目标微服务的访问请求。
40.其中,验证服务器可以是任意能够为微服务提供验证功能的服务器,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,第一微服务和目标微服务可以是处理不同业务数据的微服务,例如,第一微服务可以是用于处理用户身份验证业务数据的微服务,目标微服务可以是用于处理资源转移业务数据的微服务,第一微服务可以是基于预设服务框架,对用户身份验证业务数据的处理组件进行封装得到的微服务,用于进行用户身份验证,具体如,可以基于springboot框架(用于快速构建独立微服务应用的基础框架),将用户身份验证业务数据的处理组件进行封装,得到第一微服务,并为第一微服务设定满足预设规范的服务接口(如满足restful规范的api接口),以方便调用该第一微服务。
41.在实施中,在微服务场景下,由于通过将系统分解为更小、独立和分布式的单元,因而出现了大量的入口点和通信流量,即微服务之间存在大量的东西向的访问流量,如何解决微服务之间的访问安全性,成为网络服务商关注的焦点。在微服务场景下,为提高微服务间的访问安全性,可以在每次访问时都进行一次身份认证,例如,被访问的微服务可以基于存储的微服务的身份信息对请求访问的微服务进行身份认证。
42.但是,在微服务的数量较多的情况下,每个微服务都需要存储大量的其他微服务的身份信息,资源利用率低,对微服务内存储的身份信息的管理成本高,微服务之间的认证成本高,且请求访问的微服务需要将身份信息发送给被访问的微服务,这就会导致微服务间的认证安全性低,因此,需要一种在微服务场景下,能降低微服务间的认证成本,提高微服务间的认证安全性的解决方案。为此,本说明书实施例提供一种可以解决上述问题的技术方案,具体可以参见下述内容。
43.以内网中多个微服务之间的访问为例,如图2所示,用户设备可以发起业务处理请求,然后可以通过隔离区(demilitarized zone,dmz)对内网中多个微服务进行调用,内网中的多个微服务之间可以相互访问,为提高微服务之间访问的安全性,可以在每次访问时都进行一次身份认证,第一微服务可以是请求访问的微服务,目标微服务可以是被访问的微服务。
44.如图3所示,验证服务器可以与内网中的多个微服务之间建立连接,第一微服务可以是多个微服务中发起访问请求的任意一个或多个微服务,第一微服务可以将针对目标微服务的访问请求发送给验证服务器,其中,目标微服务可以有多个,访问请求中可以包含目标微服的标识。
45.此外,验证服务器也可以是内网中的任意一个或多个微服务,例如,假设内网中有3个微服务,包括微服务1、微服务2和微服务3,其中,微服务1可以作为验证服务器,即微服务1中可以存储有微服务2和微服务3的身份密钥,若微服务2需要访问微服务3,则微服务2可以作为第一微服务,微服务3可以作为目标微服务,微服务1可以作为验证服务器。
46.在s104中,接收验证服务器返回的第一验证信息。
47.其中,第一验证信息可以为验证服务器基于第一微服务的身份密钥对会话密钥和第二验证信息进行加密得到,第二验证信息可以为验证服务器基于目标微服务的身份密钥对会话密钥和第一微服务的标识进行加密得到,会话密钥为验证服务器基于访问请求生成
的密钥,会话密钥可以是具有时效性的一次性密钥,以提高身份认证的安全性,另外,会话密钥可以是对称密钥。
48.在实施中,验证服务器在接收到第一微服务发送的访问请求后,可以生成与该访问请求对应的会话密钥,在基于该访问请求,获取目标微服务的身份密钥,并通过目标微服务的身份密钥对会话密钥和第一微服的标识进行加密,得到第二验证信息,最后,验证服务器可以通过第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息,并将第一验证信息发送给第一微服务,即第一微服务可以接收验证服务器返回的第一验证信息。
49.此外,目标微服务可以有多个,访问请求中可以包含目标微服务的标识,验证服务器可以基于访问请求中包含的目标微服务的标识,针对每个目标微服务生成一个会话密钥,即不同的目标微服务对应的会话密钥不同,在基于不同的会话密钥生成不同的第二验证信息和第一验证信息,即在目标微服务有多个的情况下,第一验证信息也为多个,不同的目标微服务对应的第一验证信息不同,以保证第一微服务对不同的目标微服务进行访问时的安全性。
50.在s106中,对第一验证信息进行解密得到会话密钥和第二验证信息,并基于会话密钥对第一微服务的标识进行签名,得到第三验证信息。
51.在实施中,第一微服务可以基于解密密钥,对第一验证信息进行解密,以得到会话密钥和第二验证信息,第一微服务可以通过预设签名算法,基于会话密钥对第一微服务的标识进行签名,得到第三验证信息,第三验证信息可以用于保证信息传输过程中的防篡改。
52.在s108中,将第二验证信息和第三验证信息发送目标微服务。
53.其中,第二验证信息可以用于触发目标微服务对第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的第三验证信息对第一微服务进行认证。
54.在实施中,在目标微服务有多个的情况下,可以基于目标微服务的标识,将对应的第二验证信息和第三验证信息发送给目标微服务。
55.目标微服务可以基于解密密钥对第二验证信息进行解密,得到会话密钥和第一微服务的标识,在通过与第一微服务相同的预设签名算法,基于会话密钥对第一微服务的标识进行签名,得到第四验证信息,然后目标微服务可以对第三验证信息和第四验证信息进行匹配处理,若匹配成功,则可以确定对第一微服务认证通过,若匹配不成功,则可以确定对第一微服务认证不通过。
56.若对第一微服务认证不通过,则目标微服务可以将预设告警信息发送给目标服务器,预设告警信息可以包含第一微服的标识,预设告警信息用于触发目标服务器对第一微服务进行处理,如可以对第一微服务进行安全风险控制等。
57.本说明书实施例提供一种数据处理方法,方法应用于第一微服务,通过向验证服务器发送第一微服务针对目标微服务的访问请求,接收验证服务器返回的第一验证信息,第一验证信息为验证服务器基于第一微服务的身份密钥对会话密钥和第二验证信息进行加密得到,第二验证信息为验证服务器基于目标微服务的身份密钥对会话密钥和第一微服务的标识进行加密得到,会话密钥为验证服务器基于访问请求生成的密钥,对第一验证信息进行解密得到会话密钥和第二验证信息,并基于会话密钥对第一微服务的标识进行签
名,得到第三验证信息,将第二验证信息和第三验证信息发送给目标微服务,第二验证信息用于触发目标微服务对第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的第三验证信息对第一微服务进行认证。这样,由于每个微服务(如请求访问的第一微服和被访问的目标微服务)仅需管理本地的密钥(如解密密钥),并不需要存储其他微服务的身份信息,降低了本地的信息存储成本和信息管理成本,提高了资源利用率,且由于每个微服务仅存储有本地的密钥,因此,也不存在仿冒和抵赖的风险,具备防重放的能力,另外,在身份认证过程中传输的是被加密的会话密钥,而不是微服务的身份密钥,可以降低微服务的身份密钥的泄露风险,提高身份认证的效率和安全性。
58.实施例二
59.如图4所示,本说明书实施例提供一种数据处理方法,该方法的执行主体可以为第一微服务对应的服务器,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,第一微服务可以是任意能够提供数据处理服务的微服务。该方法具体可以包括以下步骤:
60.在s102中,向验证服务器发送第一微服务针对目标微服务的访问请求。
61.在s104中,接收验证服务器返回的第一验证信息。
62.在s402中,基于第一微服务的身份密钥对第一验证信息进行解密,得到会话密钥和第二验证信息。
63.在实施中,第一微服务的身份密钥可以是对称密钥,即验证服务器可以基于第一微服务的身份密钥对会话密钥和第二验证信息进行加密得到第一验证信息,第一微服务可以通过第一微服务的身份密钥对第一验证信息进行解密,得到会话密钥和第二验证信息,采用对称密钥的方式进行加密和解密,可以避免非对称密钥的方式存在的需要共享和管理大量的密钥的问题,具备一定程度的防抵赖、防重放的能力。
64.在s404中,基于会话密钥对待处理的业务数据和第一微服务的标识进行签名,得到第三验证信息。
65.其中,待处理的业务数据可以为目标微服务可以处理的任意数据,例如,假设目标微服务是用于处理资源转移业务数据的微服务,那么,待处理的业务数据可以为资源转移业务数据。
66.在实施中,第一微服务可以获取待处理的业务数据,并根据业务数据对应的业务类型,确定对应的目标微服务,在基于与目标微服务对应的会话密钥对待处理的业务数据和第一微服务的标识进行签名,得到第三验证信息。
67.此外,第一微服务还可以获取当前时间的时间戳,并基于会话密钥对时间戳、待处理的业务数据和第一微服务的标识进行签名,得到第三验证信息,时间戳可以用于预防重放攻击。
68.在s406中,将业务数据、第二验证信息和第三验证信息发送给目标微服务。
69.其中,第二验证信息可以用于触发目标微服务对第二验证信息进行解密得到会话密钥和第一微服务的标识,并在基于解密得到的第一微服务的标识和会话密钥,以及接收到的业务数据、第三验证信息和业务数据对第一微服务进行认证通过的情况下,对业务数据进行处理。
70.在实施中,第一微服务可以根据业务数据对应的业务类型,确定对应的目标微服务,并将业务数据发送给对应的目标微服务,例如,待处理的业务数据可以包括业务数据1和业务数据2,其中,根据业务数据1的业务类型,可以确定对应的目标微服务为目标微服务1,根据业务数据2的业务类型,可以确定对应的目标微服务为目标微服务2,验证服务器可以生成与目标微服务1对应的会话密钥1,与目标微服务2对应的会话密钥2,并分别生成与目标微服务1对应的第一验证信息1,以及与目标微服务2对应的第一验证信息2,然后,第一微服务可以基于会话密钥1,对以及业务数1和第一微服务的标识进行签名,得到第三验证信息1,基于会话密钥2,对以及业务数2和第一微服务的标识进行签名,得到第三验证信息2。
71.最后,第一微服务可以将业务数据1、与目标微服务1对应的第二验证信息1以及第三验证信息1发送给目标微服务1,将业务数据2、与目标微服务2对应的第二验证信息2以及第三验证信息2发送给目标微服务2,这样,目标微服务在接收到数据后,可以基于接收到的数据对第一微服务进行身份认证,并在身份认证通过后,可以对接收到的业务数据进行处理,此外,业务数据中还可以包括用户身份数据和/或用户设备身份数据,目标微服务还可以基于该数据对用户和/用户设备进行身份认证,并在身份认证通过后,对业务数据进行处理。
72.此外,在第三验证信息为第一微服务基于会话密钥对时间戳、待处理的业务数据和第一微服务的标识进行签名得到的情况下,第二验证信息还用于触发目标微服务对第二验证信息进行解密得到会话密钥和第一微服务的标识,并在基于解密得到的第一微服务的标识和会话密钥,以及接收到的业务数据、第三验证信息和业务数据对第一微服务进行认证通过,并基于接收到的当前时间的时间戳进行比对成功的情况下,对业务数据进行处理。
73.本说明书实施例提供一种数据处理方法,方法应用于第一微服务,通过向验证服务器发送第一微服务针对目标微服务的访问请求,接收验证服务器返回的第一验证信息,第一验证信息为验证服务器基于第一微服务的身份密钥对会话密钥和第二验证信息进行加密得到,第二验证信息为验证服务器基于目标微服务的身份密钥对会话密钥和第一微服务的标识进行加密得到,会话密钥为验证服务器基于访问请求生成的密钥,对第一验证信息进行解密得到会话密钥和第二验证信息,并基于会话密钥对第一微服务的标识进行签名,得到第三验证信息,将第二验证信息和第三验证信息发送给目标微服务,第二验证信息用于触发目标微服务对第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的第三验证信息对第一微服务进行认证。这样,由于每个微服务(如请求访问的第一微服和被访问的目标微服务)仅需管理本地的密钥(如解密密钥),并不需要存储其他微服务的身份信息,降低了本地的信息存储成本和信息管理成本,提高了资源利用率,且由于每个微服务仅存储有本地的密钥,因此,也不存在仿冒和抵赖的风险,具备防重放的能力,另外,在身份认证过程中传输的是被加密的会话密钥,而不是微服务的身份密钥,可以降低微服务的身份密钥的泄露风险,提高身份认证的效率和安全性。
74.实施例三
75.如图5a和图5b所示,本说明书实施例提供一种数据处理方法,该方法的执行主体可以为验证服务器,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器
集群。该方法具体可以包括以下步骤:
76.在s502中,接收第一微服务针对目标微服务的访问请求。
77.在s504中,基于第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息。
78.其中,第二验证信息可以为验证服务器基于目标微服务的身份密钥对会话密钥和第一微服务的标识进行加密得到,会话密钥可以为验证服务器基于访问请求生成的密钥。
79.在实施中,若存在多个访问请求,则可以针对不同的访问请求生成不同的会话密钥,例如,假设存在微服务1和微服务2,若验证服务器收到微服务1针对微服务2的访问请求1,以及微服务2针对微服务1的访问请求2,则验证服务器针对访问请求1生成的会话密钥1,需要与针对访问请求2生成的会话密钥2不同。
80.例如,验证服务器可以基于预设随机数生成算法,针对每个访问请求,生成一个预设位数的随机数,并将该随机数确定为与该访问请求对应的会话密钥,以保证每个访问请求对应的会话密钥不相同,除此之外,会话密钥还可以有多种不同的确定方法,可以根据实际应用场景的不同而有所不同,本说明书实施例对此不作具体限定。
81.在s506中,将第一验证信息发送给第一微服务。
82.其中,第一验证信息可以用于触发第一微服务基于对第一验证信息进行解密得到会话密钥和第二验证信息,并将第二验证信息和第三验证信息发送给目标微服务,第二验证信息可以用于触发目标微服务对第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的第三验证信息对第一微服务进行认证,第三验证信息可以为第一微服务基于会话密钥对第一微服务的标识进行签名得到。
83.本说明书实施例提供一种数据处理方法,应用于验证服务器,通过接收第一微服务针对目标微服务的访问请求,基于第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息,第二验证信息为验证服务器基于目标微服务的身份密钥对会话密钥和第一微服务的标识进行加密得到,会话密钥为验证服务器基于访问请求生成的密钥,将第一验证信息发送给第一微服务,第一验证信息用于触发第一微服务基于对第一验证信息进行解密得到会话密钥和第二验证信息,并将第二验证信息和第三验证信息发送给目标微服务,第二验证信息用于触发目标微服务对第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的第三验证信息对第一微服务进行认证,第三验证信息为第一微服务基于会话密钥对第一微服务的标识进行签名得到。这样,由于每个微服务(如请求访问的第一微服和被访问的目标微服务)仅需管理本地的密钥(如解密密钥),并不需要存储其他微服务的身份信息,降低了本地的信息存储成本和信息管理成本,提高了资源利用率,且由于每个微服务仅存储有本地的密钥,因此,也不存在仿冒和抵赖的风险,具备防重放的能力,另外,在身份认证过程中传输的是被加密的会话密钥,而不是微服务的身份密钥,可以降低微服务的身份密钥的泄露风险,提高身份认证的效率和安全性。
84.实施例四
85.本说明书实施例提供一种数据处理方法,该方法的执行主体可以为验证服务器,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群。该方法具体可
以包括以下步骤:
86.在s502中,接收第一微服务针对目标微服务的访问请求。
87.其中,若访问请求中包括第一微服务的身份密钥、第一微服务的标识和目标微服务的标识,则如图6所示,在s502后,可以继续执行s602~s604,以得到第二验证信息,若访问请求中包括第一微服务的标识和目标微服务的标识,则如图7所示,在s502后,可以继续执行s606~s610,以得到第二验证信息。
88.在s602中,基于第一微服务的身份密钥,对第一微服务进行身份认证,并在身份认证通过后,生成与访问请求对应的会话密钥。
89.在实施中,验证服务器可以基于第一微服务的身份密钥,对第一微服务进行身份认证,例如,验证服务器可以对访问请求中的第一微服务的身份密钥和存储的第一微服务的身份密钥进行匹配处理,若匹配成功,则可以确定对第一微服务身份认证通过,若匹配不成功,则可以确定对第一微服务身份认证不通过,在不通过的情况下,验证服务器可以不处理第一微服务针对目标微服务的访问请求。
90.上述对第一微服务的身份认证方法是一种可选地、可实现的认证方法,在实际应用场景中,验证服务器对第一微服务的认证方法还可以有多种多样,可以根据实际应用场景的不同,选取不同的认证方法,本说明书实施例对此不作具体限定。
91.在验证服务器对第一微服务的身份认证通过后,验证服务器可以生成与访问请求对应的会话密钥。
92.在s604中,基于目标微服务的标识,确定目标微服务的身份密钥,并基于目标微服务的身份密钥,对会话密钥和第一微服务的标识进行加密,得到第二验证信息。
93.在实施中,验证服务器可以基于目标微服务的标识,从原先存储的身份密钥中确定目标微服务的身份密钥,在基于确定的目标微服务的身份密钥,对生成的会话密钥和第一微服务的标识进行加密,得到第二验证信息。
94.在s606中,生成与访问请求对应的会话密钥。
95.在实施中,会话密钥的生成方法可以参见上述实施例三中的s504,在此不做赘述。
96.在s608中,基于第一微服务的标识,确定第一微服务的身份密钥,并基于目标微服务的标识,确定目标微服务的身份密钥。
97.在实施中,访问请求中还可以包括第一微服务基于第一微服务的标识生成的目标可验证信息,例如,第一微服务可以基于预设哈希算法,生成与第一微服务的标识对应的目标可验证信息,这样,验证服务器就可以基于第一微服务的标识和目标可验证信息,对第一微服务进行身份认证,具体如,验证服务器可以基于与第一微服务相同的预设哈希算法,生成与第一微服务的标识对应的目标可验证信息,并对生成的目标可验证信息和接收到的目标可验证信息进行匹配处理,若匹配成功,则确定对第一微服务身份认证通过。
98.在对第一微服务身份认证通过的情况下,可以基于第一微服务的标识,从预先存储的身份密钥中确定第一微服务的身份密钥,并基于目标微服务的标识,从预先存储的身份密钥中确定目标微服务的身份密钥。
99.在s610中,基于目标微服务的身份密钥,对会话密钥和第一微服务的标识进行加密,得到第二验证信息。
100.在s504中,基于第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得
到第一验证信息。
101.其中,第二验证信息可以为验证服务器基于目标微服务的身份密钥对会话密钥和第一微服务的标识进行加密得到,会话密钥可以为验证服务器基于访问请求生成的密钥。
102.在s506中,将第一验证信息发送给第一微服务。
103.其中,第一验证信息可以用于触发第一微服务基于对第一验证信息进行解密得到会话密钥和第二验证信息,并将第二验证信息和第三验证信息发送给目标微服务,第二验证信息可以用于触发目标微服务对第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的第三验证信息对第一微服务进行认证,第三验证信息可以为第一微服务基于会话密钥对第一微服务的标识进行签名得到。
104.本说明书实施例提供一种数据处理方法,应用于验证服务器,通过接收第一微服务针对目标微服务的访问请求,基于第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息,第二验证信息为验证服务器基于目标微服务的身份密钥对会话密钥和第一微服务的标识进行加密得到,会话密钥为验证服务器基于访问请求生成的密钥,将第一验证信息发送给第一微服务,第一验证信息用于触发第一微服务基于对第一验证信息进行解密得到会话密钥和第二验证信息,并将第二验证信息和第三验证信息发送给目标微服务,第二验证信息用于触发目标微服务对第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的第三验证信息对第一微服务进行认证,第三验证信息为第一微服务基于会话密钥对第一微服务的标识进行签名得到。这样,由于每个微服务(如请求访问的第一微服和被访问的目标微服务)仅需管理本地的密钥(如解密密钥),并不需要存储其他微服务的身份信息,降低了本地的信息存储成本和信息管理成本,提高了资源利用率,且由于每个微服务仅存储有本地的密钥,因此,也不存在仿冒和抵赖的风险,具备防重放的能力,另外,在身份认证过程中传输的是被加密的会话密钥,而不是微服务的身份密钥,可以降低微服务的身份密钥的泄露风险,提高身份认证的效率和安全性。
105.实施例五
106.如图8a和图8b所示,本说明书实施例提供一种数据处理方法,该方法的执行主体可以为第一微服务,服务器,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群。该方法具体可以包括以下步骤:
107.在s802中,接收第一微服务发送的第二验证信息和第三验证信息。
108.其中,第二验证信息可以为验证服务器基于目标微服务的身份密钥对会话密钥和第一微服务的标识进行加密得到,会话密钥可以为验证服务器基于第一微服务针对目标微服务的访问请求生成的密钥,第三验证信息可以为第一微服务基于会话密钥对第一微服务的标识进行签名得到。
109.在s804中,对第二验证信息进行解密,得到会话密钥和第一微服务的标识,并基于解密得到的会话密钥,对解密得到的第一微服务的标识进行签名,得到第四验证信息。
110.在s806中,基于第三验证信息和第四验证信息,确定对第一微服务的认证结果。
111.在实施中,可以对第三验证信息和第四验证信息进行匹配处理,若匹配成功,则可以确定第一微服务通过身份认证,若匹配不成功,则可以确定第一微服务未通过身份认证。
112.此外,目标微服务还可以接收第一微服务发送的待处理的业务数据,并在确定第一微服务通过身份认证的情况下,目标微服务可以对业务数据进行处理,并将处理结果返回给第一微服务。
113.另外,目标微服务在对业务数据进行处理的过程中,如需访问其他微服务,则目标微服务可以作为第一微服务,待访问的其他微服务可以作为目标微服务,并通过验证服务器的协助,完成第一微服务对目标微服务的访问。
114.本说明书实施例提供一种数据处理方法,应用于目标微服务,通过接收第一微服务发送的第二验证信息和第三验证信息,第二验证信息为验证服务器基于目标微服务的身份密钥对会话密钥和第一微服务的标识进行加密得到,会话密钥为验证服务器基于第一微服务针对目标微服务的访问请求生成的密钥,第三验证信息为第一微服务基于会话密钥对第一微服务的标识进行签名得到,对第二验证信息进行解密,得到会话密钥和第一微服务的标识,并基于解密得到的会话密钥,对解密得到的第一微服务的标识进行签名,得到第四验证信息,基于第三验证信息和第四验证信息,确定对第一微服务的认证结果。这样,由于每个微服务(如请求访问的第一微服和被访问的目标微服务)仅需管理本地的密钥(如解密密钥),并不需要存储其他微服务的身份信息,降低了本地的信息存储成本和信息管理成本,提高了资源利用率,且由于每个微服务仅存储有本地的密钥,因此,也不存在仿冒和抵赖的风险,具备防重放的能力,另外,在身份认证过程中传输的是被加密的会话密钥,而不是微服务的身份密钥,可以降低微服务的身份密钥的泄露风险,提高身份认证的效率和安全性。
115.实施例六
116.本说明书实施例提供一种数据处理系统,该数据处理系统包括第一微服务、目标微服务和验证服务器,其中,
117.第一微服务,用于向验证服务器发送第一微服务针对目标微服务的访问请求。
118.如图9所示,验证服务器,用于基于第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息,第二验证信息为验证服务器基于目标微服务的身份密钥对会话密钥和第一微服务的标识进行加密得到(即图9中的票据),会话密钥为验证服务器基于访问请求生成的密钥,并将第一验证信息发送给第一微服务。其中,票据可以是仅认证者可识别并使用的,能够用于辨别用户身份和权限的短期凭据,本说明书实施例中的票据是使用目标微服务的身份密钥加密后的密文,该票据的明文包括第一微服务的标识以及会话密钥。
119.第一微服务,用于对第一验证信息进行解密得到会话密钥和第二验证信息,并基于会话密钥对第一微服务的标识进行签名,得到第三验证信息,并将第二验证信息和第三验证信息发送给目标微服务。
120.如图10所示,第一微服务可以通过第一微服务的身份密钥对第一验证信息进行解密,得到会话密钥以及第二验证信息(即票据),在基于会话密钥,对当前时间的时间戳、待处理的业务数据以及第一微服务的标识进行签名,得到第三验证信息,最后,第一微服务可以将时间戳、业务数据、第二验证信息和第三验证信息发送给目标微服务。
121.目标微服务,用于对第二验证信息进行解密,得到会话密钥和第一微服务的标识,并基于解密得到的会话密钥,对解密得到的第一微服务的标识进行签名,得到第四验证信
息,最后,基于第三验证信息和第四验证信息,确定对第一微服务的认证结果。
122.如图11所示,目标微服务可以基于目标微服务的身份密钥对第二验证信息进行解密,得到会话密钥和第一微服务的标识,在通过会话密钥对,对解密得到的第一微服务的标识进行签名,得到第四验证信息。在对第三验证信息和第四验证信息进行匹配处理(即进行签名验证处理),同时,可以获取本地时间,并将本地时间与接收到的时间戳进行匹配处理,若信息匹配成功且时间匹配成功,则可以确定第一微服务通过身份认证,若匹配不成功,则可以确定第一微服务未通过身份认证,在确定第一微服务通过身份认证的情况下,可以对业务数据进行业务处理。
123.本说明书实施例提供一种数据处理系统,由于每个微服务(如请求访问的第一微服和被访问的目标微服务)仅需管理本地的密钥(如解密密钥),并不需要存储其他微服务的身份信息,降低了本地的信息存储成本和信息管理成本,提高了资源利用率,且由于每个微服务仅存储有本地的密钥,因此,也不存在仿冒和抵赖的风险,具备防重放的能力,另外,在身份认证过程中传输的是被加密的会话密钥,而不是微服务的身份密钥,可以降低微服务的身份密钥的泄露风险,提高身份认证的效率和安全性。
124.实施例七
125.以上为本说明书实施例提供的数据处理方法,基于同样的思路,本说明书实施例还提供一种数据处理装置,如图12所示。
126.该数据处理装置包括:请求发送模块1201、信息接收模块1202、数据处理模块1203和信息发送模块1204,其中:
127.请求发送模块1201,用于向验证服务器发送所述数据处理装置针对目标微服务的访问请求;
128.信息接收模块1202,用于接收所述验证服务器返回的第一验证信息,所述第一验证信息为所述验证服务器基于所述数据处理装置的身份密钥对会话密钥和第二验证信息进行加密得到,所述第二验证信息为所述验证服务器基于所述目标微服务的身份密钥对所述会话密钥和所述数据处理装置的标识进行加密得到,所述会话密钥为所述验证服务器基于所述访问请求生成的密钥;
129.数据处理模块1203,用于对所述第一验证信息进行解密得到所述会话密钥和所述第二验证信息,并基于所述会话密钥对所述数据处理装置的标识进行签名,得到第三验证信息;
130.信息发送模块1204,用于将所述第二验证信息和所述第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和数据处理装置的标识,并基于解密得到的数据处理装置的标识和会话密钥,以及接收到的所述第三验证信息对所述数据处理装置进行认证。
131.本说明书实施例中,所述数据处理模块1203,用于:
132.基于所述会话密钥对待处理的业务数据和所述数据处理装置的标识进行签名,得到所述第三验证信息;
133.所述信息发送模块1204,用于:
134.将所述业务数据、所述第二验证信息和所述第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密
钥和数据处理装置的标识,并在基于解密得到的数据处理装置的标识和会话密钥,以及接收到的所述业务数据、所述第三验证信息和所述业务数据对所述数据处理装置进行认证通过的情况下,对所述业务数据进行处理。
135.本说明书实施例中,所述数据处理模块1203,用于:
136.获取当前时间的时间戳,并基于所述会话密钥对所述时间戳、所述待处理的业务数据和所述数据处理装置的标识进行签名,得到所述第三验证信息;
137.所述信息发送模块1204,用于:
138.将所述时间戳、所述业务数据、所述第二验证信息和所述第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和数据处理装置的标识,并在基于解密得到的数据处理装置的标识和会话密钥,以及接收到的所述业务数据、所述第三验证信息和所述业务数据对所述数据处理装置进行认证通过,并基于接收到的所述当前时间的时间戳进行比对成功的情况下,对所述业务数据进行处理。
139.本说明书实施例中,所述数据处理模块1203,用于:
140.基于所述数据处理装置的身份密钥对所述第一验证信息进行解密,得到所述会话密钥和所述第二验证信息。
141.基于同样的思路,本说明书实施例还提供一种数据处理装置,如图13所示。
142.该数据处理装置包括:请求接收模块1301、数据处理模块1302和信息发送模块1303,其中:
143.请求接收模块1301,用于接收第一微服务针对目标微服务的访问请求;
144.数据处理模块1302,用于基于所述第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息,所述第二验证信息为所述数据处理装置基于所述目标微服务的身份密钥对所述会话密钥和所述第一微服务的标识进行加密得到,所述会话密钥为所述数据处理装置基于所述访问请求生成的密钥;
145.信息发送模块1303,用于将所述第一验证信息发送给所述第一微服务,所述第一验证信息用于触发所述第一微服务基于对所述第一验证信息进行解密得到会话密钥和第二验证信息,并将所述第二验证信息和第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的所述第三验证信息对所述第一微服务进行认证,所述第三验证信息为所述第一微服务基于所述会话密钥对所述第一微服务的标识进行签名得到。
146.本说明书实施例中,所述访问请求中包括所述第一微服务的身份密钥、所述第一微服务的标识和所述目标微服务的标识,所述装置,还包括:
147.第一生成模块,用于基于所述第一微服务的身份密钥,对所述第一微服务进行身份认证,并在身份认证通过后,生成与所述访问请求对应的所述会话密钥;
148.第一加密模块,用于基于所述目标微服务的标识,确定所述目标微服务的身份密钥,并基于所述目标微服务的身份密钥,对所述会话密钥和所述第一微服务的标识进行加密,得到所述第二验证信息。
149.本说明书实施例中,所述访问请求中包括所述第一微服务的标识和所述目标微服
务的标识,所述装置,还包括:
150.第二生成模块,用于生成与所述访问请求对应的所述会话密钥;
151.密钥确定模块,用于基于所述第一微服务的标识,确定所述第一微服务的身份密钥,并基于所述目标微服务的标识,确定所述目标微服务的身份密钥;
152.第二加密模块,用于基于所述目标微服务的身份密钥,对所述会话密钥和所述第一微服务的标识进行加密,得到所述第二验证信息。
153.基于同样的思路,本说明书实施例还提供一种数据处理装置,如图14所示。
154.该数据处理装置包括:接收模块1401、解密模块1402和认证模块1403,其中:
155.接收模块1401,用于接收第一微服务发送的第二验证信息和第三验证信息,所述第二验证信息为验证服务器基于所述数据处理装置的身份密钥对会话密钥和所述第一微服务的标识进行加密得到,所述会话密钥为所述验证服务器基于所述第一微服务针对所述数据处理装置的访问请求生成的密钥,所述第三验证信息为所述第一微服务基于所述会话密钥对所述第一微服务的标识进行签名得到;
156.解密模块1402,用于对所述第二验证信息进行解密,得到会话密钥和第一微服务的标识,并基于解密得到的会话密钥,对解密得到的第一微服务的标识进行签名,得到第四验证信息;
157.认证模块1403,用于基于所述第三验证信息和所述第四验证信息,确定对所述第一微服务的认证结果。
158.本说明书实施例提供一种数据处理装置,由于每个微服务(如请求访问的第一微服和被访问的目标微服务)仅需管理本地的密钥(如解密密钥),并不需要存储其他微服务的身份信息,降低了本地的信息存储成本和信息管理成本,提高了资源利用率,且由于每个微服务仅存储有本地的密钥,因此,也不存在仿冒和抵赖的风险,具备防重放的能力,另外,在身份认证过程中传输的是被加密的会话密钥,而不是微服务的身份密钥,可以降低微服务的身份密钥的泄露风险,提高身份认证的效率和安全性。
159.实施例八
160.基于同样的思路,本说明书实施例还提供一种数据处理设备,如图15所示。
161.数据处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1501和存储器1502,存储器1502中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1502可以是短暂存储或持久存储。存储在存储器1502的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对数据处理设备中的一系列计算机可执行指令。更进一步地,处理器1501可以设置为与存储器1502通信,在数据处理设备上执行存储器1502中的一系列计算机可执行指令。数据处理设备还可以包括一个或一个以上电源1503,一个或一个以上有线或无线网络接口1504,一个或一个以上输入输出接口1505,一个或一个以上键盘1506。
162.具体在本实施例中,数据处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对数据处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
163.向验证服务器发送所述第一微服务针对目标微服务的访问请求;
164.接收所述验证服务器返回的第一验证信息,所述第一验证信息为所述验证服务器基于所述第一微服务的身份密钥对会话密钥和第二验证信息进行加密得到,所述第二验证信息为所述验证服务器基于所述目标微服务的身份密钥对所述会话密钥和所述第一微服务的标识进行加密得到,所述会话密钥为所述验证服务器基于所述访问请求生成的密钥;
165.对所述第一验证信息进行解密得到所述会话密钥和所述第二验证信息,并基于所述会话密钥对所述第一微服务的标识进行签名,得到第三验证信息;
166.将所述第二验证信息和所述第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的所述第三验证信息对所述第一微服务进行认证。
167.可选地,所述基于所述会话密钥对所述第一微服务的标识进行签名,得到第三验证信息,包括:
168.基于所述会话密钥对待处理的业务数据和所述第一微服务的标识进行签名,得到所述第三验证信息;
169.所述将所述第二验证信息和所述第三验证信息发送给所述目标微服务,包括:
170.将所述业务数据、所述第二验证信息和所述第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和第一微服务的标识,并在基于解密得到的第一微服务的标识和会话密钥,以及接收到的所述业务数据、所述第三验证信息和所述业务数据对所述第一微服务进行认证通过的情况下,对所述业务数据进行处理。
171.可选地,所述基于所述会话密钥对待处理的业务数据和所述第一微服务的标识进行签名,得到所述第三验证信息,包括:
172.获取当前时间的时间戳,并基于所述会话密钥对所述时间戳、所述待处理的业务数据和所述第一微服务的标识进行签名,得到所述第三验证信息;
173.所述将所述第二验证信息和所述第三验证信息发送给所述目标微服务,包括:
174.将所述时间戳、所述业务数据、所述第二验证信息和所述第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和第一微服务的标识,并在基于解密得到的第一微服务的标识和会话密钥,以及接收到的所述业务数据、所述第三验证信息和所述业务数据对所述第一微服务进行认证通过,并基于接收到的所述当前时间的时间戳进行比对成功的情况下,对所述业务数据进行处理。
175.可选地,所述对所述第一验证信息进行解密得到所述会话密钥和所述第二验证信息,包括:
176.基于所述第一微服务的身份密钥对所述第一验证信息进行解密,得到所述会话密钥和所述第二验证信息。
177.且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序还包含用于进行以下计算机可执行指令:
178.接收第一微服务针对目标微服务的访问请求;
179.基于所述第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息,所述第二验证信息为所述验证服务器基于所述目标微服务的身份密钥对所述会话密钥和所述第一微服务的标识进行加密得到,所述会话密钥为所述验证服务器基于所述访问请求生成的密钥;
180.将所述第一验证信息发送给所述第一微服务,所述第一验证信息用于触发所述第一微服务基于对所述第一验证信息进行解密得到会话密钥和第二验证信息,并将所述第二验证信息和第三验证信息发送给所述目标微服务,所述第二验证信息用于触发所述目标微服务对所述第二验证信息进行解密得到会话密钥和第一微服务的标识,并基于解密得到的第一微服务的标识和会话密钥,以及接收到的所述第三验证信息对所述第一微服务进行认证,所述第三验证信息为所述第一微服务基于所述会话密钥对所述第一微服务的标识进行签名得到。
181.可选地,所述访问请求中包括所述第一微服务的身份密钥、所述第一微服务的标识和所述目标微服务的标识,在所述基于所述第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息之前,还包括:
182.基于所述第一微服务的身份密钥,对所述第一微服务进行身份认证,并在身份认证通过后,生成与所述访问请求对应的所述会话密钥;
183.基于所述目标微服务的标识,确定所述目标微服务的身份密钥,并基于所述目标微服务的身份密钥,对所述会话密钥和所述第一微服务的标识进行加密,得到所述第二验证信息。
184.可选地,所述访问请求中包括所述第一微服务的标识和所述目标微服务的标识,在所述基于所述第一微服务的身份密钥对会话密钥和第二验证信息进行加密,得到第一验证信息之前,还包括:
185.生成与所述访问请求对应的所述会话密钥;
186.基于所述第一微服务的标识,确定所述第一微服务的身份密钥,并基于所述目标微服务的标识,确定所述目标微服务的身份密钥;
187.基于所述目标微服务的身份密钥,对所述会话密钥和所述第一微服务的标识进行加密,得到所述第二验证信息。
188.且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序还包含用于进行以下计算机可执行指令:
189.接收第一微服务发送的第二验证信息和第三验证信息,所述第二验证信息为验证服务器基于所述目标微服务的身份密钥对会话密钥和所述第一微服务的标识进行加密得到,所述会话密钥为所述验证服务器基于所述第一微服务针对所述目标微服务的访问请求生成的密钥,所述第三验证信息为所述第一微服务基于所述会话密钥对所述第一微服务的标识进行签名得到;
190.对所述第二验证信息进行解密,得到会话密钥和第一微服务的标识,并基于解密得到的会话密钥,对解密得到的第一微服务的标识进行签名,得到第四验证信息;
191.基于所述第三验证信息和所述第四验证信息,确定对所述第一微服务的认证结果。
192.本说明书实施例提供一种数据处理设备,由于每个微服务(如请求访问的第一微
服和被访问的目标微服务)仅需管理本地的密钥(如解密密钥),并不需要存储其他微服务的身份信息,降低了本地的信息存储成本和信息管理成本,提高了资源利用率,且由于每个微服务仅存储有本地的密钥,因此,也不存在仿冒和抵赖的风险,具备防重放的能力,另外,在身份认证过程中传输的是被加密的会话密钥,而不是微服务的身份密钥,可以降低微服务的身份密钥的泄露风险,提高身份认证的效率和安全性。
193.实施例九
194.本说明书实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
195.本说明书实施例提供一种计算机可读存储介质,由于每个微服务(如请求访问的第一微服和被访问的目标微服务)仅需管理本地的密钥(如解密密钥),并不需要存储其他微服务的身份信息,降低了本地的信息存储成本和信息管理成本,提高了资源利用率,且由于每个微服务仅存储有本地的密钥,因此,也不存在仿冒和抵赖的风险,具备防重放的能力,另外,在身份认证过程中传输的是被加密的会话密钥,而不是微服务的身份密钥,可以降低微服务的身份密钥的泄露风险,提高身份认证的效率和安全性。
196.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
197.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应
该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
198.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
199.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
200.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
201.本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
202.本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
203.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
204.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
205.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
206.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
207.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
208.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
209.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
210.本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
211.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
212.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1