0Pricing
Security+ Academy · บทเรียน

การเข้ารหัสหลังยุคควอนตัม: CRYSTALS-Kyber และ Dilithium

สำรวจอัลกอริทึมหลังยุคควอนตัมที่ NIST คัดเลือก ทำความเข้าใจปัญหาโครงข่ายที่อัลกอริทึมเหล่านี้อาศัย และประเมินความท้าทายในการย้ายโครงสร้างพื้นฐาน PKI เดิม

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

ภัยคุกคามจากการประมวลผลควอนตัม

การเข้ารหัสด้วยกุญแจสาธารณะในปัจจุบัน — RSA, ECC และดิฟฟี–เฮลล์แมน — อาศัยปัญหาทางคณิตศาสตร์ที่คอมพิวเตอร์แบบดั้งเดิมไม่สามารถคำนวณได้ในทางปฏิบัติ ความปลอดภัยของ RSA ตั้งอยู่บนความยากในการแยกตัวประกอบจำนวนเต็มขนาดใหญ่ ส่วน ความปลอดภัยของ ECC ตั้งอยู่บนปัญหาลอการิทึมไม่ต่อเนื่องบนเส้นโค้งวงรี คอมพิวเตอร์ควอนตัม ที่มีประสิทธิภาพเพียงพอและใช้งาน อัลกอริทึมของ Shor สามารถแก้ปัญหาทั้งสองได้ในเวลาแบบพหุนาม ซึ่งเท่ากับทำลายการเข้ารหัสด้วยกุญแจสาธารณะที่ใช้งานอย่างแพร่หลายทั้งหมด แม้ปัจจุบันจะยังไม่มีคอมพิวเตอร์ควอนตัมเช่นนั้น แต่ภัยคุกคามนี้ได้รับการพิจารณาอย่างจริงจังมากพอที่ NIST จะเริ่มกำหนดมาตรฐานทางเลือกที่ต้านทานควอนตัมในปี 2016

การโจมตีแบบเก็บข้อมูลไว้ก่อน ถอดรหัสภายหลัง

ผู้โจมตีระดับรัฐชาติอาจกำลังเก็บรวบรวมข้อมูลการสื่อสารทางอินเทอร์เน็ตที่เข้ารหัสอยู่ในปัจจุบัน โดยตั้งใจจะถอดรหัสเมื่อคอมพิวเตอร์ควอนตัมพร้อมใช้งาน — กลยุทธ์นี้เรียกว่า 'เก็บข้อมูลไว้ก่อน ถอดรหัสภายหลัง' หรือ SNDL (Store Now, Decrypt Later) ข้อมูลที่มีความอ่อนไหวในระยะยาว เช่น ความลับของรัฐบาลที่จัดชั้นความลับ บันทึกทางการเงิน และข้อมูลทางการแพทย์ มีความเสี่ยงเป็นพิเศษ เพราะอาจยังคงเป็นข้อมูลอ่อนไหวเมื่อคอมพิวเตอร์ควอนตัมมาถึง นี่คือเหตุผลที่องค์กรต่าง ๆ ได้รับคำแนะนำให้ย้ายไปใช้ การเข้ารหัสหลังยุคควอนตัม (PQC) ก่อนที่จะมีคอมพิวเตอร์ควอนตัม ไม่ใช่หลังจากนั้น เนื่องจากการเปลี่ยนผ่านมีความซับซ้อนและใช้เวลานาน

อัลกอริทึมของ Grover และการเข้ารหัสแบบสมมาตร

