ハードウェアの整合性の確認

・注意

処理を進める間、Ledger Nano Sを慎重に取り扱ってください。
一度手を加えたデバイスは返金や交換ができませんのでご注意ください。

マイクロコントローラ(MCU)

セキュアエレメントは起動時にマイクロコントローラのフラッシュをチェックします。
変更されている場合、起動時に警告が出ます。
追加のチェックとして、追加のチップが追加されていないこと(添付の写真を参照)と、MCUがstm2f042k6であること(32 Kbフラッシュの場合、大きなフラッシュにはSecure Element検証を欺くコードが含まれる可能性があるため)を確認するためにデバイスを開くことができます。
チップ上のマーキングはさまざまですが、文字列 “”042K6″”が表示されるはずです。

ハードウェアの階層について

階層1
青いPCB
黒い接着剤

階層2
緑のPCB
黒または透明の接着剤(写真には写っていません)。

階層3
青いPCB
黒い接着剤

階層4
青いPCB
PCBに穴

階層5
青いPCB

階層5 bis
青いPCB

階層6
青いPCB

階層7
青いPCB
薄型ディスプレイ用ケーブル

セキュアエレメントアテステーション(安全要素証明書)

セキュアエレメント自体は、私たちによって作成されたことを証明するもので、工場でパーソナライズ(個人化)されています。
以下を実行して確認できます。

pip install –no-cache-dir ledgerblue

ファームウェア1.3.1以下

python -m ledgerblue.checkGenuine –targetId 0x31100002

ファームウェア1.4.1以上

python -m ledgerblue.checkGenuine –targetId 0x31100003

ソースコードはこちらから入手できます。

・アプリケーション検証

アプリケーションを開くときに 、Ledgerで署名されていないと、 非正規の警告が表示されます。
変更されたユーザーインターフェースも起動時に警告メッセージを表示します。

・信頼のルート

現在のバッチの信頼のルートは、次のsecp256k1公開鍵です。

0490f5c9d15a0134bb019d2afd0bf297149738459706e7ac5be4abc350a1f818057224fce12ec9a65de18ec34d6e8c24db927835ea1692b14c32e9836a75dad609

Genuine.py でチェックした通りです。

Share this post