wolfSSL 新製品「wolfCOSE」リリース:ゼロ・アロケーションの C 製嵌入式 COSE スタック

2026/05/31 5:42

wolfSSL 新製品「wolfCOSE」リリース:ゼロ・アロケーションの C 製嵌入式 COSE スタック

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

以下の改善されたサマリーは、キーポイントリストから具体的な指標および技術的な詳細を統合し、上位レベルのナラティブを損なうことなく精度を高めています。


サマリー:

wolfCOSE は、制約のある IoT および組み込み環境用に特に設計された、CBOR (RFC 8949) および COSE (RFC 9052/9053) を実装するコンパクトな C ライブラリで、wolfSSL クライプトエンジンを使用しています。その最大の特徴は、最小モードでは 7.5 KB、完全機能版では 25.6 KB の微小なリソースフットプリントであり、厳格な 动态メモリの動的割当なし (zero dynamic memory allocation) ポリシーを採用し、約 1KB の RAM で動作することです。このライブラリは包括的な 40 アルゴリズム サイートを備え、将来のセキュリティに対応しており、標準の AES-GCM (128/192/256)、ChaCha20-Poly1305、ならびに ML-DSA(バージョン 44、65、87)といった高度なポストアーク量選択肢を含んでいます。これにより、古典的および新興の暗号化脅威の両方に対応します。

信頼性は、約 99% のコードカバレッジ(コア C ファイルでは特定して 99.3%)、MISRA C:2012/2023 セーフティ基準への準拠、および Coverity Scan との統合を特徴とする厳格な開発プロセスによって保証されています。ライブラリは多様なメッセージタイプ、すなわち COSE_Sign1, COSE_Encrypt0, および COSE_Mac0 により完全な COSE ライフサイクルをサポートし、特定署名アルゴリズムである ES256/384/512, EdDSA、および様々な RSA-PSS バリエーションを使用します。

開発者は、

make all
,
make shared
,
make test
という独自のターゲットを持つ柔軟なビルドシステムを介してこれらの機能を容易に統合できます。「Minimal」構成(例:ECC + AES-GCM)または ECDH および RSA-PSS を含むすべての 40 アルゴリズムを有効にする「Full」ビルドをサポートします。現在、wolfSSL により GPLv3 ライセンスの下で維持されており、商用製品ではありませんが公式状態は待機中であり、すでに FIPS 140-3 認証に必要な API を提供しています。特定のシンボルおよびポストアーク量 API にアクセスするには、wolfSSL v5.8.0-stable 以降 のバージョンが必要です。完全なドキュメントはプロジェクトの Wiki で利用可能で、API リファレンス、メッセージタイプ、およびテストガイドラインをカバーしています。

本文

wolfCOSE:軽量 C ライブラリによる CBOR/COSE 実装とポスト量子暗号対応

wolfCOSE は crypto 部として wolfSSL を採用した軽量 C ライブラリであり、**CBOR(RFC 8949)およびCOSE(RFC 9052/9053)**を実装しています。

主な特徴

  • 完全な RFC 9052 メッセージセット: multi-signer の
    COSE_Sign
    および multi-recipient の
    COSE_Encrypt
    /
    COSE_Mac
    を含む、すべての 6 つの COSE メッセージタイプを実装しています。
  • ポスト量子暗号署名: 全 3 つのセキュリティレベルで**ML-DSA(Dilithium)**をサポートしています。
  • アルゴリズムの多様性: 署名、暗号化、MAC、鍵分布において計40 のアルゴリズムをサポートしています。
  • 動的メモリ割り当ての非有無: すべての操作は呼び出し元が提供するバッファを使用するため、動的なメモリ割り当てを行いません
  • 極めて小さいフットプリント:
    • 最小構成(Sign1+ECC)で
      .text
      セクションは約 7.5 KBです(25.6 KB の完全機能版と比べても軽量)。
    • .data/.bss
      セクションは不要です。
  • コンパクトなメモリ使用量: wolfCrypt の内部を除くと、全 COSE ライフサイクルを実行するのに必要な RAM は約 1KB を超えません
  • FIPS 140-3 への道筋: wolfCrypt FIPS サートリフィケート #4718(唯一の暗号依存項)を通じたFIPS 140-3 認証への道筋が開かれています。

サポートされているアルゴリズム

  • 署名: ES256/384/512、EdDSA(Ed25519/Ed448)、PS256/384/512、ML-DSA-44/65/87
  • 暗号化: AES-GCM(128/192/256 ビット)、ChaCha20-Poly1305、AES-CCM 系変種
  • MAC: HMAC-SHA256/384/512、AES-MAC
  • 鍵の配布(キーディストリビューション): Direct、AES Key Wrap、ECDH-ES+HKDF

