ทุกวันนี้ระบบ "กุญแจ" เข้ารหัสที่ใช้ 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 บางรายระบุว่าจะจำกัดการเรียกฟังก์ชั่นบางตัวเพื่อทำให้การโจมตีทำได้ช้าลง รายที่แย่ที่สุดคือ ศูนย์ออกใบรับรองของเอสโตเนียที่ไม่มีกระบวนการรองรับใดๆ เลย
เพิ่มเติมสำหรับคนที่ยังไม่เข้าใจเกี่ยวกับ PKCS#11
สมาร์ตการ์ดจะมีชิปฝังตัวที่สามารถตั้งโปรแกรมให้รับส่งและประมวลผลข้อมูลได้ วงจรอิเล็กทรอนิกส์ที่ใช้นั้น มีขนาดเล็กและสามารถผลิตขึ้นเป็นรูปร่างที่เข้ากับการใช้งานต่างๆ ได้หลากหลาย สมาร์ตการ์ดส่วนมากมักมีลักษณะเหมือนใบอนุญาตขับขี่ หรือบัตรเครดิต แบ่งได้เป็นสามประเภท คือ
* เป็นเมโมรีอย่างเดียว : สามารถเก็บและส่งกลับข้อมูลได้เท่านั้น มีใช้อยู่ในงานรักษาความปลอดภัยเครือข่าย หรือในบัตรโทรศัพท์ บัตรเติมเงิน ฯลฯ * เป็นซีพียู : สามารถประมวลผลข้อมูลได้ * เป็นทั้งซีพียูและตัวเข้ารหัส : โดยทั่วไปจะผูกติดอยู่กับโครงสร้างของ Public-Key Infrastructure (PKI) และในบางครั้งอาจเรียกว่าสมาร์ตการ์ดพีเคไอ พีเคไอเป็นการผสมรวมกันของซอฟต์แวร์ บริการ และเทคโนโลยีการเข้ารหัสที่ใช้รักษาความปลอดภัยการสื่อสาร และการติดต่อซื้อขายต่างๆ วิธีเดียวที่จะทำให้การ์ดปฏิบัติการเข้ารหัสกุญแจส่วนบุคคล (Private Key) ก็คือต้องป้อนพาสเวิร์ด หรือข้อมูลเกี่ยวกับไบโอเมตริกให้ กลุ่มสมาคมที่นำโดย RSA Security ได้พัฒนาเอพีไอแบบมัลติแพลตฟอร์มที่ทำงานในระดับไดรเวอร์ขึ้นมีชื่อว่า PKCS #11 (Public-Key Cryptography Standard 11 รายละเอียดเพิ่มเติมสามารถหาอ่านได้จาก www.rsasecurity.com/rsalabs/pkcs/pkcs-11) ซึ่งอำนวยความสะดวกในการใช้อุปกรณ์แบบ Removable ที่ทำงานร่วมกับเครื่องมือเข้ารหัส และเข้ากันได้ดีกับสมาร์ตการ์ด และตัวเร่งความเร็วการเข้ารหัสต่างๆ เช่น ตัวที่ใช้เร่งความเร็วกรรมวิธี Secure Socket Layer (SSL) หรือ IP Security Protocol (IPSec) ทั้งนี้ PKC #11 เป็นมาตรฐานที่มีใช้ในแพลตฟอร์มของแอปเปิล ลีนุกซ์ ยูนิกซ์ วินโดวส์ ฯลฯ ซึ่งออกมาในรูปของโปรแกรมไคลเอ็นต์และเซิร์ฟเวอร์ของเน็ตสเคป และมาตรฐานจดทะเบียนจาก PC/SC Workgroup (www.pcscworkgroup.com) ที่ออกแบบมาสำหรับวินโดวส์ โดย PC/SC นี้เป็นส่วนหนึ่งของตัว Cryptographic API (CAPI) ของไมโครซอฟท์
Credit Article:blognone.com
ไม่มีความคิดเห็น:
แสดงความคิดเห็น