APP下载

基于动态风险评估机制的零信任IAM架构设计

2023-12-05覃锦端王月兵

信息安全研究 2023年12期
关键词:访问控制架构标签

覃锦端 王月兵 周 杰 毛 菲

(杭州美创科技股份有限公司 杭州 310015)

在零信任机制中,身份管理与访问控制是最重要的组成部分之一.在最初的身份管理与访问控制机制中,往往通过身份认证加上简单的访问控制列表组合完成,这种机制本身安全性就不高.与此同时,互联网上暴露的认证系统越来越多,受到黑客攻击的系统也越来越多.

黑客对于身份管理与访问控制机制攻击的热衷,使网络安全界意识到当前简单的身份管理与访问控制机制并不能满足安全需要,或者说零信任机制的要求,因此研究人员提出了多因素认证技术、基于角色及属性的访问控制技术等等.但是这些技术在身份认证前或身份认证中对黑客有着较好的对抗能力,而在黑客通过身份认证后,访问控制机制在识别风险访问的效果并不突出.因此,零信任机制更需要一种动态的、可以主动识别访问风险的身份管理与访问控制机制,实时根据用户的身份认证因子的风险程度控制用户的访问,保证身份认证的高度安全性[1],并提供有效的追溯手段.

1 相关工作

1.1 零信任架构

2010年,Forrester正式提出零信任概念[2],这是一项革命性、颠覆性的网络安全技术,该技术发展至今已经被大量组织机构进行良好的落地.

传统的网络安全防护模型强调的是“边界防护”.近年来,随着云计算、物联网等新技术的出现,传统的网络边界逐渐变得模糊[3].而零信任架构则推翻了“有边界”的网络安全防护架构,倡导的是“无边界”,任何身份在任何网络环境下使用信息系统时都必须以非信任情况对待.零信任技术使访问行为得到更细粒度的控制[4].本文所述的技术方法基于零信任架构中的身份与访问管理(IAM)技术.

1.2 IAM技术

在网络空间中一个网络实体身份的重点是对可信身份及权限的验证,也就是身份与访问管理(IAM).组织利用IAM技术,可以方便地对组织内所有的信息系统进行身份认证和权限管理.在实际的应用中IAM都是一套组合拳,一般不会是单一功能的部署[5].目前绝大部分IAM在实现动态访问控制时采用的是基于角色的访问控制(role-based access control, RBAC)、基于属性的访问控制(attribute-based access control, ABAC)这2种模型,RBAC通过角色划分授权,实现简单,但是粒度很粗;ABAC通过用户、环境及操作等属性实现权限的动态控制,具有比RBAC更加细粒度的控制能力,但是模型实现较为复杂且无法主动识别访问风险.本文提出的IAM架构,则在保证细粒度访问控制的基础上增加了动态风险评估能力,使之具备主动识别访问风险从而动态控制用户访问权限的能力.

1.3 风险评估技术

风险评估技术过去一般是用于网络安全领域,用来评估组织内部信息资产、IT资产可能存在的风险.网络安全评估与检测是网络安全建设的基础性工作[6].随着全球数据安全态势愈来愈严峻,数据安全问题已成为社会、企业和用户最为关注的热点[7],数据安全逐渐成为国家安全的重要组成部分,关系到国家主权的稳固及社会经济的发展[8].因此,数据安全领域也有了相应的风险评估体系、技术和方法.本文所述的动态风险评估技术聚焦于IAM架构中的身份认证阶段,通过采集对用户所输入的身份认证因子,包括但不限于设备因子、凭证因子以及其他多因素因子等,利用对应的算法计算出每次提交这些认证因子时的风险值,从而实现动态的数据安全风险评估.

1.4 区块链技术

区块链技术是一种根据时间顺序连接数据区块的链式数据结构,属于去中心化的记录技术[9].区块链本质上是一个分布式、共享和不可变的数据库分类账本[10].区块链的结构设计保证了其安全性,当任意一个链上的区块被攻击者攻击时,无论是篡改还是删除,都会造成被攻击区块前后信息的不一致,从而被攻击区块的后续区块都会失效.因此,在区块链中执行任何操作均会留下痕迹并能够被溯源[11].

