‹

11 · ความปลอดภัยและวิทยาการรหัสลับ

11 · ​ความปลอดภัย​และ​วิทยาการ​รหัสลับ

​บท​นี้​ไม่​ใช่​ชั้นหนึ่ง​ของ​หอคอย ​แต่​เป็น​ช่อง​บันได​ที่​เจาะ​ทะลุ​ทุก​ชั้น — ​ผู้​โจมตี​เข้าทาง​ชั้น​ไหน​ก็ได้​ที่​คุณ​ปล่อย​ไว้​ไม่​มี​คน​เฝ้า ​และ​ไม่​มี​ข้อผูกมัด​ใด​ที่จะ​ต้อง​ใช้​ประตู​ที่​คุณ​สร้าง​ไว้

​คนแปลกหน้า​สร้าง​ความไว้ใจ​กัน​ผ่าน​สาย​ได้​อย่างไร

​เดือน​พฤศจิกายน 1976 ​วารสาร IEEE Transactions on Information Theory ​ลง​เปเปอร์​ที่​เปิด​ด้วย​ประโยค​ที่​นักวิชาการ​แทบ​ไม่​ยอมให้​ตัวเอง​เขียน — "​วันนี้​เรา​กำลัง​ยืน​อยู่​บน​ขอบ​ของ​การปฏิวัติ​ทาง​วิทยาการ​รหัสลับ" (We stand today on the brink of a revolution in cryptography) (Diffie & Hellman, 1976) ​ปัญหา​ที่​มัน​คลี่คลาย​มีอายุ​นับ​พันปี ​และ​ไม่​ใช่​เรื่อง​ที่​รหัส​ถูก​ถอด​ได้​เรื่อยๆ ​มัน​คือ​ปัญหา​การส่งมอบ ​รหัสลับ​ทุก​แบบ​ใน​ประวัติศาสตร์ — ​ของ Caesar, ​ของ Mary Stuart, ​ของ Enigma — ​ต้องการ​ให้​ผู้ส่ง​กับ​ผู้รับ​ถือ​กุญแจ​ลับ (key) ​ร่วมกัน​อยู่​ก่อน​แล้ว ​ผ่าน​คน​เดินสาร ​ผ่าน​การนัด​พบ ​หรือ​ผ่าน​กระเป๋า​ที่​ล็อก​ไว้ ​การสับ​ข้อความ​ให้​อ่านไม่ออก​ไม่​เคย​เป็น​ส่วน​ที่​ยาก ​ส่วน​ที่​ยาก​คือ​ส่ง​กุญแจ​ไป​ถึง​ปลายทาง​โดย​ไม่​มี​ใคร​แตะต้อง ​และ​บน​เครือข่าย​ระดับ​ดาวเคราะห์​ที่​เต็มไปด้วย​คนแปลกหน้า​ที่จะ​ไม่​มี​วัน​เจอกัน ​เรื่อง​นี้​ดู​เป็นไปไม่ได้

​มัน​เป็นไปได้ ​คน​สอง​คน​ที่​ไม่​เคย​เจอกัน​ตะโกน​ข้าม​ห้อง​ที่​ทุกคน​ฟัง​อยู่​และ​จด​ทุก​คำ​ไว้ ​แล้ว​จบ​ลง​ด้วย​ตัวเลข​ร่วมกัน​ตัว​หนึ่ง​ที่​ไม่​มี​ผู้ฟัง​คน​ไหน​คำนวณ​ตาม​ได้

