EBU7140 Security and Authentication(三)密钥管理;IP 层安全

B3

密钥管理

密钥分类:

按时长:

  • short term:短期密钥,用于一次加密。
  • long term:长期密钥,用于加密或者授权。

按服务类型:

  • Authentication keys:公钥长期,私钥短期。
  • Confidentiality keys:短期。confidentiality 确保的是第三方不能读取到信息。
公钥分发

我们已经知道对称密钥使用公钥加密分发。公钥怎么分发?

public announcement:直接广播,“这是我的公钥”!缺点在于容易被别人伪造 forgery。

Publicly Available Directory:向公共机构注册保管,定期更改;也有访问公共机构查密钥的方法;但是也不安全。

Public-Key Authority:一个负责验证和颁发公钥证书的机构,将个人信息和公钥绑定,比 Directory 更安全(by tightening control over distribution of keys from directory)。但是他是一个中心化的实体,可能容易被篡改 tampering。

Public-Key Certificates:CA 存储你的公钥信息和对应你的个人信息,可以核实这个公钥确实是你的,这样对方拿到公钥后可以校验。

X.500 标准

针对目录结构的标准。

X.509 标准

公钥证书格式的标准。不过我们知道,目录公钥分发方法缺点在于任何人都可以访问,因此后来改进决定使用证书进行身份认证。

  • X.509 是 X.500 的一部分,用于公钥证书校验。
  • X.509 提供了授权服务的框架,即用于提供基于公钥证书的身份验证服务。
  • X.509 定义了授权协议,即如何利用公钥证书校验用户。
  • 算法上:使用公钥算法和数字签名,不局限于特定一种算法,但是推荐 RSA。

CA 或者用户把证书放到目录服务器上,目录服务器自己不添加证书。

用户只要认证过公钥信息,就可以随时从 CA 恢复自己的公钥。

只有 CA 能修改证书,其他第三方修改证书会被检测到。

CA<<A>> 表示 CA 给 A 签名的证书。

1704112803132

用户私钥被泄露时(用户私钥泄露,或 CA 被攻破 compromised),或者不想使用这家 CA 机构继续代理证书时,要撤销证书。

CA 会定期发布 CRL 公示不再使用的证书,用户以此校验是否撤销成功。

如果 AB 使用了不同的 CA 机构,两者之间可能会请求另一方试图获取其证书。有的时候我们切换网站提示,该网站可能不安全,问我们是否要进入,其实就是换了 CA 代理机构的表现。

CA 的结构是树状的,根节点是根证书颁发机构,可以签发所有其他的证书;中间证书作为中间人,可以更好地保密根节点证书,且方便定期更换;终端结点是一些接受 CA 服务的用户、服务器等。

image-20240101210418957

User Authentication

重点在于标识用户身份而不是消息

主要分为:确定标识符 identifier ,绑定用户与标识符。

认证协议

认证协议:用于校验用户双方并交换会话密钥,需要保密性(会话密钥不能泄露)和时效性(防止有人拦截重复发送认证信息)。

身份管理

如何管理登记用户身份?

联合管理系统涉及很多步骤:认证用户身份,授权用户权限,记录用户资源活动……

简单身份管理流程如下:类似学生借书,先去学生中心认证自己的身份,学生中心核实后认为你小子有资格借书,于是给你一张借书票,你再拿着借书票去图书馆借书。

详细流程:客户端发送自己 ID,server 服务器 ID,自己的密码,以上信息发给 AS。AS 收到后先核实是不是你,是你的话你有没有权限使用服务?如果有,我用你的这些信息做一张 ticket 给你,你拿着去找服务端。服务端收到后解密(ticket 是用 AS 和 Server 都知道的密钥加密的),核实后提供给用户服务。

image-20240102005111329

问题在于需要用户输入密码,而且密码明文传输。因此如果我们有办法用 ticket 也替代用户传入的 password 就好了。我们用一个 TGS 服务器存用户密钥信息,这样客户端只需要发自己的 ID 和 server ID 给 server 就行。这就是下面的 kerberos 算法。

Kerberos

Kerberos 这个起名很有意思,是地狱三头犬的意思。

它是一种用户授权和访问控制应用 an authentication service designed for use in a distributed environment,通过第三方校验用户身份,建立授权通信,允许用户在不安全网络中证明自己的身份 It makes use of a trusted third-party authentication service that enables clients and servers to establish authenticated communication。

用户认证过程可能出现的三个主要问题:模拟用户获得该用户对工作站的访问权限,模拟工作站给用户服务,截获用户认证信息进行重放来获得权限。Kerberos 主要是围绕解决这些问题而展开。

