こんにちは、NXPチームの皆様、
私たちは、i.MX8DXL CAAMにおけるECDSA P-384ブラックキー/ブロブのサポートを評価しています。
外部から提供された平文のP-256秘密鍵から開始します。
結果:合格
結果:合格
外部から提供された平文のP-384秘密鍵(48バイト)から開始します。
結果:失敗
NXPのパッチに以下のコメントがあることに気づきました。
我々も同様の挙動を観察した。
KEYコマンドの代わりにLOADコマンドを使用することで、48バイトのP-384秘密鍵を含む、32バイトを超える鍵を扱うことができます。
何かアドバイスをいただければ幸いです。
ありがとうございます。よろしくお願いいたします。
ホジャメス。
当社のアプリケーションでは、COVER操作はECDSA秘密鍵だけでなく、一般的な機密データの保護にも利用されることがあります。したがって、32バイトを超えるペイロードサイズのサポートは重要な考慮事項です。
我々のテストに基づくと、LOADコマンドの回避策を用いることで、32バイトを超えるペイロードを処理できることがわかった。約80バイト以下のペイロードは正常に動作するようですが、それより大きいサイズでは動作が不安定になります。これらの観察結果が、実際のCAAMの制限を反映しているのか、それとも実装上の問題を反映しているのかを理解したいと考えています。
よろしくお願いします。
このCAAM機能をテストするための環境を構築する必要があります。結果が出次第、ご連絡いたします。
こんにちは、イーピンワンさん
ご返信ありがとうございます。
>>この部分で、どのようなCAAMエラーが発生していましたか?
>>エラーコードを教えてもらえますか?
ECDSA関連のすべての操作には、以下のコードパッチを使用しています。
" https://github.com/nxp-imx-support/imx_sec_apps/blob/master/caam-ecdsa-blackkey/patch/0001-linux-imx... "
署名検証のために caam_ecdsa_verify() を呼び出すとき、
'ECDSA_VERIFY_FAIL (0)' を返します。
このエラーは「P-384 (external plaintext private key)」の場合のみ発生します。
>> アプリケーションノート「CAAMセキュアキーを用いた公開鍵暗号のAN12838強化」では、ブラックキーを用いたECDSA署名のデモが説明されていますが、同様の実装でテストしていますか?
私たちの成功例については、はい、似ています。
しかし、失敗したケース『P-384(外部平文秘密鍵)』については、
少し違います。鍵は外部から来ています。
よろしくお願いいたします。
「プレーンテキストキー → カバー → 黒キーの塊」
黒い塊から黒い鍵を復元する
ECDSAの署名/確認
結果:失敗
この部分で、どのようなCAAMエラーが発生していましたか?エラーコードを教えてもらえますか?アプリケーションノート「CAAMセキュアキーを用いた公開鍵暗号のAN12838強化」では、ブラックキーを用いたECDSA署名のデモが説明されていますが、同様の実装でテストされていますか?ありがとう。
KEYコマンドの制限については、現在も調査中です。