สรุปสั้น
บริษัท Anthropic รายงานเมื่อวันที่ 16 ตุลาคม 2569 ว่าโมเดลวิจัยภายในของ Claude สามารถสร้างวิธีที่สำนักงานความมั่นคงแห่งชาติสหรัฐฯ (NSA) ใช้ผลิตค่า seed ของเส้นโค้งวงรี (elliptic curve) มาตรฐาน NIST 5 ตัวขึ้นมาใหม่ได้ในเวลาไม่ถึง 30 นาที ปิดปริศนาในวงการวิทยาการเข้ารหัสที่ค้างมาราว 25 ปี ผลที่ได้ชี้ว่า seed เหล่านี้มาจากตัวสร้างเลขสุ่มเทียมมาตรฐานของภาษา C ชื่อ lrand48 ซึ่งถูกตั้งค่าเริ่มต้นด้วย Unix timestamp ระหว่างเดือนพฤษภาคม 2540 ถึงเมษายน 2541 ไม่ได้มาจากวลีลับอย่างที่หลายฝ่ายเคยสันนิษฐาน
ต้องแยกให้ชัดว่าสิ่งที่ค้นพบเป็นพารามิเตอร์สาธารณะของเส้นโค้ง ไม่ใช่กุญแจส่วนตัวหรือความลับของลายเซ็นดิจิทัล Anthropic ระบุว่างานนี้เป็นการสร้างประวัติศาสตร์ขึ้นใหม่ ไม่ใช่การเจาะการเข้ารหัส ไม่ใช่การโจมตีรูปแบบใหม่ และไม่มีเหตุผลให้ต้องเปลี่ยนระบบที่ใช้งานอยู่ ประโยชน์หลักคือความโปร่งใสที่เพิ่มขึ้นของที่มาพารามิเตอร์ที่ถูกใช้ใน TLS ลายเซ็นดิจิทัล และระบบจำนวนมากทั่วโลก แม้ยังมีบางส่วนที่อธิบายไม่ได้
รายละเอียดข่าว
เว็บไซต์ GBHackers รายงานเมื่อวันที่ 17 ตุลาคม 2569 ว่า NIST รับ ECDSA และเส้นโค้งวงรีที่แนะนำเข้าเป็นส่วนหนึ่งของมาตรฐานลายเซ็นดิจิทัล FIPS 186-2 ตั้งแต่ปี 2543 seed ที่เผยแพร่พร้อมมาตรฐานช่วยให้ตรวจสอบได้ว่าพารามิเตอร์ของเส้นโค้งถูกสร้างจาก seed จริง แต่ที่มาของตัว seed เองไม่เคยถูกอธิบาย จึงทำให้นักวิจัยตั้งคำถามมานานว่า NSA จงใจเลือกเส้นโค้งเพื่อแอบใส่จุดอ่อนหรือไม่ นาย Filippo Valsorda นักวิทยาการเข้ารหัส เคยตั้งเงินรางวัลให้ผู้ที่อธิบาย seed เหล่านี้ได้ และเรื่องเล่าก่อนหน้าบอกว่า seed อาจมาจากวลีขำขันที่เกี่ยวข้องกับนาย Jerry Solinas นักคณิตศาสตร์ของ NSA
แทนที่จะไล่หาวลี Claude พิจารณารูปแบบการเขียนโปรแกรมที่พบบ่อยในไลบรารีภาษา C ยุค 2530 ปลาย ๆ และระบุว่าตัวสร้างเลขสุ่มที่ใช้น่าจะเป็น lrand48 ซึ่งเป็น linear congruential generator ที่มีสถานะภายใน 48 บิต ผลการสร้างขึ้นใหม่ครอบคลุมเส้นโค้ง P-192, P-224, P-256, P-384 และ P-521 โดยสำหรับ P-256 ค่า seed ที่เป็นมาตรฐานคือค่าผู้สมัครลำดับที่ 1,842 ในลำดับที่ตั้งค่าเริ่มเมื่อวันที่ 16 สิงหาคม 2540
เงินรางวัล 36,864 ดอลลาร์สหรัฐจะถูกบริจาคให้ Internet Security Research Group (ISRG) องค์กรไม่แสวงกำไรผู้ดำเนินงาน Let’s Encrypt
รายละเอียดการวิเคราะห์
Claude สแกน seed ที่เผยแพร่ทั้งหมดเทียบกับการผสมระหว่างชนิดตัวสร้างเลขสุ่มและวิธีตัดเอาต์พุตรวม 34 แบบ และพบว่า seed ของเส้นโค้งแบบ binary 4 ตัวมี word ขนาด 32 บิต 5 ตัวที่บิตสูงสุดเป็นศูนย์เสมอ ซึ่งตรงกับเอาต์พุต 31 บิตของ lrand48 จากนั้นไล่ค่าบิตสถานะที่ซ่อนอยู่ 17 บิตแล้วตรวจกับเอาต์พุตถัดไป จนได้สถานะที่เป็นไปได้ของตัวสร้าง
seed ของเส้นโค้งแบบ prime เปิดเผยบิตจากการเรียกตัวสร้างแต่ละครั้งน้อยกว่า Claude จึงใช้อัลกอริทึม lattice basis reduction แบบ Lenstra–Lenstra–Lovász (LLL) สร้างสถานะภายในขึ้นใหม่จากเอาต์พุตที่ถูกตัดทอน ผลคือ seed ของ NIST 5 ตัวและ seed ตัวอย่างใน ANSI X9.62 อีก 5 ตัว ตรงกับวิธีสร้างที่เก็บไบต์จาก lrand48() >> 23 เมื่อย้อนการทำงานของตัวสร้างกลับไป ได้ค่าเริ่มต้นที่ตรงกับ Unix timestamp ระหว่างพฤษภาคม 2540 ถึงเมษายน 2541
Claude ยังสร้างวิธีผลิต base point ของ P-192 และเส้นโค้งตัวอย่างใน ANSI อีก 5 ตัวขึ้นใหม่ได้ โดยใช้ตัวสร้างเลขสุ่มจาก FreeLIP แพ็กเกจเลขคณิตของนาย Arjen Lenstra base point เป็นจุดคงที่ที่ใช้ในการคำนวณเข้ารหัส และแยกจาก seed ของเส้นโค้ง
การสร้างขึ้นใหม่ยังไม่สมบูรณ์ Anthropic อธิบาย seed ของ B-163 และ base point อีกหลายตัวไม่ได้ และพบค่าผู้สมัครที่ถูกข้ามไปทั้งที่ดูเหมือนจะให้เส้นโค้งที่ใช้ได้ ทำให้เกณฑ์การคัดเลือกเดิมของ NSA ยังเป็นคำถามที่ไม่มีคำตอบ
ผลกระทบ
ผลงานนี้ลดข้อกังวลเรื่องการจงใจบิดเบือนเส้นโค้ง NIST ลงอย่างมาก เพราะวิธีสร้างจาก timestamp ที่ทำซ้ำได้ใกล้เคียงกับการสุ่มทั่วไปมากกว่าการเลือกค่าเพื่อแอบใส่ประตูหลัง อย่างไรก็ตาม Anthropic ยอมรับว่าผลนี้ไม่ได้อธิบายการตัดสินใจทางประวัติศาสตร์ทุกขั้น และไม่ได้พิสูจน์ว่าไม่เคยมีการรันการสร้างแบบอื่นที่ไม่ได้เผยแพร่ ข้อสงสัยเรื่องเกณฑ์การเลือกจึงยังไม่หมดไปทั้งหมด
ในมุมความปลอดภัยเชิงปฏิบัติ ผู้ดูแลระบบไม่ต้องดำเนินการใด เพราะไม่มีการเปิดเผยความลับหรือจุดอ่อนของ ECDSA และ P-256 ยังเป็นเส้นโค้งที่ปลอดภัยตามความรู้ปัจจุบัน สิ่งที่น่าสนใจกว่าคือบทบาทของโมเดล AI ในงานวิเคราะห์เชิงคณิตศาสตร์และการเข้ารหัสที่ซับซ้อน ซึ่งปิดปริศนาที่ผู้เชี่ยวชาญพยายามมาหลายปีได้ในเวลาไม่ถึงชั่วโมง
คำแนะนำ
- ไม่ต้องเปลี่ยนเส้นโค้ง เปลี่ยนใบรับรอง หรือหมุนเวียนกุญแจที่ใช้ P-256, P-384 หรือ P-521 เพราะข่าวนี้ไม่ได้เปิดเผยจุดอ่อนหรือความลับใด
- องค์กรที่วางแผนย้ายไปใช้การเข้ารหัสหลังควอนตัมควรเดินตามแผนเดิม เพราะความเสี่ยงระยะยาวของ ECDSA มาจากคอมพิวเตอร์ควอนตัม ไม่ใช่จากที่มาของ seed
- ใช้กรณีนี้เป็นบทเรียนด้านความโปร่งใสของมาตรฐาน: เมื่อเลือกพารามิเตอร์เข้ารหัสหรือ seed สำหรับระบบภายใน ให้ใช้วิธี “nothing-up-my-sleeve” ที่บันทึกและตรวจสอบย้อนหลังได้
- ทีมวิจัยความปลอดภัยสามารถพิจารณาใช้โมเดล AI ช่วยวิเคราะห์ปัญหาเชิงคณิตศาสตร์และการเข้ารหัส โดยยังต้องให้ผู้เชี่ยวชาญตรวจสอบผลทุกครั้ง
