Bài viết này cung cấp cho bạn hướng dẫn từng bước để giúp bạn xác thực tính nhất quán của chương trình cơ sở được 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ý bằng chữ ký đa chữ ký chính thức tại thời điểm sản xuất. Nếu chương trình cơ sở của ví phần cứng bị kẻ tấn công can thiệp độc hại, một thông báo có nội dung 'Phát hiện chương trình cơ sở không chính thức' sẽ hiển thị khi khởi động.
Quy trình
Chương trình cơ sở hệ thống Chương trình cơ sở Bluetooth
Bước 1: Tải xuống và cài đặt chương trình cơ sở mới nhất
Truy cập Trang web Cập nhật Chương trình cơ sở 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.
Khi thiết bị ví phần cứng của bạn được phát hiện, 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 chương trình cơ sở ví phần cứng của bạn.
Cài đặt chương trình cơ sở 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 "Giới thiệu về Thiết bị" trên ví phần cứng OneKey của bạn.
Tìm thông tin chương trình cơ sở chi tiết 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 chương trình cơ sở thiết bị của mình từ thông tin chương trình cơ sở.
Ví dụ: 4.9.0[fccbac8-5ff2c88]
"fccbac8" là ID phiên bản của chương trình cơ sở thiết bị của bạn.
"5ff2c88" là bảy chữ số đầu tiên của checksum cho chương trình cơ sở 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 Chương trình cơ sở OneKey: https://github.com/OneKeyHQ/firmware/releases
Tìm phiên bản chương trình cơ sở mà bạn muốn tính toán checksum.
Nhấp để tải xuống tệp bin trong Assets.
Mở Terminal trên 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, hãy 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 của thiết bị thu được trong Bước 2.
Nếu hai giá trị khớp nhau, điều đó cho thấy chương trình cơ sở được 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 chương trình cơ sở Bluetooth mới nhất
Truy cập Trang web Cập nhật Chương trình cơ sở 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.
Khi thiết bị ví phần cứng của bạn được phát hiện, 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 chương trình cơ sở Bluetooth ví phần cứng của bạn.
Cài đặt chương trình cơ sở 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 "Giới thiệu về Thiết bị" trên ví phần cứng OneKey của bạn.
Tìm thông tin chương trình cơ sở chi tiết 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 chương trình cơ sở 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 chương trình cơ sở Bluetooth thiết bị của bạn.
"5ff2c8f" là bảy chữ số đầu tiên của checksum cho chương trình cơ sở thiết bị của bạn.
Bước 3: Tính toán Checksum cho mã nguồn GitHub
Điều hướng đến trang Phát hành GitHub chương trình cơ sở Bluetooth OneKey chính thức:
OneKey Classic & Classic 1S: https://github.com/OneKeyHQ/bluetooth-firmware-classic/releases
Tìm phiên bản chương trình cơ sở mà bạn muốn tính toán checksum.
Nhấp để tải xuống tệp bin trong 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 với 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 của thiết bị thu được trong Bước 2.
Nếu hai giá trị khớp nhau, điều đó cho thấy chương trình cơ sở được 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 tính nhất quán của các tệp chương trình cơ sở được ký và phát hành trên GitHub Release bởi nhóm OneKey với các mã nguồn đang được lưu trữ công khai trên các kho lưu trữ GitHub của OneKey, vui lòng tham khảo bài viết này.
}
