Bỏ qua đến nội dung chính

Kiểm tra mã nguồn mở cho firmware đã cài đặt trên các thiết bị ví phần cứng OneKey

Đã cập nhật ngày hôm qua

Bài viết này cung cấp hướng dẫn từng bước để xác thực sự nhất quán của firmware đã cài đặt trên thiết bị ví phần cứng OneKey của bạn với mã nguồn mở tương ứng trên GitHub.

Quan trọng

Chip bảo mật được nhúng trong ví phần cứng OneKey được ký với chữ ký đa chữ ký chính thức tại thời điểm sản xuất. Nếu firmware của ví phần cứng bị hacker can thiệp độc hại, một thông báo có nội dung 'Đã phát hiện Firmware không chính thức' sẽ hiển thị khi khởi động.

Quy trình

Firmware Hệ thống Firmware Bluetooth

Bước 1: Tải xuống và cài đặt firmware mới nhất

  • Truy cập Trang web cập nhật Firmware OneKey chính thức.

  • Kết nối ví phần cứng OneKey của bạn với máy tính qua cáp USB.

  • Sau khi thiết bị ví phần cứng của bạn được nhận dạng, bạn sẽ thấy thông tin ví hiển thị trên trang web.

  • Chọn và tải xuống phiên bản mới nhất của firmware ví phần cứng của bạn.

  • Cài đặt firmware bằng cách làm theo hướng dẫn được cung cấp trên trang web và xác nhận trên ví phần cứng OneKey của bạn.

Bước 2: Lấy Checksum trên ví phần cứng OneKey của bạn

  • Điều hướng đến "Thông tin thiết bị" trên ví phần cứng OneKey của bạn.

  • Tìm thông tin chi tiết về firmware trên thiết bị ví phần cứng OneKey của bạn.

  • Bạn có thể lấy bảy chữ số đầu tiên của checksum cho firmware thiết bị của mình từ thông tin firmware.

    • Ví dụ: 4.9.0[fccbac8-5ff2c88]

    • "fccbac8" là ID phiên bản của firmware thiết bị của bạn.

    • "5ff2c88" là bảy chữ số đầu tiên của checksum cho firmware thiết bị của bạn.

Bước 3: Tính toán Checksum cho mã nguồn GitHub

  • Truy cập trang web Phát hành GitHub Firmware OneKey: https://github.com/OneKeyHQ/firmware/releases

  • Tìm phiên bản firmware mà bạn muốn tính toán checksum.

  • Nhấp để tải xuống tệp bin dưới phần Assets.

github release bin.png
  • Mở Terminal trong hệ điều hành của bạn (yêu cầu macOS/Linux).

  • Dựa trên mẫu ví phần cứng OneKey của bạn, chọn và chạy lệnh tương ứng bên dưới để tính toán 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

Bước 4: So sánh Checksums

  • So sánh bảy chữ số đầu tiên của checksum được tính toán thủ công từ Bước 3 với checksum thiết bị thu được ở Bước 2.

  • Nếu hai giá trị khớp nhau, điều đó có nghĩa là firmware đã cài đặt nhất quán với mã nguồn mở trên GitHub.

Bước 1: Tải xuống và cài đặt firmware Bluetooth mới nhất

  • Truy cập Trang web cập nhật Firmware OneKey chính thức.

  • Kết nối ví phần cứng OneKey của bạn với máy tính qua cáp USB.

  • Sau khi thiết bị ví phần cứng của bạn được nhận dạng, bạn sẽ thấy thông tin ví hiển thị trên trang web.

  • Chọn và tải xuống phiên bản mới nhất của firmware Bluetooth ví phần cứng của bạn.

  • Cài đặt firmware bằng cách làm theo hướng dẫn được cung cấp trên trang web và xác nhận trên ví phần cứng OneKey của bạn.

Bước 2: Lấy Checksum trên ví phần cứng OneKey của bạn

  • Điều hướng đến "Thông tin thiết bị" trên ví phần cứng OneKey của bạn.

  • Tìm thông tin chi tiết về firmware trên thiết bị ví phần cứng OneKey của bạn.

  • Bạn có thể lấy bảy chữ số đầu tiên của checksum cho firmware thiết bị của mình từ thông tin Bluetooth.

    • Ví dụ: 2.3.1[96bb143-5affc8f]

    • "96bb143" là ID phiên bản của firmware Bluetooth thiết bị của bạn.

    • "5ff2c8f" là bảy chữ số đầu tiên của checksum cho firmware thiết bị của bạn.

Bước 3: Tính toán Checksum cho mã nguồn GitHub

pro-bluetooth-firmware-github-release-signed.png
  • Mở terminal trong cùng thư mục với tệp bin đã tải xuống. (yêu cầu macOS/Linux)

  • Gọi Python bằng lệnh: python3. (Tải Python tại đây)

  • Sao chép lệnh bên dưới:

    • 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""")

  • Thay đổi ota.bin (trong lệnh trên) thành tên tệp bin đã tải xuống của bạn.

  • Chạy lệnh để nhận checksum.

checksum-github-release.png

Bước 4: So sánh Checksums

  • So sánh bảy chữ số đầu tiên của checksum được tính toán thủ công từ Bước 3 với checksum thiết bị thu được ở Bước 2.

  • Nếu hai giá trị khớp nhau, điều đó có nghĩa là firmware đã cài đặt nhất quán với mã nguồn mở trên GitHub.

Nếu bạn muốn xác minh sự nhất quán của các tệp firmware đã được ký và xuất bản trên GitHub Release bởi nhóm OneKey với mã nguồn mở tương ứng được lưu trữ công khai trên kho lưu trữ GitHub của OneKey, vui lòng tham khảo bài viết này.

Nội dung này có giải đáp được câu hỏi của bạn không?