26 คะแนน โดย GN⁺ 2024-09-26 | 14 ความคิดเห็น | แชร์ทาง WhatsApp
  • NIST เตรียม "ห้าม" ทั้ง "ข้อกำหนดให้รหัสผ่านต้องประกอบด้วยรูปแบบอักขระที่หลากหลาย" และ "ข้อกำหนดให้เปลี่ยนรหัสผ่านเป็นระยะ" โดยมองว่าสิ่งเหล่านี้เป็นจุดอ่อนด้านความมั่นคงปลอดภัยไซเบอร์

ข้อกำหนดรหัสผ่าน

  • ผู้ตรวจสอบความถูกต้องและ CSP ควรกำหนดให้รหัสผ่านมีความยาวอย่างน้อย 8 อักขระ และแนะนำให้กำหนดขั้นต่ำ 15 อักขระ SHALL
  • ผู้ตรวจสอบความถูกต้องและ CSP ควรอนุญาตความยาวรหัสผ่านสูงสุดอย่างน้อย 64 อักขระ SHOULD
  • ผู้ตรวจสอบความถูกต้องและ CSP ควรอนุญาตอักขระที่พิมพ์ได้ทั้งหมดใน ASCII และอักขระเว้นวรรคในรหัสผ่าน SHOULD
  • ผู้ตรวจสอบความถูกต้องและ CSP ควรอนุญาตอักขระ Unicode ในรหัสผ่าน เมื่อตรวจประเมินความยาวรหัสผ่าน ต้องนับแต่ละ Unicode code point เป็นอักขระหนึ่งตัว SHOULD
  • ผู้ตรวจสอบความถูกต้องและ CSP ต้องไม่กำหนดกฎองค์ประกอบอื่น ๆ กับรหัสผ่าน (เช่น บังคับให้ผสมประเภทอักขระหลายแบบ) SHALL NOT
  • ผู้ตรวจสอบความถูกต้องและ CSP ต้องไม่บังคับให้ผู้ใช้เปลี่ยนรหัสผ่านเป็นระยะ SHALL NOT อย่างไรก็ตาม หากมีหลักฐานว่าตัวรับรองความถูกเจาะระบบ ผู้ตรวจสอบต้องบังคับให้เปลี่ยน SHALL
  • ผู้ตรวจสอบความถูกต้องและ CSP ต้องไม่อนุญาตให้ผู้สมัครสมาชิกเก็บ hint ที่ผู้แอบอ้างที่ยังไม่ได้รับการยืนยันตัวตนสามารถเข้าถึงได้ SHALL NOT
  • ผู้ตรวจสอบความถูกต้องและ CSP ต้องไม่ prompt ให้ผู้สมัครสมาชิกใช้การยืนยันตัวตนแบบอิงความรู้ (KBA) หรือคำถามความปลอดภัยตอนเลือกรหัสผ่าน SHALL NOT
  • ผู้ตรวจสอบต้องตรวจสอบรหัสผ่านที่ส่งมาทั้งหมด (กล่าวคือ ต้องไม่ตัดทอน) SHALL

ประเด็นอื่น ๆ

  • ปัญหาของกฎเดิม: ก่อนหน้านี้เคยมีปัญหาที่อักขระ Unicode ถูกจัดเก็บได้ไม่ถูกต้องบนบางแพลตฟอร์ม แต่ปัจจุบัน Unicode ให้ entropy ได้มากกว่า
  • ข้อกำหนดใหม่: แนวทางใหม่ของ NIST จะรวมข้อกำหนดให้รองรับ Unicode แบบไม่จำกัด ซึ่งเป็นสิ่งจำเป็นสำหรับซอฟต์แวร์ที่อ้างว่ารองรับ internationalization (i18n)
  • กฎองค์ประกอบรหัสผ่าน: NIST เปลี่ยนจุดยืนจาก "ไม่แนะนำ" เป็น "ไม่อนุญาต" ซึ่งเป็นก้าวสำคัญในการเสริมความปลอดภัย
  • ความขัดแย้งกับมาตรฐานอุตสาหกรรม: มาตรฐานบางตัวในอุตสาหกรรม (เช่น PCI, ISO 27001:2022) ยังมีข้อกำหนดที่ขัดกับ NIST อยู่ ทำให้องค์กรต่าง ๆ ปฏิบัติตามกฎใหม่ของ NIST ได้ยาก
  • การใช้ตัวจัดการรหัสผ่าน: ตัวจัดการรหัสผ่านมีประโยชน์ไม่เฉพาะกับเว็บไซต์ แต่รวมถึงระบบประเภทอื่น ๆ ด้วย และยังมีวิธีป้อนรหัสผ่านหลักผ่านฮาร์ดแวร์โทเคนหรือการยืนยันตัวตนด้วยชีวมิติได้
  • การจำกัดความยาวรหัสผ่าน: การจำกัดความยาวรหัสผ่านมีไว้เพื่อป้องกันการใช้ทรัพยากรของระบบยืนยันตัวตนจนหมด แต่ถ้ากำหนดเพดานสั้นเกินไปอาจส่งผลเสียต่อความปลอดภัยอย่างรุนแรง