RFC 9052 に基づく COSE メッセージタイプ

wolfCOSE は、単一アクターおよび複数アクターの両バリエーションをすべて含む RFC 9052 のメッセージを実装しています。

メッセージRFC 9052 区間API用途
COSE_Sign1
Sec. 4.2
wc_CoseSign1_Sign
/
wc_CoseSign1_Verify
単一署名者の署名
COSE_Sign
Sec. 4.1
wc_CoseSign_Sign
/
wc_CoseSign_Verify
マルチ署名者(同一ペイロードに対する独立した署名)
COSE_Encrypt0
Sec. 5.2
wc_CoseEncrypt0_Encrypt
/
wc_CoseEncrypt0_Decrypt
単一受信者を対象とした AEAD
COSE_Encrypt
Sec. 5.1
wc_CoseEncrypt_Encrypt
/
wc_CoseEncrypt_Decrypt
マルチ受信者(Direct / AES-KW / ECDH-ES のいずれかを通じて一つの暗号化データを共有)
COSE_Mac0
Sec. 6.2
wc_CoseMac0_Create
/
wc_CoseMac0_Verify
単一受信者を対象とした MAC
COSE_Mac
Sec. 6.1
wc_CoseMac_Create
/
wc_CoseMac_Verify
マルチ受信者の MAC(共有 MAC キーを配布する)
COSE_Key
/
COSE_KeySet
Sec. 7
wc_CoseKey_Encode
/
wc_CoseKey_Decode
すべての鍵タイプに対するシリアライズ

前置条件 (wolfSSL)

wolfCOSE を使用するには、wolfSSL が crypto 部として必須です。

  • 最小バージョン: v5.8.0-stable
    • 公開 API「wc_ForceZero」、FIPS 204 最終版の ML-DSA、文脈認識 API「wc_dilithium_*_ctx_msg」を含む最初のリリースです。
  • 古いバージョン: より古い
    5.x
    リリースも技術的にはサポート可能ですが、ソースコードレベルの変更が必要であり、商用サポートについては wolfSSL までお問い合わせください。

必要なアルゴリズムに応じて以下のビルド構成を選択してください。

1. 最小構成 (ECC + AES-GCM)

この構成では、**COSE Sign1(ES256/384/512)Encrypt0(AES-GCM)**が利用可能になります。

cd wolfssl
./autogen.sh
./configure --enable-ecc --enable-aesgcm \
            --enable-sha384 --enable-sha512 --enable-keygen
make && sudo make install
sudo ldconfig

有効なアルゴリズム: ES256, ES384, ES512, AES-GCM-128/192/256

2. 最小構成 (ポスト量子暗号 / ML-DSA 専用)

ML-DSA-44/65/87 を使用して純粋なポスト量子暗号署名を行うための構成です。

cd wolfssl
./autogen.sh
./configure --enable-cryptonly --enable-dilithium
make && sudo make install
sudo ldconfig

有効なアルゴリズム: ML-DSA-44, ML-DSA-65, ML-DSA-87

--enable-dilithium
を指定すると SHAKE-128/256 が自動的に組み込まれます。

3. 完全構成 (すべてのアルゴリズム)

cd wolfssl
./autogen.sh
./configure --enable-ecc --enable-ed25519 --enable-ed448 \
            --enable-curve25519 --enable-aesgcm --enable-aesccm \
            --enable-sha384 --enable-sha512 --enable-keygen \
            --enable-rsapss --enable-chacha --enable-poly1305 \
            --enable-dilithium --enable-hkdf --enable-aeskeywrap
make && sudo make install
sudo ldconfig

ビルド手順

ライブラリビルドおよびテストコマンド一覧です。

# コアライブラリ (libwolfcose.a) のビルド
make

# 単体テストの実行
make test

# CLI ツールの回帰テスト(すべてのアルゴリズム)の実行
make tool-test

# ライフサイクルデモ(11 アルゴリズム)の実行
make demo

ビルドターゲット一覧

ターゲット説明
make all
コアライブラリのみをビルド (
libwolfcose.a
)
make shared
シェアードライブラリをビルド (
libwolfcose.so
)
make test
CBOR および COSE の単体テストのビルド・実行
make tool
CLI ツールをビルド (
tools/wolfcose_tool
)
make tool-test
すべてのアルゴリズム(17 種)に対する回帰テスト
make demo
ライフサイクルデモのビルド・実行(11 アルゴリズム)
make clean
ビルド生成物をすべて削除

クイックスタート

完全な動作確認コードは

