零信任网络架构与实现技术的研究与思考

目前,国外已有较多有关零信任网络的研究与实践,包括谷歌的 BeyondCorp、BeyondProd,软件定义边界(Software Defined Perimeter,SDP) 及盖特提出的“持续自适应风险与信任评估”等。国内也有不少安全厂商积极投身零信任市场,包括360、安恒信息等,并推出了相应的零信任产品和解决方案。这些研究与实践对零信任网络的落地应用带来了积极影响。

 

但同时也应该看到,目前,零信任网络的推广难度较大。系统设计人员在实际应用中主要面临以下几个方面的难题:

(1)不清楚零信任思想本质,容易走入堆砌技术和产品的歧途;

(2)不清楚零信任的功能架构,容易“照顾不周”“顾此失彼”,导致安全防护功能出现短板,或者出现某一方面能力特别突出的情况,整个系统能力不佳;

(3)没有掌握零信任网络实现技术,难以将功能落地。

本文针对上述问题开展了研究,期望找到适合的应对措施,为想要提升网络安全防护能力的各类组织提供参考。

1、零信任思想的本质

零信任思想的本质是基于动态的信任度赋予适度的访问权限,其关键点在于摈弃无端或超出合理范围的信任,对实体、环境等进行持续评估,并根据反馈结果及时修正策略,从而将静态的防御转换为动态的防御。

2、零信任网络功能架构

零信任网络功能架构可分解为 5 个基本功能,分别是:

(1)网络身份管理:提供对网络实体全生命周期的管理,确保所有实体来源可信、安全可控。

(2)网络身份认证:确保网络实体在发起网络行为时向相关对象证明其身份可信。

(3)网络访问授权:实现基于网络实体的身份对网络访问进行无特权的权限管控和访问控制,保证所有访问都必须得到授权。

(4)传输安全保障:实现访问数据在网络传输过程中的安全可信,确保数据访问不可抵赖、内容不被窃取等。

(5)行为安全监控:对网络实体的运行状态和网络行为的持续监测,并抑制网络攻击对系统的影响。

3、零信任网络实现技术

3.1 网络身份管理

网络身份管理的目标是在网络空间中产生网络行为的网络实体的全生命周期内,掌握网络实体与现实实体之间的映射关系,并记录其变更过程。由于网络行为均由应用软件和设备发起,还可能来自操作应用的用户,故网络身份管理的对象既可以是用户,也可以是应用和设备。在某些场合,可将一个网络中的网络实体视为一个整体,从而实现简化管理,故网络身份管理的对象还可以是网络。

人员管理主要包括身份注册、安全审查、安全培训、身份变更处理和身份注销处理几个方面。其中,身份注册的主要目的是为可信度评估提供基础,用户信息分为基本信息和高级信息。用户基本信息包括姓名、生日、年龄等;用户高级信息包括身份证号、生物特征和住址等。根据系统的安全等级选择是否需要录入高级信息,录入的信息越多,掌握的信息越全面,判断人员可信度的参数则越多。完成可信度初始评估后,还需对人员进行安全审查,包括对其信用信息、履历和犯罪记录等的调阅和审查。在安全审查通过之前,需要限制人员对网络进行所有或者部分访问。当人员正式成为员工或者客户时,至少应该在开放访问前对其进行安全培训或提示。在高安全等级系统中,为了防止出现人为安全漏洞,需要在系统使用过程中不断进行安全提示和必要的强化培训。当人员身份信息和安全审查相关信息发生改变时需要及时更新。当人员不再使用信息系统时需要及时关闭其所有权限,进行注销处理。在发生身份注销时,应该根据信息系统的保密程度,考虑是否对人员要求签署保密条款。