首先 Kerberos 身份认证中有几个对象:KDC 是其服务器(包括下图的 AS 和 TGS);客户端;服务端。K 服务器拥有用户向他注册的所有 id 密码信息,且与其他服务器共享密钥用于 ticket 生成(不同域 Realm 的 K 服务器也共享密钥)。

img

AS TGS 共享一个解密 TGT 的密钥,TGS S 共享一个解密 ST 的密钥。

image-20240102110404153

为什么不通过密码校验用户身份,而是票呢?因为不安全网络,小心被窃听者 eavesdropper 偷听到密码。

另一个问题是,用户每次登录都需要输入用户信息很麻烦,我们可以把信息保存一段时间,而且保存时间不宜过长,定期需要重新发送确保安全性。这就引入了时间戳的概念。

image-20240102124810929

以上内容主要是围绕 Kerbero4 算法的讲解。5的话就是安全性高了一些,而且支持的算法也多了,比如 4 只支持 DeS 算法。

IP 安全

前面的加解密算法主要是在会话层和表示层,ip 安全主要是网络层。

IPSec

一种 IP 安全协议,提供 IP packet 数据包的保密性、授权性或二者都有的保护。没有 IP 层的保护,IP 数据包很容易被攻击篡改。IPSec 建立一条加密通道来传输信息。

主要组成部分还是前面那几大类:encryption,authentication,key management。

能实现的功能:

  • encryption 加密。
  • authentication 数据认证。
  • Connectionless integrity 无连接的完整性,比如 UDP 就是没有建立连接的通信协议。
  • access control 访问控制。
  • Rejection of replayed packets 拒绝重放,重放是认证的一个大隐患。
  • Limited traffic flow confidentiality 流量保密,不然让第三方知道自己的流量承受限度,也许会遭到大流量攻击。

IPSec 主要在数据包中添加 AH 和 ESP 两个字段来分别确保认证和加密。具体算法都是前面学过的方法,比如 HMAC 附着哈希值认证,加密采用 CBC 的 DES。还有一个新增的可选字段 domain of interpretation DOI,和学术论文 id 的 DOI 不同,这个 DOI 主要是用于标识加密方法的(比如0是 ISAKMP DOI,1是 IPSec DOI)。

SA

SA:security association,就是发数据要建立的单向安全数据连接,如果要收发数据,需要建立两条 SA。

SA 包括的属性:

  • Sequence Number Counter:自增的序列号,唯一标识不同的数据包,可以防止重放攻击。
  • Sequence Counter Overflow:用于处理序列号溢出,处理不当可能也会遭到重放攻击。
  • Anti-Replay Window:规定只接收特定窗口范围内的数据,同样为了防止重放攻击。
  • AH Information:前面介绍过,用于认证。
  • ESP Information:介绍过,用于加密(以及可选的数据完整性校验)。
  • Lifetime of this Security Assocation:SA 有效生命周期,比较好理解。
  • IPSec Protocol Mode:两种模式,隧道模式 tunnel mode 加密整个数据包,传输模式 transport 只加密其有效载荷部分 payload。看下图好像就多了一个原 ip header。VPN virtual private network 就是隧道模式建立的,保密性更好;而传输模式通过 ESP 加密实现,效率更高。
  • Path MTU:规定最大传输单元大小。

image-20240102201442527

ESP 和 AH 的同时实现需要结合多个 SA。

Sockets

应用程序通过 Sockets 通信,相当于终点。

1704198690529

格式如下:

1704199096335

ipsec 可以指定 pre-packet 和 pre-socket 两种加密方式,packet 是指定目的地加密,比如发到哪些 ip 地址时需要加密;socket 是从这台主机发出的所有 packets 都加密。

key management

讲了加密,认证,还有就是密钥管理。

Oakley Key Determination Protocol 是一种改进自 DH 的密钥交换协议。ISAKMP 是一种密钥管理协议框架,双方协商建立、修改、删除 SA,包括一系列消息类型,他自己并非具体的密钥交换算法,但是这些消息类型支持不同密钥交换算法的实现。

1704202618085

防火墙

允许访问其他网络的同时,保护本地主机/网络免受威胁。位于本地网络和 internet 之间。

能实现的:

  • 服务控制:比如 http 服务可以,ftp 不行。
  • 方向控制:比如企业外部访问不了企业内部。
  • 使用控制:用户可以访问到网络,但是对访问到的资源有限制,比如企业内部分权限。
  • 行为控制:比如防止恶意文件传输等。

防不了:内部攻击,能绕过 bypass 防火墙的攻击,计算机病毒(特洛伊木马)。

