WOLFBOOT 組込み向けセキュアブートローダー
wolfBootでデバイスを安全に守りましょう。wolfBootは、悪意のあるファームウェアの改ざん、デバイスの制御、データの不正取得などの攻撃から、デバイスを保護します。
wolfBootはOS非依存の安全なブートローダーです。ファームウェア認証のためにwolfCryptを利用し、ファームウェア更新のメカニズムを提供します。セキュアなプロトコルなどと組み合わせることで、OTA (Over the Air) のようなファームウェアアップデートも実現可能な、コンポーネント親和性の高いテクノロジーコンポーネントです。
組込みを意識したブートローダーの最小な設計と小さなHAL APIにより、wolfBootはどのOSや非RTOSアプリケーションからも完全に独立した、安全なファームウェアアップデートのメカニズムを提供します。既存の組込みソフトウェアプロジェクトに容易に移植、統合することができます。
複数のキーストア、Freescale-LTE や STM32-PKA などのハードウェアベースの公開鍵アクセラレータをサポートします。wolfBootをwolfTPMと一緒に使うことで、TPM2.0もサポートします。
wolfBoot は、特定の鍵プロビジョニングシステムを強制することはありません。最も単純なケースでは、秘密鍵を作成し、それを使ってターゲットデバイスの更新に本物だと署名するだけです。このため、同じアルゴリズムをサポートする任意のプロビジョニングシステムと統合することができます。
特徴
- フラッシュデバイスのマルチスロットパーティショニング
- SHA2またはSHA3を用いたファームウェアイメージの整合性検証
- wolfCryptのデジタル署名アルゴリズム(ECDSA SECP256R1, Ed25519, RSA 2048/4096)を使ったファームウェアイメージの信頼性検証
- (バージョン番号による)ロールバック防止
- ハードウェア機能によるデュアルバンクスワッピング
- セキュアキーストア、OTPメモリ、TPM 2.0のサポート
|
- ARM, Risc-Vほか、複数のアーキテクチャをサポート
- 最小限の設計
- 小さなHAL API
- OS非依存
|
プラットフォームと開発言語サポート
wolfBootはOS に依存しないため、既存の組み込みソフトウェアプロジェクトに容易に移植・統合することができます。
次のプラットフォームは動作検証を行い、正式にサポートしています。
- STM32-F407
- STM32L0x3
- STM32G0x0/STM32G0x1
- STM32WB55
- STM32-F769
- STM32H7
- STM32L5xx
- STM32U5
- NXP i.MX RT-1050
- NXP i.MX RT-1060
- NXP i.MX RT-1064
- NXP T2080
- SiFive HiFive1 RISC-V
- LPC54606
- Cortex-A53 / Raspberry Pi 3
- Xilinx Zynq UltraScale+ (Aarch64)
- TI TMS570LC435
- ARMv8-m (Cortex-m33)
- ARM Cortex-R
- PowerPC
- Renesas RA6M4
- Renesas RX72N
PythonとC言語による鍵ツール
wolfBoot には、鍵生成ツールと画像署名生成ツールが付属しています。これらのツールは、秘密鍵/公開鍵のペアを生成し、ブート可能なイメージの署名を含む必要なマニフェストヘッダを添付するために使用できます。ツールによって生成されたイメージは、ブートローダによって要求されるファームウェアイメージフォーマットに準拠し、ファームウェアを認証するために使用される署名を含んでいます。 これらのツールのバージョンは、Python と C の両方で利用可能です。
wolfBootのサンプルコード
簡単かつ迅速に wolfBoot の動作を確認することができるサンプルコードをGitHub 上で公開しています。
商用サポート
wolfBootには3つのサポートパッケージがあり、ニーズによって最適なサポートを選択することができます。詳細に関してはこちらまでお問い合わせください。
wolfSSLトレーニングコース
wolfSSLやSSL /TLSに関連するテーマについて、wolfSSLではセキュリティ専門のエンジニアによるトレーニングを提要しています。ご興味のある方は、こちらまでお問い合わせください。 |
機能
- フラッシュデバイスのマルチスロットパーティショニング
- ファームウェアイメージの整合性検証
- wolfCryptのデジタル署名アルゴリズム(ECDSA SECP256R1 / Ed25519 / RSA 2048/4096)とハッシュアルゴリズム(SHA-256、SHA-3-384)を使用したファームウェアイメージの信頼性検証
- 異なるベンダー/ MCU間での移植性を容易にするための、最小のハードウェア抽象化層(HAL)インターフェース
- 確実なファームウェア更新操作を実現するための、セカンダリスロットからプライマリスロットにイメージをコピー/スワップ
- プライマリスロットのままでのファームウェアイメージのインプレースチェーンロード
- 既存のTPM 2.0モジュールの利用が可能
- Infineon 9670搭載のSTM32でテスト済み
- 更新/スワップ用の外部フラッシュ(SPIなど)のサポート
- バージョン番号によるアンチロールバック保護
- ブートローダー自体の更新のサポート
- ハードウェアを使った署名検証のサポート:
- STM32 PKA(例:STM32WB55)
- Kinetis / Freescale PKHA(例:Kinetis K82F)
- PythonとCで記述されたキーツールと画像署名ツール
- wolfBootテストアプリケーション
- 安全なキーストア
- TPM 2.0サポート
|