​ส่วน​ที่​แปลกที่​สุด​ของ​การปฏิวัติ​ครั้งนั้น​คือ​มัน​เกิดขึ้น​ไป​แล้ว​อย่าง​เงียบๆ ​ใน​รายงาน​เดือน​มกราคม 1970 James Ellis ​แห่ง GCHQ ​ของ​อังกฤษ ​เสนอ​ว่า "​การเข้ารหัส​แบบ​ไม่​ลับ" (non-secret encryption) ​เป็นไปได้ Clifford Cocks ​สร้างสคี​มา​ที่​ใช้งาน​ได้​จริง​ใน​ปี 1973 Malcolm Williamson ​สร้าง​อีก​แบบ​ใน​ปี 1974 ​ทั้งหมด​ถูก​จัด​ชั้น​เป็นความลับ GCHQ ​ปล่อย​เอกสาร​ออกมา​วันที่ 17 ​ธันวาคม 1997 ​หนึ่ง​วันก่อน Cocks ​ประกาศ​ต่อ​สาธารณะ — ​หนึ่ง​เดือน​หลัง Ellis ​เสียชีวิต​เมื่อ​วันที่ 25 ​พฤศจิกายน 1997 ​โดย​ไม่​เคย​ได้รับอนุญาต​ให้​พูดว่า​ตัวเอง​ทำ​อะไร​ไว้ (GCHQ)

​สมมติ​ว่า​ศัตรู​ถือ​พิมพ์เขียว​ของ​คุณ​อยู่​ใน​มือ​แล้ว ​ปี 1883 Auguste Kerckhoffs ​ตีพิมพ์​ข้อกำหนด​หก​ข้อ​สำหรับ​รหัสลับ​ภาคสนาม​ใน Journal des sciences militaires ​ห้า​ข้อ​เป็น​เฟอร์นิเจอร์​ของ​ยุค​นั้น ​ข้อ​ที่สอง​อยู่รอด​มา​ได้​นาน​กว่า​ทุก​ข้อ — ​ระบบ "​ต้อง​ไม่ต้อง​อาศัย​ความลับ ​และ​ต่อให้​ถูก​ศัตรู​ขโมย​ไป​ก็​ไม่​ก่อปัญหา" (must not require secrecy and can be stolen by the enemy without causing trouble) (Kerckhoffs, 1883) Claude Shannon ​เขียน​กฎ​ข้อ​นี้​ใหม่​ใน​เปเปอร์​ปี 1949 ​ที่​ทำให้​วิทยาการ​รหัสลับ​กลายเป็น​ศาสตร์​เชิง​คณิตศาสตร์ (Communication Theory of Secrecy Systems) ​และ​มาตรฐาน​ยุค​นี้​ก็​ยัง​พูดตรงๆ ​อย่างเดียวกัน — ​ความปลอดภัย "​ไม่​ควร​ขึ้นอยู่กับ​ความลับ​ของ​การนำ​ไป​ใช้งาน​จริง​หรือ​ส่วนประกอบ​ของ​มัน" (should not depend on the secrecy of the implementation or its components) (NIST SP 800-123) ​คน​คนเดียว​เปลี่ยน​กุญแจ​ใหม่​ได้​ใน​ไม่​กี่​วินาที ​ดีไซน์​ที่ซ่อน​ไว้​ใน​อุปกรณ์​นับ​ล้าน​เครื่อง​ที่​ส่งออก​ไป​แล้ว​เปลี่ยน​ไม่​ได้​เลย ​และ​อุปกรณ์​ถูก​ยึด​ไป​เครื่อง​เดียว​ก็​พอให้​มัน​กลายเป็น​ของ​สาธารณะ ​รวมความ​ลับ​ไว้​ที่​สิ่ง​ที่​เล็ก​ที่สุด​และ​เปลี่ยน​ง่าย​ที่สุด​เท่าที่​คุณ​มี ​สิ่ง​นั้น​คือ​กุญแจ