设备的管理方面,应结合资产管理系统对设备的采购来源、用途等基本信息,以及 IP 地址、证书的状态进行登记和随时更新,并记录相关的变更日志。根据网络安全等级要求,应选择记录良好、资本构成符合要求的供应商进行供货,并考虑是否对供应商进行背景调查。根据网络安全等级要求,考虑是否监管供应商生产供应过程,包括元器件采购、加工、装备、检验等,以提升产品安全性,一般适用于高安全网络。接收设备时,应对设备进行系统安全检测,比如病毒扫描、漏洞扫描,掌握设备的安全风险状态。在设备上线前和运行过程中,应及时对设备进行安全加固,包括病毒查杀、修补漏洞、升级病毒库等。若设备不再接入网络使用,则应下线处理,对于安全要求高的组织机构,应该强制要求拆除设备硬盘,或者擦除硬盘数据,最后才能将设备转作他用或者报废。

应用的身份管理主要关注应用的开发、测评和部署 3 个阶段。在应用开发阶段,至少应先明确安全性需求,并明确是否允许使用高风险数据库或者第三方插件等。在应用开发完成后,应组织专业机构对应用安全性进行测评,包括是否存在已知漏洞、是否符合安全性设计要求等。在应用部署阶段,应对应用进行上线审批,建立软件白名单,通过终端管控软件控制设备允许运行的软件。

网络安全等级越高,评估的因素就越多,要求掌握的信息就越丰富。在建立身份管理系统、资产管理系统、软件白名单和网络组织清单时,信息采集应满足法律的要求,如果是采集个人信息,应该得到个人的授权,并且数据的生成、传递和保存必须采用制度和技术保护,保证数据的保密、真实和完整。

3.2 网络身份认证

网 络 身 份 认 证 时, 不 同 实 体 选 用 不 同 的 认证方式。人员认证方法有基于口令、生物特征或者私人持有的基于硬件的可信处理模块(Trusted Processing Module,TPM)等的方法。设备和应用的认证方法有通过软数字证书或者设备绑定的 TPM来认证的方法。网络的认证可以通过网络代理设备或软件代理网络整体对外认证,从而不用对网络中多个实体分别认证,在某些对计算或网络开销比较敏感的场合可以考虑使用。

身份认证方法的选择通常根据风险高低决定。当环境风险小到一定程度时,身份认证可以通过传递身份标识(如 IP、端口等)实现,如同新认识的朋友相互交换名字就知道对方是谁。但当环境风险不够高时,身份认证必须采用更安全的方式。一般来说,首先使用非常强的认证手段保证一定是该实体;其次生成一个可验证的身份断言用于基本业务,即“初始强认证”与“使用时弱认证”结合,可兼顾安全性和便利性。“初始强认证”一般在系统开设、业务开通阶段进行,比如用户到银行开户需要本人到柜台出示身份证,新员工入职时公司对员工进行安全审查,此工作可以与网络身份管理的身份录入和信息审查合并进行。经过“初始强认证”后,进入“使用时弱认证”阶段,银行颁发给用户一张银行卡,并让用户设置一个口令,允许用户通过银行卡和口令办理存取款业务;公司也给员工办理一张员工证,允许员工凭该证出入工作环境。但用户银行卡和口令必须经过 ATM 机在线验证,员工证也必须经过公司门卫手工验证或者刷卡机在线验证。

采用可变强度的身份认证。当环境风险发生变化时,身份认证强度应该及时调整。比如首次使用新设备风险较高,需要使用强认证、设置口令并绑定设备,后续允许使用口令进行操作,但再次更换新设备时,需要再次使用强认证、设置口令并绑定设备。在进行高风险操作时,也需要提高认证强度。

必须警惕口令不当使用。某些系统可能必须多人使用同一账户操作业务,造成口令知悉范围较大,没有与人绑定;某些系统口令复杂度要求低,抗攻击能力弱。上述不当的口令使用会带来很多风险,应该设法降低风险。在无法与人绑定账户的系统中,应增强环境准入控制或用其他方法保证使用者的合法性,在口令复杂度要求低的系统中,应强制提升密码复杂度要求。

