こんにちは、
iMX8M miniにYocto BSPを使用しています。ここがこの質問をするのに適切な場所かどうかわかりません。そうでないCASEはお知らせください。
私はそれを読むことができます
## 9. Trusted Application private/public keypair By default all Trusted Applications (TA's) are signed with the pre-generated 2048-bit RSA development key (private key). This key is located in the `keys` folder (in the root of optee_os.git) and is named `default_ta.pem`. This key **must** be replaced with your own key and you should **never ever** check-in this private key in the source code tree when in use in a real product.
また、次の場所でもご覧いただけます:
https://optee.readthedocs.io/en/latest/building/trusted_applications.html#tas の署名
警告
「optee_os には、開発、テスト、デバッグ、QA を容易にするために、ソースにデフォルトの秘密キーが付属しています。このキーを使用してoptee_osバイナリを本番環境にデプロイしないでください。代わりに、このキーをできるだけ早く公開キーに置き換え、キーの秘密部分をオフラインで、できれば HSM 上に保管してください。」
はい、その後、新しいキーペアを生成し、公開キーを抽出しました。
次に、抽出した公開キーをキー フォルダーに配置し、名前を default_ta.pem に変更して、元の default_ta.pem を上書きします。
つまり、default_ta.pem には現在公開鍵のみが存在することになります。
現在、 optee-os-imx は正しくビルドされますが、 optee-test-imx はエラーを発生させます。これは、信頼できるアプリであり、署名に秘密キーが必要であるため、理解できます。
SO、私の質問は、default_ta.pemを別のKEYPAIR.pemに置き換えたらどうなるでしょうか?私が生成したファイルは安全ですか?optee-os-imx と optee-test-imx は正しくビルドされますが、キーペアの秘密キー部分は optee-os バイナリ ファイルから削除されますか?または、default_ta.pem キーペアはイメージに完全に埋め込まれますか?
この最後のCASEでは、ビルド中のソースに秘密鍵を入れないようにという指示と少し衝突することになります。
この部分を処理するスクリプトをCAN教えていただけますか?
ご協力の程、よろしくお願い申し上げます。
Yocto ビルドで HSM を使用して署名するために何を変更する必要があるかわかっている人はいますか?
私は、Yocto を使用して imx93 にセキュア ストレージを実装する予定です。この投稿に従い、実装方法は明確ですが、次の 2 つの点が明確ではありません。
-ハードウェアユニークキー(HUK)はTEEに既に存在しますか?SO、何もする必要はありません。
- TA を追加する必要がない場合でも、default_ta.pem を変更する必要がありますか?これに関するガイドはありますか?(キー生成 + Yocto での置換)
HUK を抽出する方法はないと思うので、デバッグ目的であっても、別のハードウェア (組み込みまたはノートPC) でデータを解読することはできないと思いますが、本当でしょうか?
はい、その通りです@IvanRuiz 。
唯一の問題は、imx-optee-test レシピもビルドし、これには optee-os が必要であり、optee-os ビルド フォルダーから秘密キーを取得しようとすることです。
とにかく、Tee イメージに埋め込む前に、秘密鍵がキーペアから取り除かれることがわかりました。これは次のスクリプトによって実行されます。
pem_to_pub_c.py
キーペアから抽出された公開キーの情報のみを含む ac ファイルを生成します。
それが tee.bin ファイルに追加されます。
あなたのドキュメントに従って、私たちは秘密鍵をソースとともにリポジトリにコミットするつもりはありません。
こんにちは、
セキュリティ上の理由から、 keys/default_ta.pemに秘密鍵を保存することは推奨されません。ドキュメントによると、生成された公開鍵のみを使用することが推奨されています。これは、公開鍵は暗号化にのみ使用され、秘密鍵はできれば HSM に保存されるためです。TA は、ドキュメントに記載されているように、OP-TEE のsign_encrypt.pyを使用して署名されます。
お役に立てれば幸いです!
BR、
イワン。