​ประตู​บาง​บาน​แกว่ง​ได้​ทางเดียว ​การคูณ​จำนวน​เฉพาะ​ขนาดใหญ่​สอง​ตัว​กินเวลา​โปรเซสเซอร์​สมัยใหม่​แค่​เศษ​เสี้ยว​มิล​ลิ​วินาที ​การย้อน​หา​จำนวน​เฉพาะ​สอง​ตัว​นั้น​จาก​ผลคูณ​ไม่​มี​วิธี​แบบ​คลาสสิก​วิธี​ใด​ที่​รู้จัก​กัน​แล้วเสร็จ​ได้​ใน​ช่วงชีวิต​ที่​ใช้ประโยชน์​ได้ ​วิทยาการ​รหัสลับ​อาศัย​อยู่​ใน​ช่องว่าง​แบบนี้ — ​คำนวณ​ไป​ข้างหน้า​ถูก ​ย้อนกลับ​แพง​จน​พัง ​ส่วน​ที่​ต้อง​พูดตรงๆ ​คือ​ไม่​มี​ใคร​พิสูจน์​ได้​ว่า​ฟังก์ชัน​ทางเดียว (one-way function) ​แบบนี้​มี​อยู่​จริง ​การมี​อยู่​ของ​มัน​จะ​บอกเป็นนัย​ว่า P ≠ NP ​ส่วน​นัย​กลับด้าน​นั้น​ไม่​มี​ใคร​รู้ ​ต่อให้​ตัดสิน​คำถาม​ชื่อดัง​ข้อ​นั้น​ได้ ​ก็​ยัง​ไม่​ได้​ตัดสิน​ข้อ​นี้ (status) ​การจ่าย​เงิน​ที่​เข้ารหัส​ทุกครั้ง​และ​การอัปเดต​ซอฟต์แวร์​ที่​เซ็น​กำกับ​ทุกครั้ง ​วาง​อยู่​บน​ข้อสันนิษฐาน​ที่​รอด​การโจมตี​มา​ห้าสิบ​ปี — ​นั่น​คือ​หลักฐาน ​ไม่​ใช่​บทพิสูจน์

​ความลับ​ตกลง​กัน​ใน​ที่แจ้ง​ได้ ​โครงสร้าง Diffie–Hellman ​คุ้ม​ที่จะ​ทำความเข้าใจ​สักครั้ง ​เพราะ​มัน​ให้ความรู้​สึก​เหมือน​กล​มายากล ​ทั้งที่​ไม่​ใช่ ​ทั้งสองฝ่าย​ตกลง​กัน​ใน​ที่แจ้ง​เรื่อง​จำนวน​เฉพาะ​ขนาดใหญ่​ตัว​หนึ่ง​กับ​เลข​ฐาน​ตัว​หนึ่ง ​แต่ละ​ฝ่าย​เลือก​เลขชี้กำลัง​ของ​ตัวเอง​เป็นการ​ส่วนตัว ​ยก​เลข​ฐาน​ขึ้น​เป็น​เลขชี้กำลัง​นั้น ​แล้ว​ตะโกน​ผลลัพธ์​ออก​ไป ​ต่อมา​แต่ละ​ฝ่าย​ยกตัว​เลขที่ ​อีก​ฝ่าย ​ตะโกน​ออกมา ​ขึ้น​เป็น​เลขชี้กำลัง​ส่วนตัว​ของ​ตัวเอง ​ทั้งคู่​ได้​ค่า​เดียวกัน ​เพราะ​การยกกำลัง​ไม่​สนใจ​ลำดับ ​คน​ดักฟัง​ถือ​ผลลัพธ์​สาธารณะ​ไว้​ทั้งสอง​ค่า​แต่​ไป​ต่อ​ไม่​ได้ ​เพราะ​การย้อน​หา​เลขชี้กำลัง​จาก​ผลลัพธ์​ของ​มัน — ​ลอการิทึม​ไม่​ต่อเนื่อง (discrete logarithm) — ​ก็​เป็น​ประตู​ทางเดียว​อีก​บาน​หนึ่ง ​สอง​ปี​ต่อมา Rivest, Shamir ​และ Adleman ​พลิก​ความไม่​สมมาตร​อัน​เดียวกัน​นี้​กลับด้าน (RSA, 1978) ​ไม่​ใช่​ซ่อน​ข้อความ ​แต่​เซ็น​กำกับ​มัน ​ให้​ใคร​ก็​ตรวจ​ได้​ว่า​ใคร​เขียน ​และ​ไม่​มี​ใคร​ปลอม​ได้ Diffie ​กับ Hellman ​ได้รับ​รางวัล Turing Award ​ประจำปี 2015 (ACM)

