wolfTPM v4.2.0 をリリースしました

wolfTPM 4.2.0 では、ファームウェア TPM(fwTPM)における TCG TPM 2.0 v1.85 仕様への準拠、TLS 1.3 の認証までを対象とした耐量子暗号対応の拡張、そして新しいプラットフォーム向けバックエンドの追加を中心に開発を進めました。これにより、マイクロコントローラーから Linux エッジデバイスまで幅広いハードウェアにおいて、標準に準拠し耐量子暗号にも対応した、移植性の高いハードウェアベースの Root of Trust を実現しています。

fwTPM における TPM 2.0 v1.85 仕様準拠

ファームウェア TPM を TCG v1.85 に適合させる作業を幅広く進め、Measured Boot とアテステーションで使う経路では、認証取得済みのディスクリート TPM と同様に動作するようにしました。

  • コマンドコードのマスク処理と、ベンダービットの戻り値の修正(PR #556)
  • PolicyAuthorize の仕様準拠と、keySign の名前チケットおよび approvedPolicy のレスポンスコードの修正(PR #567、#572)
  • ContextSave / ContextLoad におけるオブジェクトコンテキストブロブへの認証付与(PR #568)
  • LoadExternal で未対応の秘密鍵タイプを拒否する処理、作成チケットの HMAC 計算順序の修正、および LoadExternal と CreateLoaded における ML-DSA / ML-KEM テンプレートの検証(PR #573、#578)
  • NV 領域の認可検証と、v1.85 リビジョンの報告(PR #575)
  • コマンド属性の報告、検証済みチケットの HMAC アルゴリズム、SPDM レスポンダのバージョンネゴシエーションの修正(PR #577、#579、#584)

TLS 1.3 向けの耐量子暗号認証

耐量子暗号への対応を、暗号プリミティブの段階から認証フロー全体へと拡張しました。

  • 耐量子暗号 TLS 1.3 向けの TPM による ML-DSA 認証。サンプルとテスト一式も追加(PR #559)
  • SealSQ QVault の耐量子暗号 TPM への対応(PR #570)
  • fwTPM における ML-KEM のクレデンシャルアクティベーションと ML-DSA の Quote(PR #592)

–enable-pqc、–enable-mldsa、–enable-mlkem のビルドオプションにより、耐量子暗号のフットプリントを、製品が実際に行う処理に必要な分だけに抑えられます。

新しいプラットフォームと HAL バックエンド

本リリースでは、TPM へアクセスする経路を新たに 2 つ追加しました。あわせて、ファームウェア更新と、fwTPM のコードサイズ制御に関する変更も加えています。

  • wolfHAL の I2C および SPI バックエンド。–enable-wolfhal と、アプリケーション側で用意する board.h で有効化します(PR #562)
  • NVIDIA Jetson Orin(Tegra234)の OP-TEE ファームウェア TPM。Linux の TPM カーネルドライバ経由で /dev/tpmrm0 としてアクセスします(PR #576)
  • fwTPM のコマンドグループ単位の切り替えマクロを細分化。コードサイズをより細かく制御できます(PR #574)
  • ファームウェア更新のポリシー認可。呼び出し側から指定できます(PR #560)

本リリースのその他の変更

ST33 のファームウェア更新:第 1 世代のマニフェストサイズ計算を修正し、サイズ超過のコマンドを拒否するようにしました(PR #583)。また、フィールドアップグレードで使うコマンドを、TPM のコマンドセットから選ぶようにしました(PR #586)。

性能:トランスポート接続を再利用し、NV 書き込みとハッシュキャッシュにかかるオーバーヘッドを削減しました(PR #563)。

ビルドとライセンス:OpenSSL と共存する場合の AES_BLOCK_SIZE(PR #552)、wolfCrypt なしでの TIS ロックビルド(PR #564)、–enable-pqc と –disable-wolfcrypt を組み合わせた場合(PR #606)の不具合を修正しました。サンプルの CA 証明書を更新するスクリプトを追加し、証明書も差し替えました(PR #601)。コントリビューションガイドを追加しました(PR #569)。また、Cisco Systems, Inc. の U-Boot と組み合わせた wolfTPM を GPLv2 でライセンスできるよう、GPLv2 の例外条項を追加しました(PR #557)。

セキュリティ強化

v4.2.0 では、Fenrir、Coverity、静的解析、異常系テスト、そして入力値検証のレビューをもとに、セキュリティ強化をまとめて実施しました。主な内容は次のとおりです。

  • 暗号コールバック、ASN.1 パース、パラメータ暗号化、マーシャリングの堅牢化(PR #551)
  • レスポンスの復号パラメータサイズに上限を設け、プライマリ鍵の認可情報をゼロ化(PR #555)
  • fwTPM のレスポンスバッファオーバーフローと、SPDM の平文フレームによるコマンドバイパスの修正(PR #561)
  • P521 のプライマリ鍵導出における wolfCrypt の参照カウント競合と、ポリシーセッションの認可バイパスの修正(PR #571)
  • fwTPM の状態変更をトランザクション化し、PolicyPCR と秘密鍵ブロブのラップを堅牢化(PR #593)
  • fwTPM のプロトコル、鍵導出、ゼロ化、境界チェックに関する追加の修正(PR #554、#558、#565、#581、#582、#588、#591、#595、#596、#597、#598、#599、#600、#603、#604、#605、#608)

クイックスタート

git clone https://github.com/wolfSSL/wolfTPM.git
cd wolfTPM
git checkout v4.2.0
./autogen.sh
./configure --enable-fwtpm --enable-swtpm
make && make check

すべての変更点は ChangeLog.md でご確認いただけます。

商用ライセンス、FIPS 140-3 との統合、DO-178C DAL A 認定キット、カスタム HAL の移植、TPM 2.0 v1.85 における耐量子暗号の導入支援についても、ご相談を承っております。

今すぐ wolfSSL をダウンロード

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

原文:https://www.wolfssl.com/announcing-wolftpm-v4-2-0/