examples/
配下にあります:

  • デモ用サンプル:
    • sign1_demo.c
      ,
      encrypt0_demo.c
      ,
      mac0_demo.c
      : アルゴリズムのデモ用サンプル
    • lifecycle_demo.c
      : エッジからクラウドまでの全ワークフローの実装例
  • テスト・シナリオ:
    • comprehensive/
      : すべてのアルゴリズム組み合わせに関するテストマトリクス
    • scenarios/
      : ファームウェア署名、アテステーション、機隊構成などのシナリオ例

CI / テスト体制

各プッシュおよび PR で自動的に実行されるテストです。

  • ビルドとテスト: Ubuntu, macOS, GCC 10〜14, Clang 14〜18
  • 包括的テスト: アルゴリズム組み合わせ約240 ケースのテスト
  • 静的解析ツール: cppcheck, Clang analyzer, GCC -fanalyzer
  • MISRA C 2012:
    cppcheck --addon=misra
    を用いた wolfCOSE コード全パスのチェック
  • MISRA C 2023: 厳格な GCC ウォーニングおよび clang-tidy(bugprone-, cert-, clang-analyzer-, misc- など)による確認
  • Coverity Scan: nightly の欠陥分析
  • 高度内部静的解析: Fenrir wolfssl 社の高度な静的解析ツール
  • コードカバレッジ:
    wolfcose.c
    99.3%
    wolfcose_cbor.c
    100%
make coverage                  # gcov を使用してテストを実行
make coverage-force-failure    # 暗号化失敗経路のテストを含めて実行

ドキュメント

詳細なドキュメントは Wiki に用意されています:

  • Getting Started: ビルド手順と初期ステップ
  • Message Types: Sign1, Sign, Encrypt0, Encrypt, Mac0, Mac のすべての RFC 9052 メッセージとコードサンプル
  • Algorithms: COSE ID を伴う全40 のアルゴリズムの一覧
  • API Reference: 関数のシグネチャ、データ構造、エラーコード
  • Macros: コンパイル時設定オプション
  • Testing: テストインフラストラクチャ、カバレッジ、失敗注入について
  • MISRA Compliance: MISRA C:2012 および C:2023 への準拠状況と逸脱理由
  • Project Structure: ソースファイルの構成

ブログ

ブログ記事およびアップデートは wolfCOSE Blogs で確認できます。

ライセンス

wolfCOSE は GPLv3 のライセンス契約下にあるフリーソフトウェアです。 Copyright (C) 2026 wolfSSL Inc.

サポートについて

  • ステータス: wolfCOSE は現在、wolfSSL 開発者によってメンテナンスされていますが、まだ正式にサポートされた製品として分類されていません。
    • 将来の普及を見据え、wolfSSL スイートの他の製品と同様の高品質基準を満たすように設計されました。
    • 需要の高まりに伴い、本ソフトウェアを完全にサポートされた製品へ移行することに意欲を持っています。
  • お問い合わせ:
    • 法人様が公式サポートをご希望の場合
    • 特定の機能要件が必要である場合
    • 製品の一般的なご質問やガイドラインについてお知りになりたい場合は、ぜひお気軽にお問い合わせください。

商用ライセンス契約、専門的なサポート契約のご相談、または wolfCOSE を本番環境に導入するためのディスカッションについては、wolfSSL までご連絡ください

同じ日のほかのニュース

一覧に戻る →

2026/05/31 8:26

マイクロソフトが永続ライセンス付きのオフライン製品の機能制限を実施

## Japanese Translation: 2026 年 7 月 13 日、Microsoft は macOS および iOS 向けに永続ライセンス付きの Office アプリに対して重要な制限を施行し、Word、Excel、PowerPoint、Outlook、OneDrive のライセンス証明書が期限切れになった時点でユーザーを閲覧専用モードにロックします。これにより、これらの特定のデバイスでの完全な編集機能は事実上終了し、2023 年のサポート終了日以降もデータ安全性が恒久的に維持されるとの以前のアシuranse と大きな決別を示します。Windows や Android バージョンはこの証明書問題の影響を受けない一方、この機能劣化は Apple ハードウェア上の古い永続ライセンスを特定して対象としています。ユーザーは現在のソフトウェアを再インストールしても問題を修復することはできず、代わりに無料の Web アプリへ移行するか、新しいサブスクリプションベースのライセンスを購入する(または Office Home 2024 永続ライセンスの可能性もある)、あるいは LibreOffice、OnlyOffice、Pages のような代替スイートへ切り替える必要があります。Microsoft は Office 2021 ユーザーに対して限られた解決策を提供しており、バージョン 16.83 以降へのアップグレードが可能で、これは 2026 年 10 月までの新たな証明書を含んでいます。しかし、サポート終了済み Office 2019 を実行している場合に必要な閾値未満のハードキャップのため、有効なアップデートパスは存在しません。Microsoft は 2026 年 5 月中旬から影響を受ける顧客へ電子メールを送信し、代替策として無料の Microsoft 365 Personal トライアルを提供しています。この動きは、業界全体の広範な傾向を浮き彫りにしており、永続ライセンスは継続的な有料サポートや特定の技術パッチなしに長期的な機能維持のためにはますます信頼性が低いという事実を示しています。

