ข้ามไปยังเนื้อหาหลัก

คู่มือความปลอดภัยคีย์ส่วนตัว: การปกป้องคริปโตของคุณ

ทุกธุรกรรมคริปโตเคอร์เรนซีที่คุณเคยเห็นบนบล็อกเชนใดๆ ได้รับการอนุมัติโดยคีย์ส่วนตัว มันเป็นความลับเข้ารหัสพื้นฐานที่พิสูจน์ความเป็นเจ้าของและให้สิทธิในการใช้จ่าย หากใครได้คีย์ส่วนตัวของคุณ พวกเขาจะควบคุมเงินของคุณ หากคุณสูญหายโดยไม่มีสำเนาสำรอง เงินของคุณจะหายไปอย่างถาวร

คู่มือนี้ให้การตรวจสอบที่ครอบคลุมว่าคีย์ส่วนตัวคืออะไร วิธีที่พวกเขาเกี่ยวข้องกับคีย์สาธารณะและที่อยู่ หลักการเข้ารหัสที่ทำให้พวกเขาปลอดภัย และขั้นตอนที่ปฏิบัติได้เพื่อปกป้องพวกเขา

คีย์ส่วนตัวคืออะไร?

คีย์ส่วนตัวคือตัวเลข 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 ด้วยคีย์ส่วนตัวของคุณ (การคูณแบบสเกลาร์บนเส้นโค้ง) จะสร้างคีย์สาธารณะของคุณ — จุดบนเส้นโค้ง การดำเนินการนี้ง่ายในทางเดียว แต่ไม่สามารถย้อนกลับได้ (ปัญหาลอการิทึมแยกส่วนเส้นโค้งวงรี)

ลายเซ็นดิจิทัล

เมื่อคุณส่งธุรกรรมคริปโตเคอร์เรนซี กระเป๋าของคุณ:

  1. สร้างข้อมูลธุรกรรม (ผู้รับ จำนวน ค่าธรรมเนียม)
  2. แฮชธุรกรรมเพื่อสร้างไดเจสต์ที่มีความยาวคงที่
  3. ลงนามไดเจสต์โดยใช้คีย์ส่วนตัวของคุณและอัลกอริทึม ECDSA เพื่อสร้างลายเซ็น
  4. ออกอากาศธุรกรรมและลายเซ็นไปยังเครือข่าย

โหนดใดๆ บนเครือข่ายสามารถตรวจสอบว่าลายเซ็นถูกสร้างโดยผู้ถือคีย์ส่วนตัวที่สอดคล้องกับคีย์สาธารณะ โดยไม่ต้องเรียนรู้คีย์ส่วนตัว นี่คือแก่นของการตรวจสอบแบบไม่มีการไว้วางใจ

ขนาดคีย์และระดับความปลอดภัย

คีย์ส่วนตัว 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

ใช้**เครื่องมือการสร้างคีย์ 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 Hex64 อักขระเลขฐานสิบหกภายในและพัฒนา
WIF (ไม่ได้บีบอัด)551 อักขระBase58CheckBitcoin Legacy
WIF (บีบอัด)K หรือ L52 อักขระBase58CheckBitcoin สมัยใหม่
Extended Private (xprv)xprv111 อักขระBase58Checkกระเป๋า HD (BIP-32)
Mini Private KeyS30 อักขระBase58เหรียญทางกายภาพ (หายาก)

คีย์ส่วนตัวสำหรับคริปโตเคอร์เรนซีที่แตกต่างกัน

แม้ว่าหลักการเข้ารหัสพื้นฐานจะถูกแชร์ บล็อกเชนที่แตกต่างกันอาจใช้เส้นโค้ง ส่วนการสร้างคีย์ หรือรูปแบบที่อยู่ที่แตกต่างกัน:

  • Bitcoin (BTC): secp256k1, ECDSA และ Schnorr, BIP-44 path m/44'/0'/0', หลายรูปแบบ[