区块链技术先天的框架优势使得区块链在信息安全领域具有广阔的应用前景[12],在本文所述的零信任IAM架构技术中就是依赖区块链的追溯特性生成认证标签,使得用户访问过程中的行为不可否认,并提供溯源能力.

2 基于动态风险评估的IAM架构设计

2.1 整体架构模块设计

区别于传统的IAM架构设计,本文设计的零信任动态风险评估IAM架构是在IAM架构技术通用基础模块如身份及权限管理模块之前,前置了基于认证要素数据全网风险性的风险动态评估模块.前置的动态风险评估模块包括采集模块以及核心的评估模块,采集模块对任意用户在任何网络环境下对组织信息资产发起访问的要素进行采集,采集的要素包括但不限于用户访问凭证、用户设备特征、用户网络特征等.采集到的要素会流转到评估模块,评估模块根据评估算法实时动态计算每项要素的风险值,并基于风险值不同对基础的身份管理模块、权限管理模块进行调配,如使用不同复杂程度的多因素认证方式、配置不同的访问权限等.而在身份管理、权限管理等通用基础模块之后,则后置了访问标签的生成和记录模块,访问标签基于区块链技术生成,每次访问都会生成不同的访问标签,且本次访问生成的所有访问标签都会在同一条链上,可以有效避免访问记录的篡改.本文所述的零信任动态风险评估IAM架构基本模块如图1所示:

图1 零信任动态风险评估IAM架构模块

2.2 评估模块设计

评估模块是本文所述零信任IAM架构的核心模块,整个架构需要依赖该模块完成数据风险性识别以及打标.评估模块主要有2大组件,需要分别完成评估要素的采集以及对采集的要素利用算法进行评估.

2.2.1 评估要素采集

评估要素采集模块对用户在认证前以及认证中使用的设备、网络、凭证等要素进行采集.评估要素采集分为2种采集模式:一种为使用客户端安装的agent进行采集;另一种为通过解析流量数据进行采集.

采集的评估要素主要为设备、网络、凭证3类:

1) 设备要素.用户发起访问时所使用的硬件设备,如PC、笔记本电脑、手机等.

2) 网络要素.用户发起访问时所处的网络环境,如有线网络、无线网络等.

3) 凭证要素.用户发起访问时所提供的凭证要素,如用户名、密码、手机号、电子邮箱等信息.

除了需要采集待评估要素,还需要采集比对评估库,比对评估库可以理解为一种动态的特征库.在本文所述的IAM架构评估模块中,比对评估库分为设备漏洞风险数据库、账号风险数据库.

设备漏洞风险数据库:通过在指定时间间隔内采集CVE,CNVD等公开漏洞库的设备已知漏洞数据.

账号风险数据库:账号风险数据库中的风险数据通过HaveIbeenPwned等数据泄露风险查询接口进行采集.

在每次的认证以及访问过程中都需要在采集到待评估要素后,通过评估算法与比对评估库进行风险值的计算,从而得到此次访问的动态数据安全风险值,根据该值进行后续的访问控制工作.

2.2.2 评估算法设计

本文设计了一种动态风险评估机制,基于上述采集到的评估要素,在每次认证和访问发生时进行动态评估.该机制所涉及的算法如下:

算法1.采集模式识别算法ModelPick.

输入:传输的采集模式标识MIdx、判断时间间隔Tmx;

输出:本次访问所使用的采集模式,当算法结果值为MIdx时为agent采集模式;当算法结果值为0时为流量解析采集模式.

过程:MIdx只存在于agent采集模式中,当评估过程开始时若接收到MIdx数据,则切换到agent采集模式,若评估开始后单位时间Tmx内未接收到MIdx数据,则服务端会尝试与客户端进行agent通信,以Tmx为时间间隔尝试进行连接,若尝试3次仍未获取到MIdx数据,则切换到流量解析采集模式.该算法表达式为

