认证的两个目的
1⃣️验证信息的发送者是合法的,实体认证,包括信源、信宿的认证和识别
2⃣️验证消息的完整性,验证数据在传输过程中合存储过程中是否被篡改、重放或延迟
MAC的性质
- MAC和单向Hash函数一样,但是包括了一个密钥,只有拥有密钥的人才能鉴别这个hash函数,所以消息认证码MAC提供的可鉴别性是很有用的。
- 因为不同的钥匙会产生不同的Hash函数,如果共享钥匙X和消息M改变了都无法得到正确的Hash函数值,所以MAC能在验证发送者的消息没有经过篡改的同时又可以验证消息的发送者。即同时验证消息完整性和发送者是否合法。
消息认证码MAC实现的过程:
对上图做出以下的解释:
M是信息发送方要发送的消息,K是收发双方共同拥有的钥匙(如何保证收发双方能够在不安全的信道中安全地共享密钥可以采用对称密钥交换协议中的Diffie-Hellman算法)
MAC是如何实现的消息认证和用户认证的呢?
发送方发送消息M和经过收发双方共有的密钥K加密后的消息认证码。
接收方不是像加密过程一样进行解密,而是进行验证,验证的过程就是将发送方送过来的消息M用自己有的密钥K进行重新计算消息认证码,将接收方自己计算的消息认证码和发送方送过来的消息认证码进行比较,如果两者相同那么验证成功,如果不同则说明要么是发送者不合法(发送方的密钥K和接收方的密钥K不相同)要么是消息完整性被破坏(接收到的消息M有问题)