使用的数字证书应当定期更新。相当多的系统使用数字证书方式进行认证,却忽视了数字证书有效期的限制。为提升安全性,其证书需要强制定期更新。此外,证书更新途径是否安全、更新周期是否得到控制等因素都会影响可信度。

充分利用信任传递技术来构建信任链 。如图 1所示,信任传递是指当 B 在一定程度上信任 C 时,A 依赖于对 B 的信任而一定程度地信任 C。比如员工与公司门卫并不熟识,但员工因公携带物品离开公司大门,若向公司门卫出具部门领导签署的审批单,公司门卫可依据审批单对其放行。上述例子中,A 对 B 和 B 对 C 的信任称为直接信任,而 A 对 C的信任称为间接信任。A 基于 B 从而对 C 的信任形成信任链。在信任链上,相邻实体间不都是绝对信任,所以信任度会随着信任传递次数的增加而减小。此外,A 对 C 的信任程度与 A 对 B 和 B 对 C 的信任程度正相关,但不一定线性。特别的,若 A 不再信任 B 或 B 不再信任 C,则 A 也不再信任 C。信任传递用途很广,只要两个实体能够借助其他实体生成一个信任链,就可以计算出信任度。

3.3 网络访问授权

一般情况下,应采用基于身份的访问控制技术,或者相应的人机结合的管理方式来进行网络授权。很多情况下,网络实体的标识不会固定不变,比如对于移动环境或者使用动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)技术的局域网,如果基于固定网络标识进行访问控制,则无法快速调整策略以适应动态的网络标识变化,给访问控制策略维护带来极大负担。这时候应该配置基于身份的访问控制策略,通过认证过程跟踪网络访问标识的动态变化,随时自动更新策略,提高策略的安全性和适应性。

524d614edbcd404cac6a90d50ffb137d.png

       图 1 任链关系及基于信任链的信任度

基于动态信任度和风险的访问控制可极大增强访问控制的安全性。零信任思想之所以更安全,是因为其根据信任度做出是否允许访问的决策。因为身份证明并不代表对方是安全的,所以大量系统仅通过身份认证就开放安全策略的方式存在诸多安全漏洞。判断是否开放安全策略的依据应该是对方是否可信,以及是否具有高风险。信任度和风险评估可从第三方获取,也可基于交互行为与预期的对比不断积累形成。

统一权限管控解决全网权限的一致性问题,确保不因权限差异导致访问受阻或产生权限漏洞。统一权限管控的高效架构是树形分级架构,该架构从主干到分支每一级管辖本级策略,并逐级细化,分支仅在主干约束范围下定制详细策略。如图 2 所示,A 分支到 B 分支的主干路径上的策略,只管理整个A 分支能否访问整个 B 分支,但 A 分支入口和 B 分支入口的策略则管理 A 分支的实体 a 能否访问 B 分支的实体 b 的约束。这样的管理架构有利于降低主干策略压力,分支策略虽受限于主干策略的限制,但有一定自主灵活度。

062340e67cb84f519ff2ec5b94eb0401.png 

         图 2 树形分级的权限管控架构

权限同步一般分为管理流驱动和业务流驱动两类。管理流驱动是指权限在各个策略管控节点之间进行同步,需要占用带宽,且每个策略管控节点需要存储大量的权限(无法事先判断权限是否有用),处理访问时本地已经有策略,处理延迟小。业务流驱动无须各个权限管控节点之间进行同步,访问者访问时向策略控制点提供权限信息,策略控制点验证权限真实性并进行生成策略,需要花费更多时间,处理延迟大。权限同步方案的选择需要根据具体需求进行。

3.4 传输安全保障

因为数据在传输时可能受到窃取、伪造、篡改和重放攻击,所以必须考虑数据传输受到上述攻击时系统是否有安全风险。

