消息验证码
对消息认证的要求
网络环境中的攻击
- 保密性
属于被动攻击
-
- 消息泄露
-
- 传输分析
加密
- 完整性
属于主动攻击
-
- 伪装
-
- 内容修改
-
- 顺序修改
-
- 计时修改
消息认证
- 可追究性
属于主动攻击
-
- 发送方否认
-
- 接收方否认
数字签名及一些协议
认证的功能
- 验证消息真实性
- 验证消息完整性
- 验证消息顺序性和实践性
- 验证消息不可否认性
消息认证函数
产生认证符的函数
- Hash函数
- 消息加密
- 消息认证码 MAC
消息加密
对称加密提供保密性和认证性
不能解决不可否认性
通过解密消息的可读性进行判别,如果传输其他消息(非文本),可以增加消息冗余
消息认证码 MAC
消息认证码 MAC是一种消息认证技术,是指消息被一个密钥控制的公开函数作用后产生的、用作认证符的、固定长度的数值,也称密码校验和。
MAC是消息和密钥的函数,是带密钥的Hash
M A C = f ( M , K ) MAC=f(M,K) MAC=f(M,K)
接收方将消息进行相同运算,对比MAC,如果相等,则
- 接收方确定消息未被修改
- 接受确定消息来自真正的发送方
- 消息中的序列号正确
MAC函数是多对一的函数,不要求可逆
对消息认证码的要求
MAC称密码校验和
T = M A C ( K , M ) T=MAC(K,M) T=MAC(K,M)
要求MAC函数
- 攻击者已知 M M M和 M A C ( K , M ) MAC(K,M) MAC(K,M),则找到 M ′ M' M′使得