上节课内容
单纯的加解密算法无法保证抵抗下述攻击
伪装 内容修改 顺序修改 计时修改 发送方否认 接收方否认
消息认证
数字签名
不属于机密性范畴,属于数据完整性范畴
密码学Hash函数
2013-9-16
西安电子科技大学计算机学院
密码学Hash函数
密码学Hash函数可用于实现消息认证和数字签名
消息认证
消息认证:验证所收到的消息确实是真实的 且未被修改的消息,它也可验证消息的顺序 和及时性。 数字签名:是一种认证技术,其中的一些方 法可用来抗发送方否认攻击。(接收者可验 证但不能伪造)
消息认证
数字签名
2013-9-16
西安电子科技大学计算机学院
消息认证函数(1) 任何消息认证或数字签名机制在功能上分两
层: 下层是某种产生认证符的函数 上层协议进行验证
2013-9-16
西安电子科技大学计算机学院
消息认证函数(2) 产生认证符的函数类型 消息加密:消息的密文作为认证符 消息认证码:消息和密钥的公开函数,产生定长的
值作为认证符。 MAC: message authentication code Hash函数:将任意长消息映射为定长的hash值作为
认证符
消息加密(1)
消息加密也能提供一种认证的方法
对称密码,既可以提供认证又可以提供保密性,但不 是绝对的。
2013-9-16
西安电子科技大学计算机学院
消息加密(2) 公钥体制中: 加密不能提供对发送方的认证(公钥是公开的) 发送方可用自己的私钥进行签名 接收方可用发送方的公钥进行验证 保密性和可认证性
2013-9-16
西安电子科技大学计算机学院
P233-2342013-9-16 西安电子科技大学计算机学院 12
消息认证码 (MAC)
一种认证技术
利用密钥来生成一个固定长度的短数据块(MAC), 并将该数据块附加在消息之后。MAC的值依赖于消息和密钥
MAC = Ck(M)
MAC函数于加密类似,但MAC算法不要求可逆 性,而加密算法必须是可逆的。
接收方进行同样的MAC码计算并验证是否与发送过 来的MAC码相同
2013-9-16
西安电子科技大学计算机学院
MAC 特性
MAC码是一个密码校验和 MAC = CK(M)
消息M的长度是可变的密钥K是要保密的,且收发双方共享。 产生固定长度的认证码 多个消息对应同一MAC值 但是找到同一MAC值所对应的多个消息应该是 困难的。
MAC算法是一个多对一的函数
2013-9-16
西安电子科技大学计算机学院
Message Authentication Code
2013-9-16
西安电子科技大学计算机学院
若相同,则有:接收方可以相信消息未被修改。 接收方可以相信消息来自真正的发送方。 接收方可
以确信消息中含有的序列号是正确 的。
为什么需要使用MAC?有些情况只需要认证(如广播) 文档的持续保护(例如解密后的保护) ……
由于收发双方共享密钥,所以MAC不能 提供数字签名
2013-9-16
西安电子科技大学计算机学院