Investor's wiki

消息验证码 (MAC)

消息验证码 (MAC)

什么是消息验证码?

消息验证码 (MAC) 或 tag, 是计算机用户输入的用于访问帐户或门户的安全码。此代码附加到用户发送的消息或请求中。附加到消息的消息验证码 (MAC) 必须被接收系统识别,才能授予用户访问权限。

了解消息验证码 (MAC)

消息验证码 (MAC) 通常用于电子资金转账(EFT) 以保持信息完整性。他们确认消息是真实的;换句话说,它确实来自指定的发件人,并且在途中没有发生任何变化。也拥有密钥的验证者可以使用它来识别相关消息内容的更改。

访问任何类型的金融账户通常都需要消息验证码。银行、经纪公司、信托公司以及任何其他提供在线访问的存款、投资或保险公司都可以使用这些代码。它们是金融密码学的重要组成部分。

用于生成 MAC 的算法

三种算法通常包括 MAC:密钥生成算法、签名算法和验证算法。密钥生成算法随机选择一个密钥。当给定密钥和消息时,签名算法会发送一个标签。验证算法用于在给定密钥和标签时验证消息的真实性;如果消息和标签是真实且未更改的,它将返回 accepted 消息,否则,它将返回 rejected 消息。

例如,发送方通过 MAC 算法发送消息,例如 EFT,该算法生成密钥并将 MAC 数据标签附加到消息中。接收者收到消息,使用相同的密钥通过 MAC 算法运行它,并获得第二个数据标签。然后,他们会将这个 MAC 数据标签与发送时附加到消息的第一个数据标签进行比较。如果两端的代码相同,则接收者可以放心地假定消息的数据完整性是完整的。但是,如果不是,则意味着该消息已被更改、篡改或伪造。

但是,消息本身应该包含一些数据,以确保该消息只能发送一次。例如,一次性 MAC、时间戳或序列号可用于保证消息只能发送一次。否则,系统可能容易受到重放攻击,其中攻击者在消息被解码后截获并在稍后重新传输它,复制原始结果并渗透系统。

消息完整性代码 (MIC)

有时,将使用术语消息完整性代码 (MIC) 来代替 MAC。这在通信行业中最为常见,其中 MAC 传统上表示媒体访问控制地址(MAC 地址)。但是,MIC 也可以用来指消息摘要,它不以与 MAC 相同的方式使用密钥,并且在没有进一步加密的情况下无法提供相同级别的安全性。