STM32Trust

セキュア・ブート / セキュア・ファームウェア・アップデート(SBSFU)

セキュア・ブートにより、デバイス内で動作するアプリケーション・ファームウェアの完全性と真正性を確保できます。
セキュア・ファームウェア・アップデートにより、要求されるフィールドでのファームウェア・アップデートの完全性を検証し、認証することができます。

    STは、次の 2つの実装スキームをSTM32マイクロコントローラとマイクロプロセッサのリファレンス・ソース・コードとして提供しています。
  • X-CUBE-SBSFU(SBSFUメカニズムの実装):すべてのSTM32メモリ保護メカニズムを容易に設定して、セキュア・ブート / セキュア・ファームウェア・アップデート機能をメイン・アプリケーションから分離することができます。STのセキュア・エレメントのリファレンス実装であるSTSAFEも含まれています。STSAFEは、最終アプリケーションのセキュリティ・レベルを最大化します。また、STM32L4の実装は、セキュリティ・ストレージも提供します。
  • TFM_SBSFU:TF-M(Trusted Firmware-M)でロードされるデバイスと同じメカニズムを実装し、STM32Cubeパッケージで提供されます。

セキュア・ファームウェア・インストール(SFI)

STM32L4、STM32H5、STM32H7、STM32L5、STM32U5、STM32WBA、およびSTM32WLマイクロコントローラで利用可能なセキュア・ファームウェア・インストール・ソリューションは、デバイスの初回プログラミング時の保護を提供します。このソリューションは、追加のSTM32プラットフォームにも拡張される予定です。

このソリューションは、OEMバイナリを暗号化するTrusted Package Creatorソフトウェア・パッケージ、STM32のセキュアなFlash書込みに使用できるSTM32CubeProgrammer、プログラミング・パートナーにOEM資格情報を送信するSTM32HSMなどを含む完全なツールセットを提供します。

STM32認証、ファームウェア復号化、およびインストールのマッピング

ファームウェアを開発し、検証した後、設計者はTrusted Package Creatorソフトウェアを使用してバイナリ・ファイルをセキュアに暗号化し、ハードウェア・セキュリティ・モジュールSTM32HSMなどの専用のスマートカードに資格情報を保存できます。その後、STM32CubeProgrammerやSFIの推奨パートナー・プログラミング・ツールを実装すれば、EMS製造ラインなどの信頼性の低い環境でもSTM32マイクロコントローラをセキュアにプログラムすることができます。

STM32CubeProgrammer

STM32CubeProgrammerには、STM32TrustedPackage Creatorツールが搭載されています。このツールを使用すると、SFIが組み込まれたSTM32デバイスに対し、SFIおよびSMI暗号化済みイメージを生成できます。このツールはCLIモードとGUIモードの両方で無償にて利用可能です

SFIフォーマットは、STが作成したファームウェア用暗号化フォーマットです。AESアルゴリズムを使用して、Elf、Hex、BinまたはSrecフォーマットのファームウェア・ソリューションを、暗号化および認証されたSFIフォーマットのファームウェアに変換します。SFIファームウェア・イメージは、ヘッダといくつかの領域で構成されます。これらの領域は、通常、隣接するファームウェア領域です。最後の領域は構成領域で、SFIの完了時にプログラムされるオプション・バイト値が含まれています。

STM32HSM

STM32ハードウェア・セキュリティ・モジュールは、STM32製品のプログラミングを保護し、製造プロセス時における製品の偽造を防止します

暗号化ソリューション

STは、複数の暗号化ソリューションを提供しています。これらのソリューションは、ハードウェア実装をベースとすることができます(サイドチャネル攻撃からの保護機能搭載のものもあり)。次のライブラリ・セットを利用して、実践的なユース・ケースの要件を満たすこともできます。

暗号ライブラリ

  • X-CUBE-CRYPTOLIB:このECCN 5D002に分類されるソフトウェア・ソリューションは、STM32Cubeパッケージのアーキテクチャをベースとしており、ファームウェア実装に基づいた一連の暗号化アルゴリズムを搭載しています。すべてのSTM32マイクロコントローラで使用可能で、NIST CAVP認証済みです。
  • TF-M暗号:TF-Mリファレンス・コードで提供される暗号化サービス
  • OP-TEE暗号:OP-TEEリファレンス・コードで提供される暗号化サービス
  • サイドチャネル攻撃からの保護機能付き暗号ライブラリ:STは、暗号化アルゴリズムのSCA抵抗実装を提供しています。一部の特定の製品型番はオンデマンドで入手できます。STのセールス・オフィスまでお問い合わせください。

信頼できる実行環境ソフトウェア・ソリューション

セキュア・マネージャ

STM32Trust TEEロゴ
    セキュア・マネージャは、以下の目的のためにSTが開発した STM32Trust TEEソリューションです。
  • 開発者のセキュリティへの取組みの簡素化
  • クラウドやサーバへのシームレスな接続
  • マルチテナントIP保護の提供