​การเข้ารหัส​เป็น​คำมั่น​แค่​ข้อ​เดียว​ใน​สาม​ข้อ ​และ​มัก​ไม่​ใช่​ข้อ​ที่​คุณ​ต้องการ ​ความลับ (confidentiality) ​คือ​ไม่​มี​ใคร​อื่น​อ่าน​มัน​ออก ​ความครบถ้วน (integrity) ​คือ​ไม่​มี​ใคร​แก้ไข​มัน​ระหว่างทาง ​การพิสูจน์​ตัวตน (authentication) ​คือ​มัน​มาจาก​คน​ที่​มัน​อ้างว่า​เป็น ​สาม​อย่างนี้​แยกจาก​กัน​ได้ ​และ​รูปแบบ​ความล้มเหลว​ก็​ไม่​หวือหวา ​ผู้​โจมตี​ที่​อ่าน ciphertext ​ของ​คุณ​ไม่​ออก ​ยัง​สลับ​บิต​ข้างใน​มัน​ได้ ​หรือ​เอา​ข้อความ​ที่​ถูกต้อง​ของ​เมื่อวาน​มา​เล่น​ซ้ำ​วันนี้ ​ความหายนะ​ของ​โพรโทคอล​ใน​โลก​จริง​ส่วนใหญ่​คือ​ความล้มเหลว​ด้าน integrity ​หรือ authentication ​ที่​สวม​เสื้อคลุม​เข้ารหัส​ไว้

​ออกแบบ​เพื่อ​รับมือ​ฝ่ายตรงข้าม ​ไม่​ใช่​เพื่อ​ผู้ใช้ ​ทุก​ชั้น​อื่น​ใน​หอคอย​นี้​ถาม​ว่า​ระบบ​ทำงาน​ได้​ไหม ​ชั้นนี้​ถาม​ว่า​เกิด​อะไร​ขึ้น​เมื่อ​มี​คน​ตั้งใจ​อยาก​ให้​มัน​ทำงาน​ไม่​ได้ — ​และ​เลือก​ได้​เอง​ว่า​จะ​ลงมือ​ที่​ชั้น​ไหน Saltzer ​กับ Schroeder ​วาง​วินัย​นี้​ไว้​ใน​ปี 1975 ​เป็นหลัก​การแปด​ข้อ​ที่​ยัง​ไม่ต้อง​แก้ — economy of mechanism, fail-safe defaults, complete mediation, open design, separation of privilege, least privilege, least common mechanism, psychological acceptability (Proc. IEEE 63(9)) ​ข้อ​ที่​ควร​พก​ติดตัว​คือ​สิทธิ์​น้อยที่สุด (least privilege) — ​แต่ละ​คอม​โพ​เนนต์​ได้​อำนาจ​พอดี​กับ​ที่​งาน​ของ​มัน​ต้อง​ใช้ ​ความเสียหาย​เมื่อ​ถูก​เจาะ​จึง​อยู่​แค่​จุด​เดียว Heartbleed ​เปิดเผย​เมื่อ​วันที่ 7 ​เมษายน 2014 ​คือ​การลืม​ตรวจ​ขอบเขต (bounds check) ​ใน OpenSSL ​ที่​ปล่อย​ให้​คนแปลกหน้า​คน​ไหน​ก็ได้​ขอ​ชิ้นส่วน​หน่วยความจำ​ของ​เซิร์ฟเวอร์​ไปดู (CISA) — ​ไม่​มี​รหัสลับ​ตัว​ไหน​ถูก​ถอด ​รอย​รั่ว​ต่ำ​ลง​ไป​สองชั้น​ดูด​ความลับ​ที่เก็บ​อยู่​ข้างบน​ออก​ไป​หมด ​นี่​คือ​กฎ​ว่าด้วย abstraction ​ที่​รั่ว​เสมอ​จาก​บท​ที่ 00 ​โดย​มี​ฝ่ายตรงข้าม​ยืน​อยู่​ตรง​รอยร้าว

