读零信任网络:在不可信网络中构建安全系统09用户信任

news2024/9/30 0:28:30

1. 用户信任

1.1. 将设备身份和用户身份混为一谈会导致一些显而易见的问题

  • 1.1.1. 特别是当用户拥有多台设备时,而这种情况很普遍

  • 1.1.2. 应该针对不同类型的设备提供相匹配的凭证

  • 1.1.3. 在存在共用终端设备的情况下,所有的这些问题将更加凸显

1.2. 需要将用户的识别和信任严格地区分于设备

  • 1.2.1. 二者是完全不同的两个凭证

  • 1.2.2. 用户信任在多人参与的情况下会有所不同

2. 身份权威性

2.1. 每个人都有身份,它是现实社会中个体的象征,是个体进行社会活动的基础

2.2. 在网络系统中,身份就是社会人/用户所对应的数字个体的标识,是用户在网络系统中活动的基础

2.3. 非正式身份

  • 2.3.1. 是组织内部的自定义身份

  • 2.3.2. 常用于计算机系统

    • 2.3.2.1. 昵称/花名常见于在线通信,是一种不与现实世界中真实姓名相关联的账户
  • 2.3.3. 常用于小团体中,个体之间的信任程度相对较高,风险较低

  • 2.3.4. 缺点

    • 2.3.4.1. 用户可以创建虚假身份

    • 2.3.4.2. 用户可以假冒他人身份

    • 2.3.4.3. 单个用户可以创建多个身份

    • 2.3.4.4. 多个用户可以共享同一身份

2.4. 权威身份

  • 2.4.1. 在现实世界中,个人往往使用政府颁发的ID(如驾照)作为他们的身份凭证

  • 2.4.2. 在安全性较高、风险较低的场景下,单独使用这些ID就可以证明某人的身份

  • 2.4.3. 在风险较高的场景下,需要根据政府数据库交叉核验身份凭证,进一步增强安全保障

  • 2.4.4. 计算机系统也需要一个权威中心负责用户身份管理,同现实世界一样,授予用户不同强度的凭证,并据此在计算机系统中标识他们

  • 2.4.5. 依据风险等级的不同,可能还需要根据中央数据库交叉核验用户凭证

2.5. 凭证可能丢失或者被盗,因此身份管理的权威机构需要制定一种机制来处理用户身份遗失问题,使用户重新获得身份凭证

  • 2.5.1. 验证方式和验证材料的选取不当可能会诱发安全隐患

3. 身份初始化

3.1. 数字化身份的产生以及身份与人的初始关联都是非常敏感的操作

  • 3.1.1. 对实体人的验证机制必须足够强,以防攻击者伪装成新员工获取系统身份

  • 3.1.2. 当用户无法提供当前的身份凭证时,账号恢复程序同样需要足够强的认证控制来确保实体人身份的合法性

3.2. 政府颁发的身份

  • 3.2.1. 应该首选政府颁发的身份对物理世界中的实体人进行认证

  • 3.2.2. 这些身份设计之初的首要目的就是认证实体人

  • 3.2.3. 相关安全人员要想验证这些ID必须经过专业培训,以免某些安全机制被攻击者轻易绕过

3.3. 人工认证的力量

  • 3.3.1. 人工认证机制的安全性却依然更强

  • 3.3.2. 人工当面授予实体人新的数字身份一直是很好的方式

  • 3.3.3. 非常不推荐通过邮件或其他“盲引”机制进行认证

  • 3.3.4. 信任的建立是基于一个已知的可信人员对待开通身份的人员的信息了解,这种间接的信任关系是后续人工认证和身份创建的基础

  • 3.3.5. 虽然人工认证的可信度很高,但这不应该是唯一的认证机制,就像零信任网络中的其他组件一样

3.4. 预期信息的确认

  • 3.4.1. 在创建数字身份之前,有许多信息可以获取,应使用尽可能多的信息全面构建用户画像,确保用户画像符合相关数字身份创建的预期要求

  • 3.4.2. 可以将这些预期信息看作是实体身份通向数字身份的关键要素,主要依赖人为收集和确认

    • 3.4.2.1. 用户使用的语言

    • 3.4.2.2. 用户个人ID上的家庭住址

    • 3.4.2.3. 其他更有意思的信息

  • 3.4.3. 在现实生活中,人们常常使用类似的机制进行认证(偶尔或正式)​,所以这种机制相当成熟可

4. 身份的存储

4.1. 通常需要永久保存

