ISO/IEC 29192-4:轻量级密码学 — 第4部分:非对称机制

基于椭圆曲线的签名、基于身份的加密以及受限环境中的密钥协商

长期以来,在受限设备上进行公钥密码学被认为不切实际,原因是传统算法如RSA所需的模幂运算计算开销巨大。ISO/IEC 29192-4通过标准化基于椭圆曲线密码学(ECC)和基于身份的密码学(IBC)的轻量级非对称机制改变了这一范式,使得在CPU、内存和能源预算有限的设备上实现密钥交换和数字签名成为可能。

256位ECC签名提供的安全性与3 072位RSA签名相当,但计算时间仅需一小部分,密钥存储也小得多。对于8位MCU,ECC点乘可在8 MHz下于100 ms内完成,使得公钥密码即使在传感器级设备上也变得可行。

基于椭圆曲线的签名方案

针对轻量级环境优化的EC-DSA和EC-GDSA

该标准指定了两种针对受限实现优化的椭圆曲线数字签名算法:EC-DSA和EC-GDSA。两者都在素域曲线(GF(p))上运行,密钥长度为160–256位。标准定义了一组最小曲线参数,在安全性与计算效率之间取得平衡——选择协因子h=1的曲线以简化实现,以及支持快速约简的伪随机或特殊素数(如NIST P-256或Curve25519)。

在受限平台上,签名验证通常比签名生成快2–3倍,因为验证使用公钥(曲线上的一点),而生成使用私钥(标量)。如果应用主要涉及设备签名数据并由功能强大的网关验证,这种不对称性对你有利。

基于身份的密码学(IBC)

消除证书开销

ISO/IEC 29192-4最具创新性的特性之一是纳入了基于身份的签名和加密机制。在IBC中,公钥直接从标识符字符串推导而来——如设备序列号、电子邮件地址或MAC地址——从而消除了对公钥基础设施(PKI)证书的需求。可信的私钥生成器(PKG)计算相应的私钥并在配置期间分发给设备。这大幅减少了存储和通信开销,因为无需传输或验证证书链。

机制 类型 密钥长度(位) 签名大小 硬件成本 免证书
EC-DSA 数字签名 160–256 320–512 位 ~10 000–15 000 GE
EC-GDSA 数字签名 160–256 320–512 位 ~10 000–15 000 GE
IBC(签名) 基于身份签名 160–256 320–512 位 ~12 000–18 000 GE
IBC(加密) 基于身份加密 160–256 不适用 ~12 000–18 000 GE
EC-KA 密钥协商 160–256 不适用 ~8 000–12 000 GE

工程设计洞见

实用系统的混合方法

纯非对称密码学对于最受限的第1类设备仍然过于昂贵。因此,该标准鼓励采用混合方法:使用轻量级非对称机制(如29192-4中的EC-KA密钥协商)建立共享秘密,然后切换到对称轻量级密码(第2部分和第3部分的PRESENT或Trivium)进行批量数据加密。这种混合模型既提供了公钥密码学的密钥管理优势,又保持了每字节加密成本低廉。

ECC的侧信道抗性

椭圆曲线标量乘法如果实现不当,容易受到时序和功耗分析攻击。ISO/IEC 29192-4强制要求使用Montgomery ladder或double-and-add-always算法以确保恒定时间执行,并推荐使用射影坐标表示以避免点加过程中昂贵的模逆运算。通过标准测试向量且侧信道对抗措施性能开销低于5%的实现被视为合规。

在实际系统部署中,非对称轻量级密码的计算速度虽然远慢于对称密码,但它在密钥管理方面的优势往往成为决定性因素。以智能电表网络为例,数十万个终端节点每个都需要与中心站建立安全信道。如果采用预共享密钥方式,密钥分发和更新的后勤成本极高。而采用EC-KA密钥协商协议,每个节点只需在制造时烧录自己的公私钥对,中心站通过公钥即可安全协商会话密钥,使密钥管理复杂度从O(n²)降低到O(n)。这也是为什么29192-4虽然硬件成本较高,但在大型物联网部署中不可或缺。

ECC + 轻量级对称的混合模型现已成为现代IoT平台的事实安全架构,如受限设备TLS 1.3(EDHOC)和LoRaWAN规范,证明了ISO/IEC 29192-4方法的实用价值。
基于身份的加密将信任集中于私钥生成器(PKG)。如果PKG被攻破,由其派生的所有用户私钥都将被泄露。这种密钥托管特性是IBC的基础,必须在系统级威胁模型中加以考虑——切勿在需要不可否认性的应用中使用IBC。

常见问题

问1:在没有硬件加速器的情况下,8位MCU上使用ECC是否实际?
可以——160位标量乘法可在8位MCU上通过软件在1-5秒内完成。对于每个会话(分钟或小时级别)发生一次密钥交换的应用,这是可接受的。硬件加速器可将其缩短至毫秒级。
问2:物联网应用推荐哪些曲线?
该标准推荐secp160r1、secp192r1和secp256r1用于通用用途,以及Curve25519等特殊曲线用于高安全性Diffie-Hellman密钥协商。选择取决于目标安全级别和可用代码大小。
问3:如何为IBC引导PKG的信任?
PKG的公共参数必须预先配置在设备固件中,或通过认证信道获取(如在制造过程中)。ISO/IEC 29192-4未定义此引导过程;假设由系统的安全配置基础设施处理。
问4:基于身份的加密能否在物联网中取代TLS?
对于许多用例,可以。IBC消除了证书交换和验证——这在受限设备上是TLS握手中计算最昂贵的部分之一。然而,IBC并非直接替代品——密钥托管特性需要精心的系统架构设计。

发表回复

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