MCXW72のデバッグポートのロックを解除しようとしています。MCUXpressoのSecure Provisioning Toolでロック解除は正常に動作しますが、Debug Credential(DC)、DCK秘密鍵、デバイスから受け取ったDACに基づいて自分のアプリケーションを使ってポートのロック解除を試みています。
この分野のドキュメントは非常に不明瞭で(場合によっては誤りもあります)。
私の理解では、DARは以下の要素で構成されています。
DAR = DC + AB + UUID (DACより) + 署名
(リファレンス・マニュアルの図50ではUUIDとABフィールドの順序が誤っています。)
OpenSSLを使って署名を計算したいのですが、どのデータを署名すべきか正確には判断できません。
a) DC + CV(DACから)
b) DC + AB + CV (DACから)
c) DC + AB + UUID (DACから) + CV (DACから)
それとも全く別の何か?
ドキュメントには署名がDARをチャレンジベクトル(CV)に結合すると記載されていますが、ハッシュ化と署名すべき正確なバイトシーケンスは明確に指定されていません。DAR署名を生成するために使われる正確なデータを教えていただけますか?
こんにちは、 @Surdej
Secure Provisioning ToolはSecure Provisioning SDKの上に構築されています。詳細は https://spsdk.readthedocs.io/en/latest/
これはオープンソースなので、そこで答えが見つかります。