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 里了,导致恶棍这下也能访问了。

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

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

相关文章

虾皮、Lazada店铺流量怎么提升?自养号优势及测评系统如何搭建?

虾皮、Lazada是东南亚地区最大的购物平台之一&#xff0c;吸引了大量的买家和卖家。在竞争激烈的虾皮市场上&#xff0c;如何提升店铺的流量成为许多卖家关注的问题。以下是关于如何提升虾皮、Lazada店铺流量的一些建议。 一、店铺流量怎么提升? 首先&#xff0c;进行优质的…

50N65-ASEMI高压N沟道MOS管50N65

编辑&#xff1a;ll 50N65-ASEMI高压N沟道MOS管50N65 型号&#xff1a;50N65 品牌&#xff1a;ASEMI 封装&#xff1a;TO-247 连续漏极电流(Id)&#xff1a;50A 漏源电压(Vdss)&#xff1a;650V 功率(Pd)&#xff1a;388W 芯片个数&#xff1a;2 引脚数量&#xff1a;…

tp5+workman(GatewayWorker) 安装及使用

一、安装thinkphp5 1、宝塔删除php禁用函数putenv、pcntl_signal_dispatch、pcntl_wai、pcntl_signal、pcntl_alarm、pcntl_fork&#xff0c;执行安装命令。 composer create-project topthink/think5.0.* tp5 --prefer-dist 2、配置好站点之后&#xff0c;浏览器打开访问成…

软件验收测试计划、验收测试报告案例模板参考

1. 概述 1.1. 编写目的 1.2. 测试背景 1.3. 测试依据 1.4. 测试对象 1.5. 测试资源 2. 测试方式与环境 2.1. 测试方式 2.2. 测试环境 3. 测试结果 3.1. 功能适合性和准确性 3.1.1. 总体统计 3.1.2. 详细结果 3.2. 安全性 3.3. 可靠性和性能 4. 总体分析 5. 测试…

bat批处理文件_输出内容到文本

文章目录 1、echo str > test.txt&#xff08;覆盖原有内容&#xff09;2、echo str >> test.txt&#xff08;不覆盖原有内容&#xff0c;追加&#xff09; 1、echo str > test.txt&#xff08;覆盖原有内容&#xff09; 2、echo str >> test.txt&#xff0…

Spring Cloud Gateway 缓存区异常

目录 1、问题背景 2、分析源码过程 3、解决办法 最近在测试环境spring cloud gateway突然出现了异常&#xff0c;在这里记录一下&#xff0c;直接上干货 1、问题背景 测试环境spring cloud gateway遇到以下异常 DataBufferLimitException: Exceeded limit on max bytes t…

Docker nginx容器代理播放m3u8视频文件(HLS)

文章目录 Docker Nginx容器代理播放M3U8文件教程获取Nginx Docker镜像设置Nginx配置文件用 ffmpeg 将 MP4 文件转换成 m3u8 文件运行Docker容器测试M3U8流其他问题我用vlc都能播放http://192.168.121.50/forest4kTest.m3u8和http://192.168.121.50/forest4kTest.mp4&#xff0c…

【HBase】——优化

1 RowKey设计 重要&#xff1a;一条数据的唯一标识就是 rowkey&#xff0c;那么这条数据存储于哪个分区&#xff0c;取决于 rowkey 处于 哪个一个预分区的区间内&#xff0c;设计 rowkey的主要目的 &#xff0c;就是让数据均匀的分布于所有的 region 中&#xff0c;在一定程度…

HTML 使用 ruby 给汉字加拼音

使用 ruby 给汉字加拼音 兼容性 使用 ruby 给汉字加拼音 大家有没有遇到过要给汉字头顶上加拼音的需求? 如果有的话, 你是怎么解决的呢? 如果费尽心思, 那么你可能走了很多弯路, 因为 HTML 原生就有这样的标签来帮我们实现类似的需求. <ruby> ruby 本身是「红宝石」…

大学物理-实验篇——测量误差与数据处理(测量分类、误差、有效数字、逐差法)

目录 测量分类 测量次数角度 测量条件角度 误差 误差分类 系统误差 随机误差 异常值 误差描述 精密度&#xff08;Precision&#xff09; 正确度&#xff08;Trueness&#xff09; 准确度/精确度&#xff08;Accuracy&#xff09; 随机误差的处理 直接测量 算术…