4.2. 用户目录

  • 4.2.1. 为了构建用户信任,系统一般需要一个目录集中记录用户相关信息

  • 4.2.2. 由于用户在该目录的存在性是后续所有认证的前提,因此集中存储这些高度敏感的数据是一个无法逃避的安全挑战

  • 4.2.3. 用户目录会存储一些基本信息,还有一些扩展信息

    • 4.2.3.1. 零信任网络可以基于丰富的用户信息做出更好的认证判定
  • 4.2.4. 用户信息极其敏感,最好不要将所有信息都存储在一个数据库中

    • 4.2.4.1. 最好用几个相互隔离的数据库代替单一数据库来存储所有用户信息

    • 4.2.4.2. 这些数据库仅仅可以通过受限的API接口进行访问,这样最大程度地限制了信息的暴露面

    • 4.2.4.3. 永远不要直接暴露原始数据

    • 4.2.4.4. 通过有权访问这些数据的应用程序开放访问接口

    • 4.2.4.5. 过这些接口对一个用户的信息进行断言式查询

  • 4.2.5. 系统可以考虑询问用户一些关于已知“事实”的知识/信息来进一步验证用户身份

4.3. 目录的维护

  • 4.3.1. 保证用户目录的准确性对于零信任网络的安全性至关重要

  • 4.3.2. 身份源系统和人力资源系统这两个数据源应该尽量保持同步

  • 4.3.3. 必须有一个系统作为身份的原始记录系统

    • 4.3.3.1. 如何选择是根据组织需要决定的
  • 4.3.4. 选择哪个系统并不重要,重要的是只有一个权威身份源系统记录身份,其他身份源系统都得从该系统导出它们所需的数据

4.4. 最小化存储数据是有益的

  • 4.4.1. 维护基础身份记录的系统并不需要存储所有身份信息

  • 4.4.2. 最好明确地分开存储不同的用户数据

  • 4.4.3. 记录系统只需要存储可以识别个人身份的关键性信息

  • 4.4.4. 衍生系统可以使用此记录系统中的权威ID来存储额外的用户信息

5. 何时进行身份认证

5.1. 传统模式总是力求划分出一个高度敏感的数据区域或操作,并对其进行极尽可能的强认证,即便用户之前已经做过一定的认证并且累积了足够的信任度

  • 5.1.1. 信任评分驱动的认证机制摒弃绝对的一次性的认证需求,取而代之的是一种自适应的按需认证和授权机制

5.2. 认证对于零信任网络至关重要,它是强制行为,但应该在显著增强安全性的同时保证用户体验最优,最大程度地使用户方便

5.3. 务必牢记用户体验是设计零信任网络的一个重要的参考因素

  • 5.3.1. 往往容易只关注认证的安全性而忽略其便捷

  • 5.3.2. 若一个安全技术提供的用户体验相当糟糕且注定会失效,那么用户很可能会想办法削弱甚至破坏安全机制

  • 5.3.3. 糟糕的用户体验会极大地影响用户的使用意愿,并且往往会使用户最终找到一些捷径绕过这些安全强制要求

5.4. 通过认证机制获取信任

  • 5.4.1. 认证用户实际上就是系统验证用户是否是他声称的那个人

  • 5.4.2. 不同的认证操作赋予不同的信任等级,根据情况灵活选择认证方式

  • 5.4.3. 登录音乐订阅服务仅需要密码

  • 5.4.4. 登录投资账户不仅需要密码,还需要额外的验证码

  • 5.4.5. 用户可以通过额外的认证方式提高其信任等级

  • 5.4.6. 如果一个用户的信任评分低于当前访问请求要求的最低信任评分,就需要进行额外的认证

  • 5.4.7. 若通过该认证,那么用户的信任等级将提升至该请求要求的水平

  • 5.4.8. 通过二次认证提高信任等级这种机制并不陌生,如今它已经被广泛应用

  • 5.4.9. 仅通过认证机制获取的信任等级始终是有限的,如果没有这一原则,设备安全性和其他一些危险信号可能导致的潜在安全问题就可能被忽略

5.5. 通过信任驱动认证机制

  • 5.5.1. 认证的目的是获取信任

    • 5.5.1.1. 切记不要毫无目的地让用户通过各种认证挑战

    • 5.5.1.2. 应该根据期望的信任等级设定认证需求的机制

    • 5.5.1.3. 当用户的信任评分足够高时,则不需要对他进行进一步认证

    • 5.5.1.4. 当用户的的信任评分太低时,则要求进一步认证

  • 5.5.2. 系统不需要对特定操作设置额外的认证要求,而是设置一个信任评分阈值来驱动认证流程和需求

  • 5.5.3. 系统可以选取任意的认证方式进行组合来满足信任评分要求,掌握每种认证方式的可信度及可访问信息的敏感度,有助于设计对攻击更免疫的系统