(1)

算法2.设备漏洞风险库采集算法DGet.

输入:互联网公开漏洞数据库查询接口集合APIdx、采集时间间隔Tdx;

输出:设备漏洞风险数据库Dtdx.

过程:基于互联网各大公开漏洞数据库提供的查询接口,得到接口集合APIdx如(CVE,CNVD,CNNVD,…),使用算法在指定采集时间间隔Tdx定期对漏洞数据进行采集、分类、更新.该算法表达式为

DGet(APIdx,Tdx)=Dtdx.

(2)

算法3.账号风险库采集算法ActGet.

输入:互联网公开数据泄露风险查询接口集合APIax、采集时间间隔Tax;

输出:账号风险数据库Dtax.

过程:基于互联网公开数据泄露风险查询站点提供的查询接口,得到接口集合APIax如(Firefox Monitor,HaveIbeenPwned,IntelligenceX,…),使用算法在指定采集时间间隔Tax定期对账号风险数据进行采集、分类、更新.该算法表达式为

ActGet(APIax,Tax)=Dtax.

(3)

算法4.设备及网络风险评估算法DNetAss.

输入:待评估设备要素集合Eqx、待评估网络要素集合Netx、设备漏洞风险数据库Dtdx;

输出:本次访问设备及网络风险值Rkdn.

过程:根据在访问过程采集到的设备信息以及设备的网络信息Eqx,Netx,对访问设备、访问网络的风险性进行评估,最终生成风险值.访问设备的风险主要以设备是否存在已知公开漏洞为依据,也就是与Dtdx进行比对,访问网络风险则与所处网络环境相关.访问设备的风险性表达式如式(4):

(4)

访问网络的风险性表达式如式(5):

(5)

然后通过对DNetAss(Eqx,Dtdx)和DNetAss(Netx)进行求积,最终的算法表达式为

Rkdn=∏DNetAss(Eqx,Dtdx)·

(6)

算法5.账号风险评估算法ActAss.

输入:待评估凭证要素集合Actx、账号风险数据库Dtax;

输出:本次访问账号风险值Rka.

过程:待评估凭证要素集合Actx中一般包括但不限于用户名、电子邮箱、密码、手机号等要素,即Actx为(uname,email,pwd,phone,…),评估依据为Dtax,通过算法计算凭证要素的泄露程度,该算法表达式为

(7)

算法6.综合评估算法TotalAss.

输入:本次访问设备及网络风险值Rkdn、本次访问账号风险值Rka;

输出:本次访问综合风险值Rkt.

过程:通过算法对Rkdn,Rka计算,得到最终的综合风险值来标记本次访问,风险值数值越高,则访问风险性越高;风险值越低,相对应的访问风险性就越低.算法表达式为

Rkt=TotalAss(Rkdnx,Rkax)=

(8)

算法7.补充认证算法AnoSign.

输入:本次访问综合风险值Rkt;

输出:本次访问需要的补充认证方式集合SignList.

过程:通过算法根据本次访问综合风险值Rkt计算出本次访问需要的认证手段,风险值越高所需的认证手段就越多.算法表达式为

SignList=AnoSign(Rkt).

(9)

算法8.访问控制算法AcCtr.

输入:本次访问综合风险值Rkt;

输出:本次访问动态访问控制列表AclList.

过程:通过算法根据本次访问综合风险值Rkt计算出本次访问若认证成功所具备的访问权限列表,风险值越高,则访问权限越低.算法表达式为

AclList=AcCtr(Rkt).

(10)

2.3 认证标签生成模块设计

本文所提出的IAM架构设计中,经过动态数据风险评估后,无论用户是否访问成功都会生成一个标记此次访问的标签,该访问标签是基于区块链技术的,全部用户的访问标签会被存储在一个经过优化、压缩、加密的区块链账本中,每个用户均具备完整的标签账本.

