この記事では、OneKeyハードウェアウォレットデバイスにインストールされたファームウェアの一貫性を、GitHub上の対応するオープンソースコードと認証するためのステップバイステップガイドを提供します。
重要
OneKeyハードウェアウォレットに内蔵されているセキュリティチップは、製造時に公式のマルチシグネチャで署名されています。ハードウェアウォレットのファームウェアがハッカーによって悪意を持って改ざんされた場合、起動時に「非公式ファームウェア検出(Unofficial Firmware Detected)」というメッセージが表示されます。
プロセス
標準ファームウェア Bluetoothファームウェア
ステップ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
ステップ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
チェックサムを計算したいファームウェアバージョンを見つけます。
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リポジトリに公開保存されている対応するオープンソースコードとの一貫性を確認したい場合は、この記事を参照してください。