สิ่งสำคัญคือต้องแยกแยะภัยคุกคามจากควอนตัมที่มีต่อประเภทของอัลกอริทึมต่าง ๆ อัลกอริทึมของ Shor ทำลายการเข้ารหัสแบบอสมมาตรของ RSA และ ECC ส่วน อัลกอริทึมของ Grover ช่วยเร่งการค้นหาเป็นกำลังสอง ทำให้ความยาวกุญแจที่มีผลของรหัสลับแบบสมมาตรและฟังก์ชันแฮชลดลงครึ่งหนึ่ง นั่นหมายความว่า AES-128 มีความปลอดภัยเพียง 64 บิตเมื่อเผชิญกับผู้โจมตีที่ใช้ควอนตัม ซึ่งไม่เพียงพอ ขณะที่ AES-256 ยังคงให้ความปลอดภัยหลังยุคควอนตัม 128 บิต ซึ่งถือว่ายอมรับได้ SHA-256 ก็มีระดับความปลอดภัยลดลงครึ่งหนึ่งในทำนองเดียวกัน แต่ SHA-256 ยังคงเพียงพอ ส่วน SHA-384 และ SHA-512 ได้รับคำแนะนำสำหรับความปลอดภัยในระยะยาวยิ่งขึ้น

กระบวนการกำหนดมาตรฐาน PQC ของ NIST

ในปี 2016 NIST ได้เปิดการแข่งขันเพื่อคัดเลือก อัลกอริทึมการเข้ารหัสหลังยุคควอนตัม และได้รับข้อเสนอ 82 รายการ หลังผ่านการประเมินหลายรอบ NIST ได้สรุปมาตรฐาน PQC ชุดแรกในปี 2024 ได้แก่ FIPS 203 (ML-KEM จาก CRYSTALS-Kyber) สำหรับการห่อหุ้มกุญแจ, FIPS 204 (ML-DSA จาก CRYSTALS-Dilithium) สำหรับลายเซ็นดิจิทัล และ FIPS 205 (SLH-DSA จาก SPHINCS+) เป็นทางเลือกของลายเซ็นที่อาศัยแฮช อัลกอริทึมเหล่านี้ต้านทานการโจมตีจากทั้งคอมพิวเตอร์แบบดั้งเดิมและคอมพิวเตอร์ควอนตัม และมีเป้าหมายเพื่อทดแทน RSA และ ECDSA ในระบบ PKI

พื้นฐานการเข้ารหัสที่อาศัยโครงตาข่าย

ทั้ง CRYSTALS-Kyber และ CRYSTALS-Dilithium เป็น รูปแบบการเข้ารหัสที่อาศัยโครงตาข่าย โครงตาข่ายคือกริดของจุดที่เรียงตัวอย่างเป็นระเบียบในปริภูมิหลายมิติ ปัญหายากที่อยู่เบื้องหลังอัลกอริทึมทั้งสองคือปัญหา Learning With Errors (LWE) ซึ่งกำหนดชุดสมการเชิงเส้นที่มีข้อผิดพลาดสุ่มขนาดเล็กเพิ่มเติมเข้ามา แล้วให้ค้นหาค่าลับที่อยู่เบื้องหลัง ยังไม่มีอัลกอริทึมควอนตัมที่เป็นที่รู้จักว่าสามารถแก้ LWE ได้อย่างมีประสิทธิภาพ รูปแบบ Module-LWE (MLWE) ที่ใช้ใน CRYSTALS ให้สมดุลที่ดีระหว่างระดับความปลอดภัยกับขนาดกุญแจและข้อความเข้ารหัส

CRYSTALS-Kyber: การห่อหุ้มกุญแจ

CRYSTALS-Kyber (ปัจจุบันคือ ML-KEM) คือ กลไกการห่อหุ้มกุญแจ (KEM) ซึ่งช่วยให้สองฝ่ายสร้างความลับร่วมกันผ่านช่องทางที่ไม่ปลอดภัย และใช้ทดแทนการแลกเปลี่ยนกุญแจด้วยดิฟฟี–เฮลล์แมนและ RSA Kyber สร้างคู่กุญแจสาธารณะและกุญแจส่วนตัว ผู้ส่งห่อหุ้มกุญแจเซสชันแบบสุ่มโดยใช้กุญแจสาธารณะของผู้รับ ส่วนผู้รับจะคลายการห่อหุ้มโดยใช้กุญแจส่วนตัวของตน Kyber-768 (ระดับความปลอดภัย 3 ของ NIST ซึ่งเทียบได้โดยประมาณกับ AES-192) มีกุญแจสาธารณะขนาดประมาณ 1,184 ไบต์ และข้อความเข้ารหัสขนาดประมาณ 1,088 ไบต์ ซึ่งใหญ่กว่ากุญแจ RSA-2048 ขนาด 256 ไบต์มาก