常见的数据传输安全保护技术包括互联网安全协 议(Internet Protocol Security,IPSEC)、 安 全 接口层(Secure Socket Layer,SSL)等。IPSEC 由操作系统在网络层为应用程序统一提供基于 IP 的安全性能,对应用程序是透明的。SSL 为应用层提供标准安全接口,需要应用程序进行适配实现。IPSEC和 SSL 属于网络认证和加密,可以部署在路径网关上,也可以部署在端点上。在带宽和处理能力允许的情况下,两种技术可以同时运用,进一步增强数据传输的安全性。

数据安全的传输通道构建可以因地制宜,比如在两个局域网之间的数据传输中,可以在各自网络的出口架设实体网关,对经过网关的数据进行保护,也可以在对外提供服务的数据服务器上部署代理软件,或者在其物理接口处部署实体网关,接管出入服务器的数据流。至于局域网内部流量是否加密不应一概而论,需要综合考虑网络安全需求、环境威胁、安全脆弱性等多方面因素。

3.5 行为安全监控

行为安全监控通过分析网络实体的各种攻击和异常行为的活动,可以及早发现威胁并进行风险控制,对实体信任度进行动态评价。主要方法包括网络攻击抑制、异常行为监测。

网络攻击抑制用于检测并抑制网络中已知攻击,从而对网络进行保护。网络攻击检测方法主要有两种:一种是通过检测流量是否满足某种已知特征来发现攻击,即基于流量特征匹配的攻击检测方法,这种方法对拒绝服务(Deny of Service,DoS)和 分 布 式 拒 绝 服 务(Distributed Deny of Service,DDoS)等流量攻击有效 ;另一种是通过检测网络包内容是否满足某种已知特征来发现攻击,即基于内容特征匹配的攻击检测方法,这种方法对于漏洞利用、恶意代码等攻击有效 。当发现攻击后,可以对攻击进行抑制,但很多情况下,攻击检测设备难以识别正常访问和攻击访问。攻击监测分析人员不断地深入分析攻击特征,对匹配规则进行完善,但总会出现滞后,这正是零日攻击的突破口。在数据中心,攻击检测通常搭配流量清洗工作,当发现攻击后,攻击检测设备联动网络交换设备进行引流清洗,经过清洗后,正常访问流量被导回网络继续转发。

异常行为监测用于进一步检测超越使用习惯的高风险操作,发现各种未知攻击,比如后台木马程序借用用户和终端身份发起越级访问。异常行为监测与纯粹的基于行为的网络攻击检测不同,基于行为的网络攻击检测主要通过事先把攻击模式和特征进行总结成为模型,再通过抓取流量进行分析,检查是否存在匹配相似的网络流量,从而判断是否存在攻击行为;而网络行为安全检测是评估用户行为超出正常习惯是否带来信任度降低的方法。网络行为安全检测通过不断收集正常业务的习惯,进行用户、流量、包长、时刻、间隔等多维的分析和总结归纳,形成正常业务习惯模型。有了正常业务习惯模型后,再对新流量进行分析,评估是否符合正常业务习惯特征,最终给出相应的可信度一维评价。网络行为安全检测使用人工辅助机器学习或深度学习技术,对此,研究者们提出了很多理论方法,如文献 [10] 提出了在静态的身份认证之上,通过对用户行为的实时评估,引入奖惩因子和时间因子,实现动态的信任度评价;文献 [11] 提出了一种基于灰色关联度的信任模型,对节点进行细粒度的信任评估,抑制不诚实的节点的访问行为;文献 [12] 提出了一种基于隐式反馈控制的用户行为度量模型,构建用户的状态和行为基线,并根据基线评估用户的可信度,进而实施动态的信任度评价。

4、零信任网络推广应用的突破点

利用零信任提升网络安全防护能力不能仅依靠优化网络拓扑、提升点位产品的功能,还需要在制度、架构及配套上进行相应的改变与提升。

(1)在管理方面,需要引导相关行业分步细化和落实《信息安全等级保护管理办法》等国家标准和配套的顶层制度,逐步提升全行业中涉及信息网络领域的整体安全管理水平。

