หากจะเจาะลึกชิป Secure Element (SE) ที่อยู่ใน OneKey (โดยเฉพาะรุ่น Classic 1S และ Pro) เราต้องพูดถึงชิปตระกูล Microchip ATECC608 หรือในรุ่นใหม่ๆ จะใช้ ST33 จากค่าย STMicroelectronics
ความพิเศษของ OneKey คือการใช้ชิป SE เกรดสูงระดับ EAL6+ ซึ่งเป็นการออกแบบที่เน้น "การป้องกันการเข้าถึงจากภายนอกในทุกมิติ" มาลองดูการทำงานในระดับ Code และ Hardware กัน
1. หน้าที่ของ SE ใน OneKey: "The Cryptographic Vault"
ในโครงสร้างของ OneKey จะใช้ระบบ Dual-Chip คล้ายกับ Trezor รุ่นใหม่ แต่ต่างกันที่ OneKey เน้นการทำ High-level Attestation (การยืนยันตัวตนของชิป) เพื่อป้องกันเครื่องปลอมตั้งแต่ต้นทาง
หน้าที่หลักในระดับ Code:
- Root of Trust: เก็บ Master Key ที่ใช้ยืนยันว่า Firmware นี้ถูกเขียนโดย OneKey จริงๆ
- Key Isolation: เก็บความลับส่วนที่ใช้ "ปลดล็อค" Seed Phrase โดยที่ CPU หลัก (MCU) มองไม่เห็นค่านี้ตรงๆ
2. เจาะลึกระดับ Code
OneKey ใช้โปรโตคอลที่เรียกว่า SCP03 (Secure Channel Protocol) ในการคุยกันระหว่างชิปหลัก (STM32) กับชิป SE เพื่อป้องกันการดักฟังข้อมูล (Bus Sniffing)
// ตรรกะการสร้างช่องทางลับ (Simplified OneKey Logic)
void setup_secure_channel() { // 1. MCU และ SE ทำการ Diffie-Hellman Key Exchange // เพื่อสร้าง Session Key ร่วมกันโดยไม่ส่งกุญแจผ่านสายไฟ uint8_t session_key[32] = derive_session_key_with_SE();
// 2. ข้อมูลที่จะส่งไป SE (เช่น PIN) จะถูกเข้ารหัสก่อนส่งเสมอ uint8_t encrypted_pin[16]; aes_encrypt(user_pin, session_key, encrypted_pin);
// 3. ส่งข้อมูลที่เข้ารหัสผ่านสายI2C i2c_send_to_SE(encrypted_pin);}
ความแตกต่าง: ในรุ่นที่ไม่มี SE ข้อมูล PIN อาจวิ่งผ่านสายไฟในเครื่องเป็นเลขดิบๆ ซึ่งถ้าโจรเอาเครื่องมือมาคีบสายไฟ ก็จะเห็น PIN ทันที แต่ใน OneKey ข้อมูลที่วิ่งอยู่ "อ่านไม่ออก"
3. มาตรการป้องกันในระดับ Hardware (Physical Hardening)
ชิป SE ใน OneKey (EAL6+) มีการป้องกันที่ระดับเลเยอร์ของซิลิคอน (Silicon Level):
- Active Shielding: มีตาข่ายไฟฟ้าขนาดจิ๋วคลุมทั่วผิวชิป ถ้าโจรพยายามใช้เข็มเจาะหรือใช้เลเซอร์ยิงเพื่อดักจับสัญญาณ ตาข่ายจะขาดและชิปจะทำลายข้อมูลทิ้งทันที
- Environmental Sensors: มีเซนเซอร์ตรวจจับอุณหภูมิ, แรงดันไฟ และแสง หากโจรพยายามแช่แข็งชิป (เพื่อหยุดการทำงานของหน่วยความจำ) หรือเปิดฝาชิปให้โดนแสง ชิปจะหยุดทำงาน
- True Random Number Generator (TRNG): การสร้าง Seed Phrase ใน OneKey จะใช้ความสุ่มจากสัญญาณรบกวนทางควอนตัม (Quantum Noise) ภายในชิป SE ซึ่งมีความสุ่มที่มีประสิทธิภาพสูงกว่าการใช้ซอฟต์แวร์คำนวณมาก
4. การจัดการ PIN ใน OneKey SE
OneKey ไม่ได้เช็ค PIN ใน Software แต่ส่งไปให้ SE เป็นคนนับจำนวนครั้ง (Retry Counter)
// ตรรกะการเช็ค PIN ภายในชิป SE
int verify_pin_in_SE(uint8_t *pin_cipher) { // SE จะถอดรหัสและเช็คภายในตัวมันเอง if (SE_internal_verify(pin_cipher) == SUCCESS) { SE_reset_counter(); return AUTHORIZED; } else { // SE จะลดจำนวนครั้งที่อนุญาตลงทันทีใน Hardware // ต่อให้โจรปิดเครื่องเปิดใหม่ หรือ Flash Firmware ใหม่ เลขนี้ก็ไม่รีเซ็ต SE_decrement_counter(); if (SE_get_counter() == 0) SE_self_destruct(); return DENIED; }}
5. สรุปเพื่อบทความ: ทำไม OneKey ถึงเลือกทางนี้?
| หัวข้อ | OneKey (Physical SE) |
|---|---|
| ความปลอดภัย | กันการแฮกแบบ "ต้องเห็นเครื่อง" ได้ดีที่สุด (Physical Attack Resistant) |
| ความสะดวก | ทำให้เชื่อมต่อ Bluetooth ได้ปลอดภัย เพราะกุญแจหลักถูกเก็บไว้ใน SE |
| ความโปร่งใส | มาตรฐาน EAL6+ คือระดับเดียวกับที่ธนาคารและพาสปอร์ต |
OneKey เหมาะกับมือใหม่ที่อยากได้ความรู้สึกใช้ง่าย เชื่อมต่อมือถือได้ลื่นไหล แต่ไส้ในมีความปลอดภัยระดับทางการทหาร (Military Grade) คอยคุมหลังบ้านอยู่ และที่สำคัญจากประสบการณ์ผู้ใช้งานจริง OneKey นับว่าเป็นตัวเลือกที่เหมาะใช้กับมือถือมากที่สุดอีกตัวนึงครับ






Share:
MCU และ Secure Element ทำงานต่างกันอย่างไรใน Hardware Wallet