セキュア・マネージャは、Arm® Cortex®-M向けのPlatform Security Architecture(PSA)を迅速に実装することができるターンキー・ソリューションです。これは、バイナリ形式でのみ提供されるシステムオンチップ・ソリューションで、開発者向けにサブライセンスされます。STによって保守と認証が行われ、また長期サポート(LTS)の対象となっています

    これには以下が含まれています。
  • uRoT:セキュア・ブートとセキュア・アップデートを含む、更新可能なルート・オブ・トラスト
  • セキュア・マネージャ・コア:レベル3までのモジュールおよびサービスの分離を実装するセキュア・パーティション・マネージャ
    • セキュアサービス:
    • 暗号
    • セキュアで信頼性の高いストレージ
    • 証明

アーキテクチャ・ビュー:

プラットフォーム・セキュリティ・アーキテクチャ

セキュア・マネージャでは、アプリケーション開発に集中してARM PSA APIサービスを利用するか、信頼性の高いアプリやモジュールをTEEの信頼できる領域内に追加するかのいずれかを行えます。そのAPIや機能はTrusted Firmware-M(TFM)と互換性があります。

APIのバージョンと機能の詳細については、STのセキュア・マネージャWebページで入手可能なドキュメントをご覧ください。

STM32コミュニティは、STまたはサード・パーティのさまざまな信頼性の高いアプリケーションを利用できます。STはこれらのアプリケーションを常に更新し続けます。

    セキュア・マネージャには、次の複数の開発キットが付属しています。
    • SMAK:セキュア・マネージャ・アプリケーション・キット
    • アプリケーション開発に集中し、セキュア・マネージャ・サービスを利用したいと考えている開発者専用
    • セキュアでないアプリケーションの例とともに提供
    • クリックスルー製品ライセンスの下で自由にダウンロード可能
    • SMDK:セキュア・マネージャ開発キット
    • セキュア・モジュール(信頼性の高いアプリ)の開発専用
    • 詳しい例が付属
    • 特定の開発ライセンスの下のみでダウンロード可能

製品の互換性などの詳細については、STのセキュア・マネージャWebページをご覧ください。

セキュア・マネージャおよびすべての提供資料は、2023年6月に予定されているSTM32H573の製品導入時に入手可能になります。

Trusted Firmware-M(TFM)

Trusted Firmware-Mソフトウェアの実装は、Cortex-M、ARMv7-MおよびARMv8-M向けPlatform Security Architecture(PSA)のリファレンス実装となります。

    TF-Mは、オープンソースのソフトウェア・プロジェクトで、STM32マイクロコントローラに対して以下を提供します。
  • ARMv8-M上でPSAレベル1および2の分離をサポートするセキュア・ファームウェア
  • セキュア・ファームウェアによってセキュアでない側に公開されるインタフェース
  • セキュアでないアプリケーションの例を含むセキュア・ファームウェア・モデル
    • 以下を備えたセキュアな環境で実行されるセキュア・サービス:
    • セキュア・ストレージ
    • 証明
    • 暗号

Trusted Firmware-A

通常TF-Aと省略されるTrusted Firmware-Aは、Arm社が提供するセキュアワールド・ソフトウェア・ソリューションのリファレンス実装です。当初はARMv8-Aプラットフォーム向けに設計されましたが、その後STにより、ARMv7-Aプラットフォームに適合するよう変更が加えられました。Arm社は、Trusted Firmwareプロジェクトを、Linaroが管理するオープンソース・プロジェクトに移行しつつあります。

TF-Aは、信頼できるブート・チェーンを使う場合に、STM32 MPUプラットフォームで第1段階ブートローダ(FSBL)として利用されます。

このコードは、3条項BSDライセンス下のオープン・ソースであり、GitHubでも使用されています。また、Trusted Firmware-A実装に関する専用のドキュメントも用意されています。

    Trusted Firmware-Aはまた、以下の各種Arm®インタフェース規格とともにセキュア監視を実装します。
  • Power State Coordination Interface(PSCI)
  • Trusted Board Boot Requirements(TBBR)
  • Secure Monitor Call Convention(SMC)
  • System Control and Management Interface

Open Portable Trusted Execution Environment(OPTEE)

OPTEEは、信頼できる実行環境(TEE)、つまりTrustZoneテクノロジーを使用するArm® Cortex®-Aコアを搭載したマイクロプロセッサで動作する非セキュアLinuxカーネル用のコンパニオンとして設計されたソフトウェア・ソリューションです。OPTEE APIは、所属先のGlobalPlatform API仕様によって定義されています。

    OP-TEEの主な設計目標は、次のとおりです。
  • 分離:TEEは、セキュアでないOSからの分離を提供し、基盤となるハードウェア・サポートを使用して信頼できるアプリケーション(TA)を相互に保護します。
  • 小さいフットプリント:TEEは、Arm®ベースのシステムと同様、妥当な量のオンチップ・メモリ内に常駐できるように十分小さいサイズを維持する必要があります。
  • 移植性:TEEは、各種アーキテクチャや使用可能なハードウェアと互換性があり、複数のクライアント・オペレーティング・サービスやTEEなどの多様なセットアップをサポートしています。
  • OP-TEEは、OpenSTLinuxディストリビューション・パッケージの一部として提供され、STM32マイクロプロセッサで使用できます。