消息认证码(MAC,Message Authentication Code)
- 在无线通信中,为了防止攻击者更改消息内容,需要验证消息的完整性。消息认证码(Message Authentication Code, MAC)就是用来验证消息是否完整的数值,也称为密码校验和。因此,消息认证码在移动无线网络中应用广泛。
- 使用 MAC 验证消息完整性的具体过程是:假设通信双方 A 和 B 共享密钥 K,A用消息认证码算法将 K 和消息 M 计算出消息验证码 Mac,然后将 Mac 和 M 一起发送给 B。B 接收到 Mac 和 M 后,利用 M 和 K 计算出新的验证码 Mac*,若 Mac*和Mac 相等则验证成功,证明消息未被篡改。由于攻击者没有密钥 K,攻击者修改了消息内容后无法计算出相应的消息验证码,因此 B 就能够发现消息完整性遭到破坏。
- 在安全性方面,一个安全的 MAC 算法要满足三个条件:抗碰撞性;消息认证码在其空间内均匀分布;消息验证码的一个或一些比特不能弱于其他比特。满足以上三个条件的消息验证码能够防止穷举搜索攻击,攻击者也无法成功伪造一个消息验证码。由于哈希函数能够满足以上消息验证码算法的安全需要,并且计算开销较小,所以本文协议中的消息验证码采用的是带密钥的哈希函数算法。
参考文献:
陈圆. LTE 网络接入认证协议研究[D]. 西安电子科技大学, 2015.