JAJA733A January   2023  – December 2025 MSPM0C1105 , MSPM0C1106 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G1518 , MSPM0G1519 , MSPM0G3105 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1

 

  1.   1
  2.   概要
  3.   商標
  4. 1はじめに
    1. 1.1 主な概念
    2. 1.2 サイバー・セキュリティの目標
    3. 1.3 プラットフォームのセキュリティ イネーブラ
  5. 2デバイス セキュリティ モデル
    1. 2.1 デバイス ID
    2. 2.2 ブート時の初期条件
    3. 2.3 ブート構成ルーチン (BCR)
    4. 2.4 ブートストラップ・ローダ (BSL)
    5. 2.5 ブート フロー
    6. 2.6 ユーザー指定のセキュリティ ポリシー
      1. 2.6.1 ブート構成ルーチン (BCR) ポリシー
        1. 2.6.1.1 シリアル ワイヤ デバッグ関連のポリシー
          1. 2.6.1.1.1 SWD セキュリティ・レベル 0
          2. 2.6.1.1.2 SWD セキュリティ・レベル 1
          3. 2.6.1.1.3 SWD セキュリティ レベル 2
        2. 2.6.1.2 ブートストラップ ローダ (BSL) のイネーブル / ディセーブル ポリシー
        3. 2.6.1.3 フラッシュ・メモリの保護と整合性ポリシー
          1. 2.6.1.3.1 アプリケーション (MAIN) フラッシュ メモリのロック
          2. 2.6.1.3.2 構成 (NONMAIN) フラッシュ メモリのロック
          3. 2.6.1.3.3 アプリケーション (MAIN) フラッシュ メモリの整合性の検証
        4. 2.6.1.4 ブートストラップ・ローダ (BSL) のセキュリティ・ポリシー
          1. 2.6.1.4.1 BSL アクセス・パスワード
          2. 2.6.1.4.2 BSL 読み出しポリシー
          3. 2.6.1.4.3 BSL セキュリティ・アラート・ポリシー
      2. 2.6.2 カスタマ セキュア コード (CSC) セキュリティ ポリシー
        1. 2.6.2.1 CSC によるバンク スワップ強制
        2. 2.6.2.2 CSC が適用したファイアウォール
        3. 2.6.2.3 KEYSTORE への CSC キー書き込み
      3. 2.6.3 構成データのエラー耐性
        1. 2.6.3.1 CRC で保護された構成データ
        2. 2.6.3.2 クリティカル・フィールドの 16 ビット・パターン一致
  6. 3セキュア ブート
    1. 3.1 セキュア処理環境の分離
    2. 3.2 カスタマ セキュア コード (CSC)
      1. 3.2.1 セキュア ブートのフロー
      2. 3.2.2 フラッシュ メモリ マップ
      3. 3.2.3 特長
        1. 3.2.3.1 CMAC アクセラレーション
        2. 3.2.3.2 非対称検証
        3. 3.2.3.3 KEYSTORE とファイアウォール
        4. 3.2.3.4 CSC 性能
      4. 3.2.4 クイック スタート ガイド
        1. 3.2.4.1 環境設定
        2. 3.2.4.2 ステップ バイ ステップ ガイダンス
        3. 3.2.4.3 CSC NONMAIN の設定
        4. 3.2.4.4 CSC の例で変更をカスタマイズ
    3. 3.3 ブート イメージ マネージャ (BIM)
      1. 3.3.1 セキュア ブートのフロー
      2. 3.3.2 フラッシュ メモリ マップ
      3. 3.3.3 クイック スタート ガイド
  7. 4セキュア ストレージ
    1. 4.1 フラッシュ書き込み保護
    2. 4.2 フラッシュ読み取り実行保護
    3. 4.3 フラッシュ IP 保護
    4. 4.4 データ バンクの保護
    5. 4.5 セキュアなキー ストレージ
    6. 4.6 SRAM 保護
    7. 4.7 ハードウェア単調カウンタ
  8. 5暗号化アクセラレーション機能
    1. 5.1 ハードウェア AES アクセラレーション
      1. 5.1.1 AES
      2. 5.1.2 AESADV
    2. 5.2 ハードウェア真性乱数生成器 (TRNG)
  9. 6FAQ (よくある質問)
  10. 7まとめ
  11. 8参考資料
  12. 9改訂履歴

