Reversion history
Reversion | Date | Author | Description of change |
0.1 | 2022-01-14 | Vicent GAO (高罗) | 初始版本 |
消息验证码 (MAC),也称为标签,用于验证消息的来源和性质。 MAC 使用身份验证加密技术来验证通过网络发送或从一个人传输到另一个人的数据的合法性。
换句话说,MAC 确保消息来自正确的发送者,没有被更改,并且通过网络传输或存储在系统内外的数据是合法的并且不包含有害代码。 MAC 可以存储在硬件安全模块上,这是一种用于管理敏感数字密钥的设备。
2. 消息验证码如何工作?MAC 过程的第一步是在接收方和发送方之间建立安全通道。为了加密消息,MAC 系统使用一种算法,该算法使用对称密钥和发送的纯文本消息。 MAC 算法然后通过处理消息生成固定长度的认证标签。结果计算是消息的 MAC。
该 MAC 然后附加到消息中并传输到接收器。接收器使用相同的算法计算 MAC。如果接收方到达的最终 MAC 等于发送方发送的 MAC,则该消息被验证为真实、合法且未被篡改。
实际上,MAC 使用只有发送者和接收者知道的安全密钥。如果没有这些信息,接收者将无法打开、使用、读取甚至接收正在发送的数据。如果在发送方发起传输和接收方收到数据之间更改数据,MAC 信息也会受到影响。
因此,当接收者试图验证数据的真实性时,密钥将不起作用,最终结果将与发送者的结果不匹配。当检测到这种差异时,可以丢弃数据包,从而保护接收方的系统。
3. 消息验证码有哪些类型?尽管所有 MAC 都实现了相同的最终目标,但也有几种不同的类型。
3.1 一次性MAC一次性 MAC 与一次性加密非常相似,因为它定义了一种一次性使用的 MAC 算法来保护数据的传输。 一次性 MAC 往往比其他身份验证算法更快。
3.2 Carter-Wegman MACCarter-Wegman MAC 类似于一次性 MAC,不同之处在于它还包含一个伪随机函数,可以使单个密钥多次使用。
3.3 HMAC使用密钥哈希消息验证码 (HMAC) 系统,使用单向哈希为发送的每条消息创建唯一的 MAC 值。 输入参数可以分配不同的值,并且使它们彼此非常不同可能会产生更高级别的安全性。
4. LTE安全模式MAC-I(消息验证码 - 完整性)当 UE 发送消息时,UE 计算 MAC-I 字段的值并填写 PDPCH PDU 的 MAC-I 字段。 当 UE 接收到消息时,它通过基于输入参数(承载 ID、方向、AS 密钥、消息本身等)计算 X-MAC 来验证 PDCP PDU 的完整性。 如果计算出的 X-MAC 对应于接收到的 MAC-I,则完整性保护验证成功。
对于不受完整性保护的控制平面数据,MAC-I 字段仍然存在,应使用设置为 0 的填充位进行填充。
4.1 参考规范:36.323 - 5.7 完整性保护和验证4.2 参考规范:36.323 - 6.3.4 MAC-I4.3 参考规范:33.401 - 3GPP 系统架构演进(SAE); 安全架构5. 批准的消息验证码算法批准的通用 MAC 算法是 HMAC、KECCAK 消息验证码 (KMAC) 和基于密码的方法验证码 (CMAC)。密码学中的消息认证依赖于散列,散列用于验证传输的合法性,确保消息自发送者首次传输以来未被更改或以其他方式损坏。
5.1 密钥哈希消息验证码 (HMAC)HMAC 基于经批准的散列函数。它执行的功能类似于 Rivest-Shamir-Adelman (RSA) 密码系统,这是最古老的安全发送数据的方法之一。以下出版物中概述了可在 HMAC 中使用的函数:
1) FIPS 180-4,安全散列标准
2) FIPS 202、SHA-3 标准:基于排列的散列和可扩展输出函数
3) NIST SP 800-107 Revision 1, Recommendation for Applications Using Approved Hash Algorithms 中概述了有关 HMAC 安全性的指南。
5.2 KECCAK 消息验证码 (KMAC)KMAC 由密钥加密算法组成,其参数在 FIPS 202、SHA-3 标准:基于排列的散列和可扩展输出函数中指定。 存在两种 KECCAK 变体:KMAC256 和 KMAC128。
5.3 用于认证的 CMAC 模式如 SP 800-38B,分组密码操作模式建议:用于身份验证的 CMAC 模式中所述,CMAC 是使用经批准的分组密码构建的,这是一种使用对称加密密钥的算法,类似于 NIST 的高级加密标准 ( AES),它也使用对称密钥,被美国政府用来保护机密信息。
6. 消息验证码有什么好处?6.1 保护数据完整性使用 MAC,您可以确保未将未经授权的代码(例如病毒使用的可执行代码)放入您的系统中。 这在尝试对抗病毒和其他恶意软件时很有用。
您可以使用应用程序根据发送给您或通过存储设备提供的数据生成 MAC。 应用程序生成 MAC 后,可以将其与原始 MAC 进行比较,以检测数据的变化。
7. Fortinet 如何提供帮助使用 FortiGate 下一代防火墙 (NGFW),您的所有网络流量都经过细粒度过滤,防止未经授权或恶意文件进入或退出您的系统。 FortiGate 帮助您过滤来自未经授权的来源的数据。
如果为 FortiGate 提供动力的情报系统 FortiGuard 识别出恶意行为者插入了未经授权的消息,FortiGate 会阻止他们的数据进入您的系统。 同样,如果消息原本是善意的,但被改成了含有恶意代码的东西,FortiGate 可以检测到危险代码并丢弃携带它的数据包。
最新评论