一种认证信息同步方法及装置与流程

文档序号:25033345发布日期:2021-05-11 17:04阅读:61来源:国知局
一种认证信息同步方法及装置与流程

本申请涉及通信技术领域,尤其涉及一种认证信息同步方法及装置。



背景技术:

传统的网络安全模型以网络边界作为防护边界,通常采用防火墙、ddos、ips等设备在企业入口处对流量进行监控,出差用户或者分支机构采用vpn的方式接入内网,内网环境被认为是安全的。随着技术的不断进步,这种传统的安全体系正面临挑战。一方面,因内网防御措施往往较为薄弱,一旦攻击者攻入网络边界,内网环境就会面临数据泄漏等风险。另一方面,随着微服务架构的兴起,系统组成方式由集中式向分布式演进,企业对外提供的服务也更加具有针对性,需要提供更加精细化的防护方式。由此产生了“零信任”安全模型,而“零信任”安全模型的中心思想是所有访问都是不可信的,以身份作为新边界来代替传统的网络边界。当用户访问零信任网络时,需要通过代理设备与身份识别与访问管理(identityandaccessmanagement,iam)系统交互,以完成身份认证和应用系统访问权限认证的功能。

目前采用分区部署的零信任网络中,在每个区域的接入点都会部署一台代理设备。各区域的各代理设备之间是相互独立的。当用户访问某个区域的应用系统时,需要通过该区域的代理设备与iam系统完成认证功能。而当用户访问另一个区域的其它应用系统甚至同一应用系统时,依然需要与iam系统重新完成认证流程,这样会造成同一用户访问不同区域的应用系统的多次认证,流程繁琐,同时增加了iam系统的认证压力。

因此,如何在同一用户访问不同区域的应用系统时不需要重新向iam系统认证,同时降低iam系统的认证压力是值得考虑的技术问题之一。



技术实现要素:

有鉴于此,本申请提供一种认证信息同步方法及装置,用以实现在同一用户访问不同区域的应用系统时无需重新向iam系统认证,降低iam系统的认证压力。

具体地,本申请是通过如下技术方案实现的:

根据本申请的第一方面,提供一种认证信息同步方法,应用于零信任网络的代理设备中,所述零信任网络采用分区域部署方式,每个区域对应一个代理设备,且每个代理设备配置有该代理设备的邻居代理设备;所述方法,包括:

接收用户的访问请求;

若本地存储有所述用户的认证信息,则利用所述认证信息对所述用户进行认证,并在认证通过后,允许所述用户访问所述访问请求所请求访问的应用系统;

若本地未存储所述用户的认证信息,则向用于身份认证的身份识别与访问管理iam系统发送认证请求,以由所述iam系统完成对所述用户的身份认证;

接收所述iam系统反馈的认证结果;

若所述认证结果为认证通过,则允许所述用户访问所述访问请求所请求访问的应用系统;并将认证通过的认证信息同步给所述代理设备的邻居代理设备。

根据本申请的第二方面,提供一种认证信息同步装置,应用于零信任网络的代理设备中,所述零信任网络采用分区域部署方式,每个区域对应一个代理设备,且每个代理设备配置有该代理设备的邻居代理设备;所述装置,包括:

第一接收模块,用于接收用户的访问请求;

判断模块,用于判断本地是否存储有所述用户的认证信息;

认证处理模块,用于若所述判断模块的判断结果为本地存储有所述用户的认证信息,则利用所述认证信息对所述用户进行认证,并在认证通过后,允许所述用户访问所述访问请求所请求访问的应用系统;

发送模块,用于若所述判断模块的判断结果为本地未存储所述用户的认证信息,则向用于身份认证的身份识别与访问管理iam系统发送认证请求,以由所述iam系统完成对所述用户的身份认证;

第二接收模块,用于接收所述iam系统反馈的认证结果;

许可模块,用于若所述认证结果为认证通过,则允许所述用户访问所述访问请求所请求访问的应用系统;

同步模块,用于将认证通过的认证信息同步给所述代理设备的邻居代理设备。

根据本申请的第三方面,提供一种代理设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的计算机程序,处理器被计算机程序促使执行本申请实施例第一方面所提供的方法。

根据本申请的第四方面,提供一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本申请实施例第一方面所提供的方法。

本申请实施例的有益效果:

