Tags:
Node Thumbnail

รายงานจากทีม Hashcat รายงานระบบการเข้ารหัสผ่าน พบว่ารหัสผ่านหลัก (master password) ของ 1Password ที่เข้ารหัสแบบทางเดียวด้วย PBKDF2-HMAC-SHA1 จากเดิมที่ต้องคำนวณ SHA1 ถึงกว่า 8,000 รอบซึ่งเปลืองรอบการคำนวณอย่างมาก แต่หลังจากวิเคราะห์ระบบการเข้ารหัสของ 1Password แล้วกลับพบว่าการคำนวณจริงๆ ต้องการการคำนวณเพียง 4000 รอบก็เพียงพอแล้ว

ปัญหาของ 1Password คือรูปแบบการเข้ารหัสเนื้อข้อมูลจริงๆ นั้นเป็นการเก็บไฟล์ข้อมูลขนาด 1040 ไบต์ด้วย AES ในโหมด CBC ผลของการคำนวณรหัสผ่าน จะคำนวณสองค่าหลักคือ ค่าคีย์, และค่า IV สำหรับการถอดรหัส ทำให้ต้องคำนวณค่าแฮชความยาว 320 บิต (ใช้จริง 256 บิต ครึ่งแรกเป็นกุญแจ ครึ่งหลังเป็น IV) แต่ปรากฎว่าในโหมด CBC นั้น ค่า IV ของบล็อกหลังๆ จะใช้ข้อความที่เข้ารหัสแล้วในบล็อกก่อนหน้ามาเป็นค่า IV และเนื่องจากบล็อกท้ายๆ เป็นข้อมูลเติมเต็ม (padding) ทำให้แฮกเกอร์สามารถรู้ได้ทันทีว่ากุญแจที่ใช้ถูกต้องหรือไม่

กระบวนการนี้ทำให้แฮกเกอร์สามารถใช้ PBKDF2-HMAC-SHA1 ด้วยพารามิเตอร์ที่คำนวณได้ง่ายขึ้น เพราะไม่ต้องคำนวณค่า IV อีกต่อไป ในตอนนี้การทดสอบด้วยการ์ด AMD HD6990 สามารถคำนวณรหัสผ่านได้ถึง 3 ล้านรหัสต่อวินาทีแล้ว ด้วยอัตรานี้ หากใช้คำ 4 คำแบบสุ่มอย่างสมบูรณ์ จะใช้เวลาแครกรหัสผ่านประมาณ 19 ปี แต่แฮกเกอร์อาจจะใช้การ์ดกราฟิกจำนวนมหาศาลเข้ามาถอดรหัสได้

ทางด้าน 1Password ออกมาระบุว่าการที่รหัสผ่านหลุดเช่นนี้ไม่ได้แปลว่า 1Password จะเสียความปลอดภัยไปมากนัก และใน 1Password รุ่นใหม่ก็เปลี่ยนพารามิเตอร์ของ PBKDF2 จากเดิมให้คำนวณ 1,000 รอบ เป็น 10,000 ถึง 45,000 รอบซึ่งจะทำให้อัตราการคำนวณค่าแฮชช้าลงสิบเท่าเช่นกัน

การคำนวณค่าแฮชได้ช้าเป็นคุณสมบัติสำคัญของฟังก์ชั่นแฮชสำหรับรหัสผ่าน แม้ค่าแฮชที่ได้จะมีความเป็นไปได้จำนวนมาก แต่ในความเป็นจริงคนเราใช้รหัสผ่านในรูปแบบที่จำได้ไม่มากนัก เช่น ใช้คำสุ่มจำนวน 4 คำอย่างที่ยกตัวอย่างข้างต้น จะมี entropy ของรหัสผ่านเพียง 52 บิต แม้กุญแจที่ได้จะยาว 128 บิตก็ตามที กระบวนการรักษาความปลอดภัยทุกวันนี้จึงอาศัยการคำนวณค่าแฮชแต่ละครั้งให้บังคับว่าต้องทำได้ช้า เพื่อไม่ให้สามารถคำนวณทุกความเป็นไปได้

ที่มา - ArsTechnica, Hashcat

Get latest news from Blognone

Comments

By: Eka-X
ContributoriPhoneAndroidIn Love
on 21 April 2013 - 18:40 #564383

ลึกมาก สรุปว่ายังปลอดภัยใช่ไหมครับ และมีการปรับปรุงให้แกร่งขึ้นแล้ว (รึเปล่า)

By: mp3wizard
iPhone
on 21 April 2013 - 21:02 #564396

สรุปว่าควรจ่ายเพื่อ upgrade ver. ล่าสุดเสมอสินะ เพื่อความปลอดภัย :O #จ่ายไปนานแล้ว

By: atheist
AndroidUbuntuWindows
on 21 April 2013 - 21:47 #564400

keepass เถอะครับ

By: pingkunga
iPhoneWindows PhoneAndroidRed Hat
on 21 April 2013 - 22:07 #564404

ผมอยากทราบว่าเมืองไทยมีสาขาการเรียนการสอนในด้านนี้ โดยตรงหรือป่าวครับ หรือต้องไปสาย network (พอดีจบ comsci จมอยู่กะ code :D)

By: lew
FounderJusci's WriterMEconomicsAndroid
on 21 April 2013 - 23:35 #564412 Reply to:564404
lew's picture

จริงๆ Cryptography นี่เรียนจริงจังจะเป็นสาย math ครับ (วิชามันจะนอกสายคอมไปพอสมควร) แต่ถ้าในแง่การประยุกต์ใช้งานก็จะอยู่ในคอมพิวเตอร์ทั่วไป งานจริงๆ น่าจะเป็นงานโปรแกรมมิ่งมากกว่าด้วย แต่พอสอนเข้าจริงๆ ก็มักจะเป็นสาย System/Network ที่เรียนกันมากกว่า อาจจะเพราะมันสนุกกว่า ใช้ nmap ไล่ยิง ใช้ wireshark ไล่จับ สนุกกว่าเขียน opencl มาทำ hash บน GPU เยอะ


lewcpe.com, @wasonliw

By: PaPaSEK
ContributorAndroidWindowsIn Love
on 22 April 2013 - 09:48 #564424 Reply to:564412
PaPaSEK's picture

อ่า ... ผมของงแป๊บ

  • เรียนสาย math

  • งานอยู่สาย programming

  • สอนกันในสาย System/Network

By: pingkunga
iPhoneWindows PhoneAndroidRed Hat
on 23 April 2013 - 00:38 #564592 Reply to:564412

ขอบคุณครับ เพราะโปรเจคจบของผมก็เรื่องรหัสผ่านเหมือนกัน ตอนทำก็มืนๆทำไป ฮ่าๆ

By: jaideejung007
ContributorWindows PhoneWindows
on 22 April 2013 - 10:54 #564431 Reply to:564404
jaideejung007's picture

ผมเรียน เทคโนโลยีคอมพิวเตอร์

มีวิชา วิทยาการเข้ารหัสลับอยู่ครับ

เพิ่งเรียนไปเมื่อเทอมที่แล้ว

ปวดหัวมาก

By: clozed2u
ContributoriPhoneIn Love
on 21 April 2013 - 22:20 #564406

อ่าว ใช้อยู่เลยตัวนี้

By: pakoros
Windows PhoneAndroidWindows
on 22 April 2013 - 20:19 #564505

เหมือนจะมีผมใช้ Roboform อยู่คนเดียว