基于零信任访问策略的安全微服务架构及实现方法

文档序号:24986386发布日期:2021-05-07 23:04阅读:202来源:国知局
基于零信任访问策略的安全微服务架构及实现方法

本发明属于微服务技术领域,具体涉及一种基于零信任访问策略的安全微服务架构及实现方法。



背景技术:

在网络系统中,安全是一个长期存在的问题,随着微服务的出现,安全变得更加具有挑战性。由于通过将系统分解为更小、独立和分布式的单元,出现了大量的入口点和通信流量。微服务正在成为企业设计模式中软件开发的新规范,允许通过组成轻量级服务构建软件系统。特别是在开发复杂和分布式应用程序方面,它是一种架构设计模式,旨在解决在线服务的可扩展性、可伸缩性和易于维护的问题。

此外,信任不能简单地在网络中的单个微服务之间建立,这些微服务通常来自不同的未知提供者。当前微服务存在的问题有:(1)由于应用程序的逻辑层和中间层被分割成许多较小和独立的部分,攻击面将显著增加。(2)前端和后端松耦合,允许多个前端系统与后端服务进行通信,增大了受到攻击的可能性。

零信任强调“不信任任何人,对所有人进行身份验证”,每个部署的微服务都必须按照要求使用细粒度的安全策略进行保护,这些策略将仔细检查微服务的进出流量。通过零信任机制,可以构建微服务间的安全访问以及容器内的可信安全环境,要求网络中的所有服务访问都要进行身份验证,加密授权。

基于上述分析,现有技术亟需一种基于零信任访问策略的安全微服务方案。



技术实现要素:

本发明的目的在于针对现有技术的不足之处,提供一种基于零信任访问策略的安全微服务架构及实现方法。

为解决上述技术问题,本发明采用如下技术方案:

一种基于零信任访问策略的安全微服务架构,包括:身份认证中心、微服务域、内部安全域、公共api代理以及私有api代理,

其中,所述身份认证中心包括:访问策略模块、加脱密模块、安全生产认证模块和信任引擎模块,所述访问策略模块依据最小特权原则制定基于角色的访问控制策略;所述加脱密模块用于对数据进行透明加密;所述安全生产认证模块用于安全地标识动态和异构环境中的微服务;所述信任引擎模块负责身份验证,并生成短期accesstoken和refreshtoken,用户通过token访问微服务,

所述微服务域用于存储公共服务,

所述内部安全域用于存储特定的高感级服务或管理服务,

所述公共api代理用于提供单点登录并具有过滤机制,用于接受用户的访问请求并调用所述身份认证中心的所述信任引擎模块,

所述私有api代理具有额外的授权方案,在调用方需要到达所述内部安全域时,通过facade服务访问所述私有api代理并传递匹配的额外授权级别。

进一步地,安全微服务架构还包括:

安全风险中心,所述安全风险中心包含:中心日志聚合模块、漏洞检测模块和任务编排模块,所述中心日志聚合模块用于持续监控服务和用户记录活动;所述漏洞检测模块用于扫描系统并帮助开发者尽快识别漏洞;所述任务编排模块用于将安全扫描任务按照逻辑关系进行组合以形成自动化监测和反馈机制。

一种基于零信任访问策略的安全微服务访问实现方法,基于权利要求上述的基于零信任访问策略的安全微服务架构实现微服务授权过程,该方法包括以下步骤:

用户请求托管在微服务上的受保护资源;

用户进行单点登录,公共api代理进行多因子身份验证;

验证通过后生成credential并提交,通过公共api代理对信任引擎模块进行调用;

信任引擎模块请求访问策略模块对用户动态分配权限;

信任引擎模块向前端返回短期accesstoken和refreshtoken;

前端存储refreshtoken,并通过accesstoken再次调用微服务;

公共api代理执行过滤机制,向信任引擎模块发出授权检查以执行访问授权操作。

进一步地,所述访问授权操作包括:

在信任引擎模块验证accesstoken为有效时,将请求发送到微服务以传递用户所需的请求,使用户访问微服务;和/或

在信任引擎模块验证accesstoken为无效时,拒绝用户访问微服务;和/或

在信任引擎模块验证accesstoken过期时,通过refreshtoken从信任引擎模块请求新的accesstoken并再次执行验证操作。

