WolfSSL发布新产品; WolfCOSE 零分配 C 嵌入式 COSE 堆栈

WolfSSL发布新产品; WolfCOSE 零分配 C 嵌入式 COSE 堆栈

WolfSSL发布新产品; WolfCOSE 零分配 C 嵌入式 COSE 堆栈

一句话看懂:WolfSSL 正式发布 WolfCOSE——一个用 C 语言编写的轻量级 CBOR/COSE 协议实现库,其核心卖点是零动态内存分配、7.5 KB 起的最小文本体积,且完整支持后量子签名算法 ML-DSA(Dilithium)。这意味着嵌入式设备、IoT 终端和边缘节点现在可以用极低资源代价实现符合 RFC 9052/9053 标准的安全消息保护,并提前兼容后量子密码学迁移路径。

事件核心:发生了什么

WolfSSL 于2025年在 GitHub 上公开了 WolfCOSE 项目。该库实现了 RFC 8949 定义的 CBOR 二进制序列化格式以及 RFC 9052/9053 定义的 COSE(CBOR Object Signing and Encryption)消息集。WolfCOSE 以 WolfSSL 作为唯一密码学后端,完整支持六类 COSE 消息类型,包括多签名者 COSE_Sign 和多接收者 COSE_Encrypt / COSE_Mac 等复杂变体。其突出特性是零动态分配设计——所有操作使用调用方提供的缓冲区,运行时无需堆内存,适合资源受限环境。

从性能数据看,最小化构建(仅包含 Sign1 和 ECC 算法)的 .text 段体积为 7.5 KB,全功能构建(支持 40 种算法)为 25.6 KB。部署一个完整的 COSE 生命周期任务仅需约 1 KB 的 RAM(不包含底层密码库内部状态)。算法覆盖上,除经典 ECC(ES256/384/512、EdDSA)和 RSA-PSS 外,还纳入了后量子签名标准算法 ML-DSA 的全部三个安全等级(ML-DSA-44/65/87)。加密套件包括 AES-GCM、ChaCha20-Poly1305 以及 AES-CCM 等。WolfSSL 特别提到,通过其已有 FIPS 140-3 认证的 WolfCrypt 驱动,WolfCOSE 可以沿着同一认证路线合规。

为什么重要

在工业 IoT、汽车电子、医疗设备等嵌入式场景中,TLS/HTTPS 往往因协议栈过大或握手开销过高而无法直接适用。COSE 协议专为受限设备和低带宽链路设计,但此前 C 语言生态中缺少一个既轻量又完全符合最新 RFC 标准、且提供后量子算法支持的嵌入式实现。WolfCOSE 的出现填补了这一空白。它所强调的“零分配”特性直接解决了嵌入式开发中最头痛的内存安全问题——堆内存泄漏、碎片化以及不可预测的 malloc 失败。同时,支持 ML-DSA 意味着开发者在设计新设备时可以直接选择抗量子签名的密钥体系,而不需要等到标准成熟后再做大规模固件更新。对于关注供应链安全和长期认证合规的企业,WolfCOSE 借助 WolfCrypt 的 FIPS 证书可以实现“一条路径走到底”的合规方案。

对用户/开发者/创作者的影响

对于 IoT 固件开发者:可以直接用最小配置(仅 ECC + AES-GCM)在几 KB 的 ROM 里嵌入签名和加密功能,替代手写或半标准的 COSE 片段。对于需要多接收者加密或分布式设备管理的场景(如远程配置下发、固件签名验证),WolfCOSE 的多接收者 COSE_Encrypt 和 COSE_Mac 提供了开箱即用的标准化方案。对于关注后量子迁移的架构师:可以在现有硬件不变的情况下,先在设备端集成 ML-DSA 签名验证能力,等后端 PKI 升级后再启用签发端,实现渐进式迁移。项目的构建脚本提供了 minimal、full 和仅后量子三种配置模板,开发者可根据芯片 Flash 和 RAM 规模灵活裁剪。

值得关注的后续

第一,WolfCOSE 目前与 WolfSSL 5.8.0 及以上版本绑定,对于仍在使用老版本 WolfSSL 的项目,官方称需要源码级修改或联系商业支持。这会在短期内限制其直接替换到存量系统。第二,虽然项目已通过 99.3% 的代码覆盖率测试和 MISRA C 2012/2023 静态检查,但嵌入式生产环境中的认证通过率(如 IEC 62443、ISO 26262)仍取决于具体的系统集成验证,WolfSSL 是否会推出独立认证包值得跟进。第三,后量子 ML-DSA 在真实 Cortex-M 或 RISC-V MCU 上的运行时功耗和签名延迟是多少,目前公开资料未提供实测数据,这将是设备选型者最关心的落地参数。

来源:Hacker News · 24h最热

celebrityanime
celebrityanime
文章: 4657

发表回复

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