2.3.1 基于区块链技术的标签生成算法

本文所述零信任动态数据风险评估IAM架构中的标签生成算法,每一个访问标签的生成与上一个访问标签preBlock、当前时间戳tst、本次访问数据data有关,算法的设计也遵循这一原则.在生成标签时,采用SHA256加密算法加密得到最终的标签.标签生成算法表达式为

block=SHA256(buildBlock(tst,preBlock,data)).

(11)

算法计算结果block即为本次访问标签.

2.3.2 认证标签的存储与更新

认证标签生成后标签账本会与访问终端进行同步、存储与更新.首先,标签账本的同步是发生在此次访问的最开始,标签账本同步校验无误后才能进行下一步的认证和访问工作.对于agent采集模式来说,标签账本会在安装部署agent时下载到访问终端本地中保存,访问终端安装agent后就可以定时与同步服务器进行通信,实现本地标签账本的更新,在认证和访问前只需要验证终端中是否存在标签账本以及验证标签账本是否有效即可.对于流量解析采集模式来说,当访问终端为第1次访问时,需要通过其他途径如联系管理员获取标签账本上传到同步服务器中进行比对,比对通过后,才能进行认证及访问操作;当动态评估完成后就会将最新的标签账本下载到访问终端中,从而在访问终端为非首次访问时就可以通过直接上传本地中的标签账本到同步服务器中比对,而无需再通过其他途径获取.具体工作流程如图2所示:

图2 认证标签存储更新流程

3 实验与分析

3.1 实验环境

本文实验构建集成动态数据风险评估模块和认证标签生成模块的IAM系统,通过实验验证本文所述的评估算法以及标签生成算法的可行性、先进性.涉及的系统逻辑算法使用Java语言实现,涉及的数据使用MySQL数据库进行存储,开发环境为安装了Windows 10操作系统、内存大小为16GB、处理器为Intel i5以及磁盘大小为500GB的主机.

通过实验验证了本文所述的基于动态风险评估机制的零信任IAM架构技术在agent采集模式、流量解析采集模式2种不同模式下,对访问设备要素、访问网络要素、访问凭证要素的动态数据风险评估过程,同时得到评估结果,并生成动态评估后访问标签.实验整体流程如图3所示:

图3 实验流程

3.2 实验实现

表1所示为部分实验用例.本实验通过控制变量法设计了测试用例,通过存在不同漏洞风险的设备、不同的访问网络及存在不同风险的访问凭证,验证最后计算得到的访问综合风险值是否符合算法预期结果区间,并统计在不同测试用例下的实验耗时.

表1 实验测试用例

3.3 实验结果与分析

图4所示为实验所设计的IAM TESTER动态评估工具,该工具会自动采集访问设备要素、访问网络要素,同时等待访问者输入访问凭证要素的访问,进行动态数据风险评估,并计算本次访问综合风险值以及本次访问标签.

图4 IAM TESTER动态评估工具示意图

通过IAM TESTER工具运行实验用例后得到的本次访问综合风险值及运行耗时如表2所示:

表2 实验测试结果

从实验结果可以看出,无论是agent采集模式下还是流量解析采集模式下,IAM TESTER都能计算得到与预期一致的动态评估值.

4 结 语

本文通过将动态风险评估技术、区块链技术融入到零信任架构传统的IAM身份认证与访问控制架构中,从而得到评估要素更全面、评估算法更具实时性、访问标签可追溯的基于动态风险评估机制的零信任IAM架构技术,并通过实验验证了算法的正确性及可行性.由于引入了基于区块链的认证标签机制,账本比对等过程需要一定的耗时,本文所述的IAM架构技术在时间开销方面存在可提升空间.后续将针对标签生成算法和账本比对机制进行研究,进一步完善整体架构设计,提高性能和效率.

猜你喜欢

访问控制架构标签
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
LSN DCI EVPN VxLAN组网架构研究及实现
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
标签化伤害了谁
大数据平台访问控制方法的设计与实现