บทความนี้มีคำแนะนำทีละขั้นตอนเพื่อช่วยคุณในการตรวจสอบความสอดคล้องของเฟิร์มแวร์ที่ติดตั้งบนฮาร์ดแวร์วอลเล็ต OneKey ของคุณกับโค้ดโอเพนซอร์สที่เกี่ยวข้องบน GitHub
สำคัญ
ชิปความปลอดภัยที่ฝังอยู่ในฮาร์ดแวร์วอลเล็ต OneKey ได้รับการลงนามด้วยลายเซ็นหลายชั้นอย่างเป็นทางการเมื่อทำการผลิต หากเฟิร์มแวร์ของฮาร์ดแวร์วอลเล็ตถูกดัดแปลงโดยแฮกเกอร์โดยมุ่งร้าย ระบบจะแสดงข้อความ 'ตรวจพบเฟิร์มแวร์ที่ไม่เป็นทางการ' (Unofficial Firmware Detected) เมื่อเริ่มต้นระบบ
กระบวนการ
เฟิร์มแวร์ระบบ (System Firmware) เฟิร์มแวร์บลูทูธ (Bluetooth Firmware)
ขั้นตอนที่ 1: ดาวน์โหลดและติดตั้งเฟิร์มแวร์ล่าสุด
เยี่ยมชม เว็บไซต์อัปเดตเฟิร์มแวร์ OneKey อย่างเป็นทางการ
เชื่อมต่อฮาร์ดแวร์วอลเล็ต OneKey ของคุณกับคอมพิวเตอร์ผ่านสาย USB
เมื่ออุปกรณ์ฮาร์ดแวร์วอลเล็ตของคุณถูกตรวจพบ คุณจะเห็นข้อมูลวอลเล็ตแสดงบนเว็บไซต์
เลือกและดาวน์โหลดเฟิร์มแวร์เวอร์ชันล่าสุดสำหรับฮาร์ดแวร์วอลเล็ตของคุณ
ติดตั้งเฟิร์มแวร์โดยทำตามคำแนะนำที่ให้ไว้บนเว็บไซต์และยืนยันบนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ
ขั้นตอนที่ 2: รับ Checksum บนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ
ไปที่ "เกี่ยวกับอุปกรณ์" (About Device) บนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ
ค้นหารายละเอียดข้อมูลเฟิร์มแวร์บนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ
คุณสามารถดูตัวเลขเจ็ดหลักแรกของ checksum สำหรับเฟิร์มแวร์ของอุปกรณ์ของคุณได้จากข้อมูลเฟิร์มแวร์
ตัวอย่างเช่น 4.9.0[fccbac8-5ff2c88]
"fccbac8" คือรหัสเวอร์ชันของเฟิร์มแวร์อุปกรณ์ของคุณ
"5ff2c88" คือตัวเลขเจ็ดหลักแรกของ checksum สำหรับเฟิร์มแวร์อุปกรณ์ของคุณ
ขั้นตอนที่ 3: คำนวณ Checksum สำหรับโค้ดซอร์ส GitHub
เยี่ยมชมเว็บไซต์ GitHub Release ของเฟิร์มแวร์ OneKey: https://github.com/OneKeyHQ/firmware/releases
ค้นหาเวอร์ชันเฟิร์มแวร์ที่คุณต้องการคำนวณ checksum
คลิกเพื่อดาวน์โหลดไฟล์ bin ภายใต้ Assets
เปิด Terminal ในระบบปฏิบัติการของคุณ (ต้องใช้ macOS/Linux)
เลือกและรันคำสั่งที่เหมาะสมสำหรับรุ่นฮาร์ดแวร์วอลเล็ต OneKey ของคุณเพื่อคำนวณ 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
ขั้นตอนที่ 4: เปรียบเทียบ Checksums
เปรียบเทียบเจ็ดหลักแรกของ checksum ที่คำนวณด้วยตนเองจากขั้นตอนที่ 3 กับ checksum ของอุปกรณ์ที่ได้รับในขั้นตอนที่ 2
หากค่าทั้งสองตรงกัน แสดงว่าเฟิร์มแวร์ที่ติดตั้งนั้นสอดคล้องกับโค้ดโอเพนซอร์สบน GitHub
ขั้นตอนที่ 1: ดาวน์โหลดและติดตั้งเฟิร์มแวร์บลูทูธล่าสุด
เยี่ยมชม เว็บไซต์อัปเดตเฟิร์มแวร์ OneKey อย่างเป็นทางการ
เชื่อมต่อฮาร์ดแวร์วอลเล็ต OneKey ของคุณกับคอมพิวเตอร์ผ่านสาย USB
เมื่ออุปกรณ์ฮาร์ดแวร์วอลเล็ตของคุณถูกตรวจพบ คุณจะเห็นข้อมูลวอลเล็ตแสดงบนเว็บไซต์
เลือกและดาวน์โหลดเฟิร์มแวร์บลูทูธเวอร์ชันล่าสุดสำหรับฮาร์ดแวร์วอลเล็ตของคุณ
ติดตั้งเฟิร์มแวร์โดยทำตามคำแนะนำที่ให้ไว้บนเว็บไซต์และยืนยันบนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ
ขั้นตอนที่ 2: รับ Checksum บนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ
ไปที่ "เกี่ยวกับอุปกรณ์" (About Device) บนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ
ค้นหารายละเอียดข้อมูลเฟิร์มแวร์บนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ
คุณสามารถดูตัวเลขเจ็ดหลักแรกของ checksum สำหรับเฟิร์มแวร์ของอุปกรณ์ของคุณได้จากข้อมูลบลูทูธ
ตัวอย่างเช่น 2.3.1[96bb143-5affc8f]
"96bb143" คือรหัสเวอร์ชันของเฟิร์มแวร์บลูทูธของอุปกรณ์ของคุณ
"5ff2c8f" คือตัวเลขเจ็ดหลักแรกของ checksum สำหรับเฟิร์มแวร์ของอุปกรณ์ของคุณ
ขั้นตอนที่ 3: คำนวณ Checksum สำหรับโค้ดซอร์ส GitHub
ไปที่หน้า GitHub Release ของเฟิร์มแวร์บลูทูธ OneKey อย่างเป็นทางการ:
OneKey Classic & Classic 1S: https://github.com/OneKeyHQ/bluetooth-firmware-classic/releases
ค้นหาเวอร์ชันเฟิร์มแวร์ที่คุณต้องการคำนวณ checksum
คลิกเพื่อดาวน์โหลดไฟล์ bin ภายใต้ Assets
เปิด Terminal ในโฟลเดอร์เดียวกับไฟล์ 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
ขั้นตอนที่ 4: เปรียบเทียบ Checksums
เปรียบเทียบเจ็ดหลักแรกของ checksum ที่คำนวณด้วยตนเองจากขั้นตอนที่ 3 กับ checksum ของอุปกรณ์ที่ได้รับในขั้นตอนที่ 2
หากค่าทั้งสองตรงกัน แสดงว่าเฟิร์มแวร์ที่ติดตั้งนั้นสอดคล้องกับโค้ดโอเพนซอร์สบน GitHub
หากคุณต้องการตรวจสอบความสอดคล้องของไฟล์เฟิร์มแวร์ที่ลงนามและเผยแพร่ใน GitHub Release โดยทีม OneKey กับโค้ดโอเพนซอร์สที่จัดเก็บไว้ในที่เก็บ GitHub ของ OneKey โปรดดู บทความนี้
