แก้ไขข้อมูล 27 ตุลาคม 2026: บทความฉบับก่อนหน้าระบุว่าข้อบกพร่องเข้ามาในเฟิร์มแวร์ Coldcard 4.0.0 ระบุเฟิร์มแวร์ที่แก้ไขแล้วเฉพาะ Mk4, Mk5 และ Q และอธิบายว่า seed ที่ป้องกันด้วย passphrase แบบ BIP39 ไม่อยู่ในความเสี่ยง ประกาศแจ้งเตือนของ Coinkite ระบุว่าเวอร์ชันแรกของ Mk2/Mk3 ที่ได้รับผลกระทบคือ 4.0.1 และเวอร์ชันที่แก้ไขสำหรับสองรุ่นนี้คือ 4.2.0 เตือนว่า passphrase ที่อ่อนแออาจถูกเดาได้ และแนะนำให้ผู้ใช้ passphrase ย้ายเงินโดยเร็วที่สุดเท่าที่ทำได้เช่นกัน ประกาศยังไม่ได้ระบุจำนวนบิตของ seed บน Mk2/Mk3 เราได้แก้ไขข้อความส่วนนั้นแล้ว สำหรับคำแนะนำล่าสุด โปรดยึดตามประกาศแจ้งเตือนด้านความปลอดภัยของ Coinkiteและหน้าสถานะความปลอดภัยของ COLDCARD
เมื่อเวลา 01:31 UTC ของวันที่ 31 กรกฎาคม 2026 บิตคอยน์เริ่มไหลออกจากกระเป๋าที่เจ้าของไม่ได้ทำอะไรเลยแม้แต่น้อย พอถึงเวลา 01:56 — ยี่สิบห้านาทีต่อมา — บิตคอยน์ราว 594 BTC มูลค่าประมาณ 38 ล้านดอลลาร์ ถูกกวาดออกจากกระเป๋าแบบลายเซ็นเดียวราว 500 ใบ การวิเคราะห์ในภายหลังจาก Galaxy Research และรายงานของ Chainalysis เชื่อมโยงความเสียหายรวมได้สูงถึงราว 1,083 BTC กระจายอยู่ในที่อยู่ประมาณ 1,196 แห่ง ไม่มีใครถูกฟิชชิง ไม่มีใครติดตั้งมัลแวร์ ไม่มีใครอนุมัติธุรกรรม ลักษณะเดียวที่เหยื่อมีร่วมกันคือวันที่กระเป๋าของพวกเขาถูกสร้างขึ้น — เพราะสิ่งที่ล้มเหลวคือเอนโทรปีของกระเป๋า: ความสุ่มที่ใช้สร้าง seed phrase ซึ่งถูกตรึงไว้ตั้งแต่วินาทีแรกของชีวิตกระเป๋าใบนั้น
กระเป๋าเหล่านั้นถูกสร้างบนอุปกรณ์ฮาร์ดแวร์ Coldcard และข้อบกพร่องเบื้องหลังก็ฝังตัวอยู่ในเฟิร์มแวร์ที่จัดส่งจริงมานานกว่าห้าปี บทความนี้จะพาไปดูว่าเกิดอะไรขึ้น ทำไมบั๊กประเภทนี้จึงยังคงมองไม่เห็น มันบอกและไม่ได้บอกอะไรเกี่ยวกับกระเป๋าฮาร์ดแวร์ — และควรถามอะไรเกี่ยวกับความสุ่มของกระเป๋าทุกใบ รวมถึงของเราเองด้วย
ข้อบกพร่องจากปี 2021 ที่ถูกนำมาขึ้นเงินในปี 2026
ตามประกาศแจ้งเตือนด้านความปลอดภัยของ Coinkite บั๊กในเฟิร์มแวร์ทำให้การสร้าง seed อ่อนแอลงบน Coldcard Mk2 และ Mk3 ที่ใช้เฟิร์มแวร์ 4.0.1 ถึง 4.1.9 — ช่วงที่เริ่มจาก 4.0.1 ซึ่งออกในเดือนมีนาคม 2021 — และบน Mk4, Mk5 และ Q ที่ใช้เวอร์ชันก่อนรุ่นที่แก้ไขแล้ว หน้าสถานะความปลอดภัยของ Coldcard อธิบายการแก้ไขว่าเป็นการถอดกลไกสำรอง (fallback) แบบซอฟต์แวร์ออกจากเส้นทางการสร้างเลขสุ่ม seed phrase แบบ BIP39 ควรจะเข้ารหัสเอนโทรปี 128 บิต — คิดเป็น seed ที่เป็นไปได้ 2¹²⁸ แบบ ซึ่งเป็นพื้นที่ที่ไม่มีผู้โจมตีคนใดไล่ค้นได้ ประกาศระบุว่า seed ของ Mk4, Mk5 และ Q ที่ได้รับผลกระทบมีเอนโทรปีราว 72 บิต และผลกระทบต่อ Mk2/Mk3 รุ่นเก่ารุนแรงกว่า แต่ไม่ได้ระบุจำนวนบิตของสองรุ่นนี้ ตัวเลขราว 40 บิตที่บทความนี้ใช้กับ seed ของ Mk3 ที่ได้รับผลกระทบจึงเป็นการประมาณ ไม่ใช่ตัวเลขจากประกาศ 2⁴⁰ คือตัวเลือกราว 1.1 ล้านล้านค่า — มหาศาลสำหรับมนุษย์ แต่ไล่ค้นได้ครบถ้วนสำหรับเครื่องจักร นี่คือช่องโหว่ Coldcard ที่อธิบายจบได้ในประโยคเดียว: การสร้าง seed สูญเสียความสุ่มส่วนใหญ่ไปอย่างเงียบ ๆ โดยไม่มีสิ่งใดที่มองเห็นได้บ่งบอกเลย
มีคนสองกลุ่มที่เสี่ยงน้อยกว่ามาก passphrase แบบ BIP39 ที่แข็งแรงและไม่ซ้ำใครช่วยเพิ่มด่านป้องกันที่เป็นอิสระ: ประกาศระบุว่าเอนโทรปีของ seed ที่ลดลงเพียงอย่างเดียวไม่พอจะเข้าถึงกระเป๋าที่ใช้ passphrase ได้ แต่ passphrase ที่สั้น ใช้กันทั่วไป มีรูปแบบ หรือนำมาใช้ซ้ำอาจถูกเดาได้ และไม่มี passphrase ใดซ่อมแซม seed ที่อ่อนแอด้านล่างได้ Coinkite จึงแนะนำให้ผู้ใช้ passphrase ย้ายเงินโดยเร็วที่สุดเท่าที่ทำได้เช่นกัน seed ที่สร้างจากการทอยลูกเต๋าอย่างยุติธรรม เป็นอิสระ และเป็นส่วนตัวอย่างน้อย 50 ครั้ง ไม่อยู่ในความเสี่ยงจากปัญหานี้เพียงลำพัง หากทอยน้อยกว่านั้นหรือบันทึกไม่แน่ชัด ผู้ผลิตแนะนำให้ย้ายเงิน Coinkite เปิดเผยปัญหาและปล่อยเฟิร์มแวร์ที่แก้ไขแล้ว — 4.2.0 สำหรับ Mk2 และ Mk3 ส่วนสายมาตรฐานคือ 5.6.0 สำหรับ Mk4 และ Mk5 และ 1.5.0Q สำหรับ Q และสาย Edge คือ 6.6.0X และ 6.6.0QX ตลอดห้าปีที่คั่นกลางนั้น กระเป๋าที่ได้รับผลกระทบทำงานได้อย่างไร้ที่ติและดูเหมือนกระเป๋าที่ปลอดภัยทุกประการ ผู้ที่ลงมือกวาดเงินไม่จำเป็นต้องแตะต้องเหยื่อเลยแม้แต่น้อย: ไล่ค้นพื้นที่กุญแจที่อ่อนแอ อนุมาน (derive) ที่อยู่ จับคู่กับข้อมูลบนเชน แล้วเคลื่อนย้ายทุกอย่างในหน้าต่างเวลาเดียวนาน 25 นาที
การเสื่อมถอยของเอนโทรปีอย่างเงียบเชียบ: ทำไม seed จึงดูสุ่ม
ส่วนที่ชวนไม่สบายใจคือ ไม่มีอะไรใน seed ที่ได้รับผลกระทบที่เคยดูผิดปกติเลย seed ที่สร้างจากอินพุตที่คาดเดาได้เพียง 40 บิต ก็ยังออกมาเป็นคำ BIP39 สิบสองคำที่ธรรมดาสามัญทุกประการ พร้อม checksum ที่ถูกต้อง กระเป๋ายอมรับมัน อนุมานที่อยู่ ลงนามธุรกรรม ทุกหน้าจอแสดงผลตรงกับที่กระเป๋าที่แข็งแกร่งจะแสดงเป๊ะ ๆ
การทดสอบทางสถิติก็ช่วยอะไรไม่ได้เช่นกัน: ตัวสร้างแบบกำหนดได้ (deterministic) ที่ถูก seed ด้วยข้อมูลที่คาดเดาได้ ยังคงผลิตเอาต์พุตที่ผ่านการทดสอบความสุ่ม — บิตกระจายตัวได้ดี เพียงแต่ถูกดึงมาจากเซตของลำดับที่เป็นไปได้ซึ่งเล็กจนน่าหายนะ จุดอ่อนอาศัยอยู่ในคุณสมบัติที่ไม่มีเอาต์พุตใดเปิดเผยได้: seed อื่น ๆ อีกกี่แบบที่อาจถูกสร้างขึ้นมาแทนได้ มีเพียงโค้ดที่ใช้สร้างเท่านั้นที่ถือคำตอบนั้นอยู่
seed ที่อ่อนแอไม่ได้ดูอ่อนแอ ความแตกต่างระหว่าง 2¹²⁸ กับ 2⁴⁰ ดำรงอยู่เพียงในโค้ดที่สร้างคำเหล่านั้นขึ้นมาเท่านั้น
นี่คือเหตุผลที่บั๊กประเภทนี้คงอยู่ได้นานหลายปี และเป็นเหตุผลที่เหตุการณ์ Coldcard จัดอยู่ในตระกูลเดียวกับกรณีอื่น ๆ ทั้ง Milk Sad ในเครื่องมือ bx ของ Libbitcoin ตัวสร้าง MT19937 ของส่วนขยายเบราว์เซอร์ Trust Wallet, Cake Wallet, เครื่องมือสร้าง vanity address ชื่อ Profanity และ Randstorm ในกระเป๋าบนเบราว์เซอร์ยุคแรก ล้วนมีรูปร่างเดียวกัน: CSPRNG ถูกแทนที่ด้วยแหล่งที่คาดเดาได้อย่างเงียบ ๆ — ไม่มีข้อผิดพลาด ไม่มีคำเตือน ไม่มีความแตกต่างที่มองเห็นได้ จนกระทั่งมีใครสักคนไล่ค้นพื้นที่กุญแจ
บทเรียนที่ชวนอึดอัด
คำว่า “กระเป๋าฮาร์ดแวร์” เป็นชื่อเรียกรูปทรงของอุปกรณ์ ไม่ใช่หลักประกัน กระเป๋าที่ถูกกวาดเงินในวันที่ 31 กรกฎาคมถูกสร้างบนฮาร์ดแวร์ลงนามที่ออกแบบมาเพื่อการนี้โดยเฉพาะ — และนั่นไม่ใช่ชั้นที่ล้มเหลว สิ่งที่ตัดสินการอยู่รอดคือคุณสมบัติที่ถูกตรึงไว้ตั้งแต่หลายปีก่อน: seed ถูกสร้างขึ้นอย่างไรในวันที่กระเป๋าถูกสร้าง ทุกอย่างที่อยู่ปลายน้ำ — การเก็บรักษาแบบเย็น การลงนามแบบแยกช่องอากาศ (air-gapped) การตรวจสอบอย่างระมัดระวัง — ปกป้องกุญแจไม่ให้ถูกขโมย แต่ไม่มีข้อใดช่วยได้เลยหากกุญแจสามารถถูกสร้างขึ้นมาใหม่ได้
ข้อเท็จจริงที่ว่า Coinkite เปิดเผยข้อบกพร่องและปล่อยเฟิร์มแวร์ที่แก้ไขแล้วอย่างรวดเร็ว ก็สำคัญไม่แพ้กัน นี่ไม่ใช่เรื่องราวของผู้ผลิตที่สะเพร่า แต่เป็นโหมดความล้มเหลวที่วงการนี้ค้นพบซ้ำแล้วซ้ำเล่า ทั้งในฮาร์ดแวร์และซอฟต์แวร์ กระเป๋าใดก็ตาม — รวมถึงของเราด้วย — อยู่ห่างจากบั๊กประเภทเดียวกันนี้เพียงแค่ fallback เงียบครั้งเดียว คำถามที่ซื่อตรงจึงไม่ใช่ “ผู้ผลิตรายใดมีภูมิคุ้มกัน?” แต่คือ “กระเป๋าใบนี้จะล้มเหลวได้อย่างไร และจะมีใครสังเกตเห็นหรือไม่?”
ห้าคำถามที่ควรถามเกี่ยวกับความสุ่มของกระเป๋าทุกใบ
คุณไม่จำเป็นต้องเป็นนักวิทยาการเข้ารหัสลับเพื่อยกระดับมาตรฐาน คำถามห้าข้อนี้ช่วยคัดแยกกระเป๋าได้อย่างมีนัยสำคัญ:
- แหล่งเอนโทรปีคืออะไร? seed ควรมาจาก CSPRNG ไม่ใช่จาก timestamp ตัวระบุอุปกรณ์ หรือสิ่งใดก็ตามที่คนนอกสามารถประกอบขึ้นใหม่ได้
- จะเกิดอะไรขึ้นหากแหล่งนั้นล้มเหลว? คำตอบที่ยอมรับได้คือข้อผิดพลาดร้ายแรง (hard error) ที่หยุดการสร้างกระเป๋าทันที คำตอบที่ยอมรับไม่ได้คือตัวแทนเงียบ ๆ — fallback เงียบคือลักษณะนิยามของบั๊กประเภทนี้
- เส้นทางการสร้างเป็นโอเพนซอร์สและตรวจสอบได้หรือไม่? เอนโทรปีที่อ่อนแอมองไม่เห็นในเอาต์พุต การรีวิวโค้ดจึงเป็นที่เดียวที่จะจับมันได้
- กระเป๋ารองรับ passphrase แบบ BIP39 หรือไม่? passphrase เพิ่มข้อมูลลับที่ตัวสร้างของอุปกรณ์ไม่เคยแตะต้อง บน Coldcard ที่ได้รับผลกระทบ passphrase ที่แข็งแรงและไม่ซ้ำใครทำให้ seed ที่อ่อนแอลงเพียงอย่างเดียวไม่พอจะเข้าถึงเงินได้ — แต่ passphrase ที่อ่อนแอหรือนำมาใช้ซ้ำอาจถูกเดาได้ และไม่มี passphrase ใดซ่อมแซม seed ที่อ่อนแอได้
- ในมัลติซิก กุญแจถูกสร้างบนอุปกรณ์ที่เป็นอิสระต่อกันหรือไม่? อุปกรณ์ที่เป็นอิสระหมายถึงความสุ่มที่เป็นอิสระ: ตัวสร้างที่บกพร่องหนึ่งตัวทำให้เสียหายเพียงกุญแจดอกเดียว ไม่ใช่ทั้งองค์ประชุม
Ownbit สร้างเอนโทรปีอย่างไร
คำถามเช่นนี้สมควรได้รับคำตอบที่เป็นรูปธรรมเกี่ยวกับผลิตภัณฑ์ของเราเอง การสร้าง mnemonic ของ Ownbit มีสองชั้น ที่ชั้นแอป generateMnemonicRandom(entropy, langIndex) เรียกใช้ generateMnemonic จากไลบรารี bip39 มาตรฐาน — เอนโทรปี 128 บิตโดยค่าเริ่มต้น พร้อมรองรับรายการคำ BIP39 แปดภาษา: อังกฤษ จีนตัวย่อและตัวเต็ม ญี่ปุ่น ฝรั่งเศส อิตาลี เกาหลี และสเปน ที่ชั้นไลบรารี randomBytes ของ bip39 ดึงค่าจาก crypto.getRandomValues — ซึ่งเป็น CSPRNG ของแพลตฟอร์ม
สิ่งที่สำคัญตรงนี้คือ จะเกิดอะไรขึ้นเมื่อแหล่งนั้นใช้งานไม่ได้: ไลบรารีจะโยนข้อผิดพลาด (throw an error) ออกมา มันไม่ไปปรึกษานาฬิกา ตัวระบุชิป หรือแหล่งสำรองใด ๆ — ไม่มีเส้นทาง fallback อยู่ในโค้ดเลย โหมดความล้มเหลวคือข้อผิดพลาดที่ส่งเสียงดังตอนสร้างกระเป๋า ไม่มีวันเป็น seed ที่อ่อนแอลงอย่างเงียบ ๆ คุณสมบัตินี้ — ล้มเหลวอย่างเสียงดัง ไม่มีวัน fallback — คือด้านกลับเป๊ะ ๆ ของข้อบกพร่องเบื้องหลังเหตุการณ์ Coldcard, Milk Sad และ Randstorm ที่การสร้างเดินหน้าต่อไปอย่างเงียบ ๆ จากแหล่งที่คาดเดาได้
เราจะไม่อ้างว่าสิ่งนี้ทำให้ Ownbit มีภูมิคุ้มกันต่อบั๊ก ไม่มีผู้ผลิตที่ซื่อตรงรายใดอ้างเช่นนั้นได้ แต่สิ่งที่มันตัดออกไปโดยการออกแบบ (by construction) คือรูปร่างความล้มเหลวแบบนี้: ไม่มีเส้นทางโค้ดใดที่กระเป๋า Ownbit จะสร้าง seed ที่อ่อนแอขึ้นมาอย่างเงียบ ๆ ได้ ส่วนที่เหลือของโมเดลอธิบายไว้ในหน้าความปลอดภัยของเรา
ทำไมกุญแจที่สร้างอย่างเป็นอิสระต่อกันจึงรอดพ้นบั๊กประเภทนี้
การกวาดเงินวันที่ 31 กรกฎาคมเล่นงานกระเป๋าแบบลายเซ็นเดียว: หนึ่ง seed หนึ่งลายเซ็น เงินหายไป — เป็นกรณีตามตำราของseed phrase ในฐานะจุดล้มเหลวเพียงจุดเดียว มัลติซิกเปลี่ยนเลขคณิตนี้ ในกระเป๋า MultiSig ของ Ownbit กุญแจทุกดอกคือ seed phrase มาตรฐานแบบ BIP39 ของตัวเอง สร้างขึ้นบนอุปกรณ์ของผู้เข้าร่วมคนนั้นเอง สมมติว่าอุปกรณ์เครื่องหนึ่งมีข้อบกพร่องประเภทนี้เป๊ะ ๆ ในกระเป๋าแบบ 2-of-3 ผู้โจมตีที่ไล่ค้นพื้นที่กุญแจที่อ่อนแอจะถือกุญแจได้เพียงดอกเดียว — ต่ำกว่า threshold ไม่มีอะไรเคลื่อนย้ายได้ กุญแจที่อ่อนแอกลายเป็นงานบำรุงรักษา — หมุนเวียนเปลี่ยนมันเสีย — แทนที่จะเป็นความสูญเสีย
การปกป้องมาจากความเป็นอิสระ ไม่ใช่จากคำว่า “มัลติซิก” กุญแจผู้ร่วมลงนามสามดอกที่สร้างบนอุปกรณ์รุ่นบกพร่องเดียวกันจะล้มเหลวไปด้วยกัน แต่กุญแจสามดอกที่เกิดบนอุปกรณ์ที่ต่างกันอย่างแท้จริง — โทรศัพท์ที่คุณใช้ประจำวัน, โทรศัพท์เครื่องสำรองที่เก็บออฟไลน์เป็นกระเป๋าเย็นลงนามผ่าน QR, อุปกรณ์ของสมาชิกในครอบครัว — ไม่ได้พึ่งตัวสร้างของอุปกรณ์เครื่องเดียว ตัวสร้างที่บกพร่องหนึ่งตัวจึงทำให้กุญแจอ่อนแอลงเพียงดอกเดียว ไม่ใช่ทั้งสามดอก แต่ความเป็นอิสระนี้ไม่ได้สมบูรณ์: อุปกรณ์ที่รันซอฟต์แวร์กระเป๋าหรือไลบรารีตัวเดียวกันยังอาจล้มเหลวในรูปแบบเดียวกันได้ โค้ดที่ใช้สร้างกุญแจจึงสำคัญไม่แพ้ฮาร์ดแวร์ ตรรกะเดียวกันอธิบายว่าทำไม passphrase แบบ BIP39 ที่แข็งแรงและไม่ซ้ำใครจึงปกป้องผู้ใช้ Coldcard ที่ได้รับผลกระทบไว้ได้: passphrase คือข้อมูลลับที่ RNG ของอุปกรณ์ไม่เคยผลิตขึ้น การไล่ค้น seed ที่อ่อนแอลงเพียงอย่างเดียวจึงไม่เพียงพอที่จะใช้จ่ายเงินได้ การป้องกันนี้แข็งแรงได้เท่ากับตัว passphrase เท่านั้น และ seed ด้านล่างยังคงอ่อนแอ — นี่คือเหตุผลที่ผู้ผลิตยังแนะนำให้ย้ายเงิน
หากคุณมี Coldcard ที่ได้รับผลกระทบ
สามขั้นตอน โดยประกาศแจ้งเตือนของ Coinkiteยังคงเป็นแหล่งข้อมูลหลักและจะได้รับการอัปเดตตามความคืบหน้าของการสอบสวน:
- อัปเดตเฟิร์มแวร์ และตรวจสอบรุ่นกับสายการปล่อยเวอร์ชันของคุณ เวอร์ชันขั้นต่ำที่แก้ไขแล้วซึ่งระบุในประกาศแจ้งเตือนของ Coinkite คือ 4.2.0 สำหรับ Mk2 และ Mk3 (เวอร์ชันสุดท้ายของสองรุ่นนี้) สายมาตรฐานคือ 5.6.0 สำหรับ Mk4 และ Mk5 และ 1.5.0Q สำหรับ Q และสาย Edge คือ 6.6.0X และ 6.6.0QX เวอร์ชันเหล่านี้เป็นขั้นต่ำ ไม่จำเป็นต้องเป็นเวอร์ชันที่แนะนำในปัจจุบัน ตารางล่าสุดอยู่ที่หน้าสถานะความปลอดภัยของ COLDCARD อย่าสร้าง seed ใหม่บนรุ่นที่ได้รับผลกระทบจนกว่าจะติดตั้งอัปเดตแล้ว
- ย้ายเงินไปยัง seed ใหม่ที่สร้างบนเฟิร์มแวร์ที่แก้ไขแล้ว การอัปเดตปกป้องเฉพาะ seed ในอนาคต แต่เสริมความแข็งแกร่งให้ seed ที่มีอยู่แล้วไม่ได้ seed ที่เกิดมาพร้อมเอนโทรปีราว 40 บิตจะยังไล่ค้นได้ตลอดไป — ปลดระวางมันโดยสิ้นเชิง อย่านำกลับมาใช้ซ้ำ และอย่าส่งเงินกลับไปยังที่อยู่ของมันอีก ข้อนี้ใช้กับกระเป๋าที่มี passphrase ด้วย: Coinkite แนะนำให้ผู้ใช้ passphrase ย้ายเงินโดยเร็วที่สุดเท่าที่ทำได้ ทำตามคู่มือการย้ายเงินอย่างเป็นทางการโดยไม่เร่งรีบ — ตรวจสอบข้อมูลสำรองใหม่และที่อยู่รับเงินหนึ่งรายการ ส่งธุรกรรมทดสอบจำนวนเล็กน้อย แล้วจึงย้ายส่วนที่เหลือ และเก็บข้อมูลสำรองเดิมไว้จนกว่าจะยืนยันว่าการย้ายเสร็จสมบูรณ์
- อย่าพิมพ์ seed phrase ที่มีอยู่ลงในเว็บไซต์ใดก็ตามที่เสนอจะ “ตรวจสอบ” ว่ามันมีช่องโหว่หรือไม่ การป้อน seed ลงในสิ่งใดก็ตามที่ออนไลน์คือวิธีที่เงินส่วนที่เหลือถูกเอาไป เว็บ “ตัวตรวจสอบ” เป็นรูปแบบฟิชชิงที่เกิดขึ้นเป็นประจำหลังเหตุการณ์ทำนองนี้
คำถามที่พบบ่อย
เอนโทรปีของกระเป๋าคืออะไร?
เอนโทรปีของกระเป๋าคือความสุ่มที่ใช้สร้าง seed phrase โดย seed แบบ BIP39 มาตรฐาน 12 คำเข้ารหัสเอนโทรปีไว้ 128 บิต — คิดเป็น seed ที่เป็นไปได้ 2¹²⁸ แบบ หากตัวสร้างคาดเดาได้ จำนวน seed ที่เป็นไปได้จริงจะยุบตัวลง และผู้โจมตีสามารถไล่ค้นได้ทั้งหมด ไม่ว่าหลังจากนั้น seed จะถูกจัดเก็บอย่างไรก็ตาม
Coldcard ของฉันได้รับผลกระทบหรือไม่?
ตามประกาศแจ้งเตือนของ Coinkite seed ของ Mk2 และ Mk3 ที่สร้างบนเฟิร์มแวร์ 4.0.1 (มีนาคม 2021) ถึง 4.1.9 ได้รับผลกระทบ เช่นเดียวกับ seed ที่สร้างบน Mk4 และ Mk5 ก่อน 5.6.0 (Edge: 6.6.0X) และบน Q ก่อน 1.5.0Q (Edge: 6.6.0QX) seed ที่สร้างจากการทอยลูกเต๋าอย่างยุติธรรม เป็นอิสระ และเป็นส่วนตัวอย่างน้อย 50 ครั้ง ไม่อยู่ในความเสี่ยงจากปัญหานี้เพียงลำพัง passphrase แบบ BIP39 ที่แข็งแรงและไม่ซ้ำใครช่วยเพิ่มด่านป้องกันที่เป็นอิสระ แต่ passphrase ที่อ่อนแออาจถูกเดาได้ และ seed ด้านล่างยังคงอ่อนแอ ผู้ผลิตจึงแนะนำให้ผู้ใช้ passphrase ย้ายเงินโดยเร็วที่สุดเท่าที่ทำได้เช่นกัน ตรวจสอบรุ่นและสายการปล่อยเวอร์ชันของคุณที่หน้าสถานะความปลอดภัยของ COLDCARD อัปเดต แล้วย้ายเงินไปยัง seed ที่สร้างขึ้นใหม่
seed ที่อ่อนแอตรวจพบได้ด้วยการดูหรือไม่?
ไม่ได้ seed ที่อ่อนแอยังคงให้คำปกติสิบสองคำพร้อม checksum ที่ถูกต้อง และการทดสอบทางสถิติไม่สามารถเปิดโปงแหล่งที่คาดเดาได้ ความแข็งแกร่งเป็นคุณสมบัติของโค้ดที่ใช้สร้าง ไม่ใช่ของตัวคำ — นี่คือเหตุผลที่กระเป๋าที่ได้รับผลกระทบไม่ถูกสังเกตเห็นนานกว่าห้าปี
มัลติซิกป้องกันเอนโทรปีที่อ่อนแอได้หรือไม่?
ในเชิงโครงสร้าง ได้ — ตราบใดที่กุญแจถูกสร้างบนอุปกรณ์ที่เป็นอิสระต่อกัน กุญแจอ่อนแอหนึ่งดอกให้ผู้โจมตีเพียงหนึ่งลายเซ็น — ต่ำกว่า threshold แบบ M-of-N — เงินจึงไม่เคลื่อนย้าย กุญแจที่สร้างบนอุปกรณ์รุ่นบกพร่องเดียวกันอาจล้มเหลวพร้อมกันได้ นี่คือเหตุผลที่ความเป็นอิสระสำคัญพอ ๆ กับ threshold
ฉันควรเลิกใช้กระเป๋าฮาร์ดแวร์หรือไม่?
ไม่ควร บทเรียนนี้แคบกว่านั้น: คำว่า “กระเป๋าฮาร์ดแวร์” ไม่ใช่หลักประกันในตัวมันเอง — วิธีที่ seed ถูกสร้างต่างหากที่ใช่ จงใช้อุปกรณ์ที่ได้รับการดูแลอย่างดีต่อไป ติดตั้งอัปเดตเฟิร์มแวร์ เพิ่ม passphrase แบบ BIP39 ที่แข็งแรงและไม่ซ้ำใครเมื่อรองรับ และวางยอดเงินก้อนสำคัญไว้หลัง threshold ของมัลติซิก แทนที่จะฝากไว้กับ seed เดี่ยวดอกใดดอกหนึ่ง
หากเหตุการณ์นี้ทำให้คุณกลับมาตรวจสอบการจัดวางของตัวเองอีกครั้ง ทางแก้เชิงโครงสร้างคือการเลิกปล่อยให้ seed เดี่ยวใด ๆ ยืนอยู่ตามลำพังระหว่างเงินของคุณกับผู้โจมตี กระเป๋า MultiSig ของ Ownbit วาง threshold แบบ M-of-N ครอบกุญแจที่สร้างบนอุปกรณ์อิสระ โดยแต่ละดอกคือ seed phrase มาตรฐานแบบ BIP39 ผู้ใช้ใหม่ทุกคนจะได้รับสิทธิ์ทดลองใช้ฟรี 7 วัน และไม่ว่าอย่างไร กุญแจก็ยังคงเป็นของคุณ