สรุปโดย GN⁺

  • กฎรหัสผ่านใหม่ของ NIST ช่วยเสริมความปลอดภัยด้วยการตัดข้อกำหนดด้านความปลอดภัยที่ไม่จำเป็นและเป็นอันตรายแบบเดิมออกไป
  • การรองรับรหัสผ่านแบบ Unicode จะเป็นประโยชน์อย่างมากต่อผู้ใช้จากนานาชาติ
  • ความขัดแย้งกับมาตรฐานอุตสาหกรรมบางส่วนอาจทำให้องค์กรต่าง ๆ ปฏิบัติตามกฎใหม่ได้ยาก
  • ตัวจัดการรหัสผ่านมีประโยชน์กับระบบหลากหลายประเภท และสามารถเพิ่มความปลอดภัยได้ผ่านฮาร์ดแวร์โทเคน
  • การจำกัดความยาวรหัสผ่านมีไว้เพื่อป้องกันทรัพยากรหมด แต่หากจำกัดสั้นเกินไปอาจก่อปัญหาด้านความปลอดภัยได้

14 ความคิดเห็น

 
[ความคิดเห็นนี้ถูกซ่อน]
 
hided62 2024-09-26

ที่ที่กำหนดความยาวสูงสุดสั้น ๆ นี่ก็ไม่ค่อยไหร่เหมือนกันนะครับ
จริง ๆ แล้วรหัสผ่านคือ

ข้าวแกงขาว0212341234ชุดกลางวันพิเศษ1ที่จ่ายบัตรนะครับ

แบบนี้ ต่อให้เป็นการผสมกันของ "คำที่มีอยู่แล้ว" ถ้าต่อกันหลายคำ ความยากก็พุ่งสูงขึ้นอย่างมากเลยครับ

 
semjei 2024-09-27

บริษัทของผมก็มีการเปลี่ยนแนวทางเมื่อต้นปีนี้เหมือนกัน เลยเปลี่ยนเป็นให้เรียงคำภาษาอังกฤษอะไรก็ได้อย่างน้อย 4 คำ
เพราะงั้นทุกเช้าผมเลยเริ่มต้นวันด้วยการพิมพ์คำคมดี ๆ

 
savvykang 2024-09-26

แม้แต่ Coupang ที่ว่ากันว่าวัฒนธรรมการพัฒนายังดีกว่าที่อื่น ก็ยังแอบจำกัดความยาวรหัสผ่านไว้ที่ 16 ตัวอักษรโดยไม่มีฟีดแบ็กทางภาพใด ๆ เลยนะครับ ไม่มีอีเมลแจ้งเปลี่ยนรหัสผ่านด้วย แล้วจู่ ๆ ก็ล็อกอินไม่ได้โดยไม่มีเหตุผล จนผมนึกว่าบัญชีโดนแฮ็กไปแล้ว

 
galadbran 2024-09-28

ดูเหมือนว่าแม้แต่ในสายงานพัฒนาก็ยังมีหลายด้านนะครับ/คะ ความปลอดภัยหรือการเข้าถึงน่าจะเป็นตัวอย่างของด้านที่มักไม่ได้ถูกหยิบมาพูดถึงกันนัก แค่แบ่งความพยายามที่เทไปกับ dark pattern มาสักนิดก็คง...

 
savvykang 2024-09-28

ตอนนี้พอตรวจดูแล้วเห็นว่าปรับเพดานเป็น 20 ตัวอักษรแล้วครับ แต่หน้าเว็บสมัครสมาชิกก็ยังคงจำกัดความยาวรหัสผ่านโดยไม่มีทั้งข้อความแนะนำหรือฟีดแบ็กทางภาพใด ๆ เกี่ยวกับรหัสผ่านเลย และหน้าเว็บเข้าสู่ระบบก็ไม่มีข้อจำกัดใด ๆ ในทางกลับกัน หน้าเปลี่ยนรหัสผ่านในแอป Android ระบุกฎของรหัสผ่านไว้อย่างชัดเจนอยู่แล้ว ดูเหมือนว่าทีม Android กับทีมเว็บฟรอนต์เอนด์จะทำงานไม่ค่อยประสานกัน