​ชั้น​ที่​อ่อนแอ​ที่สุด​คือ​ชั้น​ที่​ทำ​จาก​คน ​หนอน Morris ​เมื่อ​วันที่ 2 ​พฤศจิกายน 1988 ​แพร่​ไป​ราว 6,000 ​เครื่อง ​จาก​เครื่อง​ที่​เชื่อมต่อ​อยู่​ราว 60,000 ​เครื่อง (FBI) — ​เป็นตัว​เลข​ประมาณการ ​และ​ยัง​ถูก​อ้าง​ใน​ฐานะ​ตัวเลข​ประมาณการ​อยู่​จน​วันนี้ ​สัดส่วน​นั้น​ไม่​ดีขึ้น​เลย ​รายงาน Data Breach Investigations Report ​ปี 2026 ​ของ Verizon ​ครอบคลุม​เหตุการณ์​ตั้งแต่​วันที่ 1 ​พฤศจิกายน 2024 ​ถึง 31 ​ตุลาคม 2025 ​พบ​ปัจจัย​จาก​มนุษย์​ใน 62% ​ของ​การรั่วไหล (DBIR) ​คณิตศาสตร์​ป้องกัน​สายส่ง​ได้ ​มัน​ไม่​ป้องกัน​คน​ที่​เหนื่อยล้า​ตอน​ใกล้​หมด​กะ

​นาฬิกา​เดิน​อยู่​บน​ทุกอย่าง​ที่ว่า​มา Peter Shor ​แสดง​ไว้​ใน​ปี 1994 ​ว่า​คอมพิวเตอร์​ควอนตัม​ที่​ใหญ่​พอ​จะ​แยกตัว​ประกอบ​จำนวนเต็ม​และ​คำนวณ​ลอการิทึม​ไม่​ต่อเนื่อง​ได้​อย่าง​มีประสิทธิภาพ — ​สลาย​ประตู​ทางเดียว​สอง​บาน​ที่​วิทยาการ​รหัสลับ​แบบ​กุญแจ​สาธารณะ (public-key) ​ยืน​อยู่​บน​นั้น​พอดี ​เครื่องแบบ​นั้น​ยัง​ไม่​มี​อยู่​จริง (​บท​ที่ 14 ​ชั่งน้ำหนัก​ว่า​มัน​อีก​ไกล​แค่​ไหน) ​แต่ท​ราฟฟิก​ที่​เข้ารหัส​ไว้​แล้ว​บันทึก​เก็บ​ไว้​วันนี้ ​ถอด​ได้​ใน​วันที่​เครื่อง​นั้น​มาถึง ​หน่วยงาน​มาตรฐาน​เรียก​กลยุทธ์​นี้​อย่าง​เปิดเผย​แล้ว​ว่า ​เก็บเกี่ยว​ตอนนี้ ​ถอดรหัส​ทีหลัง (harvest now, decrypt later) (NIST IR 8547) ​ตัวแทน​มี​มาตรฐาน​รองรับ​เรียบร้อย​แล้ว NIST ​สรุป FIPS 203, 204 ​และ 205 ​เป็นทางการ​เมื่อ​วันที่ 13 ​สิงหาคม 2024 ​และ​เลือก​อัลกอริทึม​แบบ code-based ​ชื่อ HQC ​เป็นตัว​สำรอง​เมื่อ​วันที่ 11 ​มีนาคม 2025 (NIST) ​โจทย์​ทาง​วิศวกรรม​ไม่​ใช่​การคิด​คณิตศาสตร์​ชุด​ใหม่ ​แต่​คือ​การตาม​หา​ทุก​จุด​ที่​คณิตศาสตร์​ชุด​เก่า​ถูก​สมมติ​ไว้​เงียบๆ ​ใน​ซอฟต์แวร์​ทั้งหมด​เท่าที่​อารยธรรม​หนึ่ง​เคย​เขียน​ขึ้น​มา

​เชื่อมโยง

