Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29167-22 规定了 SHA-2(安全哈希算法 2)哈希函数族作为 RFID 系统的密码套件。与 29167 系列中同时提供认证和加密的其他套件不同,SHA-2 是一种单向哈希函数——它接受输入消息并产生固定长度的摘要,该摘要无法反向恢复原始消息。在 RFID 应用中,SHA-2 主要通过 HMAC(基于哈希的消息认证码)结构用于标签认证和数据完整性验证。
该标准支持 SHA-2 族的三个成员:SHA-256(32 字节摘要)、SHA-384(48 字节摘要)和 SHA-512(64 字节摘要)。三者均基于相同的 Merkle-Damgard 构造,但具有不同的字长、轮数和初始值。标准还规定了截断变体(SHA-224 和 SHA-512/256),适用于需要较短摘要以减少空中传输时间的应用。
ISO/IEC 29167-22 中规定的 HMAC 构造遵循 RFC 2104:HMAC(K, m) = H((K’ XOR opad) || H((K’ XOR ipad) || m)),其中 H 是选定的 SHA-2 函数,K’ 是填充到块大小的密钥,opad 和 ipad 是外部和内部填充常量。标签存储共享密钥,在收到读写器挑战后,计算挑战和标签特定上下文(标签 ID、会话计数器或两者)的 HMAC,生成认证响应。
该协议支持单向(标签到读写器)和双向(标签到读写器和读写器到标签)认证。在双向认证模式下,读写器还计算标签响应和自身挑战的 HMAC,证明其拥有共享密钥。此模式可防止恶意读写器试图从标签提取敏感数据的读写器冒充攻击。
| 参数 | SHA-256 | SHA-384 | SHA-512 |
|---|---|---|---|
| 摘要大小 | 256 位(32 字节) | 384 位(48 字节) | 512 位(64 字节) |
| 字长 | 32 位 | 64 位 | 64 位 |
| 轮数 | 64 | 80 | 80 |
| 碰撞抗性 | 128 位 | 192 位 | 256 位 |
| 门电路数量 | ~9,000 GE | ~14,000 GE | ~18,000 GE |
| HMAC 吞吐量 @ 1 MHz | ~40 次认证/秒 | ~25 次认证/秒 | ~18 次认证/秒 |
用于 RFID 标签的 SHA-2 硬件核心包含三个主要组件:消息调度器(将 16 个消息字扩展为 64 或 80 个轮字)、压缩函数(应用轮常数和布尔函数)和状态寄存器文件(保存八个工作变量)。消息调度器占据门电路数量的主导地位,约占核心面积的 45%,压缩函数约占 35%,状态寄存器约占 20%。
对于无源标签,最高能效的 SHA-2 实现采用完全展开的数据路径,每轮一个时钟周期,每次哈希操作共 64-80 个时钟周期。在典型的 1-2 MHz 标签时钟频率下,一次 SHA-256 哈希在 32-80 微秒内完成。在 130 nm CMOS 工艺下,哈希期间的瞬时电流约为 5-15 微安,必须在标签能量收集预算范围内。