学习记录696@网络安全之认证、报文完整性、密钥分发与证书

认证

即通信双方如何认证对方身份。

这种情况存在问题:trudy可以伪造A的IP地址。就算带上密码也可能被截获,用于重放攻击。

解决重放攻击的办法是随机数挑战,每次认证时,B都发一个挑战码给A。A加密后再传给B,如果B可以解密,那么就可以完成认证。

注意,加密可以使用对称密钥体系,也可以使用公开密钥体系。如果是堆成密钥体系,那么必须保证双方在这之前就完成了安全的密钥分发。如果是公开密钥体系,那么必须保证A获得的确实是A的公开密钥。这就引发了两个问题,第一个密钥分发问题,第二个是证书问题。


报文完整性

这涉及到三个问题:报文没有被伪造、接收方可以验证报文是发送方发的,发送方不可抵赖自己发了报文。

这需要用到数字签名技术。

A用自己的私钥对报文或者报文摘要(报文摘要算法一般是MD5或者SHA)进行签名(加密),然后将报文和签名的东西发给B,B用A的公钥解密签名,然后和原始报文或者以同样方法计算的报文摘要进行对比,如果一致,则保证了报文完整性。这样就可以证明报文没有被伪造,接收方验证报文是发送方发的,发送方不可抵赖自己发了报文,因为B可以把签名和原始报文出具给第三方,第三方用A的公钥核对正确,就认定是A发的。

注意这里的前提是B可以确定公钥是A的。这也涉及证书的问题。

密钥分发与证书

在认证和报文完整性中,提到了密钥分发和证书的前提。密钥分发指的是如何安全的将密钥分发给通信双方,证书是第三方颁发的,用于验证公钥与密钥所有者的真实性。

对称密钥分发

一般通过密钥分发中心KDC实现,KDC是各方认可的第三方机构,前提是各方与KDC间通过密钥(这个密钥是可靠的)通信。


证书

证书由认证机构CA颁发,证书内容可以简单的理解为注册实体E与公钥的绑定。之后其他实体就可以通过CA获得E的公钥,这个公钥就一定是E的。当然了,这个公钥是被CA的私钥签署了的,需要拥有CA的公钥才能获取到,CA公钥的获取通过的是另一种机制,叫做CA认证树,你甚至可以认证别人网站,通过不断的认证得到了如今的整个互联网认证树结构。

大多数现代操作系统和浏览器都内置了受信任的根证书存储。当您访问使用有效SSL证书保护的网站时,这些内置的根证书会自动用于验证网站的证书。


相关推荐
xqqxqxxq8 小时前
哈希表(HashMap)技术学习笔记
笔记·学习·散列表
生而为虫8 小时前
[学习记录] 幼儿学习拼音html游戏
学习·游戏
AOwhisky9 小时前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
ylscode9 小时前
Anthropic Claude Oceanus意外泄露:Mythos系列AI红队测试遭遇API代理滥用危机
网络·人工智能·安全·web安全·安全威胁分析
xian_wwq9 小时前
【学习笔记】「大模型安全:攻击面演化史」第 07 篇-安全左移
人工智能·笔记·学习
秋雨梧桐叶落莳9 小时前
iOS——NSUserDefaults学习
学习·macos·ios·objective-c·cocoa
易小染11 小时前
AI-Agent学习-LangChain-01
学习·langchain
xian_wwq12 小时前
【学习笔记】「大模型安全:攻击面演化史」第 03 篇-数据投毒
笔记·学习·ai安全
.千余13 小时前
【C++】手写双向链表:list容器模拟实现
开发语言·c++·笔记·学习·其他
ysu_031414 小时前
leetcode数据结构与算法1~4
c语言·数据结构·学习·算法·leetcode