基于零信任的动态访问控制技术研究
2024-03-04包森成计晨晓
包森成,计晨晓
(中国移动通信集团浙江有限公司,浙江 杭州 310000)
0 引言
无处不在的云资源确保了用户无论在何时何地都能与关键资源进行连接,然而,云资源的快速应用在增加网络流量的同时,也增加了欺骗攻击等网络安全问题[1]。传统的网络安全大都依赖于网络防火墙或者虚拟专用网等手段来构建企业边界的安全屏障。然而,随着云资源的快速应用,用户通常通过远程访问的方式来访问分布式的物理资源,在每一个访问步骤更改防火墙的规则已经不现实[2]。
为了确保大规模访问主体对分布式云资源实现快速安全的访问,研究下一代零信任的访问控制方法已经成为现有企业亟待解决的问题。零信任的主要思想是放弃为传统网络访问控制机制,对任何请求都不存在信任,并将可信网络(通常是内部网络)和不可信网络(外部网络)的边界进行边界化[3]。该机制确保了所有资源的安全访问,无论位置如何,它采用最小特权策略,并通过检查和记录网络中的用户所有的行为和网络流量等指标来严格执行访问控制。零信任模型本质上是对网络资源的集中动态访问控制和管理,根据动态网络环境的安全态势和用户的信任调整用户访问权限以此实现资源的动态访问和调度。因此,零信任安全体系结构具有连续身份认证和最小化权限分配的特点,能够适应当前大多数网络系统的安全保护需求[4],核心技术包括持续身份认证、风险评估和动态授权。包括文献[5]以主体、对象、权限、环境属性为基础制定动态访问决策,解决用户跨域访问的问题;文献[6-7]通过对用户、设备和服务的认证、验证和授权为基础制定动态访问决策,从而解决资源保护的问题。然而,当前学界对用户访问授权的颗粒度太粗,没有针对分布式环境下制定细粒度、动态安全访问机制。对用户的信任不仅仅通过对用户的身份、设备位置、上下文进行描述,更应该采用用户所访问的资源、用户行为和整个网络的安全状态来描述。因此,本文提出一种基于零信任的动态访问控制技术,该技术通过持续监控大规模访问主体行为、任务类型和网络安全状态进行动态信任评估并根据信任值对访问主体进行动态细粒度访问控制和动态授权,从访问资源、用户行为和网络安全状态来提升企业数据资源(特别是敏感资源)的安全性。
1 相关知识
1.1 实体身份认证技术
由于网络的匿名性导致网络实体行为杂乱并引发了一系列的网络问题,根据电子认证指南NIST800-63 为OMB04-04 定义的每个认证保证级别提供了技术要求[8],具体如表1 所示。
表1 电子认证指南NIST800-63定义的每个认证保证级别的技术要求
身份认证又称为“验证”、“鉴权”,是用户访问资源的时常规的认证手段,用户身份认证的技术包括:用户名口令、PKI 技术以及生物识别技术。
用户名口令通常由字母、数字和符号混合组成,一般来说,静态口令数据在计算机内存或者网络中容易被攻击并监听,因此需要定期修改用户口令,单用户口令仍然不满足要求稍高的系统[9]。
PKI(Pubilc Key Infrastructure,公钥基础设施)其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布、黑名单发布、时间戳服务等)实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。PKI 技术已经为电子商务、电子政务等领域提供了可信的安全服务,实现陌生身份的有效判别[10]。
生物识别技术根据人体不同的特征实现身份识别,包括指纹识别、面容识别、步态识别以及指静脉识别等。
1.2 访问控制技术
为了保证网络和信息安全系统不被非法入侵和使用,采用访问控制技术实现主体对客体访问权限的控制和管理[11]。目前典型的访问控制模型包括基于属性的访问控制模型、基于角色的访问控制模型、基于行为的访问控制模型以及基于任务的访问控制模型。
基于属性的访问控制模型(ABAC,Attribute-based Access Control)通过对实体属性、实体操作类型和访问的网络环境确定主体是否有权限访问相关的资源[12]。
基于角色的访问控制模型(RBAC,Role-based Access Control)利用角色来控制用户访问权限,从而大大降低了海量用户权限管理的复杂度[13]。
基于行为的访问控制模型(ABAC,Action-based Access Control)是集角色、环境状态、事态一系列因素确定主体是否有权限访问相关的资源[14]。
基于任务的访问控制模型(TBAC,Task-based Access Control)根据任务在系统中的工作来进行用户权限的动态控制,该模型根据具体的业务为指导,灵活动态地为访问主体进行授权,能有效地保护系统数据安全[15]。
然而,随着网络系统的安全边界变得越来越模糊,攻击者通过欺骗攻击等手段可以在防护区内“为所欲为”,因此,企业需要随时随地对实体进行风险评估,针对随时出现的网络风险对用户访问权限进行动态控制。
2 基于零信任的动态访问控制技术
2.1 基于主体行为持续访问控制技术
针对现有访问控制方案无法有效应对海量用户访问安全的需求,本文对用户执行任务时进行持续性的监测,结合资源类型和网络安全状态,实现动态、自动化的访问控制策略。该策略以用户任务属性为基础结合资源类型和网络安全状态实现用户访问权限的动态调整,为系统提供细粒度访问权限控制和关键资源的有效隔离。
通过一定的手段,对访问主体行为在时间和空间维度上进行连续性观察,将用户行为刻画变量(用户访问路径相似度、访问资源等级、访问时间相似度等)表示为一个行为函数,然后基于该行为函数构造主体访问行为的状态变化模式,对行为状态实现多元连续监控。
其中,Ls表示用户访问路径相似度,Rs表示访问资源等级,Ts表示访问时间相似度。
2.2 基于任务属性的持续访问控制技术
显然,基于主体行为持续访问控制技术对主体访问控制的颗粒度太粗,其无法对主体实际的任务类型与设定的任务类型进行比对,因此,本文需要在对用户行为状态监控的基础上,对主体访问的任务进一步细化并匹配,以此判别当前主体在执行任务过程中身份的可靠性。
主体的任务状态可以将任务刻画变量(任务类型、服务等级、实体与客体关联关系)表示为一个函数,然后基于该任务属性函数构造主体执行的状态变化模式,对任务状态实现多元连续监控。
其中,T表示任务类型,S表示服务等级,G表示在特定监控的时间颗粒度下主体与客体之间的不同交换关系,每一个时间颗粒度下的交换关系都表示主体关联的一种状态。
2.3 基于网络安全状态的持续访问控制技术
网络系统通常包含多个组件,其监控组件的多样性会产生多个告警事件模式,不同告警事件模式会对网络系统造成不同程度的影响,因此,通常采用全部事件告警模式以及对应告警模式产生的风险表示网络安全状态。
其中,Pi表示i类型告警事件发生的次数占全部事件占比;Ci表示i类型告警事件发生后所造成的后果,D表示网络安全状态。
2.4 基于主体行为、任务属性和网络安全状态的持续访问控制方案
系统引入主体行为、任务属性和网络安全状态描述主体的身份信息,实现对实体基于多种指标下的动态信任评估,并基于动态信任评估实现细粒度访问控制。图1为持续访问控制方案架构。
图1 持续访问控制方案架构
在该架构中,终端发送访问请求后,管理中心基于用户身份信息对终端进行特征后,对主体行为、任务状态和网络安全进行动态访问控制决策,引入连续时间颗粒度下的持续监控获取用户画像,实现云资源和资源细粒度访问控制,从而实现多维信息对实体进行管控,保障云中心安全。用户信任度评估方式如下:
其中,trustmean表示用户在连续N个时间颗粒度下系统对用户评估的平均信任度。α+β+γ=1。基于信任评估对访问主体进行动态授权,实现对用户访问权限的动态控制。
3 实验分析
3.1 实验环境
本文采用开源零信任系统TRASA 验证零信任的访问控制策略的性能。实验平台包括5 台用于部署可信网关和访问控制器的虚拟机以及1 台用于安装访问用户客户端和威胁监测系统的笔记本电脑。可信网关、访问控制器、用户客户端以及监控系统在本文实验的工作流程如图2 所示。
图2 持续访问控制工作流程
3.2 实验分析
为了对比本文方案的优越性,本文通过随机模拟各类业务的请求数量,对比传统方法和本文方法进行访问控制的性能,包括认证效率和控制能力分析进行。
首先是认证效率,一般通过对不同数量的请求响应来测试不同方法的认证性能。传统的方法包括基于行为的访问控制和基于任务的访问控制两种,对比情况如图3 所示:
图3 不同请求数量下的访问等待时延对比
图3 展示了不同访问控制策略下的访问等待时延对比情况,由此可知,本文方法随着请求数量的增加访问等待时延逐渐增大,但是与其他两种方案的差距不大,满足访问等待的时间需求。
在控制能力分析上,本文在用户在执行任务过程中按照50% 的概率加入恶意行为(也就在执行10 次操作,其中有5 次是恶意行为),以此验证不同方法下对用户访问行为的细粒度控制。一旦系统监测出用户存在恶意行为,系统将会中断用户的操作,图4 展示不同访问控制策略下的中断次数:
图4 不同请求数量下的中断次数对比
由图4 可知,在恶意行为存在的情况下,本文方法中断次数较传统方法高,体现本文方案能够提高实体任务执行任务时对恶意行为的判断能力。这是因为本文通过引入连续时间颗粒度对主体行为、任务状态和网络安全进行持续监控,在实际监控过程中,结合用户访问路径相似度、访问资源等级、访问时间相似度、任务类型、服务等级、主客体交互关系以及网络安全状态进行持续综合监控以获取用户画像,从而能够较为客观反映恶意行为的特征,提高恶意行为识别的准确率。
4 结束语
本文针对传统的访问控制技术不能有效满足泛在接入的移动接入需求,引入主体行为、任务属性和网络安全状态等因素实现系统的细粒度访问控制和动态授权管理。实验表明,本文方法较传统方法更加有效保护系统的访问安全,显著体现了系统对恶意行为的识别能力。