跳至主要內容

OneKey 硬體錢包設備韌體開源程式碼驗證

今日已更新

本文將為您提供分步指南,協助您驗證 OneKey 硬體錢包設備上安裝的韌體,是否與 GitHub 上相應的開源程式碼一致。

重要提示

OneKey 硬體錢包內建的安全晶片在製造時已使用官方多重簽章進行簽署。如果硬體錢包的韌體遭到駭客惡意篡改,設備啟動時會顯示「偵測到非官方韌體(Unofficial Firmware Detected)」的訊息。

操作流程

系統韌體 藍牙韌體

第 1 步:下載並安裝最新韌體

  • 使用 USB 傳輸線將您的 OneKey 硬體錢包連接至電腦。

  • 偵測到硬體錢包設備後,您將能在網站上看到顯示的錢包資訊。

  • 選擇並下載適用於您硬體錢包的最新版本韌體。

  • 依照網站提供的說明安裝韌體,並在您的 OneKey 硬體錢包上進行確認。

第 2 步:取得 OneKey 硬體錢包上的校驗和 (Checksum)

  • 在您的 OneKey 硬體錢包上導航至「關於設備」。

  • 在您的 OneKey 硬體錢包設備上找到韌體詳細資訊。

  • 您可以從韌體資訊中取得設備韌體校驗和的前七位數。

    • 例如:4.9.0[fccbac8-5ff2c88]

    • fccbac8」是您設備韌體的版本 ID。

    • 5ff2c88」是您設備韌體校驗和的前七位數。

第 3 步:計算 GitHub 原始程式碼的校驗和

github release bin.png
  • 開啟您作業系統的終端機(需使用 macOS/Linux)。

  • 根據您的 OneKey 硬體錢包型號,選擇並執行下方相應的指令以計算校驗和。

    • 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 步手動計算出的校驗和前七位數,與第 2 步中取得的設備校驗和進行比對。

  • 如果兩個數值相符,則表示安裝的韌體與 GitHub 上的開源程式碼一致。

第 1 步:下載並安裝最新藍牙韌體

  • 使用 USB 傳輸線將您的 OneKey 硬體錢包連接至電腦。

  • 偵測到硬體錢包設備後,您將能在網站上看到顯示的錢包資訊。

  • 選擇並下載適用於您硬體錢包的最新版本藍牙韌體。

  • 依照網站提供的說明安裝韌體,並在您的 OneKey 硬體錢包上進行確認。

第 2 步:取得 OneKey 硬體錢包上的校驗和

  • 在您的 OneKey 硬體錢包上導航至「關於設備」。

  • 在您的 OneKey 硬體錢包設備上找到韌體詳細資訊。

  • 您可以從藍牙資訊中取得設備韌體校驗和的前七位數。

    • 例如:2.3.1[96bb143-5affc8f]

    • 96bb143」是您設備藍牙韌體的版本 ID。

    • 5ff2c8f」是您設備韌體校驗和的前七位數。

第 3 步:計算 GitHub 原始程式碼的校驗和

pro-bluetooth-firmware-github-release-signed.png
  • 在存放下載之 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 檔案名稱。

  • 執行指令以取得校驗和。

checksum-github-release.png

第 4 步:比較校驗和

  • 將第 3 步手動計算出的校驗和前七位數,與第 2 步中取得的設備校驗和進行比對。

  • 如果兩個數值相符,則表示安裝的韌體與 GitHub 上的開源程式碼一致。

如果您希望驗證由 OneKey 團隊在 GitHub Release 上簽署並發布的韌體檔案,是否與 OneKey GitHub 儲存庫中公開存放的相應開源程式碼一致,請參考這篇文章

是否回答了您的問題?