wolfCOSE 1.0.0 リリース:組み込み環境向けの標準準拠 COSE 署名・暗号化・認証

wolfSSL は、CBOR (RFC 8949) と COSE (RFC 9052/9053) を完全に実装した C ライブラリ「wolfCOSE 1.0.0」をリリースしました。動的メモリ確保を一切行わない zero-allocation 設計で、リソースの限られた組み込みシステム向けに最適化されています。

COSE とは

COSE (CBOR Object Signing and Encryption) は、JOSE/JWT のバイナリ版に相当する仕様です。JOSE が JSON データを保護するのに対し、COSE はコンパクトなバイナリ形式である CBOR を保護します。CBOR は IoT、ファームウェア更新 (SUIT)、アテステーション (EAT)、W3C WebAuthn、デジタルクレデンシャルなど幅広い分野で利用されています。

対応するメッセージ形式

wolfCOSE は次の 6 種類の COSE メッセージ形式に対応します。

  • COSE_Sign1 / COSE_Sign(単一署名・複数署名)
  • COSE_Encrypt0 / COSE_Encrypt(単一受信者・複数受信者の暗号化)
  • COSE_Mac0 / COSE_Mac(メッセージ認証)

対応アルゴリズム

合計 40 種類のアルゴリズムに対応しています。

  • 署名:ES256/384/512、EdDSA、PS256/384/512、およびポスト量子暗号 ML-DSA(3 つのセキュリティレベル 44/65/87)
  • 暗号化:AES-GCM、AES-CCM、ChaCha20-Poly1305
  • MAC:HMAC-SHA 各種、AES-MAC
  • 鍵配送:Direct、AES Key Wrap、ECDH-ES + HKDF

組み込み向けの設計

  • 動的メモリ確保ゼロ。バッファは呼び出し側が提供する設計
  • 小さなフットプリント。ES256 の検証のみの構成で約 5.1 KB
  • WOLFCOSE_LEAN やフィーチャーゲートによる軽量ビルドが可能

標準準拠と品質

  • MISRA C:2012 および C:2023 をチェック済み
  • wolfCrypt(FIPS 140-3 証明書 #4718)を通じた FIPS 140-3 認証への対応
  • RFC 8949、RFC 9052/9053、RFC 8230、RFC 9964 に準拠
  • 約 240 通りのアルゴリズム組み合わせによるラウンドトリップテスト、静的解析(cppcheck、Clang analyzer、Coverity)、CodeQL、Semgrep、サニタイザによる検証を実施

動作要件と入手方法

  • wolfSSL 5.8.0 以降が必要(ポスト量子暗号 ML-DSA の利用には 5.9.2 以降)
  • Makefile のみのプロジェクトで、暗号処理の依存先は wolfCrypt のみ
  • ソース:https://github.com/wolfSSL/wolfCOSE
  • リリース:v1.0.0
  • ライセンス:GPLv3 および商用ライセンスのデュアルライセンス

もし弊社製品についてご質問があれば、お問い合わせ窓口info@wolfssl.jpまでご連絡をお願い致します。

原文:https://www.wolfssl.com/announcing-wolfcose-1-0-0-standards-based-cose-signing-encryption-and-authentication-for-constrained-environments/