一起玩儿物联网人工智能小车(ESP32)——27. 旋转编码器的使用方法

摘要&#xff1a;本文介绍旋转编码器的使用方法 旋转编码器是一种机电设备&#xff0c;可将轴或轴的角位置或运动转换为模拟或数字输出信号&#xff0c;在工业控制中发挥着举足轻重的作用。旋转编码器目前被广泛的应用在数控机床、印刷设备、包装机械、输送带、电梯、机器人、风…

WeNet语音识别+Qwen-72B-Chat Bot+Sambert-Hifigan语音合成

WeNet语音识别Qwen-72B-Chat Bot&#x1f47e;Sambert-Hifigan语音合成 简介 利用 WeNet 进行语音识别&#xff0c;使用户能够通过语音输入与系统进行交互。接着&#xff0c;Qwen-72B-Chat Bot作为聊天机器人接收用户的语音输入或文本输入&#xff0c;提供响应并与用户进行对话…

Docker overlay2文件busy,容器不能删除问题解决

文章目录 在删除docker容器的时候报错,说设备正忙通过 docker ps -a 查看有两个状态的dead的容器解决方法&#xff1a;1.查看所有挂载的设备2.截取设备的进程id3.清理进程(kill掉即可) 在删除docker容器的时候报错,说设备正忙 Error response from daemon: Driver overlay2 fai…

【ARMv8架构系统安装PySide2】

ARMv8架构系统安装PySide2 Step1. 下载Qt资源包Step2. 配置和安装Qt5Step3. 检查Qt-5.15.2安装情况Step4. 安装PySide2所需的依赖库Step5. 下载和配置PySide2Step6. 检验PySide2是否安装成功 Step1. 下载Qt资源包 if you need the whole Qt5 (~900MB): wget http://master.qt…

Meshlab界面和菜单初步认识

文章目录 界面认识菜单 界面认识 顾名思义&#xff0c;MeshLab即网格实验室&#xff0c;用于处理三维对象&#xff0c;并有着针对网格基于网格操作的各种工具&#xff0c;是一个功能强大的三维几何处理系统。因其开源&#xff0c;直接搜官网下载即可。安装过程无坑&#xff0c…

vue icon 本地正常 线上打包失败变乱码

出现这个原因是因为sass解析的问题 Node版本高的话可以通过升级sass版本 并且配置vue.config规避这个问题 //给sass配置的东西 这个对应的版本是sass 1.39.0 本人node版本v14 升级sass版本后出现报错css: {loaderOptions: {scss: {additionalData: import "/styles/var…

C#,入门教程(10)——常量、变量与命名规则的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(09)——运算符的基础知识https://blog.csdn.net/beijinghorn/article/details/123908269 C#用于保存计算数据的元素&#xff0c;称为“变量”。 其中一般不改变初值的变量&#xff0c;称为常变量&#xff0c;简称“常量”。 无论…

nginx 二、配置域名

文章目录 一、配置本地域名查看虚拟机ip修改hosts文件测试域名是否配置成功 二、配置aliyun域名三、实践1.创建html2.配置nginx3.测试服务器内部测试页面测试 总结 docker中启动nginx容器完成如下操作&#xff0c;对于docker安装nginx可以看这篇文章 nginx 一、安装与conf浅析 …

zookeeper应用场景之分布式的ID生成器

1. 分布式ID生成器的使用场景 在分布式系统中&#xff0c;分布式ID生成器的使用场景非常之多&#xff1a; 大量的数据记录&#xff0c;需要分布式ID。大量的系统消息&#xff0c;需要分布式ID。大量的请求日志&#xff0c;如restful的操作记录&#xff0c;需要唯一标识&#x…

element中Tree 树形控件实现多选、展开折叠、全选全不选、父子联动、默认展开、默认选中、默认禁用、自定义节点内容、可拖拽节点、手风琴模式

目录 1.代码实现2. 效果图3. 使用到的部分属性说明4. 更多属性配置查看element官网 1.代码实现 <template><div class"TreePage"><el-checkboxv-model"menuExpand"change"handleCheckedTreeExpand($event, menu)">展开/折叠&l…