(2)在业务融合方面,需要引导相关行业认识到安全能力的提升对业务能力增强的积极意义,以及两者相辅相成的关系,促进其做好充分的思想和物质准备去迎接变革。

(3)在成本方面,建立市场促进机制,推动相关行业通过市场手段共享成果,降低成本,为提升网络能力构建基础。

5、结 语

本文针对零信任网络在现实中推广存在的诸多难题,从体系架构、技术方法、管理制度等多角度进行了多方面的分析。结果表明,充分认识零信任思想本质,结合实际情况,采用契合业务和网络特点的技术方法,各行各业都能够利用零信任思想加强网络防御能力,有效降低网络安全风险。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/12544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue中预览静态pdf文件

方法 // pdf预览 viewFileCompare() { const pdfUrl "/static/wjbd.pdf"; window.open(pdfUrl); }, // 下载 downloadFile(){ var a document.createElement("a"); a.href "/static/wjbd.pdf"; a.…

关于Anaconda环境配置的一些问题

文章目录 一、关于package文件安装位置二、关于尝试下载Python包时出现的CondaSSLError三、配置环境的整个流程 一、关于package文件安装位置 package 文件安装在envs目录底下的Lib中,可以参考一下。 在对应的Python脚本文件中,选择Parameters&#xff0…

【Spring】Spring 总览

一、简单介绍一下 Spring Spring是一个全面的、企业应用开发的一站式解决方案,贯穿表现层、业务层、持久层,可以轻松和其他框架整合,具有轻量级、控制反转、面向切面、容器等特征。 轻量级 : 空间开销和时间开销都很轻量 控制反…

蓝桥杯单片机第十二届国赛 真题+代码

iic.c /* # I2C代码片段说明1. 本文件夹中提供的驱动代码供参赛选手完成程序设计参考。2. 参赛选手可以自行编写相关代码或以该代码为基础&#xff0c;根据所选单片机类型、运行速度和试题中对单片机时钟频率的要求&#xff0c;进行代码调试和修改。 */ #include <STC1…

java springBoot 整合日志

1.在Spring Boot项目的resources目录下创建一个新的logback.xml文件。 2.logback.xml中&#xff0c;配置 代码 <?xml version"1.0" encoding"UTF-8"?> <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL…

了解Unity编辑器之组件篇Physics 2D(十二)

一、Area Effector 2D区域施加力&#xff09;&#xff1a;用于控制区域施加力的行为 Use Collider Mask&#xff08;使用碰撞器遮罩&#xff09;&#xff1a;启用后&#xff0c;区域施加力仅会作用于特定的碰撞器。可以使用Collider Mask属性选择要作用的碰撞器。 Collider Ma…

vmware中windows操作系统虚拟机安装

1.win10中安装 1.1 虚拟机向导 文件-新建虚拟机 典型-下一步 稍后安装操作系统-下一步 window10 64x -下一步 修改虚拟机名称及位置-下一步 默认60g,至少大于40g-将虚拟磁盘拆分成多个文件夹-下一步 点击完成 1.2 编辑虚拟机设置 移除打印机 设置虚拟机&#xff0c;加入iso映…

【隐式动态求解】使用非线性纽马克方法的隐式动态求解研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

小程序 获取用户头像、昵称、手机号的组件封装(最新版)

在父组件引入该组件 <!-- 授权信息 --><auth-mes showModal"{{showModal}}" idautnMes bind:onConfirm"onConfirm"></auth-mes> 子组件详细代码为: authMes.wxml <!-- components/authMes/authMes.wxml --> <van-popup show…

CompletableFuture生产中使用问题

CompletableFuture生产中使用问题 1 背景2 测试3 原因4. 总结 1 背景 接到一个任务,需要优化下单接口,查看完业务逻辑后发现有一些可以并行或异步查询的地方,于是采用CompletableFuture来做异步优化,提高接口响应速度,伪代码如下 //查询用户信息CompletableFuture<JSONObj…

安全测试国家标准解读——数据库管理和文件管理