进一步地,所述信任引擎模块请求访问策略模块对用户动态分配权限的步骤包括:

用户向信任引擎请求权限;

信任引擎模块向访问策略模块请求评估用户信任度;

访问策略模块检测账户及关联属性;

查询日志聚合模块基于以往用户行为进行自动分析以得到用户访问的可接受风险级别以执行分配权限操作。

进一步地,所述权限分配操作包括:

在用户访问的可接受风险级别为接受时,检测请求资产状态,向安全生产认证模块调用微程序的动态标识,对用户进行权限分配;和/或

在用户访问的可接受风险级别为不接受时,则不予用户分配权限。

进一步地,在用户调用内部安全域中微服务时,该方法还包括以下步骤:

用户调用facade服务,通过facade向私有api代理发出请求;

私有api代理执行过滤机制,验证用户提供的额外授权credential;

基于额外授权credential的验证结果执行内部安全域访问授权操作。

进一步地,所述内部安全域访问授权操作包括:

在信任引擎模块验证额外授权credential成功时,私有api代理请求访问策略模块对用户动态分配额外权限,并允许用户访问内部安全域中微服务;和/或

在信任引擎模块验证额外授权credential失败时,拒绝用户的访问请求。

与现有技术相比,本发明的有益效果为:本发明通过身份验证和授权机制生成短期token,以此保护与前端系统隔离的分布式微服务,通过引入私有api代理来实时调整微服务的安全优先级别,减少了微服务体系可能的攻击面,并提供了纵深防御策略。具体表现在以下方面:

1)信任引擎基于零信任机制管理和控制用户的认证和授权,减少了可能的攻击面。

2)使用透明加密等技术,利用定时更改的安全密钥对静态数据进行加密,保证多种异构数据库中的数据安全性。

3)将重要微服务存于内部安全域中,由私有api代理实现系统的多层安全控制,构建纵深防御。

4)访问策略基于最小特权原则进行动态授权,仅将访问权限授予那些不仅经过身份验证而且有权访问api的用户,并且仅根据需要授予api访问权限并进行扩展。

5)对安全漏扫任务进行自动化编排,提高安全风险排查效率。

附图说明

图1为本发明的实施例中基于零信任访问策略的安全微服务架构的框架示意图。

图2为本发明的实施例中用户调用微服务过程的流程图。

图3为本发明的实施例中权限分配流程图。

图4为本发明的实施例中用户调用内部安全域中微服务过程的流程图。

具体实施方式

下面结合附图所示的实施例对本发明作进一步说明。

如附图1所示,本实施例公开了一种基于零信任访问策略的安全微服务架构,具体包括:身份认证中心、安全风险中心、微服务域、内部安全域、公共api代理以及私有api代理。

具体地,身份认证中心包括:访问策略模块、加脱密模块、安全生产认证模块和信任引擎模块,访问策略模块依据最小特权原则制定基于角色的访问控制策略;加脱密模块用于对数据进行透明加密;安全生产认证模块用于安全地标识动态和异构环境中的微服务;信任引擎模块负责身份验证,并生成短期accesstoken和refreshtoken,用户通过token访问微服务。

安全风险中心包含:中心日志聚合模块、漏洞检测模块和任务编排模块,中心日志聚合模块用于持续监控服务和用户记录活动;漏洞检测模块用于扫描系统并帮助开发者尽快识别漏洞;任务编排模块用于将安全扫描任务按照逻辑关系进行组合以形成自动化监测和反馈机制。

微服务域用于存储大部分的公共服务。内部安全域则用于存储特定的高感级服务或管理服务。

公共api代理用于提供单点登录并具有过滤机制,用于接受用户的访问请求并调用身份认证中心的信任引擎模块。

私有api代理具有额外的授权方案,在调用方需要到达内部安全域时,通过facade服务访问私有api代理并传递匹配的额外授权级别。

在本实施例中所涉及到的零信任机制、单点登录、最小特权原则、透明加密、日志聚合以及安全服务编排的概念解释如下:

零信任机制:零信任机制的核心思想是组织不应自动信任其边界之内或之外的任何用户或服务,必须对所有访问请求进行验证并授予访问权限。

单点登录:单点登录可以集中对用户身份进行验证,在用户发出访问请求时,对用户进行多因子验证。