ผมคิดว่านี่เป็นอาการแบบฉบับของการทำงานเป็นไซโล

 
unsure4000 2024-09-26

เหมือนไม่มีอะไรถูกปฏิบัติตามอย่างเหมาะสมสักอย่างเลย...

 
bakyeono0 2024-09-26

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

 
lux1024 2024-09-28

เพราะมันเป็นแนวทางด้านความปลอดภัยของภาครัฐครับ คงไม่มีบริษัทไหนอยากใส่คีย์บอร์ดเสมือนเข้าไปหรอก

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

 
[ความคิดเห็นนี้ถูกซ่อน]
 
bakyeono 2024-09-27

ไม่ใช่แค่หน่วยงานภาครัฐเท่านั้น แต่แม้แต่บริษัทเทคโนโลยีอย่าง Naver และ Coupang ก็ยังทำแบบนั้นอยู่ เลยยิ่งน่าอึดอัดเข้าไปอีกครับ

 
carnoxen 2024-09-27

ที่นั่นคงแค่จำใจทำตามเพราะรัฐบาลสั่งให้ทำแบบนั้นไม่ใช่หรือครับ?

 
savvykang 2024-09-26

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

 
GN⁺ 2024-09-26
ความเห็นจาก Hacker News
  • NIST ได้ให้แนวทางผ่อนคลายกฎการตั้งรหัสผ่านมาตั้งแต่ปี 2017

    • "ผู้ตรวจสอบไม่ควรบังคับใช้กฎองค์ประกอบอื่นกับรหัสผ่านที่ผู้ใช้ต้องจดจำ"
    • "ผู้ตรวจสอบไม่ควรกำหนดให้เปลี่ยนรหัสผ่านเป็นระยะโดยพลการ"
    • "ควรบังคับให้เปลี่ยนเมื่อมีหลักฐานว่าตัวพิสูจน์ตัวตนถูกทำให้เสียหาย"
  • NIST ไม่ได้กำหนดนโยบายโดยตรง แต่มีนโยบายอื่นจำนวนมากที่อ้างอิง NIST 800-63

  • ตอนสมัครใช้งานเว็บไซต์ กฎแบบ "รหัสผ่านที่ดีต้องมี a, b, c" น่ารำคาญมาก

    • ดูเหมือนว่านักพัฒนาเว็บไซต์จำนวนมากจะไม่ค่อยเข้าใจเรื่องรหัสผ่านที่ดีนัก
  • NIST ยังห้ามใช้ 'คำถามเพื่อความปลอดภัย' ด้วย (เช่น "นามสกุลเดิมของแม่คืออะไร?")

  • NIST เคยให้คำแนะนำเรื่องรหัสผ่านที่ผิดพลาดมาหลายสิบปี และเพิ่งจะเปลี่ยนมาใช้แนวทางที่สมเหตุสมผลกว่าในตอนนี้

    • ซอฟต์แวร์จำนวนมากถูกสร้างขึ้นจากคำแนะนำที่ผิดพลาดในอดีต และคงต้องใช้เวลานานกว่าจะเปลี่ยนได้
  • ดูเหมือนว่าปัญหาของ bcrypt จะเป็นเหตุให้เกิดข้อกำหนดว่า "ต้องตรวจสอบรหัสผ่านทั้งหมดตามที่ส่งมา"

  • NIST เสนอให้ความยาวรหัสผ่านสูงสุดเป็น 64 ตัวอักษร (หลายเว็บไซต์จำกัดไว้ที่ 20 ตัวอักษร ทำให้ใช้ passphrase ไม่ได้)

  • เรื่องเล่าจากผู้ใช้คนหนึ่ง:

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

    • การบังคับอักขระบางประเภททำให้ช่วงของอักขระที่เลือกได้แคบลง จึงทำให้เอนโทรปีลดลง
    • ผู้ใช้ส่วนใหญ่มักเลือกรหัสผ่านที่อ่อนแอ ดังนั้นการบังคับอักขระบางประเภทอาจเพิ่มเอนโทรปีได้
    • อย่างไรก็ตาม ผู้ใช้ส่วนใหญ่มักวางอักขระเหล่านั้นไว้ในตำแหน่งที่เดาง่าย จึงมีแนวโน้มว่าเอนโทรปีจะยังลดลงอยู่ดี
  • กำลังรอให้ NIST แทนที่รหัสผ่านแบบข้อความล้วนด้วย PAKE และให้ W3C จัดทำกลไกรองรับสิ่งนี้

  • ลิงก์ต้นฉบับ: NIST SP 800-63b