ISO/IEC 29167-12 — RFID 安全 EC-GF(p) 椭圆曲线密码套件

信息技术 — 自动识别与数据采集技术 — 第12部分:安全服务 EC-GF(p) 密码套件

一、RFID 标签上的椭圆曲线密码学

ISO/IEC 29167-12 规定了在素数域上使用椭圆曲线密码学(EC-GF(p))作为 RFID 安全服务的密码套件。与对称密钥套件(AES-128、PRESENT-80)不同,EC-GF(p) 使 RFID 标签能够实现公钥密码学,无需预共享密钥即可进行密钥协商,并支持用于标签认证的数字签名。该标准强制使用密钥大小为 192、224、256、384 和 521 位的素数域 GF(p) 椭圆曲线,与 NIST FIPS 186-4 建议保持一致。256 位素数域曲线(P-256)是需要公钥操作的 RFID 应用的最低推荐标准。

在 RFID 场景下,EC-GF(p) 相比 RSA 的关键优势在于同等安全级别下密钥大小显著减小。256 位 EC 密钥提供的安全性与 3,072 位 RSA 密钥相当,存储需求减少 92%,计算时间降低一个数量级。对于只有 512 字节用户存储器的无源标签来说,这种效率提升是革命性的。

该标准定义了 EC-GF(p) 在 RFID 标签上的两种主要操作模式:(1)椭圆曲线 Diffie-Hellman(ECDH)用于密钥协商,使读写器和标签能够派生共享会话密钥而无需在空中传输密钥;(2)椭圆曲线数字签名算法(ECDSA)用于标签认证和数据完整性验证。标签可以在个性化过程中生成密钥对(私钥在标签上,公钥发送给读写器),也可以由证书颁发机构预安装密钥对。29167-1 的 SMP 框架被扩展以携带作为 Authenticate 和 KeyUpdate 命令载荷元素的椭圆曲线点坐标(x, y)。

二、计算挑战与优化策略

在无源 RFID 标签上实现 EC-GF(p) 面临着重大的计算挑战。椭圆曲线标量乘法——ECDH 和 ECDSA 的核心操作——需要在素数域 GF(p) 中进行数千次模乘运算。对于 P-256 曲线,使用倍加算法的一次标量乘法需要约 2,500 次域乘法。在 1 MHz 标签时钟速度下(增强性能标签的典型值),每次 256 位模乘使用专用乘法器约需 100 µs,导致每次标量乘法需要 250 毫秒以上——远超过典型的 50 毫秒事务窗口。

优化方法 加速比 面积开销 描述
Montgomery 模乘 2–3× 极小 避免试除法;使用移位加法
非相邻形式标量重编码 1.3× 极小 减少标量的汉明重量
专用 256 位乘法器 10–20× 8,000–12,000 门 域乘法的硬件加速
投影坐标系 1.5× 极小 避免点加法中的模逆运算
最具影响力的优化是专用 256 位模乘器。通过实现具有 32 位数据路径和 8 级流水线的 Montgomery 乘法器,256 位模乘延迟从 100 µs(位串行)降至约 5 µs,使得完整的 ECDH 密钥协商在 50 毫秒内完成——满足 Gen2 事务时间预算。

EC 操作期间的功耗是另一个关键约束。在 0.13 µm CMOS 工艺中,工作在 1 MHz 的 256 位 Montgomery 乘法器消耗约 12–18 µW。这占无源标签总功率预算的 40–60%,留给其他功能的余量有限。为了管理峰值功率,该标准建议标签实现功率平滑电容器组,并且读写器在整个 EC 计算期间维持连续的询问场(而不是盘点时通常使用的脉冲场)。

三、安全属性与应用场景

EC-GF(p) 提供了纯对称套件无法实现的安全属性。最重要的是完美前向保密性(PFS):当使用 ECDH 进行密钥协商时,即使标签的长期私钥被泄露,过去的会话密钥仍然安全,因为每个会话使用在之后丢弃的临时密钥对。此属性对于药品防伪和安全供应链追踪等应用至关重要,这些应用中审计日志即使在安全漏洞发生之后仍必须保持可信。

标签端密钥生成需要真随机数生成器(TRNG)用于临时私钥。如果随机数生成器是可预测的,ECDH 会话密钥就变得可预测。该标准强制要求 TRNG 通过 NIST SP 800-22 随机性测试。没有硬件 TRNG 的标签必须使用组合熵源(如射频噪声 + 环形振荡器抖动),而非软件 PRNG。

读写器的 ECDSA 签名验证使得离线标签认证成为可能——读写器无需连接后端数据库即可运行。这对于部署在远程位置(如集装箱码头、矿区)的现场读写器至关重要。标签将其证书(公钥 + CA 签名的元数据)存储在用户存储器中。在验证过程中,读写器提取证书,使用 CA 的公钥验证 CA 签名,然后使用标签的公钥进行挑战-响应认证。整个证书链验证会额外增加约 100–200 毫秒的认证时间。

RFID 标签上的 EC-GF(p) 实现特别容易受到故障注入攻击。在标量乘法期间,对标签电源或时钟线的精确定时毛刺可能产生错误结果,泄露私钥信息。设计人员必须至少实施以下一种措施:(1)通过计算第二次标量乘法并检查一致性来验证结果,(2)检查计算点是否在曲线上,或(3)使用 Montgomery 阶梯算法,该算法本身具有抗简单功耗分析的能力。

四、常见问题

问:EC-GF(p) 与 AES-128 相比在标签成本方面如何?
具有 EC-GF(p) 能力的标签通常比等效的仅 AES 标签贵 $0.10–$0.30,原因是更大的数字核心(15,000–20,000 门对比 AES 的 3,400 门)以及需要硬件 TRNG。然而,消除了预共享密钥管理基础设施(无需安全密钥注入站)可以降低系统级成本。
问:一个标签能否同时支持 EC-GF(p) 和 AES-128?
可以。29167-1 架构支持多个套件。一种常见配置是使用 EC-GF(p) 进行密钥协商(不频繁处理,例如每会话一次),使用 AES-128 进行批量数据加密(频繁处理,例如每次读/写)。这种混合方法优化了安全性和性能。
问:标签最多能生成多少 ECDSA 签名?
这取决于非易失性存储器技术。如果标签内部生成临时密钥对,则没有实际限制(密钥是即时生成的)。如果标签存储预计算的签名,则限制由可用用户存储器决定——512 字节的存储器在 P-256 级别下可存储约 12 个 ECDSA 签名。
问:温度如何影响标签上的 EC 计算?
极端温度(+85°C 或 −40°C)可能由于晶体管开关速度降低而使计算时间增加 20–40%。该标准建议在标称计算时间上增加 50% 的时序余量,以确保在整个工业温度范围内可靠运行。

发表回复

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