Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29167-10 规定了高级加密标准(AES)配合 128 位密钥作为 RFID 安全服务的密码套件的使用。AES-128 由 NIST 在 FIPS 197 中标准化,是一种对称分组密码,使用 128 位密钥对 128 位数据块进行操作,经过 10 轮 SubBytes、ShiftRows、MixColumns 和 AddRoundKey 变换。在 RFID 场景下,该标准将 AES-128 适配到无源标签硬件的严格限制中——有限的门数(密码核心通常为 3,000–8,000 门)、超低功耗(1.2 V 下低于 5 µW)以及短暂的事务时间窗口(完整认证周期低于 50 毫秒)。这种适配并非简单的算法移植,而是在保持安全强度的前提下对硬件架构的深度优化。
该标准定义了 AES-128 如何在 29167-1 的安全管理协议(SMP)框架内用于双向认证、加密通信和消息完整性校验。密码套件在认证时使用密码分组链接模式(CBC),在加密数据传输时使用密码反馈模式(CFB)。密钥多样化通过标准中指定的基于 AES 的密钥派生函数实现,该函数从主密钥和标签标识符生成标签唯一密钥(TUK)。
AES-128 认证协议采用三次传递的挑战-响应方案。在第一次传递中,读写器发送包含 128 位随机挑战(R1)和套件标识符的 Authenticate 命令。标签使用自己的 128 位随机挑战(R2)和基于 R1、R2 及共享密钥计算的加密认证令牌进行响应。读写器验证令牌,计算响应令牌并将其发送回以完成双向认证。
| 步骤 | 方向 | 载荷 | 典型处理时间 |
|---|---|---|---|
| 1. 读写器挑战 | 读写器 → 标签 | 128 位 R1 + 套件 ID | 2 毫秒(传输) |
| 2. 标签响应 | 标签 → 读写器 | 128 位 R2 + AES(R1 || R2 || 密钥) | 12–18 毫秒(加密) |
| 3. 读写器确认 | 读写器 → 标签 | AES(R2 || R1 || 密钥) | 2 毫秒(传输) |
消息格式利用了现有的 ISO/IEC 18000-6C 命令结构。Authenticate 命令使用保留命令代码(0xE0)编码,载荷包含套件标识符、挑战值和控制标志。标签的响应通过标准的 RN16 握手返回,随后在响应窗口中携带 128 位的加密载荷。这种精心设计的映射确保无需任何物理层更改即可支持 AES-128 安全功能。
在 RFID 标签上实现 AES-128 密码套件需要仔细的架构决策。数据路径可以实现为全 128 位迭代架构(快速、高门数)或紧凑型迭代架构(较慢、最少门数)。对于 RFID 应用,紧凑型架构——每时钟周期处理一个字节——是主流选择,在一个 AES 轮次中需要 16 个时钟周期,完整的 10 轮加密约需 240 个时钟周期(包括密钥调度)。
密钥存储是一个关键安全问题。128 位 AES 密钥占用 128 位非易失性存储器(通常为 EEPROM 或 Flash)。该标准强制要求密钥存储在无法通过标准 Read 命令访问的保留存储器库中。只有通过 SMP Authenticate 命令序列才能访问密钥存储器,而且即便如此,密钥本身也从不传输——只有从密钥派生出的加密令牌才被传输。从系统角度来看,密钥管理必须包括标签个性化过程中的安全密钥注入,通常在安全设施中使用基于 HSM 的编码站执行。在实际项目中,密钥管理系统还需要支持密钥的定期轮换和撤销机制,以应对长期部署中的安全风险。