5.6. 通道安全

  • 5.6.1. 通信信道本身就有不同的信任等级

  • 5.6.2. 各种信道的认证强度也不相同

  • 5.6.3. 使用多通道模式时,理解通道本身的信任度非常重要,这决定了在不同场景下对通道的选择

  • 5.6.4. 硬件动态令牌的安全性和其分发系统的安全性一致

    • 5.6.4.1. 如果令牌是通过当面领取的方式分发的,则其安全性取决于领取令牌时,管理员对领取人的身份确认是否足够可靠
  • 5.6.5. 企业聊天系统的推送通知功能,其安全性和登录该聊天系统时所使用的凭证安全性相

5.7. 使用多通道通信

  • 5.7.1. 在对请求进行认证和授权时,使用多通道通信是非常高效的

  • 5.7.2. 可以选择多种通道,并将其有机整合,形成完整的数字认证方案

  • 5.7.3. 当用户请求某些高风险操作时,可以通过某种通道提示用户进行二次确认

  • 5.7.4. 当决定什么时候、在哪里应用多通道通信时,必须将用户体验作为重要的因素考虑在内

  • 5.7.5. 第二通道应该与认证/授权的第一通道不同

  • 5.7.6. 破坏一个通道可能很容易,可是同时破坏多个通道的难度将大大增加,这就是多通道带来安全性提升的根本原因

5.8. 缓存身份及其信任等级

  • 5.8.1. 会话缓存技术已经相当成熟

  • 5.8.2. 对授权进行频繁验证有非常重要的意义,这是当信任等级发生变化时,控制平面对数据平面应用程序进行有效干预的唯一机制

  • 5.8.3. 一般认为授权验证的频率越高越好

    • 5.8.3.1. 在某些实现方案中,每个请求的授权都会通过控制平面实时处理
  • 5.8.4. 许多应用只会在会话初始阶段验证SSO令牌,验证通过后,会给此会话设定一个和应用绑定的令牌

  • 5.8.5. 对请求进行授权时若采用控制平面令牌代替应用令牌,那么当信任等级波动时,可以更方便高效地更改授权判定,及时撤销授权

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

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

相关文章

打造未来交互新篇章:基于AI大模型的实时交互式流媒体数字人项目

在当今数字化浪潮中,人工智能(AI)正以前所未有的速度重塑我们的交互体验。本文将深入探讨一项前沿技术——基于AI大模型的实时交互式流媒体数字人项目,该项目不仅集成了多种先进数字人模型,还融合了声音克隆、音视频同步对话、自然打断机制及全身视频拼接等前沿功能,为用…

Python中使用正则表达式

摘要: 正则表达式,又称为规则表达式,它不是某种编程语言所特有的,而是计算机科学的一个概念,通常被用来检索和替换某些规则的文本。 一.正则表达式的语法 ①行定位符 行定位符就是用来描述字符串的边界。"^&qu…

第十三节、人物属性及伤害计算

一、碰撞器层级剔除 选中player和敌人,即可去除 若勾选触发器,则会取消掉碰撞效果,物体掉落 二、人数属性受伤计算 1、创建代码 将两个代码挂载到玩家和敌人身上 2、调用碰撞物体的方法 3、伤害值 开始:最大血量即为当前血量…

Arduino PID库 (6):初始化

Arduino PID库 (6):初始化 参考:手把手教你看懂并理解Arduino PID控制库——初始化 Arduino PID库 (5):开启或关闭 PID 控制的影响 问题 在上一节中,我们实现了关闭和打开PID的功…

最小二乘法求解线性回归问题

本文章记录通过矩阵最小二乘法,求解二元方程组的线性回归。 假设,二维平面中有三个坐标(1,1)、(2,2)、(3,2),很显然该三个坐标点不是…

React(三):PDF文件在线预览(简易版)

效果 依赖下载 https://mozilla.github.io/pdf.js/getting_started/ 引入依赖 源码 注意:pdf文件的预览地址需要配置代理后才能显示出来 import ./index.scss;function PreviewPDF() {const PDF_VIEWER_URL new URL(./libs/pdfjs-4.5.136-dist/web/viewer.html, im…

