网络安全
三要素
- 机密性:攻击者无法获取通信内容
- 完整性:攻击者对内容进行篡改时能被发现
- 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信
加密方式
- 对称加密:加密、解密使用相同的密钥
- 非对称加密:加密、解密采用不同的秘钥(公钥和私钥),公钥加密只能私钥解密,私钥加密只能公钥解密
密码散列函数(哈希函数)
- 输入:任意长度的内容
- 输出:固定长度的哈希值
- 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
机密性
- 加密需要加密算法和秘密钥信息
- 网络传输是明文的,不安全
完整性与身份验证
- 相互关联
如何实现完整性?
明文
m
,哈希函数H
,以及秘钥s
计算
H(m+s)
获取哈希值h
将
m
和h
组合成新的信息m+h
接收方拆分
m+h
,重新计算H(m+s)
得h'
,对比h'
与h
如何实现身份验证
- 签名:用于鉴别身份与防止伪造
- 数字签名:对明文内容的哈希值使用私钥解密,验证者s使用公钥验证