この記事では、OneKeyハードウェアウォレットデバイスにインストールされたファームウェアの一貫性を、GitHub上の対応するオープンソースコードと認証するためのステップバイステップガイドを提供します。
重要
OneKeyハードウェアウォレットに内蔵されているセキュリティチップは、製造時に公式のマルチシグネチャで署名されています。ハードウェアウォレットのファームウェアがハッカーによって悪意を持って改ざんされた場合、起動時に「非公式ファームウェア検出(Unofficial Firmware Detected)」というメッセージが表示されます。
プロセス
ステップ1:最新のファームウェアをダウンロードしてインストールする
- 公式のOneKeyファームウェア更新ウェブサイトを訪れます。
- OneKeyハードウェアウォレットをUSBケーブルでコンピュータに接続します。
- ハードウェアウォレットデバイスが検出されると、ウェブサイトにウォレット情報が表示されます。
- ハードウェアウォレットのファームウェアの最新バージョンを選択してダウンロードします。
- ウェブサイト上の指示に従ってファームウェアをインストールし、OneKeyハードウェアウォレットで確認します。
ステップ2:OneKeyハードウェアウォレットでチェックサムを取得する
- OneKeyハードウェアウォレットで「デバイスについて」に移動します。
- OneKeyハードウェアウォレットデバイスの詳細なファームウェア情報を見つけます。
- あなたのデバイスのファームウェア情報から、ファームウェアのチェックサムの最初の7桁を取得できます。
- 例えば、4.9.0[fccbac8-5ff2c88]
- "fccbac8"はデバイスファームウェアのバージョンIDです。
- "5ff2c88"はデバイスファームウェアのチェックサムの最初の7桁です。
ステップ3:GitHubソースコードのチェックサムを計算する
- OneKeyファームウェアGitHubリリースウェブサイトを訪れます:https://github.com/OneKeyHQ/firmware/releases
- チェックサムを計算したいファームウェアバージョンを見つけます。
- Assetsの下のbinファイルをダウンロードするためにクリックします。
- オペレーティングシステムでターミナルを開きます(macOS/Linuxが必要)。
- ご利用のOneKeyハードウェアウォレットモデルに基づいて、Checksumを計算するための対応するコマンドを選択して実行してください。
-
OneKey Classic & OneKey Mini:
-
tail -c +1025 /path/to/(file path) | shasum -a 256 -b
-
-
OneKey Touch:
-
tail -c +2561 /path/to/(file path) | shasum -a 256 -b
-
-
OneKey Classic & OneKey Mini:
ステップ4:チェックサムを比較する
- ステップ3で手動で計算したチェックサムの最初の7桁と、ステップ2で取得したデバイスのチェックサムを比較してください。
- 2つの値が一致する場合、インストールされたファームウェアがGitHub上のオープンソースコードと一致していることを示します。
ステップ1:最新のファームウェアをダウンロードしてインストールする
- 公式のOneKeyファームウェア更新ウェブサイトを訪れます。
- OneKeyハードウェアウォレットをUSBケーブルでコンピュータに接続します。
- ハードウェアウォレットデバイスが検出されると、ウェブサイトにウォレット情報が表示されます。
- ハードウェアウォレットのファームウェアの最新バージョンを選択してダウンロードします。
- ウェブサイト上の指示に従ってファームウェアをインストールし、OneKeyハードウェアウォレットで確認します。
ステップ2:OneKeyハードウェアウォレットでチェックサムを取得する
- OneKeyハードウェアウォレットで「デバイスについて」に移動します。
- OneKeyハードウェアウォレットデバイスの詳細なファームウェア情報を見つけます。
- あなたのデバイスのファームウェア情報から、ファームウェアのチェックサムの最初の7桁を取得できます。
- 例えば、2.3.1[96bb143-5affc8f]
- "96bb143"はデバイスファームウェアのバージョンIDです。
- "5affc8f"はデバイスファームウェアのチェックサムの最初の7桁です。
ステップ3:GitHubソースコードのチェックサムを計算する
- 公式のOneKey BluetoothファームウェアGitHubリリースに移動します。
- OneKey Classic & Classic 1S: https://github.com/OneKeyHQ/bluetooth-firmware-classic/releases
- OneKey Pro: https://github.com/OneKeyHQ/bluetooth-firmware-pro/releases
- OneKey Touch: https://github.com/OneKeyHQ/bluetooth-firmware-touch/releases
- チェックサムを計算したいファームウェアバージョンを見つけます。
- Assetsの下のbinファイルをダウンロードするためにクリックします。
- ダウンロードしたbinファイルがある同じフォルダでターミナルを開きます。(macOS/Linuxが必要)。
- 以下のコマンドを使ってPythonを起動します:
python3
。(Pythonはこちらからダウンロードできます) - 以下のコマンドをコピーします。
exec("""\nimport struct, hashlib\nwith open("ota.bin", mode="br") as f:\n f.seek(0x0C)\n codelen = struct.unpack("i", f.read(4))[0] - 512\n f.seek(0x600)\n print("".join(format(x, "02x") for x in hashlib.sha256(f.read(codelen)).digest()))\n""")
- 上記のコマンド内のota.binを、ダウンロードしたbinファイルの名前に変更します。
- コマンドを実行してチェックサムを取得します。
ステップ4:チェックサムを比較する
- ステップ3で手動で計算したチェックサムの最初の7桁と、ステップ2で取得したデバイスのチェックサムを比較してください。
- 2つの値が一致する場合、インストールされたファームウェアがGitHub上のオープンソースコードと一致していることを示します。
OneKeyチームがGitHubリリースで署名して公開したファームウェアファイルの一貫性と、OneKey GitHubリポジトリに公開保存されている対応するオープンソースコードとの一貫性を確認したい場合は、この記事を参照してください。