最小特权原则:最小特权原则要求授予用户及其程序执行所需任务的最严格权限集,以限制安全事件造成的损害。

透明加密:通过集中式密钥管理为结构化数据库和非结构化文件提供静态数据加密,对用户、微服务程序和基础架构透明。

日志聚合:对多源的系统日志和行为日志进行集中和处理,有助于安全事件中更快地缩小系统问题范围,对系统进行持续监控。

安全服务编排:通过一系列独立安全服务相互调用构成的工作流,独立的安全服务通过互相调用形成了一个完整工作流,降低工作负载,简化可重复的流程和操作。

根据上述的安全微服务架构,本实施例还提供了一种基于零信任访问策略的安全微服务访问实现方法,如图2所示,该方法包括以下步骤:

(1)用户请求托管在微服务上的受保护资源。

(2)用户进行单点登录,公共api代理进行多因子身份验证。这里,多因子验证包括但不限于:1)账号密码;2)二维码扫描;3)ca证书;4)短信推送。

(3)验证通过后生成credential并提交,通过公共api代理对信任引擎模块进行调用。

(4)信任引擎模块请求访问策略模块对用户动态分配权限,要求授予用户及其程序执行所需任务的最低权限。

如图3所示,步骤(4)的具体权限分配过程包括:

(41)用户向信任引擎请求权限。

(42)信任引擎模块向访问策略模块请求评估用户信任度。

(43)访问策略模块检测账户及关联属性。这里,关联属性包括:1)用户软件版本;2)用户组成员;3)ip以及mac地址;4)发出请求的时间;5)已拥有的credential。

(44)查询日志聚合模块基于以往用户行为进行自动分析以得到用户访问的可接受风险级别以执行分配权限操作。这里,以往用户行为包括:1)已访问过的资源;2)拥有的数字资产;3)以往分配权限级别。

在步骤(44)中,权限分配操作包括:

在用户访问的可接受风险级别为接受时,检测请求资产状态,向安全生产认证模块调用微程序的动态标识,从而确定目标微程序是否可见以及所处状态,检测通过后对用户进行权限分配;和/或

在用户访问的可接受风险级别为不接受时,则不予用户分配权限。

(5)信任引擎模块向前端返回短期accesstoken和refreshtoken,其中accesstoken为短期有效,超时需要refreshtoken重新请求新的accesstoken。

(6)用户的前端存储refreshtoken,并通过accesstoken再次调用微服务。

(7)公共api代理执行过滤机制,向信任引擎模块发出授权检查以执行访问授权操作,这里是指检查accesstoken的有效性。

在步骤(7)中,访问授权操作具体包括:

在信任引擎模块验证accesstoken为有效时,将请求发送到微服务以传递用户所需的请求,使用户访问微服务;和/或

在信任引擎模块验证accesstoken为无效时,拒绝用户访问微服务;和/或

在信任引擎模块验证accesstoken过期时,通过refreshtoken从信任引擎模块请求新的accesstoken并再次执行验证操作。

另外,基于该安全微服务架构,在用户调用内部安全域中微服务时,如图4所示,该方法还包括以下步骤:

(8)用户调用facade服务,通过facade向私有api代理发出请求;

(9)私有api代理执行过滤机制,验证用户提供的额外授权credential;

(10)基于额外授权credential的验证结果执行内部安全域访问授权操作。

在步骤(10)中,内部安全域访问授权操作包括:

在信任引擎模块验证额外授权credential成功时,私有api代理请求访问策略模块对用户动态分配额外权限,并允许用户访问内部安全域中微服务;和/或

在信任引擎模块验证额外授权credential失败时,拒绝用户的访问请求。

基于本实施例的安全微服务架构及安全微服务访问实现方法,通过身份验证和授权机制来保护与前端系统隔离的分布式微服务,其次,通过实时调整安全优先级别来确保最小特权原则,并且,通过任务编排扫描任务以提高对安全风险的排查效率。从而实现通过纵深防御有效降低了微服务体系中的安全隐患。

本发明的保护范围不限于上述的实施例,显然,本领域的技术人员可以对本发明进行各种改动和变形而不脱离本发明的范围和精神。倘若这些改动和变形属于本发明权利要求及其等同技术的范围,则本发明的意图也包含这些改动和变形在内。

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