Nano S のセキュリティ状態を確認するにはどうすればいいですか?

注意

ハードウェアに詳しいユーザーのみが対象です。

この確認プロセスを行うにあたっては、Nano S の取り扱いに十分注意してください。一度分解された機器に関しては、払戻や交換ができません。ご了承ください。

セキュリティ状態の確認方法

Nano S が改ざんされていない、もしくは機器内のアプリケーションが公式のものである、ということをハードウェアのレベルで確認したいという場合、以下の点をチェックすると良いでしょう:

1) 起動時、セキュアエレメントによって、マイクロコントローラのフラッシュメモリーが全てチェックされます(これに関しては弊社ブログ記事で説明されています)。改ざんが検出された場合、起動時に警告が表示されます。さらに、機器内部を確認することによって、追加でチップが埋め込まれていないということならびに、マイクロコントローラが stm2f042k6 であることをチェックすることができます(これは32Kb のフラッシュメモリとなっています。これより大きい容量だとセキュアエレメントのセキュリティを破ることのできるコードが埋め込まれる可能性があります)。チップ上の表示は異なることがありますが、”042K6” という文字列が確認できるはずです。

バージョン1 (青いプリント基盤、黒い接着部)

バージョン2 (緑のプリント基盤、黒もしくは透明(製造ロットによる)の接着部(写真なし)):

バージョン3 (青いプリント基盤、黒い接合部)

バージョン4 (青いプリント基盤 + 穴)

バージョン5 (青いプリント基盤)

以下のコマンドを実行することで、これを確かめることができます:

pip install –no-cache-dir ledgerblue

python -m ledgerblue.checkGenuine –targetId 0x31100002

ソースコードは こちら からご覧いただけます。

3) 機器内のアプリケーションにおいては、これを開く際に署名がなされていない場合 “Non Genuine” という警告メッセージが表示されます。(https://github.com/LedgerHQ/nanos-ui に見られるような)変更が加えられたユーザーインターフェースにおいても、起動時において警告メッセージが表示されます。

4) 現在の製造バッチにおけるルート・オブ・トラストは、secp256k1曲線に基づいて生成される以下の公開鍵となっています:

0490f5c9d15a0134bb019d2afd0bf297149738459706e7ac5be4abc350a1f818057224fce12ec9a65de18ec34d6e8c24db927835ea1692b14c32e9836a75dad609

これは、Genuine.py において確認することができます。

Share this post