通过将用户的认证信息同步给代理设备的邻居代理设备,当该用户其邻居代理设备发送访问请求时,邻居代理设备无需向iam系统发起关于该用户的重复认证,从而实现了同一用户访问不同区域的应用系统时不需要重新向iam系统认证的目的,进而降低了iam系统的认证压力。

附图说明

图1是本申请实施例提供的一种认证信息同步方法的流程示意图;

图2是本申请实施例提供的一种认证信息同步装置的结构示意图;

图3是本申请实施例提供的一种实施认证信息同步方法的代理设备的硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

下面对本申请提供的认证信息同步方法进行详细地说明。

参见图1,图1是本申请提供的一种认证信息同步方法的流程图,该方法应用于零信任网络的代理设备中,该零信任网络采用分区域部署方式,每个区域对应一个代理设备,且每个代理设备配置有该代理设备的邻居代理设备,所述邻居代理设备为基于除该代理设备外其他区域的代理设备选择出来的,任一代理设备实施认证信息同步方法时可包括如下所示步骤:

s101、接收用户的访问请求。

具体地,当用户希望访问某个区域内的应用系统时,会向该区域的代理设备发送访问请求。

s102、判断本地是否存储有所述用户的认证信息;若本地未存储所述用户的认证信息,则执行步骤s103;若本地存储有所述用户的认证信息,则执行步骤s106。

具体地,当代理设备接收到用户的访问请求后,会判断本地是否存储有该用户的认证信息,当存储有该用户的认证信息时,则只需直接基于存储的该用户的认证信息完成该用户的认证即可,即执行步骤s107这样也就不需要向iam发送认证请求,从而可以减轻iam系统的认证压力。而当本地未存储有该用户的认证信息,则再向iam系统发送认证请求,即执行步骤s103。

可选地,上述认证信息包括认证时间,在此基础上,上述用户的认证信息可以为用户首次访问零信任网络时iam系统反馈的,也可以是该代理设备的邻居代理设备同步的。当本地存储的所述用户的认证信息为该代理设备的邻居代理设备同步的,则本实施例提供的方法还可以包括下述过程:当接收到多个邻居代理设备发送的所述用户的认证信息时,根据各个认证信息中的认证时间,将最新的认证时间对应的认证信息存储到本地。

具体地,由于代理设备的邻居代理设备可能有多个,但可能因为认证时间的问题,每个邻居代理设备上得到的同一用户的认证结果可能不相同,这样可能就存在多个邻居代理设备同步到该代理设备的同一用户的认证结果相冲突的情况,为了避免这一情况的发生,在认证信息中增加该用户进行身份认证的认证时间,这样可以区分该用户在何时是认证通过或认证不通过的,在此基础上,当该代理设备接收到邻居代理设备同步的至少一个用户的认证信息时,针对每一个用户的认证信息,可以按照下述过程执行:可以从接收到的该用户的各个认证信息中解析出认证时间,然后比对该用户的各个认证时间,然后将离当前时间最近的认证时间对应的认证信息作为该用户的最新的认证信息并存储到本地,即将最新的认证时间对应认证信息确定为该用户的最新的认证信息进行本地存储,以便后续使用存储的该用户的认证信息对该用户的身份进行认证。

而当该代理设备的邻居代理设备只有一个时,则从该邻居代理设备同步过来的用户的认证信息直接进行存储即可。

可选地,当该代理设备的邻居代理设备之间具有优先级时,还可以按照优先级的顺序从对应优先级的邻居代理设备处同步该用户的用户的认证信息。需要说明的是,邻居代理设备的优先级可以存储在代理设备记录的该邻居代理所吧的邻居信息中。

可选地,当所述代理设备具有多个邻居代理设备时,所述代理设备的各个邻居代理设备之间具备优先级,则本实施例提供的认证信息同步方法还可以包括下述方法:若所述代理设备为重新上线的代理设备,则从最高优先级的邻居代理设备获取用户的认证信息。

具体地,代理设备可能会存在离线再重新上线的情况,因此当代理设备重新上线时,可以向该代理设备对应的邻居代理设备中最高优先级的邻居代理设备发送同步请求,以同步获取到上述最高优先级的邻居代理设备中记录的用户的认证信息。由于最高优先级的邻居代理设备可能从距离、设备处理能力来说比较优的,这样一来,可以保证快速获取到用户的认证信息。

s103、向用于身份认证的身份识别与访问管理iam系统发送认证请求,以完成对所述用户的身份认证。