​ชั้นล่าง: ​บท​ที่ 03 ​ส่ง​วัตถุดิบ​มา​ให้ — ​กุญแจ​ดี​ได้​แค่​เท่าที่​มัน​คาดเดา​ไม่​ได้ ​และ​สิ่ง​ที่วัด​ความคาดเดา​ไม่​ได้​คือ​เอนโทรปี (entropy) ​บท​ที่ 04 ​กับ 05 ​ถือ​รากฐาน​ของ​ความไว้ใจ​ไว้ ​เพราะ​เคอร์เนล​ที่​ถูก​ล้มล้าง​ได้​ทำให้​การรับประกัน (guarantee) ​ทุก​ข้อ​เหนือ​มัน​เหลือ​เป็น​ของ​ประดับ ​ชั้น​ข้างเคียง: ​บท​ที่ 09 ​อธิบาย​ว่า​ทำไม​การตั้งชื่อ​และ​การจัด​เส้นทาง​ของ​อินเทอร์เน็ต​ถูก​สร้าง​มา​เพื่อ​โลก​ที่​ร่วมมือ​กัน ​และ​เอาการ​พิสูจน์​ตัวตน​มา​ติด​เพิ่ม​ทีหลัง ​บท​ที่ 10 ​ถาม​ว่า​ฝ่าย​ต่างๆ ​ตกลง​กัน​ได้​อย่างไร​เมื่อ​บาง​ฝ่าย​แค่​ล่ม​ไป​เฉยๆ — ​ฝ่ายตรงข้าม​ใน​บท​นี้​ยกระดับ​จาก "​ล่ม" ​เป็น "​โกหก" ​ชั้นบน: ​บท​ที่ 12 ​ที่​ฝ่ายตรงข้าม​โจมตี​ข้อมูล​เท​รน ​ไม่​ใช่​สายส่ง

​คำถาม​ที่​ยัง​เปิด​อยู่

​ฟังก์ชัน​ทางเดียว​มี​อยู่​จริง​ไหม ​ทุกอย่าง​ใน​บท​นี้​คือ​การพนัน​ว่า​มัน​มี ​วิทยาการ​รหัสลับ​ที่​ใช้งาน​อยู่​ทั่วโลก​จะ​ย้าย​ไป​ใช้​อัลกอริทึม post-quantum ​ได้​ทัน​ก่อน​คอมพิวเตอร์​ควอนตัม​ระดับ​ที่​ทำลาย​รหัสลับ​ได้​จะ​มี​อยู่​จริง​ไหม ​ใน​เมื่อ​ไม่​มี​ใคร​รู้​วันที่​ของ​เหตุการณ์​ทั้งสอง​ฝั่ง ​และ​คำถาม​ที่​วงการ​นี้​ทำ​พลาด​ซ้ำแล้วซ้ำเล่า​มากกว่า​จะ​แก้​ได้ — ​ระบบ​จะ​ปลอดภัย ​และ ​ใช้งาน​ง่าย​ไป​พร้อมกัน​ได้​ไหม ​ใน​เมื่อ Saltzer ​กับ Schroeder ​ระบุ psychological acceptability ​ไว้​ตั้ง​ห้าสิบ​ปีก่อน ​และ​มัน​ยัง​เป็น​ข้อ​ที่​ถูก​ให้ความสำคัญ​น้อยที่สุด​ใน​แปด​ข้อ​ของ​พวกเขา

​อ่าน​ต่อ

บทถัดไป · 13 / 1612 · ปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง
Size
Page
Font

The Tower of Abstractions — An Encyclopedia of the Computing Disciplines

❦
100 · แผนที่201 · ทฤษฎีการคำนวณ302 · อัลกอริทึมและโครงสร้างข้อมูล403 · สารสนเทศและการเข้ารหัส504 · สถาปัตยกรรมคอมพิวเตอร์605 · ระบบปฏิบัติการ706 · ภาษาและคอมไพเลอร์807 · วิศวกรรมซอฟต์แวร์908 · ฐานข้อมูล1009 · เครือข่าย1110 · ระบบกระจาย1211 · ความปลอดภัยและวิทยาการรหัสลับ1312 · ปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง1413 · ปฏิสัมพันธ์มนุษย์–คอมพิวเตอร์ และกราฟิกส์1514 · พรมแดน1699 · ปิดเล่ม — หอคอยเมื่อมองทั้งหลัง