1962722_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1962722_ja-JP

1962722_ja-JP

PUF セットキー操作は、正しく登録して開始した後でも失敗 (PUF_SetUserKey) します

皆さん、こんにちは

私は、PUF(Physically Unclonable Function)ハードウェアを使用して一部のカスタムユーザーキーを暗号化することを選択したクライアント用のセキュアブートを作成しています。

使用しているボードはNXP i.MX RT1172 (MIMXRT1172AVM8A)で、MCUXpresso IDE(v11.9.1 [Build 2170] [2024-04-19])とSegger J-Linkを使用してハードウェアと接続してデバッグしています。
MCUXpresso Secure Provisioning Tool を使用して PUF_ENABLE ビット ヒューズを書き込み、PUF 操作を有効にするようにしました。

私のカスタムブートプログラムでは、 PUF_Initを呼び出し、次にPUF_Enroll (これは、PUFアクティベーションコードがまだフラッシュメモリに保存されていないときに、ラインのプロダクションエンドで初めて行われます)、 PUF_Deinit + PUF_Init (登録後にPUFを「再起動」するため)、最後に PUF_Startを呼び出します。
上記のすべての呼び出しは 成功 ステータスで返されます。

この時点で (PUF が初期化されて開始された状態で)、 カスタマー キー (運用終了プロセス中にのみブート プログラムに渡されます) を保存したいと思います: PUF_SetUserKey を呼び出しますが、この呼び出し は失敗します
PUFドライバー関数の呼び出しをたどったところ、 SET KEY操作 が許可されていないために失敗したことがわかりました。

/* check if SET KEY is allowed */
if (0x0u == (base->ALLOW & PUF_ALLOW_ALLOWSETKEY_MASK))
{
return kStatus_Fail;
}

それはどうしてですか。
PUF_SetUserKey関数を呼び出す前に、何か他のことをする必要がありますか?

あなたが提供してくれるどんな助けにも、事前に感謝します(ドキュメントの参照や詳細情報を見つけるためのリンクも含めて)。
よろしくお願いいたします

Re: PUF セット キー操作が失敗 (PUF_SetUserKey) する(正しい登録と開始の後でも)

私は、愚かな問題のためにファイルが保存されず、最終的に関数 PUF_BlockSetKey() が呼び出されたことに気づきました。 PUF_SetUserKey


その後に呼び出されるのではなく、 もちろん、 PUF_SetUserKey の後に PUF_BlockSetKey() を呼び出すように要求することで問題を解決しました。

誰かが同様の問題を見つけた場合の将来の参照のために、この投稿を保持しています。

注: ENROLL 操作と SET KEY 操作をそれぞれブロックする 2 つの関数 (PUF_BlockEnroll()  PUF_BlockSetKey()) は、PUF のメイン操作の後にのみ呼び出すようにしてください。

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 08:34 PM
更新者: