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.
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 -bOneKey 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
Truy cập trang Phát hành GitHub firmware Bluetooth chính thức của OneKey:
OneKey Classic & Classic 1S: https://github.com/OneKeyHQ/bluetooth-firmware-classic/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.
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.
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.