实现方法:

  • 包过滤 Packet Filtering:简单控制,双向校验源地址,目标地址,端口,协议等。不符合就丢弃。但是不安全,没有身份认证,而且可以通过数据包流量猜出 ip 地址,而且对高级协议有效性没有校验。可能的攻击方式:
    • 伪造 ip 地址,可以通过路由阻挡。
    • 伪造假路由,直接阻挡假路由。
    • 把数据段拆成微小碎片,可以在检查前组装或干脆丢弃小碎片来阻挡。
  • 应用层网关 Application-Level Gateway:会校验高层协议的内容信息。缺点在于开销大。
  • 电路级网关 Circuit-Level Gateway:用于转换内部网络地址,不被外部网络看见(抽象)。并且也会校验哪些连接是允许的。
  • 代理服务 Proxy Services:代理服务器实现内部主机和外部主机的通信,从而完全隔离内外网络(只能通过代理服务器,就好像 private 类通过 public get set 方法访问的感觉)。

image-20240102215945948

image-20240102221358543

1704205325601

堡垒机 Bastion Host 是实现电路级网关和应用层网关的主机,一般只安装必要的安全服务 proxy Telnet, DNS, FTP……,有强大安全性的操作系统,需要用户身份认证。

防火墙前后还有 De-Militarised Zones and Screened Subnets,相当于多了两层防火墙。

trusted system 用于设置安全级别来控制用户访问不同的资源(比如不同部门能访问到的资源类型不同)。有两个规则:读取只能读取安全等级更低的对象,写入只能写入安全等级更高的对象 No read up (simple security property) & No write down (*–property)。使用参考监视器来确保规则的正确执行。

image-20240102223753822

不过有一种攻击方式:特洛伊木马。

85fcdcf35174a2ce5d8a6d8888c11e9

后备数据两者都能访问,重要数据只有 hero 能访问。但是 hero 运行特洛伊木马文件后,特洛伊木马文件把 data file 的数据复制到 backpocket file 里了,导致恶棍这下也能访问了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【InnoDB数据存储结构】第1章节:数据页存储结构

目录结构 之前整篇文章太长&#xff0c;阅读体验不好&#xff0c;将其拆分为几个子篇章。 本篇章讲解 InnoDB 数据页的存储结构。 数据的存储结构 索引是在存储引擎中实现的&#xff0c;MySQL 服务器上的 存储引擎负责对表数据的读取和写入。 但是不同存储引擎对 数据存放格…

Open3D 最小二乘拟合平面——拉格朗日乘子法

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接Open3D 最小二乘拟合平面——拉格朗日乘子法。爬虫自重。 一、算法原理 设拟合出的平面方程为: a x + b y +

宣传照(私密)勿转发

精美的海报通常都是由UI进行精心设计的&#xff0c;现在有100 件商品需要进行宣传推广&#xff0c;如果每个商品都出一张图显然是不合理的&#xff0c;且商品信息各异。因此需要通过代码的形式生成海报。对此&#xff0c;我也对我宣传一波&#xff0c;企图实现我一夜暴富的伟大…

Nice Water Shader

非常好的水着色器! 标准RP上的新程序泡沫!!(URP即将推出) URP支持!! 有3个版本: -台式机 -移动设备 -桌面拼接 有灯光支持!! 使用 CUSTOM SHADER INSPECTOR(自定义着色器检查器) 个性化事物的能力,如: 镶嵌图案 3种不同颜色,形成渐变深度 色彩位置优势 菲涅耳颜色和…

[讲座] - 闲聊工业设计

1&#xff0c;工业设计相关的学科分类 2&#xff0c;工业设计的职业发展路线 3&#xff0c;工业设计师的成名人物 4&#xff0c;设计了可口可乐的Loewy 可口可乐的瓶子&#xff0c;无论白天晚上还是瓶子被打碎&#xff0c;都能认出这个是可口可乐的瓶子。 草图参照了可可豆&am…

GZ075 云计算应用赛题第4套

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷4 某企业根据自身业务需求&#xff0c;实施数字化转型&#xff0c;规划和建设数字化平台&#xff0c;平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”&#xff0c;拟采用开源OpenSt…

Oracle笔记-查看表已使用空间最大空间

目前以Oracle18c为例&#xff0c;主要是查这个表USER_SEGMENTS。 在 Oracle 18c 数据库中&#xff0c;USER_SEGMENTS 是一个系统表&#xff0c;用于存储当前用户&#xff08;当前会话&#xff09;拥有的所有段的信息。段是 Oracle 中分配存储空间的逻辑单位&#xff0c;用于存…

数据结构和算法-数据结构的基本概念和三要素和数据类型和抽象数据类型

文章目录 总览数据结构的基本概念总览数据早期和现代的计算机处理的数据数据元素-描述一个个体数据对象-一类数据元素什么是数据结构小结 数据结构的三要素总览逻辑结构-集合结构逻辑结构-线性结构逻辑结构-树形结构逻辑结构-图形结构逻辑结构-小结数据的运算物理结构&#xff…