具体地,当本地未存储有该用户的认证信息,则可以向iam系统发送认证请求,以使iam系统对该用户的身份进行认证。具体地,用户向该代理设备发送访问请求时,会携带用户的用户信息,然后代理设备在向iam系统发送认证请求时会携带该用户的用户信息,然后iam系统按照目前的流程完成对用户的身份认证。

可选地,用户在发送访问请求后,在向iam系统发送认证请求之前,还可以执行下述过程:判断该用户是否为首次访问所述零信任网络的用户,当判断结果为是时,则在接收到访问请求后向iam系统发送认证请求;具体地,可以判断是否能够从访问请求中解析出身份令牌,如果未携带身份令牌token,则表明该用户为首次访问的用户。具体而言,一般情况下,用户访问零信任网络时,首次访问只会带用户信息,代理设备在确认用户的身份后会向用户反馈一个身份令牌token,这样用户后续在访问该零信任网络时就会在访问请求中携带该身份令牌,这样就可以保持访问的连续性。

而当该用户不为首次访问所述零信任网络的用户时,则该用户的访问请求除携带该用户的用户信息外,还会携带身份令牌,当从访问请求中解析出身份令牌时,若确认本地未存储该用户的身份信息,则可以向该代理设备的邻居代理设备发送同步信息获取请求,以获取该用户的认证信息,当从邻居代理设备获取到该用户的认证信息后,可以利用该用户的认证信息对该用户的身份进行认证。若未获取到该用户的认证信息,则再向iam系统发送认证请求。

需要说明的是,当该代理设备仅有一个邻居代理设备时,只需要向该邻居代理设备获取该用户的认证信息,当未获取到再向iam系统发送认证请求;而当该代理设备具有多个邻居代理设备时,各个邻居代理设备之间具有优先级,则可以按照优先级又高到低的顺序向对应邻居代理设备获取该用户的认证信息。或者,代理设备可以将该用户的用户信息广播给邻居代理设备,当某个代理设备接收到该广播且确认邻居代理设备本地存储有该用户的认证信息时,向该代理设备发送该用户的认证信息。如若该代理设备的邻居代理设备均未存储该用户的认证信息,则该代理设备向iam系统发送认证请求。

s104、接收所述iam系统反馈的认证结果。

具体地,代理设备在确认本地未存储该用户的认证信息后,会向iam系统发送该用户的认证请求,该认证请求会携带该用户的用户信息,该用户信息会包括用户的用户标识,然后iam系统就可以根据该用户的用户信息对该用户的是否具有访问所请求的应用系统的访问权限进行认证,然后将认证结果发送给该代理设备。该认证结果会携带对该用户进行认证的相关认证信息。当用户的认证结果为认证通过后,则会为该用户分配一个身份令牌token并设置该身份令牌的有效时间,然后将该用户的用户标识、身份令牌和身份令牌的有效时间作为认证通过的认证信息携带在认证结果中反馈给该代理设备。也即,认证通过的认证信息还包括:用户的用户标识、身份令牌和所述身份令牌的有效时间,所述身份令牌为iam系统对用户认证通过时分配的。

需要说明的是,同步的认证信息还可用包括发起认证的代理设备的设备标识,上述发起认证的代理设备的可以理解为:当认证信息是该代理设备向iam系统认证的,则上述发起认证的代理设备即为该代理设备自身;而当认证信息为该代理设备的邻居代理设备同步给该代理设备的且由该邻居代理设备主动向iam系统进行认证的,则上述发起认证的代理设备为该代理设备的邻居代理设备。此外,上述发起认证的代理设备的设备标识可以为发起认证的代理设备将其自身的设备标识添加到认证信息中的;当然也可以为iam系统添加的,例如,发起认证的代理设备在向iam系统发送认证请求时会携带该代理设备的设备标识和用户的用户信息,这样iam系统就可以将该代理设备的设备标识写入到认证信息中并携带在认证结果中反馈给该代理设备。

可选地,当iam系统对该用户的认证结果为认证不通过时,则认证不通过的认证信息可以包括用户标识、认证时间、认证不通过和发起认证的代理设备的设备标识。

s105、若所述认证结果为认证通过,则允许所述用户访问所述访问请求所请求访问的应用系统,并将认证通过的认证信息同步给所述代理设备的邻居代理设备。

