0Pricing
Cryptology Academy · บทเรียน

ปัญหาการแบ่งปันความลับ

ทำความเข้าใจว่าเหตุใดการแบ่งความลับแบบง่าย ๆ จึงไม่ปลอดภัย

ปัญหาการแบ่งปันความลับ เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

ปัญหา

คุณมีกุญแจหลักที่ต้องคงอยู่ สามารถเข้าถึงได้ในกรณีฉุกเฉิน แต่ต้องไม่ถูกบุคคลใดบุคคลหนึ่งทำให้ตกอยู่ในอันตราย คุณจะจัดเก็บกุญแจนี้อย่างไร การมอบกุญแจเต็มดอกให้หลายคนหมายความว่าใครคนใดคนหนึ่งก็สามารถนำไปใช้ในทางที่ผิดได้ การเก็บสำเนาไว้เพียงชุดเดียวทำให้เกิดจุดล้มเหลวเพียงจุดเดียว

การแบ่งแบบง่าย ๆ ใช้ไม่ได้

การแบ่งกุญแจขนาด 128 บิตเป็นครึ่งละ 64 บิต แล้วมอบให้คนสองคนละส่วนดูเหมือนเป็นวิธีที่ฉลาด แต่ไม่ปลอดภัย เพราะแต่ละส่วนลดต้นทุนการเดาจาก 2^128 เหลือ 2^64 ผู้โจมตีที่เข้าควบคุมคนหนึ่งคนได้จะมีความได้เปรียบในการเดา 64 บิต

คุณสมบัติที่ต้องการ

รูปแบบการแบ่งปันคีย์ลับที่เหมาะสมต้องมีคุณสมบัติดังนี้: (1) เกณฑ์: ส่วนแบ่งจำนวน k จาก n ใด ๆ สามารถกู้คืนคีย์ลับได้ (2) ความปลอดภัย: ส่วนแบ่งจำนวน (k-1) ใด ๆ ไม่เปิดเผยข้อมูลเกี่ยวกับคีย์ลับเลย (3) สมบูรณ์แบบ: ไม่ต้องอาศัยสมมติฐานด้านการคำนวณ

แรงจูงใจจากการใช้งานจริง

กระเป๋าเงิน Bitcoin กุญแจหลักของ HSM กุญแจส่วนตัวของผู้ออกใบรับรอง รหัสยิงอาวุธนิวเคลียร์ และกระเป๋าเงินเย็นของตลาดแลกเปลี่ยนคริปโตเคอร์เรนซี ล้วนต้องการการเข้าถึงตามเกณฑ์ การสูญเสียกุญแจเพียงดอกเดียว = หายนะ การถูกบุคคลภายในคนหนึ่งทำให้ตกอยู่ในอันตราย = หายนะเช่นกัน

การแบ่งปันแบบ 2-จาก-2 โดยใช้ XOR

หากต้องการแบ่งปันคีย์ลับ S ระหว่างสองฝ่าย ให้สุ่มสร้าง R มอบ share1=R ให้ฝ่ายที่ 1 และมอบ share2=S XOR R ให้ฝ่ายที่ 2 เมื่อต้องการกู้คืน: share1 XOR share2 = R XOR (S XOR R) = S แต่ละส่วนแบ่งเพียงลำพังมีค่าที่สุ่มอย่างสมบูรณ์แบบ จึงไม่เปิดเผยข้อมูลเกี่ยวกับ S

ข้อจำกัดของการแบ่งปันด้วย XOR

การแบ่งปันด้วย XOR เป็นแบบ 2-จาก-2 ที่สมบูรณ์แบบ แต่ไม่สามารถขยายไปเป็นรูปแบบเกณฑ์ k จาก n ได้ คุณไม่สามารถสร้างรูปแบบ 3-จาก-5 ที่ส่วนแบ่ง 3 ส่วนใด ๆ กู้คืนคีย์ลับได้ แต่ส่วนแบ่ง 2 ส่วนใด ๆ ไม่เปิดเผยข้อมูลเลย การอินเตอร์โพเลชันของพหุนามช่วยแก้ปัญหานี้

ความปลอดภัยเชิงสารสนเทศ

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

การประยุกต์ใช้จริง

AWS CloudHSM ใช้การยืนยันตัวตนแบบองค์ประชุม M-of-N การฝากกุญแจ PGP แบ่งกุญแจหลักออกเป็นส่วน ๆ ผู้ให้บริการดูแลทรัพย์สินคริปโตเคอร์เรนซี (Fireblocks, BitGo) ใช้ MPC หรือการแบ่งปันแบบ Shamir สำหรับกุญแจกระเป๋าเงินร้อน กุญแจออฟไลน์ของผู้ออกใบรับรองใช้พิธีการแบบ 5-จาก-7

การออกแบบพิธีการ

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

การเข้าถึงตามเกณฑ์เทียบกับลายเซ็นหลายฝ่าย

การแบ่งปันคีย์ลับจะกู้คืนคีย์ลับเต็มดอก (ความเสี่ยง: เกิดจุดล้มเหลวเพียงจุดเดียวขณะกู้คืน) ส่วนลายเซ็นหลายฝ่ายจะแจกจ่ายการลงลายเซ็น โดยแต่ละฝ่ายลงลายเซ็นแยกกันแล้วนำลายเซ็นมารวมกัน ลายเซ็นตามเกณฑ์ (TSS) คือการนำการแบ่งปันคีย์ลับมาใช้กับการดำเนินการลงลายเซ็นโดยตรง

ทางเลือกสมัยใหม่

การคำนวณแบบหลายฝ่ายที่ปลอดภัย (MPC) ขจัดขั้นตอนการกู้คืนออกทั้งหมด โดยให้ฝ่ายต่าง ๆ คำนวณร่วมกันจากส่วนแบ่งของตนโดยไม่เปิดเผยคีย์ลับ ลายเซ็น ECDSA ตามเกณฑ์และลายเซ็น BLS ตามเกณฑ์ถูกนำไปใช้งานจริงในระบบดูแลทรัพย์สิน

ตรวจสอบความเข้าใจ

ในรูปแบบการแบ่งปันคีย์ลับด้วย XOR แบบ 2-จาก-2 ผู้โจมตีต้องมีส่วนแบ่งกี่ส่วนจึงจะเรียนรู้คีย์ลับได้

สรุปทบทวน

การแบ่งกุญแจแบบง่าย ๆ ไม่ปลอดภัย การแบ่งปันคีย์ลับที่เหมาะสมต้องมีการเข้าถึงตามเกณฑ์พร้อมความลับสมบูรณ์ XOR รองรับแบบ 2-จาก-2 ส่วนการอินเตอร์โพเลชันของพหุนามรองรับแบบ k จาก n ต่อไป: คณิตศาสตร์การแบ่งปันคีย์ลับของ Shamir

คำถามที่พบบ่อย

บทเรียน “ปัญหาการแบ่งปันความลับ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ปัญหาการแบ่งปันความลับ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ปัญหาการแบ่งปันความลับ”

ทำความเข้าใจว่าเหตุใดการแบ่งความลับแบบง่าย ๆ จึงไม่ปลอดภัย คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ปัญหาการแบ่งปันความลับ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ปัญหาการแบ่งปันความลับ
  2. การแบ่งปันความลับของ Shamir: คณิตศาสตร์พหุนาม
  3. การแบ่งปันความลับเชิงภาพและรูปแบบการแบ่งปันแบบบวก
  4. ลายมือชื่อแบบเกณฑ์และกรณีการใช้งานจริง
← กลับไปที่ Cryptology Academy