JAVA对象、List、Map和JSON之间的相互转换

JAVA对象、List、Map和JSON之间的相互转换 1.Java中对象和json互转2.Java中list和json互转3.Java中map和json互转 1.Java中对象和json互转 Object obj new Object(); String objJson JSONObject.toJSONString(obj);//java对象转json Object newObj JSONObject.parseObject(…

一类医疗器械需要做EMC和安规吗?

摘要: 在医疗器械领域&#xff0c;EMC&#xff08;电磁兼容性&#xff09;和安规&#xff08;安全规格&#xff09;测试是非常重要的。医疗器械需要符合电磁兼容性标准&#xff0c;以确保其在电磁环境下能够正常运行而不会受到外部电磁干扰的影响&#xff0c;也不会干扰其他设备…

IOS - 手机安装包 ipa 常见几种方式

安装 ipa 包的方法有很多中&#xff0c;可以通过不同的软件安装&#xff0c;本文只列出了常用的几种&#xff0c;做个简单的归纳整理 1、iTunes 安装 数据线连接手机之后&#xff0c;会自动连接iTunes&#xff0c;&#xff08;第一次连接的时候会提示是否信任此电脑&#xff0…

小红书、抖音、视频号下载工具:随心管理个人作品集 | 开源日报 No.134

karanpratapsingh/system-design Stars: 20.6k License: NOASSERTION 这个项目是关于系统设计的。它提供了有关系统设计的课程内容&#xff0c;包括 IP、OSI 模型、TCP 和 UDP 等主题。该项目的核心优势和特点如下&#xff1a; 提供全面而高效的系统架构定义。从基础设施到数…

k8s的声明式资源管理

在k8s当中支持两种声明资源的方式&#xff1a; 1、 yaml格式&#xff1a;主要用于和管理资源对象 2、 json格式&#xff1a;主要用于在API接口之间进行消息传递 声明式管理方法(yaml)文件 1、 适合对资源的修改操作 2、 声明式管理依赖于yaml文件&#xff0c;所有的内容都…

小白入门基础 - tomcat

一&#xff1a;前言 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP 程序的首选。对于一个初学者来说&#xff0c;可以这样认为&#x…

【解决】Unity 设置跨设备分辨率表现

开发平台&#xff1a;Unity 2018版本以上 开发语言&#xff1a;CSharp 编程平台&#xff1a;Visual Studio 2022   问题描述 使用 UnityEngine.dll 中关于设置分辨率的方法时&#xff0c;无法满足应用以设定分辨率进行屏幕显示问题。因而造成画面不同程度的拉伸情况。而这种情…

[概率论]四小时不挂猴博士

贝叶斯公式是什么 贝叶斯公式是概率论中的一个重要定理&#xff0c;用于计算在已知一些先验信息的情况下&#xff0c;更新对事件发生概率的估计。贝叶斯公式的表达式如下&#xff1a; P(A|B) P(B|A) * P(A) / P(B) 其中&#xff0c;P(A|B)表示在事件B发生的条件下事件A发生的概…

【Emgu.CV教程】第21篇 、色彩处理之ConvertTo()函数改变图像的亮度和对比度

先画重点&#xff1a; 亮度是指图像的整体明亮程度。增加亮度会使图像整体变得更加明亮&#xff0c;而减少亮度则会使图像变暗。对比度是指图像中不同区域之间亮度差异的程度。它衡量了图像中最亮和最暗区域之间的差异。对比度高的图像明暗差异大&#xff0c;而对比度低就是明…

2024.1.2 安装JDK和Eclipse,并配置java编译环境

2024.1.2 安装JDK和Eclipse&#xff0c;并配置java编译环境 一直对java一知半解&#xff0c;利用春节前一个月时间补补课。 一、安装jdk 首先在oracle官网上下载jdk&#xff0c;这里选jdk17&#xff0c;选择第二项直接安装&#xff0c;第一项是压缩文件&#xff0c;带有一些…

二分图的最大权匹配

二分图的最大权匹配 二分图的最大匹配 匈牙利算法 思路&#xff1a;将点分为两类&#xff0c;左边的点和右边的点。每次尝试给左边的点找一个右边的点与之匹配&#xff0c; for (int i 1; i < n; i) {Arrays.fill(st, false);//为什么要每次都要重置stif (find(i)) res…

企业CIO如何面对数字化转型

随着互联网新技术的不断发展&#xff0c;必将导致商业模式的改变&#xff0c;企业信息化的内涵也将发生改变。IT在企业的定位更可能会上升到合作伙伴型与引领型这些较高的层面&#xff0c;IT架构模式、系统建设模式、IT部门结构等都将发生质变。而数字化时代必定属于CIO的时代&…