คู่มือความปลอดภัยคีย์ส่วนตัว: การปกป้องคริปโตของคุณ
ทุกธุรกรรมคริปโตเคอร์เรนซีที่คุณเคยเห็นบนบล็อกเชนใดๆ ได้รับการอนุมัติโดยคีย์ส่วนตัว มันเป็นความลับเข้ารหัสพื้นฐานที่พิสูจน์ความเป็นเจ้าของและให้สิทธิในการใช้จ่าย หากใครได้คีย์ส่วนตัวของคุณ พวกเขาจะควบคุมเงินของคุณ หากคุณสูญหายโดยไม่มีสำเนาสำรอง เงินของคุณจะหายไปอย่างถาวร
คู่มือนี้ให้การตรวจสอบที่ครอบคลุมว่าคีย์ส่วนตัวคืออะไร วิธีที่พวกเขาเกี่ยวข้องกับคีย์สาธารณะและที่อยู่ หลักการเข้ารหัสที่ทำให้พวกเขาปลอดภัย และขั้นตอนที่ปฏิบัติได้เพื่อปกป้องพวกเขา
คีย์ส่วนตัวคืออะไร?
คีย์ส่วนตัวคือตัวเลข 256 บิตที่สร้างขึ้นแบบสุ่ม ในสัญลักษณ์เลขฐานสิบหกดูเหมือนนี้:
e9873d79c6d87dc0fb6a5778633389f4453213303da61f20bd67fc233aa33262
ตัวเลขนี้ต้องเป็นไปตามเงื่อนไขสองประการ: ต้องมากกว่าศูนย์ และต้องน้อยกว่าลำดับของเส้นโค้งวงรีที่ใช้โดยคริปโตเคอร์เรนซี (สำหรับ Bitcoin และอื่นๆ ส่วนใหญ่ นี่คือเส้นโค้ง secp256k1 โดยที่ลำดับมีค่าประมาณ 1.158 x 10^77)
จากตัวเลขเดียวนี้ คีย์สาธารณะที่สอดคล้องกันจะถูกคำนวณโดยใช้การคูณเส้นโค้งวงรี จากคีย์สาธารณะ ที่อยู่หนึ่งตัวหรือมากกว่านั้นจะได้รับ ความสัมพันธ์ทางคณิตศาสตร์เป็นแบบทิศทางเดียวอย่างเคร่งครัด:
Private Key → Public Key → Address
คุณสามารถคำนวณไปข้างหน้าเสมอ (คีย์ส่วนตัวไปยังคีย์สาธารณะ คีย์สาธารณะไปยังที่อยู่) แต่คุณไม่สามารถย้อนกลับกระบวนการได้ ให้ที่อยู่ คุณไม่สามารถกำหนดคีย์สาธารณะได้ (จนกว่าที่อยู่จะถูกใช้ในการใช้จ่าย) และให้คีย์สาธารณะ คุณไม่สามารถกำหนดคีย์ส่วนตัวได้ ความไม่สมมาตรนี้เป็นรากฐานของความปลอดภัยคริปโตเคอร์เรนซี
การเข้ารหัสด้วยคีย์สาธารณะอธิบาย
คริปโตเคอร์เรนซีพึ่งพาการเข้ารหัสเส้นโค้งวงรี (ECC) โดยเฉพาะอย่างยิ่ง Elliptic Curve Digital Signature Algorithm (ECDSA) สำหรับส่วนใหญ่ และลายเซ็น Schnorr สำหรับธุรกรรม Bitcoin Taproot
เส้นโค้ง secp256k1
เส้นโค้ง secp256k1 ถูกกำหนดโดยสมการ:
y^2 = x^3 + 7 (mod p)
โดยที่ p คือจำนวนเฉพาะขนาดใหญ่มาก (2^256 - 2^32 - 977) เส้นโค้งมีจุดเครื่องกำเนิดไฟฟ้าที่กำหนด การคูณ G ด้วยคีย์ส่วนตัวของคุณ (การคูณแบบสเกลาร์บนเส้นโค้ง) จะสร้างคีย์สาธารณะของคุณ — จุดบนเส้นโค้ง การดำเนินการนี้ง่ายในทางเดียว แต่ไม่สามารถย้อนกลับได้ (ปัญหาลอการิทึมแยกส่วนเส้นโค้งวงรี)
ลายเซ็นดิจิทัล
เมื่อคุณส่งธุรกรรมคริปโตเคอร์เรนซี กระเป๋าของคุณ:
- สร้างข้อมูลธุรกรรม (ผู้รับ จำนวน ค่าธรรมเนียม)
- แฮชธุรกรรมเพื่อสร้างไดเจสต์ที่มีความยาวคงที่
- ลงนามไดเจสต์โดยใช้คีย์ส่วนตัวของคุณและอัลกอริทึม ECDSA เพื่อสร้างลายเซ็น
- ออกอากาศธุรกรรมและลายเซ็นไปยังเครือข่าย
โหนดใดๆ บนเครือข่ายสามารถตรวจสอบว่าลายเซ็นถูกสร้างโดยผู้ถือคีย์ส่วนตัวที่สอดคล้องกับคีย์สาธารณะ โดยไม่ต้องเรียนรู้คีย์ส่วนตัว นี่คือแก่นของการตรวจสอบแบบไม่มีการไว้วางใจ
ขนาดคีย์และระดับความปลอดภัย
คีย์ส่วนตัว 256 บิตให้ความปลอดภัยประมาณ 128 บิตต่อการโจมตีแบบคลาสสิกที่ดีที่สุด ซึ่งหมายความว่าผู้โจมตีจะต้องดำเนินการเกี่ยวข้องกับ 2^128 เพื่อให้ได้คีย์ส่วนตัวจากคีย์สาธารณะ — ตัวเลขที่มากจนเกินกว่าความสามารถในการคำนวณของคอมพิวเตอร์ที่มีอยู่ทั้งหมดที่ทำงานร่วมกันเป็นเวลานับพันล้านปี
คีย์ส่วนตัวในทางปฏิบัติ
รูปแบบการนำเข้ากระเป๋า (WIF)
คีย์ส่วนตัวเลขฐานสิบหกบริสุทธิ์นั้นหนาแน่น Bitcoin ใช้ Wallet Import Format (WIF) ซึ่งเข้ารหัสคีย์ในรูปแบบ Base58Check พร้อมไบต์เวอร์ชันและเช็กซัม:
5HueCGU8rMjxEXxiPuD5BDku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ
คีย์ WIF ที่ขึ้นต้นด้วย "5" ไม่ได้ถูกบีบอัด คีย์ที่ขึ้นต้นด้วย "K" หรือ "L" ได้รับการบีบอัด (ซึ่งหมายความว่าพวกเขาสอดคล้องกับคีย์สาธารณะแบบบีบอัด ซึ่งเป็นมาตรฐานสมัยใหม่)
คีย์ขยาย (xprv / xpub)
กระเป๋า HD ที่ทันสมัยไม่ได้ใช้คีย์ส่วนตัวแบบสแตนด์อโลน แต่ใช้คีย์ส่วนตัวขยาย (xprv) และคีย์สาธารณะขยาย (xpub) ตามที่กำหนดโดย BIP-32 คีย์ขยายประกอบด้วยทั้งคีย์และรหัสโซ่ ซึ่งช่วยให้สามารถสร้างคีย์แบบลำดับชั้นได้
xpub ช่วยให้สามารถสร้างคีย์สาธารณะและที่อยู่ทั้งหมดในกระเป๋าโดยไม่ต้องรู้คีย์ส่วนตัวใดๆ — มีประโยชน์สำหรับกระเป๋าแบบดูเฉพาะและบัญชี xprv สามารถสร้างทั้งคีย์สาธารณะและส่วนตัวสำหรับที่อยู่ทั้งหมดในลำดับชั้น
คำเตือนที่สำคัญ: การแชร์ xpub ของคุณเปิดเผยที่อยู่และยอดคงเหลือทั้งหมดให้ผู้รับทราบ แม้ว่ามันจะไม่เปิดเผยคีย์ส่วนตัวโดยตรง แต่ก็จะขจัดความเป็นส่วนตัวทางการเงินของคุณ การแชร์ xprv เทียบเท่ากับการแชร์คีย์ส่วนตัวทั้งหมดในกระเป๋า
กระเป๋าคีย์เดียวเทียบกับ HD
กระเป๋าที่เก่ากว่า (ก่อน BIP-32) สร้างคีย์ส่วนตัวแต่ละตัวอย่างอิสระ ต้องการสำเนาสำรองแยกต่างหากสำหรับแต่ละคีย์ หากคุณสร้างที่อยู่รับใหม่และสำเนาสำรองของคุณล้าสมัย การสูญหายของไฟล์กระเป๋าหมายถึงการสูญหายเงินที่ส่งไปที่ที่อยู่ใหม่
กระเป๋า HD แก้ปัญหานี้โดยการได้คีย์ทั้งหมดจากฟราส์เซ็ด เดียว สำเนาสำรองเดียวของฟราส์เซ็ดปกป้องที่อยู่ปัจจุบันและอนาคตทั้งหมด นี่คือเหตุผลที่ฟราส์เซ็ดกลายเป็นกลไกการสำรองข้อมูลมาตรฐาน
วิธีการที่คีย์ส่วนตัวสามารถบุกรุกได้
การทำความเข้าใจภูมิประเทศภัยคุกคามเป็นสิ่งสำคัญสำหรับการปกป้องคีย์ของคุณ
มัลแวร์และ Keyloggers
Trojan keyloggers และ clipboard hijackers เป็นเวกเตอร์การโจมตีที่พบได้บ่อยที่สุด มัลแวร์สามารถ:
- บันทึกทุกการกดคีย์ขณะคุณพิมพ์คีย์ส่วนตัวหรือฟราส์เซ็ด
- ตรวจสอบคลิปบอร์ดสำหรับสตริงเลขฐานสิบหกหรือลำดับคำ BIP-39
- ถ่ายภาพหน้าจออย่างต่อเนื่องหรือเมื่อใช้งานแอปพลิเคชันที่เฉพาะเจาะจง
- สแกนระบบไฟล์สำหรับไฟล์กระเป๋า keystores และไฟล์ข้อความที่มีวัสดุคีย์
การบรรเทา: ใช้ฮาร์ดแวร์กระเป๋าที่เก็บคีย์บนองค์ประกอบความปลอดภัยเฉพาะ ไม่ต้องป้อนคีย์ส่วนตัวหรือฟราส์เซ็ดบนคอมพิวเตอร์ทั่วไปที่เชื่อมต่อกับอินเทอร์เน็ต
การโจมตีแบบฟิชชิ่ง
แอปพลิเคชัน เบราว์เซอร์ส่วนขยาย และเว็บไซต์กระเป๋าเทียมเลียนแบบเครื่องมือที่ชอบด้วยกฎหมายเพื่อหลอกผู้ใช้ให้ป้อนคีย์ส่วนตัวของพวกเขา ดูคู่มือป้องกันฟิชชิ่ง ของเราเพื่อรับมาตรการตอบโต้โดยละเอียด
การโจมตีห่วงโซ่อุปทาน
ซอฟต์แวร์กระเป๋าที่ถูกบุกรุก — ไม่ว่าจะผ่านการอัปเดตที่อันตราย ดาวน์โหลดที่ถูกเปลี่ยนแปลง หรือนักพัฒนาที่ไม่ซื่อสัตย์ — สามารถดึงคีย์ส่วนตัวออกไป กลยุทธ์การบรรเทาได้แก่:
- การตรวจสอบลายเซ็นซอฟต์แวร์และเช็กซัมก่อนการติดตั้ง
- ใช้กระเป๋าโอเพนซอร์สที่มีบิลด์ที่สามารถสร้างใหม่ได้
- ดาวน์โหลดซอฟต์แวร์กระเป๋าเฉพาะจากแหล่งที่มาอย่างเป็นทางการ
การโจรกรรมทางกายภาพ
หากมีคนได้รับการเข้าถึงทางกายภาพไปยังฮาร์ดแวร์กระเป๋า ฟราส์เซ็ดสำรอง หรือไฟล์กระเป๋าที่ไม่ได้เข้ารหัส พวกเขาอาจสามารถสกัดคีย์ส่วนตัว ฮาร์ดแวร์กระเป๋าที่มีการป้องกัน PIN และองค์ประกอบความปลอดภัยบรรเทา แต่ฟราส์เซ็ดสำรองที่ถูกขโมยเป็นการบุกรุกทันที
ความเป็นแบบสุ่มที่อ่อนแอในการสร้างตัวเลข
หากเครื่องกำเนิดตัวเลขแบบสุ่มที่ใช้ในการสร้างคีย์มีข้อบกพร่อง มีความลำเอียง หรือคาดการณ์ได้ คีย์ส่วนตัวที่ได้อาจเดาได้ สิ่งนี้เกิดขึ้นในทางปฏิบัติ — "blockchain bandit" ใช้ประโยชน์จากกระเป๋าที่สร้างขึ้นด้วยเอนโทรปีที่อ่อนแอ โดยปัดเงินจากคีย์ที่มีค่า entropy ต่ำ
ดูคู่มือเอนโทรปีและการสุ่ม ของเราสำหรับคำอธิบายเชิงลึก
###วิศวกรรมสังคม
ผู้โจมตีอาจแอบแนวหน้าเป็นพนักงานสนับสนุนกระเป๋า พนักงานแลกเปลี่ยน หรือสมาชิกชุมชนที่เชื่อถือได้เพื่อโน้มน้าวให้คุณเปิดเผยคีย์ส่วนตัวหรือฟราส์เซ็ด ดูคู่มือวิศวกรรมสังคม ของเรา
แนวปฏิบัติที่ดีที่สุดสำหรับความปลอดภัยคีย์ส่วนตัว
1. ใช้ฮาร์ดแวร์กระเป๋า
ฮาร์ดแวร์กระเป๋า (Ledger, Trezor, Coldcard และอื่นๆ) เก็บคีย์ส่วนตัวบนชิปเฉพาะที่ไม่เปิดเผยต่อคอมพิวเตอร์โฮสต์ ธุรกรรมลงนามบนอุปกรณ์ และมีเพียงธุรกรรมที่ลงนาม (ไม่ใช่คีย์) ที่ส่งไปยังคอมพิวเตอร์ นี่ให้การป้องกันที่แข็งแกร่งแม้ว่าคอมพิวเตอร์จะถูกบุกรุก
2. สร้างคีย์แบบออฟไลน์
เพื่อความปลอดภัยสูงสุด สร้างคีย์บนอุปกรณ์ที่ไม่เคยและจะไม่เชื่อมต่ออินเทอร์เน็ต คู่มือสร้างคีย์แบบออฟไลน์ ของเราให้บทช่วยสอนที่สมบูรณ์
ใช้**เครื่องมือการสร้างคีย์ SafeSeed**เพื่อสำรวจวิธีการสร้างคีย์ส่วนตัว คีย์สาธารณะ และที่อยู่จากฟราส์เซ็ด เครื่องมือทำงานทั้งหมดในเบราว์เซอร์ของคุณ เพื่อความปลอดภัยสูงสุด ให้ตัดการเชื่อมต่ออินเทอร์เน็ตก่อนใช้
3. เข้ารหัสการเก็บคีย์
หากคุณต้องเก็บคีย์ส่วนตัวหรือไฟล์กระเป๋าแบบดิจิทัล ให้เข้ารหัสด้วยฟราส์เซ็ดที่แข็งแกร่ง ใช้เครื่องมือเข้ารหัสที่ก่อตั้งขึ้น (GPG, VeraCrypt) แทนวิธีการทั่วไป การเข้ารหัส AES-256 เป็นคำแนะนำมาตรฐาน
4. ลดการเปิดเผยคีย์
ทุกครั้งที่คีย์ส่วนตัวแสดง พิมพ์ คัดลอกไปยังคลิปบอร์ด หรือส่ง มันสร้างโอกาสสำหรับการดักจับ ลดเหตุการณ์เหล่านี้:
- หลีกเลี่ยงการส่งออกคีย์ส่วนตัวจากกระเป๋า
- อย่าคัดลอกและวางคีย์ส่วนตัว
- ล้างประวัติคลิปบอร์ดหลังจากการดำเนินการคีย์ใด ๆ
- ใช้ฟราส์เซ็ด BIP-39 สำหรับการสำรองข้อมูลแทนการส่งออกคีย์แต่ละรายการ
5. แยกที่เก็บข้อมูลร้อนและเย็น
แบ่งการถือครองของคุณระหว่าง "ร้อน" กระเป๋า (เชื่อมต่อกับอินเทอร์เน็ต ใช้สำหรับธุรกรรมรายวัน) และ "เย็น" กระเป๋า (แบบออฟไลน์ ใช้สำหรับการจัดเก็บระยะยาว) เก็บเพียงจำนวนเล็กน้อยในกระเป๋าร้อน — สิ่งที่คุณจะเก็บในกระเป๋าทางกายภาพเทียบกับที่เก็บเงินสด
6. ตรวจสอบความสมบูรณ์ของซอฟต์แวร์
ก่อนใช้ซอฟต์แวร์กระเป๋าใดๆ:
- ดาวน์โหลดจากเว็บไซต์อย่างเป็นทางการ (ตรวจสอบ URL อย่างรอบคอบ)
- ตรวจสอบลายเซ็นเข้ารหัสหรือเช็กซัมของไฟล์
- ตรวจสอบการตรวจสอบและการทบทวนความปลอดภัยของชุมชน
- สำหรับซอฟต์แวร์โอเพนซอร์ส สร้างจากแหล่งที่มาหากเป็นไปได้
7. ใช้ Multi-Signature ที่ไหนเป็นไปได้
กระเป๋า Multi-signature (multisig) ต้องใช้คีย์ M-of-N เพื่ออนุมัติธุรกรรม ตัวอย่างเช่น 2-of-3 multisig ต้องใช้คีย์ใดก็ได้สองใน สามใจ ซึ่งหมายความว่าไม่มีคีย์เดียวที่ถูกบุกรุกอาจส่งผลให้เสีย multisig เป็นที่แนะนำโดยเฉพาะสำหรับการจัดการบนักษณ์
ข้อมูลอ้างอิงรูปแบบคีย์ส่วนตัว
| รูปแบบ | คำนำหน้า | ความยาว | การเข้ารหัส | การใช้ |
|---|---|---|---|---|
| Raw Hex | — | 64 อักขระ | เลขฐานสิบหก | ภายในและพัฒนา |
| WIF (ไม่ได้บีบอัด) | 5 | 51 อักขระ | Base58Check | Bitcoin Legacy |
| WIF (บีบอัด) | K หรือ L | 52 อักขระ | Base58Check | Bitcoin สมัยใหม่ |
| Extended Private (xprv) | xprv | 111 อักขระ | Base58Check | กระเป๋า HD (BIP-32) |
| Mini Private Key | S | 30 อักขระ | Base58 | เหรียญทางกายภาพ (หายาก) |
คีย์ส่วนตัวสำหรับคริปโตเคอร์เรนซีที่แตกต่างกัน
แม้ว่าหลักการเข้ารหัสพื้นฐานจะถูกแชร์ บล็อกเชนที่แตกต่างกันอาจใช้เส้นโค้ง ส่วนการสร้างคีย์ หรือรูปแบบที่อยู่ที่แตกต่างกัน:
- Bitcoin (BTC): secp256k1, ECDSA และ Schnorr, BIP-44 path
m/44'/0'/0', หลายรูปแบบ[