具体地,iam系统反馈的认证结果包括认证通过和认证失败,因此需要判断代理设备接收到iam系统反馈的认证结果后,可以判断该认证结果是否为认证通过。若认证结果为认证通过,则执行步骤s106,否则表明该用户具有所请求访问的应用系统的访问权限,则允许该用户访问其所请求访问的应用系统。

此外,为了避免该用户向其他区域的代理设备发送访问请求,而其他代理设备因没有该用户的认证信息需要对该用户认证而导致iam系统认证压力较大的问题发生,该代理设备会从认证结果中解析出的认证通过的认证信息发送给该代理设备的邻居代理设备。

需要说明的是,当认证结果为认证失败时,也可以将认证失败的认证信息发送给该代理设备的邻居代理设备。

这样一来,当同一用户访问该代理设备的邻居代理设备时,由于该邻居代理设备已同步了该代理设备发送的该用户的认证信息,该邻居代理设备只需基于本地存储的该用户的认证信息对该用户进行认证即可,也就不需要iam系统参与认证,从而减轻了iam系统的认证处理压力。

可选地,在将认证通过的认证信息同步给所述代理设备的邻居代理设备时,可以按照下述过程实施:将所述认证信息同步给所述代理设备对应的当前可用的邻居代理设备。

具体地,该代理设备在发送认证信息时,该代理设备的邻居代理设备有可能不在线,也即可能存储邻居代理设备当前不可用的情况,因此该代理设备在同步认证信息之前,会确认该代理设备当前可用的邻居代理设备,然后将用户的认证信息同步给当前可用的邻居代理设备。

需要说明的是,可用按照下述方法确定该代理设备当前可用的邻居代理设备:定时向每个邻居代理设备发送探测请求,若接收到该邻居代理设备的响应,则确认该邻居代理设备当前的状态为可用,否则确认该邻居代理设备当前的状态为不可用。

具体地,在为该代理设备配置邻居代理设备时,会将配置的邻居代理设备的邻居信息存储在该代理设备中,上述邻居信息可以但不限于包括配置的邻居代理设备的设备标识(如设备名称)、ip地址、优先级和探测间隔等等。在此基础上,针对该代理设备的每个邻居代理设备,该代理设备会基于上述邻居代理设备的邻居信息向上述邻居代理设备发送探测请求,如某个邻居代理设备的邻居信息为ip地址1、设备名称1和探测间隔30秒为例进行说明,则代理设备可以按照30秒的探测间隔定时向ip地址1对应的、设备名称为设备名称1的邻居代理设备发送探测请求。

s106、利用所述认证信息对所述用户进行认证,并在认证通过后,允许所述用户访问所述访问请求所请求访问的应用系统。

具体地,当代理设备本地存储有该用户的认证信息后,则可以直接利用该认证信息对该用户进行认证,如从认证请求中解析出该用户的身份令牌,则判断解析出的身份令牌与该用户的认证信息中记录的认证令牌是否一致,若一致则表明该用户认证通过,则允许该用户访问其所请求访问的应用系统;否则确认对该用户认证不通过,则表明该用户不具备访问其所请求访问的应用系统的访问权限。

通过实施本申请提供的认证信息同步方法,通过将用户的认证信息同步给代理设备的邻居代理设备,当该用户其邻居代理设备发送访问请求时,邻居代理设备无需向iam系统发起关于该用户的重复认证,从而实现了同一用户访问不同区域的应用系统时不需要重新向iam系统认证的目的,进而降低了iam系统的认证压力。

