作者简介
金佳红
中移(苏州)软件技术有限公司交付服务部软件开发工程师,主要从事私有云平台相关研发工作。
康阳阳
中移(苏州)软件技术有限公司交付服务部软件开发工程师,主要从事私有云平台相关研发工作。
朱帅
中移(苏州)软件技术有限公司交付服务部软件开发工程师,主要从事私有云平台相关研发工作。
冯魁
中移(苏州)软件技术有限公司交付服务部产品经理,主要从事私有云平台相关领域研究和标准制定工作。
顾智杰
中移(苏州)软件技术有限公司交付服务部高级工程师,主要从事私有云平台相关领域研究和标准制定工作。
徐艳杰
中移(苏州)软件技术有限公司交付服务部副总经理,主要从事移动云底座相关的研究工作。
论文引用格式:
金佳红, 康阳阳, 朱帅, 等. 新型云安全访问控制系统的设计与实现[J]. 信息通信技术与政策, 2025, 51(1): 64-70.
新型云安全访问控制系统的设计与实现
金佳红 康阳阳 朱帅 冯魁 顾智杰 徐艳杰
(中移(苏州)软件技术有限公司,苏州 215000)
摘要:随着云计算技术的迅速发展,越来越多的企业和个人选择将其业务和数据迁移到云平台上。然而,云环境的开放性和共享性也带来了诸多安全挑战,其中访问控制作为保障云安全的关键环节,显得尤为重要。针对云环境下访问控制的安全设计与实现进行了深入研究和探讨,提出了一种新型解决访问控制安全的设计和实现的方案,使用包括区块链授权安全、用户行为分析、特征提取、信任度分析等技术辅助决策提高用户在云环境的业务安全。
关键词:用户行为分析;特征提取;访问控制
0 引言
20世纪70年代,为了满足当时大型主机系统内部的数据访问需求,访问控制技术应运而生。作为重要的信息安全技术,访问控制技术通过某种方式明确允许或限制用户主体对数据对象的访问能力和范围,以确保用户仅在其合法权限内访问数据,同时防止未经授权的操作和违规行为。在云计算环境中,访问控制技术仍然是重要的数据保护手段,尤其是基于策略的访问控制(Policy-Based Access Control)和属性基础访问控制(Attribute-Based Access Control)机制[1-2],得到各个云平台厂商的推广。然而,这些机制在面对信息共享频繁、数据流动快速和分布式存储等云环境特点时,面临着一系列挑战,如数据主权维护困难、访问权限界定复杂、临时授权管理难题以及难以防范第三方泄露等问题,这些都给访问控制技术的进一步发展带来了困难。基于此,本文提出了一种新的访问控制系统架构设计,将用户和权限授权信息通过区块链的方式存储[3-4],整个系统可验证、可追溯。通过用户行为分析、特征提取、信任度分析提供综合判定当前访问是否为合法行为,提高了用户云上安全。
1 访问控制系统设计方案
访问控制系统主要包括访问鉴权管理、访问控制鉴权日志记录和访问控制授权动作判断。其中,访问鉴权管理包括用户对资源的临时授权访问如角色切换实现跨账号使用资源;访问控制鉴权日志为用户在操作资源对整个上下文环境进行日志存储,为后续访问控制授权动作判定中的特征提前和行为分析提供数据支持;访问控制授权动作判断则是通过提取鉴权日志并通过特征分析、行为分析并对用户行为信任度和行为偏差进行分析并最终给出动作判定结果。
1.1 角色切换设计与实现
角色切换是指在云上环境中,为了实现跨账号使用资源并管理其权限的过程。它不仅简化了资源的共享和管理,还能有效提升安全性和操作灵活性。
为实现这一需求,提供了角色切换管理功能。这种功能使得企业能够便捷地将其资源的管理权限授予其他云用户,而无需直接暴露企业自身的账号信息。赋予的权限可以随时撤回,从而确保了安全性和灵活性。如图1所示,当B公司希望使用A公司的资源时,通过在B公司账号下创建用户并授予其A公司角色,该角色已绑定了适用于A公司资源的授权策略。具体实现方式为:步骤1:分别创建公司A角色和公司B用户;步骤2:给公司A角色绑定相关资源的权限策略;步骤3:公司A角色授权给公司B用户;步骤4:公司B用户登录时使用公司A资源。
图1 角色切换流程
1.2 临时授权设计与实现
在云平台服务和服务之间的依赖关系中,确保安全的服务调用至关重要。如果没有适当的访问控制措施限制访问,可能会对整个云平台造成灾难性的风险。本文设计了一个基于角色的临时安全令牌服务(Security Token Service,STS),专门用于管理和分发临时身份凭证(STS Token)。这些STS Token具有可自定义的时效性和访问权限,有效地减少了系统间调用的风险。STS Token的主要优点如下。
一是时效性管理。STS Token可以根据需求自定义有效期。一旦过期,凭证将自动失效,无需手动或定期轮换,从而减轻了管理负担。
二是自定义权限策略。每个STS Token可以绑定自定义的访问权限策略,为不同的服务和资源提供细粒度的访问控制。这种灵活性使得可以根据具体需求对凭证的权限进行精确配置。
三是简化访问管理。基于STS的设计使得服务角色功能变得容易实现。通过将角色与云服务关联,服务内的程序可以利用STS生成的临时凭证安全地访问其他云产品,无需额外的管理工作。
在具体实现上,STS会自动为服务生成和更新临时凭证,服务只需请求获取这些凭证即可,大大简化了安全令牌的管理流程。这种方式不仅提升了系统的安全性和可管理性,同时也保证了云平台内各服务之间的安全通信。
总之,STS服务不仅是一个访问控制解决方案,更是云计算环境下确保服务安全通信的关键工具。有效管理和控制临时访问凭证的有效期和权限,为云平台架构提供了可靠的安全保障,从而确保了服务间通信的安全性和完整性。
1.3 授权信息区块链存储设计与实现
在访问控制系统中,授权信息的安全和完整性至关重要,它直接影响到用户是否能够合法访问系统资源。为了确保这些关键数据的安全性和可信度,采用了区块链技术进行存储和管理。
区块链不仅用于数字货币,它的分布式账本和强大的密码学特性使其成为理想的授权信息存储解决方案。在设计中,每当用户被授权访问特定资源时,相应的授权记录被加密并分布式存储在网络的多个节点上。这种去中心化的存储方式极大地提升了系统的安全性和鲁棒性。
传统的中心化系统存在单点故障的风险,一旦中心服务器遭受攻击或故障,整个系统的可用性和安全性会受到威胁。相比之下,区块链的分布式结构意味着即使某些节点发生故障或受到攻击,系统仍能继续运行,保持稳定性和可用性。每次授权操作都被记录为一个新的区块,并通过密码学算法链接到前一个区块,形成一个不可篡改的链条。这种设计确保了授权信息的完整性,任何未经授权的数据篡改都会立即被检测到。
区块链的加密技术进一步增强了数据的安全性。所有授权信息在存储和传输过程中都会使用高级加密算法进行加密,从而有效防止未授权的访问者窃取或篡改数据。这种安全措施不仅保护了授权信息本身,还涵盖了关键的元数据和访问日志,确保系统的整体安全性和可信度。
综上所述,该设计利用区块链技术为访问控制系统提供了一个高度安全和可靠的解决方案。通过区块链的分布式、不可篡改和加密特性,有效地保护了授权信息免受各种安全威胁的影响,为用户提供了安全可信的访问体验。
1.4 鉴权日志存储设计与实现
鉴权日志记录是指记录访问授权的活动过程。传统的鉴权日志可能只包含基本的登录时间、用户ID和鉴权结果等信息。在云环境下,随着系统规模和复杂性的增加,以及安全威胁的多样化,记录了更加详细和全面的信息(包括用户操作、访问的具体资源、IP地址、时间戳等),这些信息对于后续的用户行为分析检测异常活动和进行安全事件响应至关重要。同时,为了更好地提高鉴权日志的存储效率,通过Hadoop HDFS分布式存储的方式实现存储日志数据,提高鉴权日志的高容错性和高扩展性。该设计不仅能够支持大规模数据的高效存储和管理,还能够为后续的安全分析和响应提供强有力的数据支持。
2 基于用户行为动态决策权限的设计与实现
本文提出的访问控制权限设计与实现,显著增强了授权用户访问的安全性。然而,它尚未涵盖对用户行为可信度的评估,这意味着一些临时用户或外部用户在获得相应授权后,仍然可以无障碍地访问云平台。为了全面提升云环境的安全性,并满足动态权限管理的需求,在上述静态授权认证的基础上,实现了基于用户行为可信度的动态访问控制。首先,通过日志模块收集并分析用户的行为信息;其次,通过特征工程提取用户行为特征值;然后,在模型工程内实现用户行为可信度计算、用户行为模型训练等;最后,综合反馈可用可信度参考值。根据可信度值判断当前用户的身份及其行为是否存在潜在风险,一旦发现风险迹象,将启动动态权限调整机制,对高风险操作进行限制,收敛当前用户权限,从而确保平台的安全稳定运行。
2.1 用户行为记录收集
云环境下用户行为囊括了前端与后端接口的多种交互。前端方面,主要运用埋点技术,对页面组件的实时状态以及用户触发的各类事件进行追踪与收集;后端方面,通过详细的日志文件记录接口的调度信息,确保每一个服务请求和响应都被精确捕捉。这种前、后端协同的数据收集方式,构筑了一幅详尽且全面的用户行为信息图谱,为后续的用户行为分析提供强有力的支撑。
2.1.1 前端埋点实现
采用前端埋点技术,通过在Web前端植入数据采集代码,以捕捉并记录页面的渲染详情、用户与按钮的交互事件。鉴于前端操作的多样性和复杂性,考虑全量埋点不仅可能影响页面性能,还会增加开发团队的工作负担,因此采取了一种策略性的埋点方法:对页面进行细致的分级评估;依据数据的敏感程度、操作的高危程度以及业务重要性3个因素,为每个页面和按钮赋予相应的权重。
首先,设置数据的敏感程度(S)、操作的高危程度(R)和业务重要性(B)3个因素,为每个因素都赋予一个分数,分数区间为[1,10]。并且为每个因素设定一个权重(W),权重表示以上3个因素在最终评分中的相对重要性,权重之和等于100%。不同因素权重划分见表1。
表1 不同因素的权重划分
其次,为每项操作都予以3个因素维度的评分,操作量大,仅做示例(见表2)。
表2 具体操作项评分(示例)
之后,将数据的敏感程度(S)的权重定为 W_s,操作的高危程度(R)的权重定为 W_r,业务重要性(B)的权重定为 W_b,一个页面或按钮的总权重(Total_Weight)计算公式为:
Total_Weight=(S×W_s)+(R×W_r)+(B×W_b)(1)
通过从高到低排序各项操作总权重,能够定位中、高风险页面及关键按钮,并针对这些区域进行代码改造埋点。埋点数据包括:页面的加载时间与渲染状态;用户的点击事件(具体点击了哪些元素、触发了哪些操作);表单输入内容;用户在页面上的停留时间和各类交互行为(如滚动、鼠标悬停等)。
在真实环境下,用户多为连续性操作,埋点数据也会随之增加,考虑传输性能问题,首先将数据进行本地缓存,随后遵循数据量优先策略进行合并上传。该策略包括设定缓存数据量及时间阈值:一旦数据量触及阈值,立即合并并上报;若达到最大缓存时长,无论数据量是否达标,都将合并上报。前端埋点行为记录过程如图2所示。
图2 前端埋点行为记录过程
2.1.2 后端日志收集
首先,单独抽取通用的日志组件Bsh-log,Bsh-log内运用AOP技术,结合Logback日志生成详尽的日志文件,涵盖接口调用时间、用户、IP、请求参数、响应时间、响应内容等关键信息,同时记录多模块交互的链路轨迹。之后,Bsh-log内定义了“@EstackLog”的自定义注解,可以注解在HTTP请求的Controller方法上方,实现该方法的入参、出参、异常信息、处理时间的记录。此外,在微服务架构下,日志文件分散,采用Filebeat作为轻量级日志转发工具,安装Filebeat工具并配置其读取Bsh-log模块的日志文件输出路径,高效地将日志数据转发至Elasticsearch进行集中存储。
2.2 用户行为特征提取
通过上述方法采集到的前、后端用户行为数据(包含冗余信息等),需要进行预处理。首先,对行为数据进行数据清理,设定行为关键字,读取匹配相应记录,去除错误信息、冗余信息和缺失值。其次,将批量的行为数据按单个用户分组进行数据集成。然后,按照时间先后顺序排序,并抽取行为属性建立特征值集合,形成用户行为序列特征(见表3)。
表3 用户特征值集合表
2.3 用户行为可信度计算
对于用户行为可信度的计算,主要采用的是模糊层次分析法(Fuzzy Analytic Hierarchy Process,FAHP)[5]。
首先,建立用户行为特征矩阵,利用上述提取的用户特征值数据,将上述用户特征值集合表示为 A=(aij)mn,其中m表示特征值中最大项数,不够的项用零补齐。为了便于数值计算和用户行为评估,需要把证据全部规范化为在区间[0,1]沿正向递增的无量纲值,表示为矩阵 E=(eij)mn。再将初始判断矩阵转换成模糊一致的矩阵Q=(qij)mn,其中:qij=(qi-qj)/2m+0.5;qi=∑k=1meqik。
接着,计算某个特性的m个证据的权重向量W=(w1,w2,…,wm)T,其中:
然后,计算用户行为特性的评估值矩阵,由证据矩阵 E=(eij)m×n、权重矩阵 W=(wij)m×n,根据 E×WT得到的矩阵的对角线上的值就是特性评估值矩阵F=f1,f2 ,…,fn。
最后,用户的行为信用度为:
其中,Current_T (u)代表用户的当前信用度。
2.4 动态权限收敛
在建立用户可信度评估模型之后,就可以通过设置动态权限收敛策略,依据用户可信度评估结果,执行动态的权限收敛。平台通过设置动态决策中心,对于用户的实时访问进行动态权限调整的决策执行。动态决策中心主要由策略库和决策器构成。其中,策略库主要用于设置权限调整策略,开放给平台的安全管理员使用,平台的安全管理员可以通过后台的策略库管理Web页面新增、修改、删除策略,查看策略的应用日志等;决策器作为动态决策中心的核心组件,决策器接受策略库中的策略注入(Policy Inject),作为动态权限调整的依据,在实现中采用过滤器模式,安全管理员用户可以设置应用多条策略,在决策器中构成过滤链(Filter Chain),过滤器接收参数(Input)包括用户可信度的评估结果,用户行为的特征向量。
动态权限收敛策略支持设置用户可信度阈值以及对应用户行为特征的目标动作,基于上述用户行为可信度计算结果,当可信度低于设置的阈值,根据用户的行为特征向量,进行动态权限收敛。动态权限收敛策略的目标动作包括:权限级别调整:自动降低其权限级别(例如从管理员权限降低到普通用户权限);访问控制:限制对某些敏感资源或功能的访问、操作权限(例如去除查看子用户身份信息权限);操作限制:限制用户在一段时间内可以执行的敏感操作次数或频率(例如限制敏感操作10 min内只放行一次);多重身份验证:对于敏感操作,要求用户进行二次身份确认(例如拦截操作并跳转至手机号验证窗口);临时冻结:暂时冻结用户的账号,需要系统管理员线下核实后重启。
2.5 基于反馈的强化学习优化
把用户行为分析与访问控制模型结合起来,可以实现基于用户信任度的动态授权和访问控制以及用户异常行为告警,有助于保障平台数据安全和隐私[6],而机器学习的方法广泛应用于Web平台的用户行为分析,可以辅助强化云计算环境下的数据安全。但很多平台上的安全产品仍然是基于静态规则进行判断,无法有效识别新的恶意行为。并且一般大型应用系统每天都会产生数以万计的信息安全告警事件信息,混杂着大量误报和漏报,系统自动安全告警可能不符合管理者期望结果,造成正常的授权用户的平台使用受到阻碍。传统的机器学习算法通常基于有限的训练数据进行学习,模型参数定型之后,便不再进化,不适合不断发展变化的云环境。因此,需要人为的干预反馈来优化模型,使得用户异常行为告警更加符合用户的预期。
目前,平台用户异常行为告警主要是根据用户行为特征识别异常行为,并对异常行为级别进行分类(极危、高危、中危、低危、可忽略)。本文通过机器学习构建一个识别分类用户异常行为的基本模型。
一是收集数据。利用日志工程得到的原始数据,经过特征提取,得到可用于机器学习的数据集。
二是数据准备。将特征库中的用户行为数据打上标记,标记用户异常行为及异常告警级别,将整个数据集的80%数据作为模型训练数据集,剩余的20%数据作为测试集,训练集用于训练模型,测试集用于评估模型效果。
三是选择一个模型。机器学习、数据科学领域多年来积累了许多模型,用户行为分析的特征维度比较多,本文选取了随机森林(Random Forest,RF)的机器学习算法,这是一种有监督的学习方法。RF由很多决策树构成,决策树是一种比较简单的算法,解释性强,也符合人类的直观思维。
四是模型训练。使用训练数据集和机器学习算法模型,在服务器进行模型的训练,完成基本模型的输出。
五是进行评估。模型训练完成后,可以使用测试集的数据评估模型是否有用。评估的指标主要有准确率、召回率、F值等。
基础模型完成训练应用后,所有的机器触发历史告警信息都会入库,在历史告警库中会存在一些误报,然后就是人工反馈的强化学习阶段。
后台管理提供给平台用户反馈评估的入口,可以对机器的判断结果进行反馈,用户可以标记出期望的机器处理结果,标记后的数据会重新进入用户行为特征库,用于模型训练。
最后就是基于反馈对模型进行强化学习(Reinforcement Learning,RL)。
2.5.1 预训练模型
RL通常用于微调和优化预先训练好的模型,以及使用历史的用户行为数据预先训练好的模型为基础模型。预训练是RL比较耗费资源的阶段,也是之前采用RF算法监督训练出来的模型。
2.5.2 监督微调
在正式进入RL阶段之前,需要利用监督微调来引导模型,使其生成的响应符合用户的预期格式。
正如前面提到的,平台将基于用户行为分析动态调整结果记录下来,交给安全运维人员进行人工的后评估工作,对于不符合预期的机器处理结果进行标记,并反馈期望的结果,然后进行强化训练。
2.5.3 奖励模型训练
为了在RL中为奖励函数提供人工反馈,需要一个奖励模型来将人类的偏好转化为数字化的奖励信号。
该阶段的主要目的是为奖励模型提供足够多的训练数据,包括来自平台用户评估者的直接反馈,以帮助模型学习模仿用户根据其偏好将奖励分配给不同种类的模型响应的方式。奖励模型需要接收文本序列并输出标量奖励值,该值以数值的方式预测人类用户对该输入会给予多少奖励(或者惩罚)。标量值输出对于奖励模型的输出与RL算法其他组成部分的集成有至关重要的作用。
2.5.4 策略优化
基于人工反馈的RL的最后一个关键点是确定如何以及使用多少奖励模型来更新人工智能代理的策略。大多数的机器学习和神经网络模型架构使用梯度下降策略来使损失函数最小化,并使误差尽可能减小,而RL算法通常使用梯度上升来使奖励最大化。最终通过人工后评估的方式,不断通过RL优化模型,不断进化,使得模型的处理结果更加符合平台用户的期望结果。
3 结束语
随着信息技术的持续进步,云平台的业务安全设计正迎来新的挑战与机遇。人工智能、量子计算等前沿技术的引入,使得访问控制系统愈发智能化,实时分析用户行为、动态调整访问权限将成为云平台业务系统的技术常态。同时,借助区块链、大数据和机器学习等技术,更深入地挖掘用户行为模式,精准识别和预防安全威胁,将为云平台注入新的安全活力;自动化的安全策略执行与违规行为检测,将为及时识别和防御网络攻击提供有力支持。未来,随着这些技术与安全访问控制系统的深度融合,有信心构建一个更加安全、可靠的云平台,为数据安全、业务连续性提供坚实保障。
Design and implementation of a new cloud-secure access control system
JIN Jiahong, KANG Yangyang, ZHU Shuai, FENG Kui, GU Zhijie, XU Yanjie
(China Mobile (Suzhou) Software Technology Co., Ltd., Suzhou 215000, China)
Abstract: With the rapid development of cloud computing technology, more and more enterprises and individuals are choosing to migrate their business and data to cloud platforms. However, the openness and shared nature of cloud environments also bring numerous security challenges, among which access control stands out as a critical component for ensuring cloud security. This paper conducts in-depth research and discussion on the security design and implementation of access control in the cloud environment. It proposes a new system to solve the design and implementation of access control security, which includes the use of blockchain authorization security, user behavior analysis, feature extraction, trust analysis and other auxiliary decision-making to improve the business security of users in the cloud environment.
Keywords: user behavior analysis; feature extraction; access control
本文刊于《信息通信技术与政策》2025年 第1期
声明:本文来自信息通信技术与政策,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。