学习记录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证书保护的网站时,这些内置的根证书会自动用于验证网站的证书。


相关推荐
MartinYeung51 小时前
[论文学习]隐私保护联邦特徵选择与差分隐私的的工程实践框架
学习
qeen871 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
Flandern11112 小时前
Pull Requests(PR)
学习·github·pr
nashane3 小时前
HarmonyOS 6学习:JsCrash“闪退”法医指南——从FaultLog堆栈还原崩溃现场的终极手册
学习·华为·harmonyos
for_ever_love__3 小时前
UI学习:UICollectionView瀑布流
学习·ui·ios·objective-c·cocoa
AOwhisky3 小时前
MySQL 学习笔记(第六期):MySQL 备份与恢复
运维·数据库·笔记·学习·mysql·云计算
_李小白3 小时前
【android opencv学习笔记】Day 32:直线检测之霍夫变换
android·opencv·学习
持敬chijing4 小时前
Web渗透之SQL注入-二次注入(Second-Order SQL Injection)
sql·安全·web安全·网络安全·网络攻击模型·安全威胁分析
提子拌饭1335 小时前
Column 嵌套布局:多级 Column 实现复杂纵向结构——鸿蒙 HarmonyOS ArkTS 原生学习应用
学习·华为·harmonyos·鸿蒙·鸿蒙系统
xqqxqxxq6 小时前
树结构技术学习笔记
数据结构·笔记·学习