首页 理论教育 消息认证和认证码

消息认证和认证码

时间:2023-07-02 理论教育 版权反馈
【摘要】:如果两个消息认证码相同,则说明消息是合法可信的。消息在认证过程中没有第三方参与,只在通信双方之间进行,消息认证用来验证消息的完整性。图8-2 消息认证示意图从图8-2得知,这一消息认证过程实现了以下功能。

消息认证和认证码

消息认证包含以下三方面含义。

1)对消息内容的认证。消息在传送过程中可能出现差错或被篡改、伪造,通过完整性验证,可确保消息内容的真实性。

2)对消息来源的认证。攻击者可能伪装成发送者,发出假冒消息,可通过使用双方的共享密钥,确保发送者就是其声称的合法用户。

3)对消息时效性的认证。消息在传送过程中可能被重传或延迟,可通过消息认证验证消息发送的先后顺序以及是否实时发送。

从消息认证的含义可看出,消息认证既可对消息内容本身认证,也可对消息的数据源进行认证,那么消息认证与数字签名有何不同呢?数字签名是用发送者的私钥对消息或消息的摘要值加密的结果,它代表发送者的身份。而消息认证是用发送者与接收者所共享的密钥来处理消息的结果,它虽然能够证明消息不是第三者所为,但是不能抵制发送者与接收者两人之间互相抵赖的情况,因此它只能用来作为认证消息的代码,而不是唯一代表发信人凭据的签名。

消息认证的实质是:发送者通过双方协商的某种函数(如Hash函数),以待发消息作为输入经过函数变换产生消息认证码(Message Authentication Code,MAC),该认证码对于要保护的消息来说是唯一的,它与原始消息一起在公开信道上传送;接收者收到消息后,使用相同的函数对收到的消息再次计算,也得到一个消息认证码。如果两个消息认证码相同,则说明消息是合法可信的。消息在认证过程中没有第三方参与,只在通信双方之间进行,消息认证用来验证消息的完整性。

MAC是指消息被一密钥控制的某种公开函数作用后产生的固定长度值,它可用做认证符,也称为密码校验和。例如通信双方A和B共享一密钥K,设发送者A欲发送给接收者B的消息是M,A首先计算MAC=CKM),其中CK(·)是密钥控制的公开函数,它类似于Hash函数,是不可逆的压缩函数。然后A向B发送M‖MAC,B收到后做与A相同的计算,求得一新MAC′,并将收到的MAC与计算得出的MAC′进行比较,如果两者相同,B就可以确认收到的消息是合法的,接受该消息,否则拒绝。整个认证过程如图8-2所示。(www.xing528.com)

978-7-111-37285-1-Chapter08-15.jpg

图8-2 消息认证示意图

从图8-2得知,这一消息认证过程实现了以下功能。

1)接收者相信发送者发来的消息未被篡改,这是因为攻击者不知道密钥,所以不能够在篡改消息后相应地篡改MAC,而如果仅篡改消息,则接收者计算的新MAC′将与收到的MAC不同。

2)接收者相信发送者不是冒充的,这是因为除收发双方外再无其他人知道密钥,因此其他人不可能对自己发送的消息计算出正确的MAC值。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