2361267_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2361267_ja-JP

2361267_ja-JP

SIMULATED_IN_FIELDを使用してLCのNVMにキーをインポートする

こんにちは、

LC = SIMULATED_FIELD の場合にキーを NVM にインポートする際に問題が発生しています

まず、キー所有者を設定した認証キーをNVMにインポートしました。

HSE_KEY_OWNER_CUST はキー スロット (0,0) を使用します。主なフラグは以下のとおりでした。

HSE_KF_USAGE_VERIFY | HSE_KF_USAGE_KEY_PROVISION | HSE_KF_USAGE_SIGN | HSE_KF_USAGE_ENCRYPT | HSE_KF_USAGE_DECRYPT

鍵の書き込みに成功しました。しかし、上記のフラグで書き込まれたそのキーを使用すれば。MACを暗号化または計算しようとすると。INVALID_KEY を受信しました。

ライフサイクルをシミュレートされたフィールドに移動した後、認証キーを使用して、異なるキー スロット (0、4) のキーを更新/変更したいと考えています。しかし、正しい手順については確信が持てません。

新しい鍵はインポート前に暗号化すべきでしょうか、それとも認証してから直接送信すべきでしょうか?また、キーコンテナを使用する場合、どのフィールドが必須ですか?

現在、NOT_ALLOWEDエラーが発生しています。

インポート関数とそのパラメータを添付しましたので、問題箇所をお知らせください。

Re: Import Keys into NVM in LC with SIMULATED_IN_FIELD

こんにちは、 @kerti1さん


「鍵の書き込みは成功しました。」しかし、上記のフラグで書き込まれたそのキーを使用すれば。MACを暗号化または計算しようとすると。「INVALID_KEY」というメッセージを受け取りました。


それは正しい行動です。原因はキーフラグHSE_KF_USAGE_KEY_PROVISIONです。このフラグが設定されている場合、そのキーはキーのインポートおよびエクスポート操作にのみ使用できます。他の操作(暗号化、復号化、署名、検証)に同じキーを使用する必要がある場合は、HSE_KF_USAGE_KEY_PROVISIONが設定されていない状態で、そのキーを別のキースロットにインポートする必要があります。「表35」をお読みください。詳細については、HSEファームウェアリファレンスマニュアルの「キー使用フラグ」を参照してください。


「新しい鍵はインポートする前に暗号化すべきでしょうか、それとも認証してから直接送信すべきでしょうか?」


- 「表48」をご覧ください。HSEファームウェアリファレンスマニュアルの「NVMキーカタログ内のキー(空でないスロット)を更新する際のキープロビジョニングの使用方法」を参照してください。認証と暗号化が必要となる状況をまとめたものです。要するに、SU権限を持っている場合、認証は常に必要であり、暗号化はオプションであるか、公開鍵には適用されません。まずは認証のみから始めることをお勧めします。正常に動作するようになったら、必要に応じて暗号化を追加できます。ユーザー権限においては、暗号化は必須です。


「また、キーコンテナを使用する場合、どのフィールドが必須ですか?」


- 認証には、hseImportKeySrv_t.keyContainer という構造全体が必要です。初期化する必要があります。authKeyHandleがHSE_INVALID_KEY_HANDLEと異なる場合、HSEはすべての値を使用します。

KeyContainerには定義された構造がありません。しかし、その考え方は単純だ。単にRAM上のどこかにある配列に過ぎない。KeyInfo構造体とKey自体を配列にコピーする必要があります。配列のサイズは、KeyInfo + Key を格納できる十分な大きさである必要があります。もっと大きくすることもできるし、制限はない。

次に、コンテナ/配列の署名を生成する必要があります。


認証済みキーをインポートする際は、指定された構造体 hseImportKeySrv_t.keyContainer を入力してください。コンテナへのポインタ、コンテナの長さ、検証用のキーハンドル、署名へのポインタなどがあります…

キーと KeyInfo へのポインタは、hseImportKeySrv_t で設定されます。そのため、コンテナに特別な構造は必要ありません。HSE自体が、キーとKeyInfoがコンテナ内に含まれているかどうかを確認します。


ECC公開鍵の更新例があります。この操作には認証が必要です。私はHSE DemoExamplesソフトウェアパッケージに含まれるHSEフレームワークを使用しました。ご興味があれば、こちらでCASEを作成してください。私が共有いたします。

https://support.nxp.com/s/?language=en_US

説明欄に「ルーカス・ザドラパに割り当て」のような文言を記入してください。


よろしくお願いいたします。

ルーカス

Re: Import Keys into NVM in LC with SIMULATED_IN_FIELD

@lukaszadrapa様、


認証を使用してNVMにキーをインポートしようとしても、依然として正常に動作しません。常に「コマンドが許可されていません」というエラーが表示されます

私はECCキーペアのインポート例を参照しましたが、そのリクエストには以下のパラメータが含まれています。

uint8_t *pAuthContainer;

uint16_t authContainerLen;

しかし、これらのパラメータは ImportAuthSymKeyReq では利用できないため、AES/対称鍵インポートのために認証コンテナをどのように渡せばよいのか分かりません。

認証を使用してAESキーをNVMにインポートする正しい手順を教えていただけますか?参考までに、現在使用しているサンプルコードを共有することも可能です。

标记 (1)
无评分
版本历史
最后更新:
星期四
更新人: