常用¶
简介:
由单向散列函数和密钥组成
输入: 任意消息+发送者和接收者共享的「密钥」
输出: 固定长度的消息(即:MAC值)
定义: 一种与密钥相关联的单向散列函数
实例:
SWIFT
Society for Worldwide Interbank Financial Telecommunication
环球银行金融电信协会: 银行间传递消息
IPsec
IP 增加安全性
SSL/TLS
实现方法:
HMAC: 使用单向散列函数构造消息认证码
HMAC-SHA1
HMAC-SHA-256
HMAC-SHA-512
AES-CMAC: 使用 AES 等分组密码构造消息认证码
其他: 流密码、公钥密码
认证加密:
定义: 将「对称密码」和「消息认证码」相结合
同时满足「机密性」「完整性」「认证」
实例
Encrypt-then-MAC
* 先用对称密码对明文加密
* 然后计算密文的 MAC 值
Encrypt-and-MAC
* 将明文用对称密码加密
* 并对明文计算 MAC 值
MAC-then-Encrypt
* 先计算明文的 MAC 值
* 然后将明文和 MAC 值同时用对称密码加密
攻击:
重放攻击(replay attack)
防御-序号
防御-时间戳
防御-nonce
密钥推测攻击
暴力破解&生日攻击
无法解决的问题:
对第三方证明
防止否认(nonrepudiation)