หลายคนต่างเข้าใจว่า การมีนโยบายการตั้งรหัสผ่านที่ซับซ้อนจะช่วยปกป้องผู้ใช้จากการโจมตีหรือแฮ็คเกอร์ได้ แต่ผู้เชี่ยวชาญด้านความมั่นคงปลอดภัย Rick Redman ได้อธิบายถึงสาเหตุว่า ทำไมต่อให้มีนโยบายเหล่านั้นแล้ว แฮ็คเกอร์กลับยังสามารถแคร็กรหัสผ่านได้ รวมไปแนะนำวิธีการตั้งรหัสผ่านให้ปลอดภัยสุดๆ

ยาว ตัวพิมพ์ใหญ่ ตัวเลข อักขระพิเศษ เงื่อนไขสำคัญของรหัสผ่าน
Redman ได้อธิบายความคิดของเขาในงาน OWASP AppSecUSA 2014 โดยระบุว่า เว็บไซต์ส่วนใหญ่มักกำหนดให้ผู้ใช้ตั้งรหัสผ่านให้ซับซ้อน เพื่อความมั่นคงปลอดภัยของตัวผู้ใช้เอง โดยหลักๆ จะมีเงื่อนไข 3 ประการ คือ
- ต้องมีความยาวไม่น้อยกว่า 8 ตัวอักษร
- ต้องมีตัวอักษรพิมพ์ใหญ่ พิมพ์เล็ก และตัวเลขอย่างน้อย 1 ตัว
- ต้องใช้อักขระพิเศษ เช่น %, &, หรือ ! อย่างน้อย 1 ตัว
แคร็กรหัสผ่าน 8 หลักที่สุดแสนซับซ้อนได้ภายใน 3.7 วัน
นโยบายเหล่านี้ช่วยให้เรารู้สึกมั่นใจว่ารหัสผ่านของเราปลอดภัย ดีกว่าการใช้ 123456 หรือ password แต่การแคร็กรหัสผ่านสมัยใหม่ในยุคปัจจุบัน เงื่อนไขเหล่านี้เป็นสิ่งที่จัดการได้ไม่ยากนัก เพียงแค่ลงทุนประมาณ $2,000 หรือประมาณ 70,000 บาท แฮ็คเกอร์ก็สามารถซื้ออุปกรณ์ที่สามารถแคร็กรหัสผ่านที่มีความยาว 8 ตัวได้ภายในเวลาเพียง 3.7 วัน ในกรณีที่ใช้ Hash แบบ NTLM (บน Windows) โดยไม่สนใจว่าจะมีจำนวนตัวพิมพ์ใหญ่ ตัวเลข หรืออักขระพิเศษกี่ตัว หรือถ้าเป็น MD5 และ SHA1 ก็จะใช้เวลานานหน่อย คือ 8 วัน และ 24 วันตามลำดับ นอกจากนี้ ยิ่งถ้าแฮ็คเกอร์มีอุปกรณ์ที่ประมวลผลได้เร็วเท่าไหร่ เช่น ระบบ Cloud ก็จะช่วยลดระยะเวลาในการแคร็กลงได้มากเท่านั้น
ซับซ้อน แต่ยังง่ายต่อการเดา
Redman ระบุว่า ในโลกแห่งความเป็นจริง ผู้ใช้ส่วนใหญ่มักตั้งรหัสผ่านให้ซับซ้อนเพียงพอต่อการผ่านเงื่อนไขเท่านั้น ยกตัวอย่างเช่น Austin1!, Sports9?, Hiphop4$ หรือ Camels2% เป็นต้น ซึ่งส่วนใหญ่ใช้คำศัพท์ภาษาอังกฤษทั่วๆ ไป เริ่มต้นด้วยตัวพิมพ์ใหญ่ และมีการเพิ่มตัวเลข อักขระพิเศษไปสักตัวต่อท้าย มีเพียงส่วนน้อยเท่านั้นที่จะตั้งรหัสผ่านมากกว่า 10 หลัก และมีตัวเลข อักขระพิเศษหลายตัว
แฮ็คเกอร์สามารถใช้รูปแบบในการตั้งรหัสผ่านเหล่านี้ (5 ตัวพิมพ์เล็ก 1 ตัวพิมพ์ใหญ่ 1 ตัวเลข 1 อักขระพิเศษ) เพื่อช่วยลดระยะเวลาในการเดารหัสผ่านให้เร็วยิ่งขึ้น ซึ่งต่อให้เพิ่มความยาวของรหัสผ่านก็ไม่ได้ช่วยให้ผลลัพธ์ออกมาดีมากนัก เนื่องจากผู้ใช้ทั่วไปยังคงตั้งรหัสผ่านแบบมีฐานคำศัพท์เป็นภาษาอังกฤษอยู่ดี เช่น Mississippi9 ซึ่งเป็นรูปแบบที่คาดเดาได้ง่าย
รหัสผ่านที่ดี คือรหัสผ่านที่คุณจำไม่ได้
ใช่ว่าการที่มีนโยบายการตั้งรหัสผ่านที่ยากจะเป็นสิ่งที่ไม่ดี เพียงแต่ว่าเราจำเป็นต้องชี้ให้ผู้ใช้เข้าใจถึงจุดประสงค์ของนโยบาย และตระหนักไว้เสมอว่า สิ่งที่เราสามารถจำได้ แฮ็คเกอร์ก็สามารถหาหนทางให้ได้สิ่งนั้นมาเหมือนกัน ดังนั้นแล้ว รหัสผ่านที่ปลอดภัยที่สุดคือรหัสผ่านที่ไม่มีใครจำได้ … ฟังดูเหมือนเป็นสิ่งที่เป็นไปไม่ได้ แต่ Redman ไ้ด้ให้คำแนะนำในการจัดการกับรหัสผ่าน ดังนี้
- ไม่ใช่รหัสผ่านซ้ำกันในแต่ละเว็บไซต์ เพราะถ้าแฮ็คเกอร์ทราบรหัสผ่านเว็บใดเว็บหนึ่ง แฮ็คเกอร์ก็จะลองนำรหัสนั้นไปใช้กับเว็บอื่นๆ ทันที
- ใช้รหัสผ่านที่คุณจำไม่ได้ หรือก็คือ ใช้ Password Manager ในการสร้างที่สุดแสนจะซับซ้อนและยากที่จะจดจำ รวมทั้งจัดเก็บรหัสผ่านให้เรานั่นเอง
- เปลี่ยนไม่ใช้ Passphrase แทน ซึ่งแทนที่จะใช้เป็นคำศัพท์ภาษาอังกฤษเพียงคำเดียว แล้วเพิ่มตัวเลขและอักขระให้ครบตามเงื่อนไข ก็เปลี่ยนไปใช้กลุ่มคำหรือประโยคซึ่งจะช่วยให้จำได้ง่าย แต่แฮ็คเกอร์เดาได้ยากขึ้นแทน แน่นอน ไม่ควรใช้คำยอดฮิตแบบ iloveyou โดยเด็ดขาด
- ใช้ 2-Factor Authentication ซึ่งเว็บไซต์ชื่อดังส่วนใหญ่ในปัจจุบันต่างรองรับฟีเจอร์นี้ ช่วยให้แฮ็คเกอร์ไม่สามารถนำรหัสผ่านของเราไปใช้ได้ เพราะต้องผ่านเงื่อนไขการพิสูจน์ตัวตนอีกหนึ่งขั้น
ผู้ที่สนใจสามารถดู Presentation ของ Redman ได้ตามวิดีโอด้านล่าง
ที่มา: http://lifehacker.com/why-complex-password-requirements-dont-necessarily-make-1781311693