CRYSTALS-Dilithium: ลายเซ็นดิจิทัล

CRYSTALS-Dilithium (ปัจจุบันคือ ML-DSA) คือ อัลกอริทึมลายเซ็นดิจิทัล ที่ใช้ทดแทนลายเซ็น ECDSA และ RSA อัลกอริทึมนี้สร้างลายเซ็นด้วยคณิตศาสตร์ของโครงตาข่าย และตรวจสอบได้อย่างมีประสิทธิภาพ Dilithium3 (ระดับความปลอดภัย 3) สร้างลายเซ็นขนาดประมาณ 3,293 ไบต์ ซึ่งใหญ่กว่าลายเซ็น ECDSA ขนาด 64 ไบต์อย่างมาก ขนาดที่เพิ่มขึ้นนี้เป็นความท้าทายหลักในการย้ายระบบ PKI ที่มีใบรับรองจำนวนมาก แม้จะมีขนาดใหญ่ แต่ Dilithium ก็สร้างและตรวจสอบลายเซ็นได้อย่างรวดเร็วบนฮาร์ดแวร์มาตรฐาน และต้านทานการโจมตีด้วยควอนตัมที่เป็นที่รู้จักทั้งหมด

SPHINCS+: ลายเซ็นที่อาศัยแฮช

SPHINCS+ (ปัจจุบันคือ SLH-DSA) คือ รูปแบบลายเซ็นที่อาศัยแฮชแบบไร้สถานะ ซึ่ง NIST เลือกให้เป็นทางเลือกแทน Dilithium ความปลอดภัยของรูปแบบนี้อาศัยเพียงความปลอดภัยของฟังก์ชันแฮชพื้นฐาน (SHA-256 หรือ SHAKE) จึงมีแนวทางที่ระมัดระวังอย่างยิ่ง — หากคณิตศาสตร์ของโครงตาข่ายถูกทำลายได้ด้วยเหตุใดก็ตาม SPHINCS+ ก็ยังคงปลอดภัย ข้อแลกเปลี่ยนคือขนาดลายเซ็น โดยลายเซ็น SPHINCS+ มีขนาดตั้งแต่ 8KB ถึง 50KB ขึ้นอยู่กับชุดพารามิเตอร์ ทำให้ไม่เหมาะสำหรับใบรับรอง TLS แต่เหมาะอย่างยิ่งสำหรับการลงนามโค้ด ซึ่งขนาดลายเซ็นมีความสำคัญน้อยกว่า

การเข้ารหัสแบบผสม: กลยุทธ์การเปลี่ยนผ่าน

กลยุทธ์การย้ายระบบที่แนะนำคือ การเข้ารหัสแบบผสม ซึ่งเป็นการรวมอัลกอริทึมแบบดั้งเดิมเข้ากับอัลกอริทึมหลังยุคควอนตัม เพื่อให้การเชื่อมต่อยังคงปลอดภัยตราบใดที่อัลกอริทึมใดอัลกอริทึมหนึ่งยังไม่ถูกทำลาย ตัวอย่างเช่น X25519 + Kyber-768 สำหรับการแลกเปลี่ยนกุญแจ หมายความว่าผู้โจมตีจะต้องทำลายทั้ง ECDH และ Kyber จึงจะถอดรหัสการสื่อสารได้ แนวทางนี้กำลังถูกนำไปใช้งานแล้ว โดยเบราว์เซอร์ Chrome ของ Google เพิ่มการรองรับการแลกเปลี่ยนกุญแจแบบผสม X25519Kyber768 สำหรับ TLS 1.3 ในปี 2023 และ Apple ก็เพิ่มการรองรับนี้ใน iMessage เช่นกัน แนวทางแบบผสมช่วยให้เปลี่ยนผ่านได้อย่างราบรื่นโดยไม่ต้องเปลี่ยนระบบทั้งหมดในคราวเดียว

