Sponsor

11 มกราคม 2568

รหัสผ่านที่ซับซ้อนแข็งแกร่งจริงหรือ?

t.ly/qRKCl

แนวคิดที่แพร่หลายว่ารหัสผ่านที่ยิ่งซับซ้อนจะยิ่งแข็งแกร่งและเจาะยาก คือต้องมีตัวเลข ตัวอักษรเล็ก-ใหญ่ และสัญลักษณ์พิเศษ ซึ่งเป็นแนวจาก NIST (National Institute of Standards and Technology สถาบันมาตรฐานและเทคโนโลยีแห่งชาติสหรัฐอเมริกา) ในสมัยปี 2003 ได้ออกมาเป็นนโยบายแนะนำเป็นแนวทาง หลายองค์กรหรือเว็บไซต์ก็บังคับให้คิดรหัสผ่านโดยต้องมีตัวเลข ตัวอักษรเล็ก-ใหญ่ และสัญลักษณ์พิเศษ อยู่ในรหัสผ่านด้วย ซึ่งสร้างความยุ่งยากและจำยาก (ยังไม่นับเรื่องนโยบายการบังคับเปลี่ยนรหัสทุกๆ 90 วันอีกนะ ซึ่งในทางปฏิบัติผู้คนมักจะเปลี่ยนไม่ต่างจากเดิมหรือเปลี่ยนแค่ตัวเดียว วุ่นวายแต่ได้ผลน้อย)

จนกระทั่งปี 2017 ทาง NIST ก็ได้ทราบว่าการบังคับให้มีตัวเลข ตัวอักษรเล็ก-ใหญ่ และสัญลักษณ์พิเศษ อยู่ในรหัสผ่านนั้น เป็นการสร้างข้อจำกัดให้รูปแบบของรหัสผ่าน แทนที่จะแข็งแกร่งขึ้นเพราะซับซ้อนแต่กลับทำให้ถูกเจาะได้ง่ายขึ้นจากโปรแกรมแบบ Brute force (เดาดิบๆทีละตัวอักษรไปเรื่อยๆจนกว่าจะเจอในทุกความเป็นไปได้)
จากนั้นปี 2020 NIST จึงได้ออกนโยบายใหม่ แทนที่จะแนะนำให้ใช้รหัสที่ซับซ้อนแบบนั้น NIST แนะนำให้ใช้คำที่จำง่ายๆหลายๆคำแทน เพราะรหัสผ่านที่ซับซ้อนแต่ถูกกำหนดรูปแบบเอาไว้จะอ่อนแอ แต่ความยาวของรหัสผ่านจากคำง่ายๆหลายๆคำที่เป็นอิสระย่อมมีความเป็นไปได้มากกว่าจึงสร้างความแข็งแกร่งได้มากกว่า (ยิ่งถ้าได้จากการสุ่มยิ่งดี แนะนำบทความ Diceware - เทคนิคการตั้งรหัสผ่านแบบจำง่ายแต่แกะยากโดยใช้ลูกเต๋า) และจะบังคับให้เปลี่ยนรหัสผ่านเฉพาะเมื่อเกิดการละเมิดความปลอดภัยบางประการเท่านั้น ไม่ใช่ทุกๆ 90 วันเหมือนมาตราฐานเก่า

รหัสที่ซับซ้อน
ซับซ้อนแค่สำหรับมนุษย์
แต่ไม่ใช่สำหรับโปรแกรมคอมพิวเตอร์