为例更好地理解本申请提供的认证信息同步方法,以零信任网络中分3个区域,相应部署3个代理设备为例进行说明,部署的3个代理设备的设备名称分别为p1、p2和p3,优先级分别为90、50、10,探测间隔均为30秒。初始情况下,三个代理设备均可用,且代理设备p2和代理设备p3为代理设备p1的邻居代理设备。应用系统1部署在代理设备p1所在的区域,应用系统2部署在代理设备p2所在的区域,应用系统3部署在代理设备p3所在的区域。当用户a通过代理设备p1首次访问应用系统1时,由于代理设备p1本地没有找到用户a的认证信息,也即代理设备p1本地未存储有用户a的认证信息,则代理设备p1可以向iam系统发送认证请求,以完成用户a的认证过程;当iam系统反馈用户a的认证信息后,若认证通过则可以本地保存用户a的认证信息,同时将用户a的认证信息同步给代理设备p1的邻居代理设备,即p2和p3。当用户a通过代理设备p2访问应用系统2时,即触发访问应用系统2的访问请求,该访问请求会携带用户a的身份令牌,由于该身份令牌代理设备p1已包含在认证信息中同步给代理设备p2和代理设备p3,则代理设备p2本地已记录用户a的认证信息,则可以判断用户a本次携带的身份令牌与本地记录的用户a的认证信息中的身份令牌是否一致,若一致则直接认证通过,允许用户a访问应用系统2,代理设备p2无需再与iam系统重新认证,从而减轻了iam系统的压力。若不一致,则表明认证不通过,则代理设备p2禁止用户a访问应用系统2。采用上述方法,当同一用户访问零信任网络中不同区域的应用系统时,通过向邻居代理设备同步用户的认证信息,避免了跨区域的iam重复认证,即不需要向iam系统重新认证,用户使用更加方便,同时避免了多次向iam系统认证所造成的iam系统认证压力过大的问题发生。

基于同一发明构思,本申请还提供了与上述认证信息同步方法对应的认证信息同步装置。该认证信息同步装置的实施具体可以参考上述对认证信息同步方法的描述,此处不再一一论述。

参见图2,图2是本申请一示例性实施例提供的一种认证信息同步装置,应用于零信任网络的代理设备中,所述零信任网络采用分区域部署方式,每个区域对应一个代理设备,且每个代理设备配置有该代理设备的邻居代理设备;所述装置,包括:

第一接收模块201,用于接收用户的访问请求;

判断模块202,用于判断本地是否存储有所述用户的认证信息;

认证处理模块203,用于若所述判断模块202的判断结果为本地存储有所述用户的认证信息,则利用所述认证信息对所述用户进行认证,并在认证通过后,允许所述用户访问所述访问请求所请求访问的应用系统;

发送模块204,用于若所述判断模块的判断结果为本地未存储所述用户的认证信息,则向用于身份认证的身份识别与访问管理iam系统发送认证请求,以由所述iam系统完成对所述用户的身份认证;

第二接收模块205,用于接收所述iam系统反馈的认证结果;

许可模块206,用于若所述认证结果为认证通过,则允许所述用户访问所述访问请求所请求访问的应用系统;

同步模块207,用于将认证通过的认证信息同步给所述代理设备的邻居代理设备。

需要说明的是,实际应用中,上述第一接收模块201和上述第二接收模块205可以为同一个接收模块,当然还可以为不同的接收模块,由不同的硬件实现。

可选地,上述认证信息包括认证时间;则本实施例提供的认证信息同步装置,还包括:

信息存储模块(图中未示出),用于若本地存储的所述用户的认证信息为该代理设备的邻居代理设备同步的,则当接收到多个邻居代理设备发送的所述用户的认证信息时,根据各个认证信息中的认证时间,将最新的认证时间对应的认证信息存储到本地。

可选地,当所述代理设备具有多个邻居代理设备时,所述代理设备的各个邻居代理设备之间具备优先级,则本实施例提供的认证信息同步装置,还包括:

获取模块(图中未示出),用于若所述代理设备为重新上线的代理设备,则从最高优先级的邻居代理设备获取用户的认证信息。

可选地,上述同步模块207,具体用于将所述认证信息同步给所述代理设备对应的当前可用的邻居代理设备。

可选地,上述认证信息还包括用户的用户标识、身份令牌、所述身份令牌的有效时间和发起认证的代理设备的设备标识,所述身份令牌为iam系统对用户认证通过时分配的。

本申请实施例提供了一种代理设备,如图3所示,包括处理器301和机器可读存储介质302,机器可读存储介质302存储有能够被处理器301执行的计算机程序,处理器301被计算机程序促使执行本申请实施例所提供的认证信息同步方法。

上述计算机可读存储介质可以包括ram(randomaccessmemory,随机存取存储器)、ddrsram(doubledataratesynchronousdynamicrandomaccessmemory,双倍速率同步动态随机存储器),也可以包括nvm(non-volatilememory,非易失性存储器),例如至少一个磁盘存储器。可选的,计算机可读存储介质还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括cpu(centralprocessingunit,中央处理器)、np(networkprocessor,网络处理器)等;还可以是dsp(digitalsignalprocessor,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

另外,本申请实施例提供了一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本申请实施例所提供的认证信息同步方法。

对于代理设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1