图解密码技术——第八章 消息认证码

1.介绍

消息认证码(message authentication code)是一种确认完整性并进行认证的技术,简称MAC。

输入:任意长度的消息和发送者和接收者的共享密钥,输出:固定长度的数据,称为MAC值。

消息认证码是一种与密钥相关联的单向散列函数。

2.消息认证码使用步骤

以Alice银行向Bob银行发送消息为例

3.消息认证码的密钥配送问题

消息认证码的共享密钥需要事先发送给接收者,所以有密钥配送问题。

4.应用实例

  • SWILT(环球银行金融电信协会)
  • IPsec(互联网基本通信协议)
  • SSL/TLS(网上购物等场景中使用的通信协议)

5.消息认证码的实现方法

  • 使用单项散列函数实现(HMAC)
  • 使用分组密码实现

分组密码秘钥作为消息认证码的共享密钥,使用CBC模式将消息全部加密。由于消息认证码不需要解密,只用来认证,所以只保留最后一个分组的密文,而且最后一个分组的密文受消息与秘钥的双重影响,所以可以将他作为消息认证码。

6.HMAC详细介绍

6.1 介绍

HMAC是使用单向散列函数实现消息认证码的一种方式,其中H指的是hash.可以使用任何高强度的单项散列函数。

6.2 步骤

7.攻击

7.1 重放攻击

mallory截取MAC值和信息,将该信息重复发送.

防御方式

  • 序号——需要记住序号
  • nonce——通讯的数据量增加
  • 时间戳——通讯延迟

7.2 密钥推测攻击

和单项散列函数一样,消息认证码也可以进行暴力破解和生日攻击。

伪随机数生成器必须是高强度的

8.消息认证码无法解决的问题

  • 对第三方证明
  • 防止否认
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值