12.SpringDataRedis

介绍 SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中redis的集成模块就叫做SpringDataRedis。 spring的思想从来都不是重新生产,而是整合其他技术。 SpringDataRedis的特点 1.提供了对不同redis客户端的整合&#xff08…

8.4 day bug

bug1 忘记给css变量加var 复制代码到通义千问,解决 bug2 这不是我的bug,是freecodecamp的bug 题目中“ 将 --building-color2 变量的颜色更改为 #000” “ 应改为” 将 #000 变量的颜色更改为 --building-color2 “ bug3 又忘记加var(–xxx) 还去问…

渗透小游戏,各个关卡的渗透实例

Less-1 首先,可以看见该界面,该关卡主要是SQL注入,由于对用户的输入没有做过滤,使查询语句进入到了数据库中,查询到了本不应该查询到的数据 首先,如果想要进入内部,就要绕过,首先是用…

C#中的TCP和UDP

TcpClient TCP客户端 UDP客户端 tcp和udp的区别 TCP(传输控制协议)和UDP(用户数据报协议)是两种在网络通信中常用的传输层协议,它们在C#或任何其他编程语言中都具有相似的特性。下面是TCP和UDP的主要区别:…

MySQL的基本使用

文章目录 MySQL的基本使用什么是SQLSQL学习目标SQL的SELECT语句SQL的INSERT INTO语句 SQL的UPDATE语句SQL的DELETE语句 SQL的WHERE子句可在WHERE子句中使用的运算符SQL的AND和OR运算符SQL的ORDER BY子句SQL的COUNT(*)函数 在项目中操作数据库的步骤安装mysql模块配置mysql模块测…

微服务设计原则——易维护

文章目录 1.充分必要2.单一职责3.内聚解耦4.开闭原则5.统一原则6.用户重试7.最小惊讶8.避免无效请求9.入参校验10.设计模式11.禁用 flag 标识12.分页宜小不宜大参考文献 1.充分必要 不是随便一个功能都需要开发个接口。 虽然一个接口应该只专注一件事,但并不是每个…

摩托罗拉刷机包和固件下载地址

发现了一个非常好的摩托罗拉刷机包和固件下载地址:https://firmware.center/ 里面包含了所有的摩托罗拉的刷机包和软件、电路图等等,非常多,我想镜像到本地网盘,但不知道怎么操作,有没有懂得朋友教我全部镜像到国内的…

Kafka生产者(二)

1、生产者消息发送流程 1.1 发送原理 在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取…

Gamma AI:一键生成专业级PPT的智能工具

1. Gamma 简介 Gamma 是一个致力于通过非常简单的ai交互,制作好的视觉体验作品,它始终站在作者的视角新增功能,同时注重观众视角呈现作品。 突破了以往演示文档(ppt、pdf、网站)表现形式,能够借助ai的力量…

informer中的WorkQueue机制的实现分析与源码解读(1)

背景 client-go中的workqueue包里主要有三个队列,分别是普通队列Queue,延时队列DelayingQueue,限速队列RateLimitingQueue,后一个队列以前一个队列的实现为基础,层层添加新功能。 workqueue是整个client-go源码的重点…

每日学术速递8.5—1

1.SV4D: Dynamic 3D Content Generation with Multi-Frame and Multi-View Consistency 标题: SV4D:具有多帧和多视图一致性的动态 3D 内容生成 作者:Yiming Xie, Chun-Han Yao, Vikram Voleti, Huaizu Jiang, Varun Jampani 文章链接&…

LinuxC++(10):调用可执行程序

认识system函数 可以直接用system在代码中实现调用shell命令 /bin/ls -l /tmp表示执行ls -l命令,打开/tmp地址 而前面的/bin/表示这是shell命令,不可少,可以认为,/bin/后面的就是等价于shell里面输入的命令。 然后,cou…

* (头指针分离自 9822ba4) ,提交代码不能到分支——游离分支

背景 通过git checkout commitId(之前的一个版本); 基于这个版本修改提交代码推送代码,但是远端没有更新最新数据。 操作 通过git checkout commitId(之前的一个版本);通过git branch 查看分支情况,发现所处分支在游离分支:切换到master分…

连接池的原理

文章目录 1. 连接池的含义2. 连接池的作用2.1 不使用连接池的情况2.2 使用连接池的情况 3. 连接池和线程池的关系4. 连接池设计要点5. 使用实测 1. 连接池的含义 数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些…