2026/05/31 5:40

専門分野の知見こそが、本物の護城河であった。

## Japanese Translation: ソフトウェア開発における核心的な変化は、システム構築と検証を分離する「エージェント型 AI」の台頭であり、これにより深いドメイン知識が生のコーディングスキルよりも新たな最重要資産となっています。従来のエンジニアは、失敗を観察したり専門家の影を追うことによりドメインを習得しましたが、この育成型の道筋は現在、多くの場合に封殺されています。今日のエージェントは、物流スケジュールや給与計算規則といった複雑な業界データを調和させることで得られる暗黙的理解を再現するのが困難です。そのため、特定のバックグラウンドを持たない一般向けエンジニアは、AI が生成したコードを効果的に検証することができず、コーディングを行わない者もこれらの強力なツールを効果的に活用できません。未来の景観では、機械的なコーディング能力と深い業界専門知識を併せ持ち、「二重判断」を行う専門家—すなわちコードの健全性と事実の正確性の両方を保証する人材—が優位に立つでしょう。AI による抽象モデルの機械的翻訳がもはや独占的ではなくなる中、現実世界の法規制の実証済みモデルこそが決定的な資産となります。この移行は物流配車オペレーターなどの役割を再定義し、清らかなコードの生成が主たる制約ではなくなった時代において、ドメインの複雑性に対する人間の洞察が不可欠であることを証明しています。 ## Text to translate: No significant improvements are needed as the original summary is concise, accurate, and comprehensive. ## Summary: The central shift in software development is the emergence of Agentic AI, which separates building systems from verifying them, making deep domain knowledge the new most valuable asset rather than raw coding skills. Unlike traditional engineers who learned domains by observing failures and shadowing experts—a developmental path now blocked for many—today's agents struggle to replicate the tacit understanding gained from reconciling complex industry data like logistics schedules or payroll rules. Consequently, generalist engineers cannot effectively verify AI-generated code without this specific background, while non-coders remain unable to leverage these powerful tools effectively. The future landscape favors professionals who combine mechanical coding proficiency with profound industry expertise to perform "double judgment," ensuring both code soundness and factual accuracy. As mechanical translation of abstract models becomes less exclusive due to AI, verified models of real-world regulations become the critical asset. This transition elevates roles like logistics dispatchers, proving that human insight into domain complexities is irreplaceable in an age where generating clean code is no longer the primary constraint.

2026/05/29 11:49

砂漠の真ん中に貝殻を見つけた

## Japanese Translation: サウジアラビアのアルガット砂漠の崖基部で発見された目立つ岩石は、海岸線近くにはなく、地質学的証拠によるとジュラ紀(約 1500 万年前)には海洋の底だった場所で、貝殻のように見える。地域のパレオントロジー専門家がいなかったため、著者は DIY データ分析を用いてその系統を同定した。ほぼ 8,000 の貝殻種を含むデータセット(Zhang et al.)において、著者は各輪郭を 256x2 マトリクスとして表現し、輪郭間の二乗ユークリッド距離を計算し、主成分分析(PCA)を適用した。得られた 2 次元潜在空間では、負の PC1 値は丸みを、正の値は尖り具合を示し、PC2 は対称性または質量分布を捕捉していた。化石は最も近似的に*Sphincterochila candidissima*に類似しており、これは約 3800 万年前にのみ出現した種であり、ジュラ紀にはいなかった。PCA に基づくと形状はほぼ同一だが、時間的ギャップにより直接的な祖先関係は否定され、代わりに収斂進化が示唆される:無縁の生物が同様の環境圧力の影響を受けて類似の形態を発達させた。このプロジェクトでは、また shell.hawzen.me というインタラクティブなツールを提供しており、これは遠隔地の非専門家でも専門的な科学ツールにアクセスできるようにし、研究の民主化と地球の歴史に関する深遠な事実の解明を実現することを示している。

wolfSSL 新製品「wolfCOSE」リリース:ゼロ・アロケーションの C 製嵌入式 COSE スタック | そっか~ニュース