NXP-MCUBootUtilityは、NXP MCUセキュア・ブート用に特別に設計されたGUIツールです。その機能は、NXP MCUのBootROM機能に対応しています。現時点でこのツールは主にi.MXRTシリーズのMCUチップをサポートしています。NXPの公式セキュリティ・イネーブルメント・ツールセット(OpenSSL、CST、sdphost、blhost、elftosb、BD、MfgTool2)と比較して、NXP-MCUBootUtilityは真のワンストップ・ツールであり、NXPの公式セキュリティ・イネーブルメント・ツールセットのすべての機能を備えています。さらに、完全なグラフィカル・ユーザー・インターフェース操作をサポートしています。NXP-MCUBootUtilityを使用すると、NXP MCUのセキュア・ブートを簡単に始められます。
NXP-MCUBootUtilityの主な特長は次のとおりです。
- Support i.MXRT1021, i.MXRT1051/1052, i.MXRT1061/1062, i.MXRT1064 SIP
- UARTとUSB-HIDの両方のシリアル・ダウンローダー・モードをサポート
- さまざまなユーザー・アプリケーション・イメージ・ファイル形式(elf/axf/srec/hex/bin)をサポート
- ユーザー・アプリケーション・イメージの範囲と適用可能性を検証可能
- ベア・イメージからブート可能イメージへの変換をサポート
- FlexSPI NORおよびSEMC NANDブート・デバイスへのブート可能イメージの読み込みをサポート
- LPSPI NOR/EEPROMリカバリ・ブート・デバイスへのブート可能イメージの読み込みをサポート
- SDRAMへのイメージ読み込みに役立つDCDをサポート
- HAB暗号化(署名のみ、署名と暗号化)をサポート
- タイム・スタンプ付きで証明書をバックアップ可能
- BEE暗号化(SNVSキー、ユーザー・キー)をサポート
- 一般的なeFuseメモリ操作をサポート(eFuseプログラマ)
- 一般的なブート・デバイス・メモリ操作をサポート(Flashプログラマ)
- ブート・デバイスからのブート可能イメージ(NFCB/DBBT/FDCB/EKIB/EPRDB/IVT/ブート・データ/DCD/イメージ/CSF/DEK KeyBlob)の読み取りとマークをサポート
NXP-MCUBootUtilityはPythonで開発されており、オープンソースです。開発環境はPython 2.7.15(32bit)、wxPython 4.0.3、pySerial 3.4、pywinusb 0.4.2、bincopy 15.0.0、PyInstaller 3.3.1(またはそれ以降)です。
NXP-MCUBootUtilityはPyInstallerによってパッケージ化されており、すべてのPython依存関係は実行可能ファイル(\NXP-MCUBootUtility\bin\NXP-MCUBootUtility.exe)にパッケージ化されています。したがって、NXP-MCUBootUtilityに新機能を追加する開発を行わないのであれば、Pythonソフトウェアや関連ライブラリをインストールする必要はありません。
注1:NXP-MCUBootUtilityを使用する前に、NXPのウェブサイトからHABコード署名ツールをダウンロードし、解凍して\NXP-MCUBootUtility\tools\cst\ディレクトリに配置したうえで、コードを修正してAES機能を有効にしてから、\NXP-MCUBootUtility\tools\cst\mingw32\bin\cst.exeを再構築する必要があります。こうしないと、HAB関連の暗号化機能が正常に動作しません。詳細については、HAB暗号化用にcst.exeを再構築するためのステップ・バイ・ステップ・ガイドを参照してください。
注2:NXP-MCUBootUtilityを使用する前に、\NXP-MCUBootUtility\tools\image_enc\codeディレクトリ内のソースを再構築してimage_enc.exeを生成し、\NXP-MCUBootUtility\tools\image_enc\winディレクトリに配置する必要があります。こうしないと、BEE関連の暗号化機能を正しく使用できません。詳細については、BEE暗号化用にimage_enc.exeをビルドするためのステップ・バイ・ステップ・ガイドを参照してください。
NXP-MCUBootUtilityは単体で動作するインストール不要のツールです。ソースコード・パッケージをダウンロードした後、「\NXP-MCUBootUtility\bin\NXP-MCUBootUtility.exe」をダブルクリックして使用してください。追加のソフトウェアは必要ありません。
NXP-MCUBootUtility.exeのグラフィカル・インターフェースが表示される前に、まずコンソール・ウィンドウが開きます。このコンソールは、NXP-MCUBootUtility.exeのグラフィカル・インターフェースと連動します。コンソールの主な目的は、NXP-MCUBootUtility.exeのエラー情報を表示することです。現在、NXP-MCUBootUtilityはまだ開発途中の段階です。NXP-MCUBootUtilityの完全な検証が終了した時点で、コンソールは削除されます。
次の図は、NXP-MCUBootUtilityツールのメイン・インターフェースを示しています。このインターフェースは6つの要素で構成されています。
皆さん、こんにちは。
このユーティリティ・プログラムをRT1021でテストする際に、シリアル・フラッシュ・チップ(RT1021 EVKで使用されているものと同じ)をセカンダリ・ピンマルチプレクサに接続してテストした方はいらっしゃいますか?RT1021 PCBでこのユーティリティを使おうとしたところ、ユーティリティがシリアル・フラッシュ・デバイスと通信できないというエラーが発生したため、質問しております。数時間にわたり確認などを行った後、ロジック・アナライザをシリアル・フラッシュ・チップに接続したところ、MCUBootUtilityがデバイスと通信しようとする際に、RT1021とシリアル・フラッシュ・チップの間で動作が見られませんでした。ロジック・アナライザが正しく機能していることを再確認するために、ブートモード・スイッチを内部ブートに設定したところ、RT1021とシリアル・フラッシュ・チップの間でロジック動作を確認しました。私が試したのはMCUBootUtilityの最新バージョン(Ver 2.1.0)ですが、以前のバージョン(2.0.0)でも結果は同じです。
MCUBootUtilityがRT1021と通信していることは確かです。デバイス・ステータス・レジスタ情報がデバイスから読み込まれているのを確認できるからです。
よろしくお願いいたします!
それでは。
Sam
IMX RT 1050、IMX RT 1021、IMX RT 1015のセキュリティ機能に違いがあるかどうかご確認いただけますか?
セキュリティ・リファレンス・マニュアルはIMX RT 1050製品ページにのみあります(また、古くて暫定的です)。
このリンクはBaiduによって提供されており、中国以外のIPアドレスからのアクセスはブロックされる可能性があります。
メールでご連絡ください:[email protected]
Hello,
ファイル「image_enc.zip」を、記載のリンクからダウンロードできません。
ほかにファイルをダウンロードできる場所はありますか?
よろしくお願いいたします。
Johann
Hi Jay,
ご返信ありがとうございます。
この制限について、iMXRT102x_ReferenceManualとiMXRT105x_ReferenceManualの両方に違いがありませんでした。セキュリティやAESに関する説明は全く同じです。先にご説明いただけますでしょうか?あるいは、これらの情報がどこにあるか教えてください。
ありがとうございます
Calvin
Hi Calvin,
これはチップ自体の制限です。この制限はRT102x/RT1015にのみ該当します。
よろしくお願いいたします。
Jay
Hello,
NXP MCU Boot Utility 1.4.0で「HAB暗号化イメージ・ブート」を試したところ、MCUデバイス「i.MXRT 102x」はサポートしておらず、「i.MXRT 105x」はサポートしていることがわかりました。
理由を教えていただけますか? または、それを有効にする設定はありますか?
ありがとうございます
Calvin