รหัสที่ซับซ้อนอาจจะรู้สึกว่าจำยากสำหรับมนุษย์ (ยิ่งให้จำยาวๆก็น่าจะยากขึ้นไปอีกเพราะต้องจำทีละตัว) แต่ง่ายสำหรับโปรแกรมเพราะมันมองเป็นแค่อักขระตัวหนึ่งที่ต้องเดาไปเรื่อยๆตามลำดับเท่านั้น ส่วนรหัสผ่านจากคำหลายคำที่มีความหมายจะจำง่ายกว่าสำหรับมนุษย์จะให้จำสัก 4-6 คำก็อาจจะพอไหว(เพราะไม่ต้องจำทีละตัวอักษร แต่จำเป็นภาพความหมาย) แต่ยากสำหรับโปรแกรมเพราะมันไม่รู้ความหมายทำได้เพียงเดาดิบๆไปเรื่อยทีละตัวเหมือนเดิม ยิ่งยาวก็ยิ่งต้องเดานานขึ้น

ดังนั้น ความเชื่อที่ว่ารหัสผ่านที่ซับซ้อนจะแข็งแกร่งนั้นถูกพิสูจแล้วว่าไม่เป็นความจริง รหัสที่ยาวกว่าต่างหากที่แข็งแกร่งกว่า (จะซับซ้อนและยาวด้วยก็ได้ แต่ความยาวคือคีย์หลักของความแข็งแกร่ง)
จนถึงตอนนี้บางเว็บไซต์ก็ยังคงบังคับตามระบบเก่าอยู่ แต่ก็มีบางเว็บไซต์ก็ยกเลิกการบังคับแล้ว ซึ่งควรจะพิจารณายกเลิกบังคับทั้งหมดเพื่อความปลอดภัย

สรุป
จากงานวิจัยใหม่ (จริงๆก็ไม่ใหม่แล้วนะ) คือ ไม่ควรบังคับในการตั้งรหัสผ่านว่าต้องมีอะไรบ้าง เพราะมันจะเกิดเป็นรูปแบบที่จำกัดและเดาง่ายด้วยโปรแกรม จึงควรให้อิสระหรือกำหนดแค่ความยาวขั้นต่ำของรหัสผ่านก็พอครับ

แฮ็กรหัส Wifi อย่างง่ายด้วย Kali Linux
https://coady.tech/hacking-wi-fi-with-kali-linux/

แถม
บางคนเมื่อรู้แนวคิดตรงนี้ที่ว่าควรใช้ประโยคยาวๆก็อาจเลือกใช้เนื้อเพลงที่ชอบหรือเนื้อหาจากหนังสือที่ชอบมาตั้งเป็นรหัสผ่าน ซึ่งไม่แนะนำนะครับ มันยาวจริง แต่อย่าลืมว่าโปรแกรมเจาะรหัสสมัยนี้นอกจากจะ Brute force แล้ว ก็มักจะศึกษาพฤติกรรมของเหยื่อผ่านโซลเซียลก่อน และเอาโพสต่างๆของเรามาเป็นฐานข้อมูลในการเดาด้วย ดังนั้น การเลือกรหัสผ่านเองจึงอาจถูกคาดเดาได้ในเชิงพฤติกรรมได้ ดังนั้น ทาง EFF (the Electronic Frontier Foundation) จึงแนะนำให้ใช้ชุดคำที่ได้จากการสุ่ม เช่น ระบบ Diceware - เทคนิคการตั้งรหัสผ่านแบบจำง่ายแต่แกะยากโดยใช้ลูกเต๋า มาใช้เป็นรหัสผ่านจะดีที่สุด เพราะไม่สามารถคาดการณ์เชิงพฤติกรรมได้ เพราะเกิดจากการสุ่มล้วนๆ คำต่างๆมีความหมาย ไม่ต้องจำทีละตัวอักษร จึงทำให้จำได้ง่ายกว่าแม้จะถูกสุ่มมาก็ตาม

อ้างอิง
https://pages.nist.gov/800-63-3/sp800-63-3.html
https://www.engadget.com/2017-08-08-nist-new-password-guidelines.html
https://www.wsj.com/articles/the-man-who-wrote-those-password-rules-has-a-new-tip-n3v-r-m1-d-1502124118
https://auth0.com/blog/dont-pass-on-the-new-nist-password-guidelines/

ไม่มีความคิดเห็น:

แสดงความคิดเห็น