FAQ (よくある質問)

  1. MSPM0 CSC ソリューションにおける信頼の根幹とは何ですか?

    A: 信頼の根幹には,不変の TI ROM ブート コードと静的に書き込み保護された CSC 領域が含まれます。正しく NONMAIN 構成後は、変更できません。詳細については、CSC NONMAIN の構成を参照してください。

  2. CSC はファームウェア更新プロセスを扱いますか?

    A: いいえ。CSC は,あらかじめ特定のフラッシュ アドレスに配置されたアプリケーション ファームウェアを検証するだけであり,ファームウェア更新プロセス (ブートローダー) を扱ったり,ファームウェアがどのようにフラッシュにロードされるかには関与しません。

  3. CSC ソリューションのさまざまなアルゴリズムのタイミング機能は何ですか?

    A: 詳細については、CSC 性能を参照してください。

  4. CSC またはバンク スワップ機能を搭載してアプリケーションを実行しているデバイスに新しいファームウェアをダウンロードしようとすると、CCS/Uniflash に消去エラーが報告されるのはなぜですか?

    A: バンク スワップがイネーブルの場合、ロジック low バンクは読み取り実行権限を取得し、書き込み / 消去権限を失います。もう一方のバンク (ロジック high バンク) は読み取り可能で書き込み可能ですが、実行可能ではありません。CCS または Uniflash がアドレス 0x0000 からファームウェアのダウンロードを開始しようとすると、ロジック low バンク アドレスが消去できないため、消去エラーが報告されます。high バンク アドレスからファームウェアを更新するか、プログラムをロードする前に工場出荷時リセットを行うことができます。

  5. CSC サンプルをダウンロードした後に電源サイクルまたは NRST リセットが必要な理由は何ですか?

    A: CSC のサンプルには、CSC を有効にするための NONMAIN 構成が含まれています。NONMAIN 設定はブートコード実行時に有効となり,MSPM0 が ROM ブートコードに戻るには,BOOTRST (またはそれ以上のレベルのリセット) が必要となります。

  6. CSC でアプリケーション プログラムの開始アドレスを変更するにはどうすればよいですか?

    A: 詳細については、CSC サンプルでのカスタマイズ変更を参照してください。

  7. CSC、アプリケーション イメージ、および NONMAIN 領域の出力には、どの出力形式を選択すればよいですか?

    A: .txt/.bin/.hex 形式をファームウェアの更新に使用できます。NONMAIN 構成は CSC と一緒にプログラムする必要があり、アプリケーション ファームウェアと一緒に NONMAIN 領域を更新しないでください。ガイダンスについては、ステップ バイ ステップ ガイダンスを参照してください。

  8. customer_secure_sample_image のビルド時に CCS がビルド後の失敗エラーを報告するのはなぜですか?

    A: CSC サンプル イメージ サンプルをビルドする前に、Python 環境が正常に設定されているかどうかを確認してください。CSC サンプルが CSC イメージ サンプルと同じワークスペース内にあることを確認します。

  9. アプリケーション プログラムで非対称暗号化 / 復号化のための秘密鍵ストレージ領域はありますか?

    A: MSPM0 デバイスは、AES エンジンに対して対称型秘密キー ストレージ (KEYSTORE) のみを提供します。非対称暗号化/復号アルゴリズムの鍵 (例えば ECDSA 公開鍵) は SECRET 領域に格納されます。このシークレット リージョンは、特権状態 (INITDONE より前) でのみアクセスでき、アプリケーション実行時にファイアウォールによって読み取り保護および書き込み保護されます。

  10. リンカ ファイルでアプリケーション アドレスを指定するにはどうすればよいですか?

    A: バンクスワップが有効な構成では,アプリケーション プログラムは常に指定された論理 low バンクのアドレスでビルドされる必要があります。MSPM0G3519 を例にして、リンカ ファイル (CCS では .cmd) で定義されているアドレス範囲は 0x00000 ~ 0x40000 である必要があります。しかし,アプリケーション ファームウェアを更新する際は,プログラムがロジック low バンクで実行中であり,読み書き可能なのはロジック high バンクだけであるため,ファームウェアは論理 high バンクのアドレスにロードする必要があります。

  11. 独自のアプリケーション イメージ形式を定義する場合はどうすればよいですか?

    A: 現在、SDK CSC サンプルは、MCUBOOT が提供する署名ツール imgtool を使用して、ヘッダと署名情報などのアプリケーション イメージを生成しています。ユーザは独自の画像フォーマットを定義することができますが、独自に定義された画像フォーマットのために CSC で解析プログラムを達成する必要があります。

  12. セキュア ブートにのみ対称型のアプローチを使用する場合はどうすればよいですか?

    A: AESADV をサポートしている MSPM0 デバイスでの対称的画像検証に、AES-CMAC を使用できます。詳細については、プラットフォーム セキュリティ イネーブラを参照してください。MCU に保存されている AES キーが、事前に画像ベンダと整合していることを確認してください。