ข้ามไปที่เนื้อหาหลัก

การตรวจสอบโค้ดโอเพนซอร์สสำหรับเฟิร์มแวร์ที่ติดตั้งบนอุปกรณ์ฮาร์ดแวร์วอลเล็ต OneKey

อัปเดตแล้ววันนี้

บทความนี้จะแนะนำขั้นตอนการตรวจสอบความสอดคล้องของเฟิร์มแวร์ที่ติดตั้งบนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ กับโค้ดโอเพนซอร์สที่เกี่ยวข้องบน GitHub

สำคัญ

ชิปความปลอดภัยที่ฝังอยู่ในฮาร์ดแวร์วอลเล็ต OneKey จะถูกลงนามด้วยลายเซ็นหลายรายการอย่างเป็นทางการในขณะที่ผลิต หากเฟิร์มแวร์ของฮาร์ดแวร์วอลเล็ตถูกดัดแปลงโดยแฮกเกอร์ ข้อความ 'ตรวจพบเฟิร์มแวร์ที่ไม่เป็นทางการ' จะแสดงขึ้นเมื่อเริ่มต้น

ขั้นตอน

เฟิร์มแวร์ระบบ เฟิร์มแวร์บลูทูธ

ขั้นตอนที่ 1: ดาวน์โหลดและติดตั้งเฟิร์มแวร์ล่าสุด

  • เยี่ยมชม เว็บไซต์อัปเดตเฟิร์มแวร์ OneKey อย่างเป็นทางการ

  • เชื่อมต่อฮาร์ดแวร์วอลเล็ต OneKey ของคุณกับคอมพิวเตอร์ผ่านสาย USB

  • เมื่อตรวจพบอุปกรณ์ฮาร์ดแวร์วอลเล็ตของคุณ คุณจะเห็นข้อมูลวอลเล็ตแสดงบนเว็บไซต์

  • เลือกและดาวน์โหลดเฟิร์มแวร์เวอร์ชันล่าสุดสำหรับฮาร์ดแวร์วอลเล็ตของคุณ

  • ติดตั้งเฟิร์มแวร์โดยทำตามคำแนะนำบนเว็บไซต์และยืนยันบนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ

ขั้นตอนที่ 2: รับ Checksum บนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ

  • ไปที่ "เกี่ยวกับอุปกรณ์" บนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ

  • ค้นหาข้อมูลเฟิร์มแวร์โดยละเอียดบนอุปกรณ์ฮาร์ดแวร์วอลเล็ต OneKey ของคุณ

  • คุณสามารถรับ 7 หลักแรกของ checksum สำหรับเฟิร์มแวร์อุปกรณ์ของคุณได้จากข้อมูลเฟิร์มแวร์

    • ตัวอย่างเช่น 4.9.0[fccbac8-5ff2c88]

    • "fccbac8" คือ ID เวอร์ชันของเฟิร์มแวร์อุปกรณ์ของคุณ

    • "5ff2c88" คือ 7 หลักแรกของ checksum สำหรับเฟิร์มแวร์อุปกรณ์ของคุณ

ขั้นตอนที่ 3: คำนวณ Checksum สำหรับโค้ดต้นทาง GitHub

  • ไปที่เว็บไซต์ GitHub Release ของเฟิร์มแวร์ OneKey: https://github.com/OneKeyHQ/firmware/releases

  • ค้นหาเวอร์ชันเฟิร์มแวร์ที่คุณต้องการคำนวณ checksum

  • คลิกเพื่อดาวน์โหลดไฟล์ bin ภายใต้ Assets

github release bin.png
  • เปิด Terminal ในระบบปฏิบัติการของคุณ (ต้องใช้ macOS/Linux)

  • เลือกและรันคำสั่งที่เหมาะสมสำหรับรุ่นฮาร์ดแวร์วอลเล็ต OneKey ของคุณเพื่อคำนวณ 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

ขั้นตอนที่ 4: เปรียบเทียบ Checksums

  • เปรียบเทียบ 7 หลักแรกของ checksum ที่คำนวณด้วยตนเองจากขั้นตอนที่ 3 กับ checksum ของอุปกรณ์ที่ได้จากขั้นตอนที่ 2

  • หากค่าทั้งสองตรงกัน แสดงว่าเฟิร์มแวร์ที่ติดตั้งมีความสอดคล้องกับโค้ดโอเพนซอร์สบน GitHub

ขั้นตอนที่ 1: ดาวน์โหลดและติดตั้งเฟิร์มแวร์บลูทูธล่าสุด

  • เยี่ยมชม เว็บไซต์อัปเดตเฟิร์มแวร์ OneKey อย่างเป็นทางการ

  • เชื่อมต่อฮาร์ดแวร์วอลเล็ต OneKey ของคุณกับคอมพิวเตอร์ผ่านสาย USB

  • เมื่อตรวจพบอุปกรณ์ฮาร์ดแวร์วอลเล็ตของคุณ คุณจะเห็นข้อมูลวอลเล็ตแสดงบนเว็บไซต์

  • เลือกและดาวน์โหลดเฟิร์มแวร์บลูทูธเวอร์ชันล่าสุดสำหรับฮาร์ดแวร์วอลเล็ตของคุณ

  • ติดตั้งเฟิร์มแวร์โดยทำตามคำแนะนำบนเว็บไซต์และยืนยันบนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ

ขั้นตอนที่ 2: รับ Checksum บนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ

  • ไปที่ "เกี่ยวกับอุปกรณ์" บนฮาร์ดแวร์วอลเล็ต OneKey ของคุณ

  • ค้นหาข้อมูลเฟิร์มแวร์โดยละเอียดบนอุปกรณ์ฮาร์ดแวร์วอลเล็ต OneKey ของคุณ

  • คุณสามารถรับ 7 หลักแรกของ checksum สำหรับเฟิร์มแวร์อุปกรณ์ของคุณได้จากข้อมูลบลูทูธ

    • ตัวอย่างเช่น 2.3.1[96bb143-5affc8f]

    • "96bb143" คือ ID เวอร์ชันของเฟิร์มแวร์บลูทูธของอุปกรณ์ของคุณ

    • "5ff2c8f" คือ 7 หลักแรกของ checksum สำหรับเฟิร์มแวร์อุปกรณ์ของคุณ

ขั้นตอนที่ 3: คำนวณ Checksum สำหรับโค้ดต้นทาง GitHub

pro-bluetooth-firmware-github-release-signed.png
  • เปิด 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

checksum-github-release.png

ขั้นตอนที่ 4: เปรียบเทียบ Checksums

  • เปรียบเทียบ 7 หลักแรกของ checksum ที่คำนวณด้วยตนเองจากขั้นตอนที่ 3 กับ checksum ของอุปกรณ์ที่ได้จากขั้นตอนที่ 2

  • หากค่าทั้งสองตรงกัน แสดงว่าเฟิร์มแวร์ที่ติดตั้งมีความสอดคล้องกับโค้ดโอเพนซอร์สบน GitHub

หากคุณต้องการตรวจสอบความสอดคล้องของไฟล์เฟิร์มแวร์ที่ลงนามและเผยแพร่บน GitHub Release โดยทีม OneKey กับโค้ดโอเพนซอร์สที่เก็บไว้ในคลัง GitHub ของ OneKey โปรดดู บทความนี้

นี่ไม่ใช่คำตอบที่ต้องการใช่ไหม