Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29167-17 定义了适用于 ISO/IEC 18000 系列空中接口标准 RFID 系统的数字签名算法(DSA)密码套件。与基于对称密钥的套件不同,DSA 提供非对称认证,标签使用私钥生成签名,任何拥有对应公钥的读写器都可以验证签名。这种特性在开环供应链中非常有价值,因为众多不同的读写器无需共享密钥即可验证标签。
该标准支持 1024、2048 和 3072 位的 DSA 密钥长度,分别对应 SHA-1、SHA-224、SHA-256、SHA-384 和 SHA-512 哈希函数。本标准定义的 DSA 套件与 FIPS 186-4 兼容,提供标签认证(签名生成)和数据完整性(命令参数签名验证)。
ISO/IEC 29167-17 中的 DSA 签名过程包含三个阶段。首先,标签生成一个随机的每消息秘密 k 并计算签名分量 r = (g^k mod p) mod q。其次,使用商定的哈希函数计算消息的哈希值 H(m)。最后,计算 s = k^(-1) * (H(m) + x*r) mod q,其中 x 是标签的私钥。签名 (r, s) 与消息一起返回给读写器。
读写器端的验证过程包括计算 w = s^(-1) mod q,u1 = H(m)*w mod q,u2 = r*w mod q,然后检查 v = ((g^u1 * y^u2) mod p) mod q 是否等于 r,其中 y 是标签的公钥。标准规定,读写器必须拒绝 r = 0 或 s = 0 的签名,因为这表明签名生成无效。
| DSA 密钥长度 | 哈希函数 | 签名大小 | 安全等级 | 标签计算时间 | 典型应用 |
|---|---|---|---|---|---|
| 1024 位 | SHA-1 / SHA-224 | 40 字节 | 80 位 | ~50 ms @ 1 MHz | 低成本标签,基本认证 |
| 2048 位 | SHA-256 | 56 字节 | 112 位 | ~200 ms @ 1 MHz | 供应链,药品追溯 |
| 3072 位 | SHA-512 | 64 字节 | 128 位 | ~500 ms @ 1 MHz | 高安全,政府应用 |
在无源 RFID 标签上实现 DSA 面临重大挑战,原因在于操作数规模大(高达 3072 位)以及模幂运算的计算成本。与基于 ECC 的套件(操作数为 160-521 位)不同,DSA 需要对 1024-3072 位的操作数进行算术运算。这直接影响硅片面积:DSA 2048 位模乘法器需要的逻辑门数量约为 ECC-256 乘法器的 4 倍。
为了减轻计算负担,标准允许在消息已知之前预计算指数分量 r。由于 r = (g^k mod p) mod q 仅依赖于随机 k 而非消息,标签可以在空闲期间预计算 r 并将其存储在易失性存储器中。当签名请求到达时,只需实时计算 s 的模逆和乘法,响应延迟可减少约 70%。