ISO/IEC 29192-8:轻量级密码学——受限设备认证加密技术

面向物联网与嵌入式安全的AEAD方案全面解析

ISO/IEC 29192-8定义了轻量级关联数据认证加密(AEAD)方案,能够同时提供机密性、完整性和真实性验证。这些算法对于保护资源受限环境中的通信至关重要,在这种环境中,单独的加密和认证将带来难以承受的开销。标准规定了针对硬件和软件实现进行了优化的AEAD方案,目标应用包括物联网、嵌入式系统、RFID以及其他功耗、面积和计算资源严重受限的领域。

ISO/IEC 29192-8中的认证加密方案

该标准规定了两种主要的AEAD算法:ASCON和GIFT-COFB。ASCON是一系列基于海绵结构的轻量级认证加密方案,提供两种主要变体:ASCON-128(128位安全级别)和ASCON-128a(128位安全级别,更高吞吐量)。ASCON在NIST轻量级密码学竞赛中被选为轻量级认证加密的首选方案,证实了其密码学稳健性。该算法使用320位内部状态和双工海绵模式,根据变体不同以64位或128位块处理数据。

GIFT-COFB将GIFT轻量级分组密码与COFB(组合反馈)工作模式相结合,提供认证加密功能。GIFT是一种替代-置换网络密码,提供GIFT-64(64位块,128位密钥)和GIFT-128(128位块,128位密钥)两种变体。COFB模式以速率1的方式处理数据,即每个明文块只需一次分组密码调用,效率极高。ASCON和GIFT-COFB都支持关联数据(AAD),这些数据经过认证但不加密,这对于必须保持明文状态的协议头部和其他元数据至关重要。

算法 密钥长度 随机数长度 标签长度 安全级别 硬件吞吐量
ASCON-128 128位 128位 128位 128位 约4.5 Gbps @ 400 MHz
ASCON-128a 128位 128位 128位 128位 约7.2 Gbps @ 400 MHz
GIFT-COFB-64 128位 96位 64位 128位 约3.1 Gbps @ 400 MHz
GIFT-COFB-128 128位 128位 128位 128位 约2.8 Gbps @ 400 MHz
ASCON-128a在保持128位安全性的同时提供了指定算法中最佳的吞吐量,非常适合在受限平台上处理较大数据量的应用。对于面积约束极为严格的硬件实现,GIFT-COFB-64在安全性与资源使用之间提供了出色的平衡。

安全保障与密码学特性

ISO/IEC 29192-8中的AEAD方案在正确实现时提供强大的安全保证。加密组件确保机密性,防止攻击者从密文中获取任何关于明文的信息。完整性保护确保在解密过程中能够检测到对密文或关联数据的任何未经授权的修改。真实性保证数据源自拥有正确密钥的参与方。这些属性在AEAD的标准安全概念下成立:IND-CPA(选择明文攻击下的不可区分性)和INT-CTXT(密文完整性)。

ASCON的安全性基于海绵结构对差分、线性和代数密码分析的抵抗能力。ASCON置换已经过广泛的第三方分析,安全余量远高于实际威胁水平。GIFT-COFB的安全性依赖于GIFT分组密码对已知攻击的抵抗能力,以及COFB模式的可证明安全界。标准规定实现必须在释放解密的明文之前验证认证标签,这是防止填充预言机攻击和其他侧信道攻击的关键要求。两种算法在使用恒定时间编程技术实现时,都能提供针对时序攻击的纵深防御。

ASCON家族被NIST选为轻量级认证加密标准,代表了业界对其安全属性的强烈共识。遵循标准实现的方案可以对其在高达128位安全需求应用中的密码学稳健性充满信心。
如果使用相同的密钥重复使用随机数,AEAD的安全保证将完全失效。与某些分组密码模式中随机数重复仅影响机密性不同,在AEAD方案中随机数重复可能同时破坏机密性和真实性。实现必须使用可靠的随机数生成机制,如硬件随机数发生器或单调计数器。

实现策略与性能权衡

实现ISO/IEC 29192-8 AEAD方案需要在吞吐量、延迟、功耗、内存占用和侧信道抵抗等多个性能目标之间取得平衡。在硬件方面,ASCON实现的门数范围从面向最小面积的串行化架构约6,000门等效量到完全展开的高吞吐量设计的20,000 GE以上。GIFT-COFB实现通常需要3,000-5,000 GE用于GIFT核心,外加COFB模式控制器的附加逻辑。串行与并行数据路径的选择取决于应用的吞吐量需求和可用硅面积。

在软件方面,两种算法在各种微控制器架构上表现良好。在32位ARM Cortex-M平台上,ASCON的加密和认证组合性能约为每字节15-25个周期,而8位AVR实现的性能为每字节80-150个周期。GIFT-COFB由于其更简单的轮结构,在寄存器文件有限的平台上往往更为高效。标准提供了AEAD实现的内存管理指导,包括关联数据和明文的缓冲区处理、标签验证策略以及操作完成后安全清除敏感材料。

AEAD方案中最常见的实现陷阱之一是在标签验证之前释放解密的明文。这会导致填充预言机攻击,可能完全破坏认证保证。务必在向应用层释放任何解密数据之前验证标签。
Q: 认证加密与分别执行加密和消息认证码有何区别?

A: AEAD在单个紧密集成的操作中提供机密性和认证。这比先加密后MAC或先MAC后加密的组合方式更加高效,降低实现复杂度,并避免独立设计密码原语的不当组合可能产生的微妙安全漏洞。

Q: ISO/IEC 29192-8的AEAD算法能否用于磁盘加密?

A: 虽然技术上可行,但这些算法是为受限环境优化的。对于通用系统上的磁盘加密,专用的磁盘加密模式如XTS-AES更为合适。29192-8中的轻量级AEAD方案最适合网络协议、传感器数据流和嵌入式存储。

Q: 该标准如何处理侧信道攻击抵抗?

A: 标准推荐了特定的对策技术,包括恒定时间实现、中间值掩码和硬件级保护机制。它提供了在实现ASCON和GIFT-COFB时抵抗时序攻击、功耗分析和电磁分析的指导。

Q: 推荐使用的随机数长度和生成策略是什么?

A: 标准规定ASCON变体的随机数长度为128位,GIFT-COFB为96-128位。随机数应使用可靠的随机数发生器或保证在同一密钥下永不重复的单调计数器生成。对于没有硬件随机数发生器的系统,计数器与设备特定密钥相结合可提供鲁棒的随机数生成策略。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注