一 消息认证码的使用步骤
1 消息认证码的使用步骤图例
2 图解
a 发送者Alice与接收者Bob事先共享密钥。
b 发送者Alice根据汇款请求消息计算MAC值(使用共享密钥)。
c 发送者Alice将汇款请求和MAC值两者发送给接收者Bob。
d 接收者Bob根据接收到的汇款请求消息计算MAC值(使用共享密钥)。
e 接收者Bob将自己计算的MAC值和从Alice处收到的MAC值进行比较。
f 如果两个MAC值一致,则接收者Bob就可以断定汇款请求的确来自Alice(认证成功);如果不一致,则可以断定消息不是来自Alice(认证失败)。
二 消息认证码的密钥配送问题
在消息认证码中,需要发送者和接收者之间共享密钥,而这个密钥不能被主动攻击者Mallory获取。如果这个密钥落入Mallory手中,则Mallory也可以计算出MAC值,从而就能够自由地进行篡改和伪装攻击,这样一来消息认证码就无法发挥作用了。
发送者和接收者之间的需要的共享密钥,也存在密钥配送问题。要解决密钥配送问题,我们需要像对称密码一样使用一些共享密钥的方法,例如公钥密码,DH密钥交换,密钥分配中心,或者使用其他安全的方式发送密钥等。至于使用哪种配送方法,需要根据具体目的来进行选择。