เครื่องวัดความแรงของรหัสผ่านที่ช่วยได้จริง: คำแนะนำ UX และ NIST
วิธีการออกแบบฟิลด์รหัสผ่านและมาตรวัดความแข็งแกร่งที่เป็นไปตามคำแนะนำของ NIST ในปัจจุบัน: ความยาวเหนือสัญลักษณ์ รายการบล็อก ผู้จัดการการวางและรหัสผ่าน และข้อเสนอแนะที่ชัดเจน
หลัก Takeaway
คำแนะนำ NIST ปัจจุบัน (SP 800-63B) ให้ความสำคัญกับความยาวและรายการบล็อกมากกว่ากฎการเรียบเรียง: รหัสผ่านที่ใช้เองต้องมีอักขระอย่างน้อย 15 ตัว บริการควรมีอักขระอย่างน้อย 64 ตัว และต้องไม่ต้องใช้ประเภทอักขระผสมกัน เครื่องวัดความแรงที่ดีจะประมาณความสามารถในการคาดเดาได้จริง ความยาวรางวัล อธิบายปัญหาด้วยคำพูดธรรมดา และทำงานร่วมกับผู้จัดการการวางและรหัสผ่าน
สิ่งที่ NIST พูดตอนนี้
NIST Special Publication 800-63B กำหนดกฎรหัสผ่านสมัยใหม่สำหรับผู้ตรวจสอบ:
- รหัสผ่านที่ใช้เป็นปัจจัยเดียวต้องมีอักขระอย่างน้อย 15 ตัว รหัสผ่านที่ใช้ในการตรวจสอบสิทธิ์แบบหลายปัจจัยอาจสั้นกว่าแต่อย่างน้อย 8
- บริการควรมีความยาวสูงสุดอย่างน้อย 64 ตัวอักษร
- บริการจะต้องไม่กำหนดกฎการเรียบเรียง เช่น กำหนดให้ประเภทอักขระผสมกัน
- รหัสผ่านใหม่จะต้องได้รับการตรวจสอบกับรายการบล็อกของค่าทั่วไป ค่าที่คาดไว้ หรือค่าที่ถูกบุกรุก โดยแสดงเหตุผลในการปฏิเสธ
- บริการต่างๆ จะต้องให้คำแนะนำเพื่อช่วยให้ผู้คนเลือกรหัสผ่านที่รัดกุม
เอามิเตอร์วัดอะไรดี.
การนับประเภทตัวละครจะได้รับรางวัล "Password1!" และลงโทษข้อความรหัสผ่านที่ยาว เครื่องมือประมาณค่า เช่น zxcvbn โอเพ่นซอร์สของ Dropbox จะมองหารูปแบบที่ผู้โจมตีใช้แทน โดยจดจำรหัสผ่าน ชื่อ และคำทั่วไปหลายหมื่นรายการ และประเมินว่ารหัสผ่านนั้นเดาได้จริงแค่ไหน ยึดมิเตอร์ตามค่าประมาณเช่นนั้น บวกกับรายการบล็อกของคุณ
การออกแบบสนาม
รายละเอียดเล็กๆ น้อยๆ เป็นตัวตัดสินว่าผู้คนจะประสบความสำเร็จหรือไม่:
- อนุญาตให้วางและกรอกอัตโนมัติเพื่อให้ผู้จัดการรหัสผ่านทำงานได้
- เสนอการสลับแสดง/ซ่อนแทนช่องยืนยันรหัสผ่านที่คุณทำได้
- แสดงข้อกำหนดก่อนพิมพ์ จากนั้นแสดงความคืบหน้าในขณะที่ผู้คนพิมพ์
- อธิบายการปฏิเสธด้วยคำพูดธรรมดา: "รหัสผ่านนี้ปรากฏในการละเมิดที่ทราบ"
- อย่าตั้งค่าความยาวสูงสุดที่ต่ำเกินจริง
การเคลื่อนไหวและการตอบรับ
มิเตอร์ที่เติมได้อย่างราบรื่นเมื่อรหัสผ่านดีขึ้น จะให้ผลตอบรับที่ให้กำลังใจทันที อย่าทำให้เคลื่อนไหวมากจนเสียสมาธิ อย่าใช้สีเพียงอย่างเดียว (เพิ่มป้ายกำกับข้อความ เช่น "เข้ม") และหลีกเลี่ยงการเขย่าฟิลด์ในขณะที่ผู้คนยังคงพิมพ์อยู่
คีย์ Principles ที่ต้องจำ
- NIST: 15+ ตัวอักษรสำหรับรหัสผ่านแบบปัจจัยเดียว อนุญาตอย่างน้อย 64 ตัว
- ไม่มีกฎการแต่งเพลง ตรวจสอบกับรายการบล็อกแทน
- การประมาณค่าความสามารถในการคาดเดา (เช่น zxcvbn) ไม่ใช่ประเภทอักขระ
- อนุญาตให้วางและผู้จัดการรหัสผ่าน เสนอการแสดง/ซ่อน
- จับคู่สีมิเตอร์กับป้ายข้อความ
คำถามที่พบบ่อย
แหล่งที่มา
- NIST SP 800-63B: Authentication and Authenticator Management — NIST
- zxcvbn: low-budget password strength estimation — GitHub (ดรอปบ็อกซ์)
- Error-Message Guidelines — Nielsen Norman Group