EBU7140 Security and Authentication(三)密钥管理,深入浅出

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<> 表示 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

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网络安全面试题

绿盟护网行动

还有大家最喜欢的黑客技术

网络安全源码合集+工具包

所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

forums/4304bb5a486d4c3ab8389e65ecb71ac0)

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 24
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值