การเข้ารหัสแบบ RSA ในมาตรฐาน PKCS#11 ถูกแฮกแล้ว นักวิจัยหาถอดข้อความเข้ารหัสได้ใน 13 นาที

by lew
25 June 2012 - 18:24

ทุกวันนี้ระบบ "กุญแจ" เข้ารหัสที่ใช้ USB หรือสมาร์ตการ์ดแบบเข้ารหัสนั้นมักใช้ PKCS#11 ที่ภายในการเปิด API ให้สามารถ "เซ็น" หรือเข้ารหัสจากกุญแจลับ (Private Key) ภายในตัวบัตรเพื่อยืนยันตัวบุคคลได้ โดยไม่เปิดเผยกุญแจลับนั้นออกมา ก่อนหน้านี้มีงานวิจัยว่ากระบวนการนี้มีช่องโหว่ทำให้สามารถหากุญแจลับภายในออกมาได้ หากแฮ็กเกอร์ส่งค่าเข้าไปเข้ารหัสโดยเฉลี่ย 215,000 ครั้ง อย่างไรก็ดีตัวเลขนั้นยังแสดงว่าบัตรยังทนต่อการแฮกได้เป็นเวลาค่อนข้างนาน แต่งานวิจัยล่าสุดที่งาน CRYPTO 2012 ทีมวิจัยจากฝรั่งเศสแสดงให้เห็นว่าแฮกเกอร์สามารถหาค่ากุญแจลับได้ภายในการส่งคำสั่งเข้ารหัสเพียงเฉลี่ย 9,400 ครั้งเท่านั้น ทำให้สามารถกุญแจลับออกจากอุปกรณ์รักษาความปลอดภัยได้หลายตัวในเวลาต่ำสุดเพียง 13 นาที

รายชื่ออุปกรณ์ที่ทีมงานใช้ทดสอบได้แก่ Aladdin eTokenPro (21 นาที), Gemalto Cyberflex (92 นาที), RSA SecurID 800 (13 นาที), Safenet Ikey 2032 (88 นาที), และ Siemens CardOS (21 นาที)

กระบวนวิธีนี้สามารถใช้ได้กับการ์ดที่ใช้มาตรฐาน PKCS#11 เวอร์ชั่น 1.5 ทั้งหมด ดังนั้นสามาร์ตการ์ดยืนยันตัวบุคคลที่ใช้ในองค์กรหลายต่อหลายรุ่นก็อาจจะตกอยู่ในความเสี่ยงด้วยเหมือนกัน

ทีมวิจัยระบุว่ามาตรฐานรุ่น 2.3 ที่ยังไม่ประกาศใช้นั้นเริ่มแก้ไปปัญหาไปบางส่วนแล้ว แต่ยังมีประเด็นอื่นๆ ที่อาจจะถูกโจมตีได้อีกเช่นกัน ที่สำคัญคือบัตรจำนวนมากที่อยู่ในตลาดอาจจะต้องการความเข้ากันได้กับ API เดิมทำให้ไม่สามารถอัพเกรดได้ทันที

ทีมงานได้ติดต่อผู้ผลิตจำนวนมากก่อนที่จะตีพิมพ์รายงานฉบับนี้เพื่อแจ้งความเสี่ยงที่กำลังเกิดขึ้น ผู้ผลิตหลายรายเริ่มแนะนำให้ลูกค้าอัพเกรดไปใช้ PKCS#11 เวอร์ชั่น 2.1 บางรายระบุว่าจะจำกัดการเรียกฟังก์ชั่นบางตัวเพื่อทำให้การโจมตีทำได้ช้าลง รายที่แย่ที่สุดคือ ศูนย์ออกใบรับรองของเอสโตเนียที่ไม่มีกระบวนการรองรับใดๆ เลย

ที่มา - ArsTechnica

Blognone Jobs Premium