什么是消息验证码?
消息验证码 (MAC)或 标签 是由计算机用户键入以访问帐户或门户的安全代码。 此代码附加到用户发送的消息或请求中。 附加到消息的消息验证码(MAC)必须由接收系统识别,以便授予用户访问权限。
了解消息身份验证代码(MAC)
消息验证码 (MAC)通常用于电子资金转帐(EFT),以保持信息完整性。 他们确认消息是真实的; 换句话说,它确实来自所述发件人,并且在途中未发生任何更改。 拥有密钥的验证者可以使用它来标识对所讨论消息内容的更改。
通常,访问任何种类的金融帐户都需要消息验证码。 银行,经纪公司,信托公司以及提供在线访问的任何其他存款,投资或保险公司都可以使用这些代码。 它们是金融密码学的重要组成部分。
用于生成MAC的算法
三种算法通常包括MAC:密钥生成算法,签名算法和验证算法。 密钥生成算法随机选择一个密钥。 当给定密钥和消息时,签名算法将发送标签。 验证算法用于在给定密钥和标签时验证消息的真实性; 如果消息和标签是真实的且未更改,它将返回一条已 接受 消息,否则将返回一条已 拒绝 消息 。
例如,发送方通过MAC算法发送一条消息,例如EFT,该消息会生成密钥并将MAC数据标签附加到该消息。 接收者获取消息,然后使用相同的密钥通过MAC算法将其运行回去,并获得第二个数据标签。 然后,他或她将将该MAC数据标签与消息发送时附加到消息中的第一个进行比较。 如果两端的代码相同,则收件人可以安全地假定邮件的数据完整性是完整的。 但是,如果不是,则表示邮件已被更改,篡改或伪造。
但是,消息本身应包含一些数据,以确保该消息只能发送一次。 例如,可以使用一次MAC,时间戳或序列号来保证消息只能发送一次。 否则,系统可能容易受到重播攻击,攻击者在攻击中将消息解码后拦截并重新发送,复制原始结果并渗透到系统中。
消息完整性代码(MIC)
有时,术语“消息完整性代码” (MIC)代替MAC。 这通常是在通信行业中完成的,MAC 传统上是指媒体访问控制地址 (MAC地址)。 但是,MIC也可以用来指代 消息摘要, 它不以与MAC相同的方式使用秘密密钥,并且不提供进一步的加密就不能提供相同级别的安全性。