แนวคิดเรื่องคีย์สาธารณะของ Whitfield Diffie ทำให้ HTTPS การส่งข้อความแบบปลอดภัย และตัวตนดิจิทัลเป็นไปได้ — อธิบายด้วยไอเดียหลักและการใช้งานจริง

ทุกครั้งที่คุณล็อกอินแบงก์ ซื้อของออนไลน์ หรือส่งข้อความส่วนตัว คุณกำลังพึ่งพาแนวคิดที่เรียบง่าย: คุณสามารถแชร์ข้อมูลผ่านเครือข่ายที่คนอื่นสังเกตเห็นได้ และยังคงเก็บส่วนสำคัญให้เป็นความลับได้
ฟังดูชัดเจนตอนนี้ แต่ในอดีตมันเป็นปัญหาที่ปฏิบัติได้ยากมาก หากสองคนอยากใช้การเข้ารหัส พวกเขาต้องตกลงกันเรื่องคีย์ลับก่อน การทำเช่นนั้นอย่างปลอดภัยมักต้องพึ่งพาผู้ส่งที่เชื่อถือได้ การนัดพบล่วงหน้า หรือเครือข่ายภายในบริษัทที่ปลอดภัย—ตัวเลือกเหล่านี้ไม่สามารถขยายไปสู่ผู้คนนับล้านของคนแปลกหน้าในอินเทอร์เน็ตสาธารณะได้
การเข้ารหัสแบบคีย์สาธารณะเปลี่ยนกฎของเกม มันเสนอวิธีเผยแพร่คีย์หนึ่งตัวอย่างเปิดเผย (คีย์สาธารณะ) ขณะเดียวกันเก็บคีย์อีกตัวเป็นความลับ (คีย์ส่วนตัว) ด้วยการแยกแบบนี้ คุณสามารถเริ่มความสัมพันธ์ที่ปลอดภัยได้โดยไม่ต้องแชร์ความลับล่วงหน้า Whitfield Diffie เป็นบุคคลสำคัญที่ผลักดันแนวคิดนี้ออกสู่สาธารณะและแสดงให้เห็นว่าทำไมมันถึงสำคัญ
เราจะเชื่อมโยงแนวคิดหลักกับสิ่งที่คุณใช้งานจริง:
คุณจะได้คำอธิบายเป็นภาษาเรียบง่าย พร้อมความเข้าใจเชิงคณิตศาสตร์เบื้องต้นพอให้เข้าใจ ทำไม เทคนิคถึงทำงาน — โดยไม่ต้องกลายเป็นตำราเป๊ะๆ เป้าหมายคือทำให้การเข้ารหัสแบบคีย์สาธารณะรู้สึกน้อยลงเหมือนเวทมนตร์ และมากขึ้นเหมือนเครื่องมือที่ปกป้องชีวิตประจำวันอย่างเงียบๆ
ก่อนมีการเข้ารหัสแบบคีย์สาธารณะ การสื่อสารที่ปลอดภัยส่วนใหญ่หมายถึง การเข้ารหัสสมมาตร: ทั้งสองฝ่ายใช้ คีย์ลับเดียวกัน เพื่อล็อกและปลดล็อกข้อความ
คิดเหมือนลูกกุญแจแม่กุญแจและกุญแจชุดเดียว หากคุณและฉันมีสำเนากุญแจเหมือนกัน ฉันล็อกกล่อง ส่งให้คุณ แล้วคุณเปิดได้ การล็อกและปลดล็อกเป็นเรื่องตรงไปตรงมา — ตราบใดที่เรามีกุญแจนั้นไว้ก่อนแล้ว
ปัญหาชัดเจน: เราจะแชร์กุญแจนั้นอย่างปลอดภัยได้อย่างไร? หากผมส่งทางอีเมล อาจมีคนดักอ่าน หากส่งทางข้อความ ก็มีความเสี่ยงเหมือนกัน หากผมใส่ลงซองและส่งไปรษณีย์ มันอาจใช้ได้กับสถานการณ์ครั้งเดียว แต่มันช้า แพง และไม่แน่นอนเสมอไป
นี่สร้างปัญหาแบบไก่กับไข่:
การเข้ารหัสสมมาตรทำงานได้ดีเมื่อมีคนจำนวนน้อยและมีวิธีแลกคีย์ที่เชื่อถือได้ล่วงหน้า แต่บนอินเทอร์เน็ตเปิด มันพังเร็ว
ลองจินตนาการเว็บไซต์ที่ต้องการการเชื่อมต่อส่วนตัวกับผู้เข้าชมเป็นล้าน หากใช้คีย์สมมาตรเท่านั้น เว็บไซต์จะต้องมีคีย์ลับแตกต่างสำหรับผู้เข้าชมแต่ละคน พร้อมวิธีส่งมอบให้ปลอดภัย จำนวนคีย์และงานจัดการ (สร้าง เก็บ หมุน เพิกถอน) จะกลายเป็นภาระการปฏิบัติการหนักหน่วง
ไม่ได้หมายความว่าการเข้ารหัสสมมาตร “แย่” มันเยี่ยมในสิ่งที่ทำ: การเข้ารหัสข้อมูลจำนวนมากอย่างรวดเร็วและมีประสิทธิภาพ (เช่น ข้อมูลหลักที่ส่งผ่าน HTTPS) ปัญหาก่อน Diffie ไม่ใช่ความเร็ว แต่เป็นชิ้นส่วนที่ขาดหายไป: วิธีปฏิบัติได้จริงสำหรับคนแปลกหน้าในการตกลงคีย์โดยไม่ต้องแชร์ล่วงหน้า
ต้นทศวรรษ 1970 การสื่อสารที่ปลอดภัยหมายถึง ความลับที่แชร์กัน หากสองคนต้องการเข้ารหัส พวกเขาต้องมีกุญแจลับเดียวกันและหาวิธีแลกมันอย่างปลอดภัย สมมติฐานนี้ใช้ได้กับสภาพแวดล้อมเล็กๆ ที่ควบคุมได้ แต่ไม่ขยายสู่โลกที่คนแปลกหน้าต้องสื่อสารกัน
Whitfield Diffie เป็นนักวิจัยหนุ่มที่สนใจความเป็นส่วนตัวและขีดจำกัดเชิงปฏิบัติของการเข้ารหัสในยุคนั้น เขาร่วมงานกับ Martin Hellman ที่ Stanford งานของพวกเขาได้รับอิทธิพลจากความสนใจทางวิชาการที่เพิ่มขึ้นด้านความปลอดภัยคอมพิวเตอร์และเครือข่าย — สาขาที่เริ่มเคลื่อนจากระบบแยกออกสู่ระบบที่เชื่อมต่อกัน
นี่ไม่ใช่เรื่องของอัจฉริยะเดี่ยวเท่านั้น แต่เป็นไอเดียที่ถูกต้องพบกับสภาพแวดล้อมที่เหมาะสม: นักวิจัยแลกเปลี่ยนความเห็น ทดลองทางความคิด และตั้งคำถามกับข้อจำกัด "ชัดเจน" ที่ทุกคนยอมรับมาหลายทศวรรษ
แนวคิดปฏิวัติของ Diffie และ Hellman คือการที่การเข้ารหัสสามารถใช้ คีย์สองตัวที่เกี่ยวข้องกัน แทนคีย์ลับเดียว:
สิ่งที่ทำให้ทรงพลังไม่ใช่แค่ว่ามีสองคีย์ แต่ว่าพวกมันมี หน้าที่ต่างกัน คีย์สาธารณะออกแบบมาเพื่อแจกจ่ายอย่างปลอดภัย ส่วนคีย์ส่วนตัวออกแบบมาเพื่อการควบคุมและการเป็นเจ้าของ
แนวคิดนี้เปลี่ยนปัญหาการแชร์คีย์ แทนที่จะต้องนัดพบกันเพื่อแลกคีย์ลับ คุณสามารถเผยแพร่คีย์สาธารณะอย่างกว้างขวางและยังคงรักษาความปลอดภัยได้
การเปลี่ยนมุมมองจาก “เราต้องแชร์ความลับก่อน” เป็น “เราสามารถเริ่มปลอดภัยจากข้อมูลสาธารณะได้” คือพื้นฐานแนวคิดที่ต่อมาเปิดทางให้การท่องเว็บที่ปลอดภัย การส่งข้อความเข้ารหัส และระบบตัวตนดิจิทัลสมัยใหม่เป็นไปได้
Diffie–Hellman (DH) เป็นวิธีชาญฉลาดที่ทำให้สองคนสร้าง คีย์ลับร่วมเดียวกัน แม้ว่าข้อความที่แลกทั้งหมดจะถูกมองเห็นโดยใครก็ตาม คีย์ลับนั้นจากนั้นนำไปใช้เป็นคีย์สมมาตรปกติ (ชนิดคีย์หนึ่ง) เพื่อเข้ารหัสการสนทนา
คิดว่า DH เป็นการผสมส่วนผสมที่ทำได้ง่ายในทางเดียว แต่ยากมากที่จะย้อนกลับ สูตรใช้:
การเข้ารหัสแบบสมมาตรใช้ คีย์ลับเดียวร่วมกัน เพื่อเข้ารหัสและถอดรหัส มันเร็วและเหมาะกับข้อมูลจำนวนมาก แต่มีปัญหาเรื่องการตั้งค่า: คุณต้องมีวิธีที่ปลอดภัยในการแลกคีย์นั้นก่อน
การเข้ารหัสแบบคีย์สาธารณะ แยกบทบาทออกเป็น คีย์สาธารณะ (แชร์ได้) และ คีย์ส่วนตัว (เก็บเป็นความลับ) ทำให้การ "ติดต่อครั้งแรกอย่างปลอดภัย" เป็นไปได้โดยไม่ต้องมีความลับที่แชร์ล่วงหน้า
มันแก้ปัญหา การแจกจ่ายคีย์: คนแปลกหน้าสองคนสามารถเริ่มการสื่อสารที่ปลอดภัยผ่านเครือข่ายที่คนอื่นมองเห็นได้โดยไม่ต้องพบกันเพื่อแลกคีย์ลับ
การเปลี่ยนมุมมองนี้คือสิ่งที่ทำให้การรักษาความปลอดภัยในระดับอินเทอร์เน็ตเป็นไปได้สำหรับ:
Diffie–Hellman (DH) เป็นวิธีสร้าง คีย์ลับร่วม ผ่านช่องทางสาธารณะ
ในทางปฏิบัติ:
DH เองไม่ใช่การเข้ารหัสข้อความ แต่มันช่วยให้ทั้งสองฝ่ายตกลงคีย์ที่ใช้เข้ารหัสกันได้
ไม่สามารถป้องกันได้ด้วยตัวเอง DH ให้ การตกลงคีย์ แต่ไม่ได้พิสูจน์ว่าเราคุยกับใคร
เพื่อป้องกันการโจมตีแบบ man-in-the-middle มักจะใช้ DH พร้อมการยืนยันตัวตน เช่น:
TLS ใช้วิธีคีย์สาธารณะเพื่อ ยืนยันตัวตนและตกลงคีย์ ในระหว่างการจับมือ แล้วจึงสลับไปใช้คีย์สมมาตรสำหรับข้อมูลจริง
ภาพรวมแบบง่าย:
ลายเซ็นดิจิทัลช่วยให้ผู้ส่งพิสูจน์ตัวตนได้และยืนยันว่าข้อมูลไม่ถูกเปลี่ยน
การใช้งานทั่วไปได้แก่:
การยืนยันทำได้ด้วย คีย์สาธารณะ; ผู้ที่มี คีย์ส่วนตัว เท่านั้นที่สร้างลายเซ็นได้
ใบรับรองผูก คีย์สาธารณะ กับตัวตน (เช่นชื่อเว็บไซต์) ผ่านลายเซ็นของผู้ออกที่เชื่อถือได้
เบราว์เซอร์เชื่อถือใบรับรองเพราะมันสามารถสร้าง โซ่ จากใบรับรองเว็บไซต์ผ่านใบกลางกลับไปยัง root CA ที่ติดตั้งในระบบ/เบราว์เซอร์
เช่นนี้การต่ออายุใบรับรอง การตั้งชื่อโฮสต์ที่ถูกต้อง และการตรวจสอบอย่างถูกต้องเป็นสิ่งสำคัญต่อความน่าเชื่อถือของ HTTPS
แอปที่เข้ารหัสแบบ end-to-end ยังต้องมีวิธี ตั้งคีย์ร่วม ระหว่างอุปกรณ์ที่ไม่เคยแชร์ความลับกันมาก่อน
มักใช้การแลกเปลี่ยนแบบ DH (บ่อยครั้งบน elliptic curves) เพื่อ:
Passkeys (FIDO2/WebAuthn) แทนการล็อกอินด้วยรหัสผ่านด้วย การลงชื่อท้าทาย–ตอบกลับ
วิธีการโดยสรุป:
วิธีนี้ลดความเสี่ยงจากการฟิชชิ่งและการใช้ซ้ำของข้อมูลรับรอง เพราะไม่มีความลับที่สามารถพิมพ์ซ้ำได้บนฟอร์มเว็บไซต์
ความล้มเหลวส่วนใหญ่เกิดจากการนำไปใช้และการปฏิบัติ ไม่ใช่คณิตศาสตร์หลัก
ปัญหาทั่วไปได้แก่:
กฎปฏิบัติ: ใช้ไลบรารีที่ผ่านการตรวจสอบ กำหนดค่าเริ่มต้นที่ทันสมัย และถือการจัดการคีย์เป็นข้อกำหนดชั้นหนึ่ง