下面的系列文章主要围绕《GB/T 38674—2020 信息安全技术 应用软件安全编程指南》进行讲解&#xff0c;该标准是2020年4月28日&#xff0c;由国家市场监督管理总局、国家标准化管理委员会发布&#xff0c;2020年11月01日开始实施。我们对该标准中一些常见的漏洞进行了梳理&…

环境搭建-Ubuntu20.04.6系统TensorFlow BenchMark的GPU测试

1. 下载Ubuntu20.04.6镜像 登录阿里云官方镜像站&#xff1a;阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 2. 测试环境 Server OS&#xff1a;Ubuntu 20.04.6 LTS Kernel: Linux 5.4.0-155-generic x86-64 Docker Version&#xff1a;24.0.5, build ced0996 docker-com…

Django框架:使用channels实现websocket,配置和项目实际使用

一、基本配置 依赖包&#xff1a; Django3.2 django-cors-headers3.5.0 redis4.6.0 #操作redis数据库的 channels3.0.0 #websocket channels-redis4.1.0 #通道层需要&#xff0c;依赖redis包项目目录结构&#xff1a; study_websocket --study_websocket --__init__.py --s…

3dsmax制作一个机器人

文章目录 建模身子&#xff1a;眼睛&#xff1a;头饰&#xff1a;肩膀手臂腿调整细节 渲染导出objMarmoset Toolbag 3.08渲染给眼睛添加材质&#xff0c;设置为自发光添加背景灯光 建模 身子&#xff1a; 眼睛&#xff1a; 头饰&#xff1a; 肩膀 手臂 腿 调整细节 渲染 导出…

Android性能优化之游戏引擎初始化ANR

近期&#xff0c;着手对bugly上的anr 处理&#xff0c;记录下优化的方向。 借用网上的一张图&#xff1a; 这里的anr 问题是属于主线程的call 耗时操作。需要使用trace 来获取发生anr前一些列的耗时方法调用时间&#xff0c;再次梳理业务&#xff0c;才可能解决。 问题1 ja…

【Linux进程】进程控制(下) {进程程序替换:程序替换的工作原理,程序替换函数exec*,简单的命令行解释器}

四、进程程序替换 之前用fork创建子进程后&#xff0c;父子进程执行同一个程序的不同代码段。 如何使子进程执行另一个不同的程序呢&#xff1f;子进程需要进行程序替换&#xff01; 程序替换&#xff0c;就是通过特定的接口&#xff0c;将磁盘上一个全新的程序&#xff08;包…

❤ Win7 电脑的使用

❤ Win7 电脑的使用 日常使用 1、 电脑显示文件的后缀名 开发使用 1、win7启动Vue项目 新版本的node.js已经不支持win7操作系统&#xff0c;其最多只能用node.js的v13.14.0。所以安装vue/cli时不能安装最新版&#xff0c;得装指定版本 下载安装node.js 因为Win7系统最多…

Python Web开发技巧VII

目录 装饰器inject_serializer 装饰器atomic rebase git 清理add的数据 查看git的当前工作目录 makemigrations文件名称 action(detailTrue, methods["GET"]) 如何只取序列化器的一个字段进行返回 Response和JsonResponse有什么区别 序列化器填表和单字段如…

数学建模-蒙特卡洛模拟

%% 蒙特卡罗用于模拟三门问题 clear;clc %% &#xff08;1&#xff09;预备知识 % randi([a,b],m,n)函数可在指定区间[a,b]内随机取出大小为m*n的整数矩阵 randi([1,5],5,8) %在区间[1,5]内随机取出大小为5*8的整数矩阵 % 2 5 4 5 3 1 4 2 %…

(无人机方向)ros小白之键盘控制无人机(终端方式)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一&#xff1a;配置pycharm的ros开发环境二&#xff1a;核心代码讲解三 效果演示XTDrone 四 完整代码 前言 ubuntu 18.04 pycharm ros melodic 做一个在终端中…