ความท้าทายในการย้ายระบบ PKI

การย้ายระบบ PKI ไปใช้อัลกอริทึมหลังยุคควอนตัมมีความซับซ้อนอย่างมาก: ขนาดใบรับรอง เพิ่มขึ้นอย่างมีนัยสำคัญ ส่งผลต่อขนาดและประสิทธิภาพของการจับมือ TLS; โมดูลความปลอดภัยฮาร์ดแวร์ (HSM) ต้องได้รับการปรับปรุงหรือเปลี่ยนใหม่เพื่อรองรับอัลกอริทึมใหม่; โครงสร้างพื้นฐานสำหรับการลงนามโค้ด และหน่วยงานออกใบรับรองต้องได้รับการปรับปรุง; และ อุปกรณ์ IoT ที่มีหน่วยความจำจำกัดอาจไม่รองรับกุญแจหลังยุคควอนตัมที่มีขนาดใหญ่ขึ้น องค์กรควรเริ่มทำ บัญชีรายการการเข้ารหัส — จัดทำรายการสถานที่ทั้งหมดที่มีการใช้ RSA และ ECC — ซึ่งเป็นขั้นตอนแรกของแผนย้ายระบบ PQC

ความคล่องตัวด้านการเข้ารหัส: การเตรียมระบบให้พร้อมสำหรับอนาคต

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

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความเข้าใจแนวคิด CompTIA Security+ (SY0-701) จากบทเรียนนี้

สรุปบทเรียน

ในบทเรียนนี้ คุณได้เรียนรู้ว่า อัลกอริทึมของ Shor เป็นภัยคุกคามต่อ RSA และ ECC ขณะที่อัลกอริทึมของ Grover ลดความปลอดภัยของกุญแจแบบสมมาตรลงเพียงครึ่งหนึ่ง ทำให้ AES-256 และ SHA-384 ยังคงใช้งานได้ในยุคหลังควอนตัม, CRYSTALS-Kyber (ML-KEM) ใช้ทดแทนการแลกเปลี่ยนกุญแจ และ CRYSTALS-Dilithium (ML-DSA) ใช้ทดแทนลายเซ็นดิจิทัลในฐานะมาตรฐานหลังยุคควอนตัมที่ NIST เลือก และ การเข้ารหัสแบบผสมที่รวมอัลกอริทึมแบบดั้งเดิมกับอัลกอริทึม PQC คือกลยุทธ์การย้ายระบบที่แนะนำระหว่างดำเนินการเปลี่ยนผ่าน ต่อไปเราจะศึกษาเรื่องพื้นฐานความปลอดภัยของคอนเทนเนอร์สำหรับสภาพแวดล้อมแบบคลาวด์เนทีฟ

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

บทเรียน “การเข้ารหัสหลังยุคควอนตัม: CRYSTALS-Kyber และ Dilithium” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การเข้ารหัสหลังยุคควอนตัม: CRYSTALS-Kyber และ Dilithium”

สำรวจอัลกอริทึมหลังยุคควอนตัมที่ NIST คัดเลือก ทำความเข้าใจปัญหาโครงข่ายที่อัลกอริทึมเหล่านี้อาศัย และประเมินความท้าทายในการย้ายโครงสร้างพื้นฐาน PKI เดิม คุณปฏิบัติ Security+ Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

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

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

บทเรียน “การเข้ารหัสหลังยุคควอนตัม: CRYSTALS-Kyber และ Dilithium” ใช้เวลานานแค่ไหน

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

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

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

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

  1. การจับมือ TLS 1.3 และการกลับมาใช้เซสชัน 0-RTT
  2. การเข้ารหัสที่ยืนยันตัวตน: AES-GCM และ ChaCha20-Poly1305
  3. ฟังก์ชันสร้างกุญแจ: PBKDF2, bcrypt และ Argon2
  4. การเข้ารหัสหลังยุคควอนตัม: CRYSTALS-Kyber และ Dilithium
← กลับไปที่ Security+ Academy