• รหัสผ่าน
  • การยืนยันตัวตน
  • ประสบการณ์การลงชื่อเข้าใช้
  • ผลิตภัณฑ์
  • ความปลอดภัย

ออกแบบนโยบายรหัสผ่านของคุณ

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

Ran
Ran
Product & Design

รหัสผ่านของคุณปกป้องคุณได้จริงหรือ?

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

เรามุ่งเน้นแก้ไขความซับซ้อนในการออกแบบและตั้งค่านโยบายรหัสผ่านโดยการวิจัยเชิงลึกในข้อมูลจำเพาะของ NIST ตรวจสอบนโยบายรหัสผ่านของผลิตภัณฑ์ชั้นนำ และการสร้างสมดุลให้กับประสบการณ์ของผู้ใช้ เน้นความสำคัญของการใช้รหัสผ่านตามกฎเกณฑ์ เรามุ่งหวังที่จะบรรเทาความท้าทายที่เกี่ยวข้องกับกลยุทธ์รหัสผ่านและมอบกระบวนการที่ครอบคลุมเพื่อความมั่นใจในความปลอดภัยของบัญชีด้วยการรวมรหัสผ่านกับปัจจัยยืนยันตัวตนหลายปัจจัย (MFA) อย่างราบรื่น

ผู้ใช้ต้องการรหัสผ่านแบบไหน?

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

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

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

รายการตรวจสอบของปัจจัยรหัสผ่านทั้งหมด

ก่อนอื่น หลังจากวิเคราะห์ผลิตภัณฑ์มากมายและข้อกำหนดของ NIST เราได้รวบรวมรายการปัจจัยรหัสผ่านที่ครอบคลุมและคำแนะนำในการออกแบบ

เราได้แบ่งพวกเขาออกเป็นสามกลุ่ม ได้แก่ :

  1. ข้อกำหนดการตั้งค่ารหัสผ่าน: ข้อกำหนดขั้นพื้นฐานสำหรับรหัสผ่านที่ผู้ใช้ตั้ง
  2. การเฝ้าระวังความปลอดภัยของรหัสผ่าน: การดำเนินการและข้อเสนอแนะทันทีเมื่อมีการตรวจพบความเสี่ยงของรหัสผ่าน
  3. ประสบการณ์ของผู้ใช้รหัสผ่าน: การปรับประสบการณ์การป้อนข้อมูลรหัสผ่านในกระบวนการสร้างและการตรวจสอบรหัสผ่านให้ดียิ่งขึ้น
หมวดหมู่ปัจจัยการวิเคราะห์ (ดูที่ https://pages.nist.gov/800-63-3/sp800-63b.html#sec5)
ตั้งค่าความต้องการของรหัสผ่านความยาวการเพิ่มความยาวของรหัสผ่านมีประสิทธิภาพมากกว่าความซับซ้อนในการป้องกันการแครกรหัสผ่าน NIST แนะนำให้มีความยาวอย่างน้อย 8 ตัวอักษร แต่ควรอนุญาตให้มีรหัสผ่านที่ยาวกว่าได้
ประเภทอักขระรหัสผ่านสามารถรองรับประเภทอักขระต่างๆ เช่น อักษรพิมพ์ใหญ่ อักษรพิมพ์เล็ก ตัวเลข สัญลักษณ์ และ Unicode (ควรอนุญาตให้ใช้ช่องว่างด้วย)
นโยบายรหัสผ่านจะต้องไม่ขอให้ผู้ใช้จำชนิดข้อมูลเฉพาะเจาะจง เนื่องจากพบว่าทำให้ความซับซ้อนเพิ่มขึ้นโดยไม่เพิ่มความปลอดภัยอย่างมีประสิทธิภาพ https://www.notion.so/General-f14f0fb677af44cb840821776831a021?pvs=21
วลีที่มีความปลอดภัยต่ำควรเตือนผู้ใช้ให้เปลี่ยนรหัสผ่านเมื่อใช้รูปแบบที่คาดเดาหรือแครกได้ง่าย เช่น ตัวอักษรที่ซ้ำหรือเป็นลำดับ คำทั่วไป ข้อมูลของผู้ใช้ หรือข้อมูลบริบทของผลิตภัณฑ์
รหัสผ่านที่ถูกละเมิดรหัสผ่านใหม่ของผู้ใช้ควรตรวจสอบเทียบกับรายการรหัสผ่านที่รั่วไหลเพื่อมั่นใจว่าไม่ได้ถูกโจมตี
การเฝ้าระวังความปลอดภัยของรหัสผ่านการจำกัดอัตราการยืนยันรหัสผ่านจำกัดจำนวนพยายามการยืนยันรหัสผ่านที่ผิดพลาดติดต่อกัน เมื่อถึงขีดจำกัดนี้ให้ใช้มาตรการรักษาความปลอดภัยเช่นการต้องการ Multi-Factor Authentication (MFA) ส่งการแจ้งเตือนแบบพุช กำหนดเวลาพักเย็น หรือแม้แต่การระงับบัญชีชั่วคราว
บังคับเปลี่ยนรหัสผ่านไม่ควรกำหนดให้เปลี่ยนรหัสผ่านโดยไม่จำเป็น แต่ผู้ยืนยันต้องบังคับให้เปลี่ยนรหัสผ่านหากมีหลักฐานของตัวตนที่ถูกโจมตี
ประวัติรหัสผ่านเก็บบันทึกรหัสผ่านในอดีตที่ไม่สามารถใช้ซ้ำได้ ไม่แนะนำให้มีข้อ จำกัด ในการใช้รหัสผ่านซ้ำเพราะผู้ใช้อาจจะหลีกเลี่ยงกฎนี้โดยการแก้ไขเล็กน้อย
ล้างเซสชันหลังจากเปลี่ยนรหัสผ่านอนุญาตให้ผู้ใช้เลือกว่าจะออกจากอุปกรณ์อื่นหลังจากเปลี่ยนรหัสผ่านหรือไม่
ประสบการณ์การป้อนรหัสผ่านตัววัดความแข็งแกร่งของรหัสผ่านเสนอคำแนะนำแก่ผู้ใช้เพื่อช่วยในการเลือกความลับที่จดจำได้ดี
การชี้นำรหัสผ่านหลีกเลี่ยงการแสดงคำใบ้รหัสผ่านเพราะเพิ่มความเสี่ยงในการเข้าถึงโดยไม่ได้รับอนุญาต
คัดลอกและวางรหัสผ่านอนุญาตให้ใช้ฟังก์ชัน "วาง" ซึ่งอำนวยความสะดวกในการใช้ตัวจัดการรหัสผ่าน
แสดงรหัสผ่านให้ตัวเลือกในการแสดงรหัสผ่านที่ป้อน แทนที่จะแสดงจุดหรือดอกจันจนกว่าจะส่ง

เครื่องมือในการตั้งค่าประสบการณ์รหัสผ่านของคุณ

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

ขั้นตอนที่ 1: ละทิ้งกฎที่ไม่จำเป็นออกไป

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

  • หลีกเลี่ยงการจำกัดการผสมผสานของตัวอักษรที่ผู้ใช้ต้องใช้ การจำกัดประเภทอักขระที่ใช้เพียงอย่างเดียวก็เพียงพอ ตัวอย่างเช่น Facebook, Discord และ Stripe ไม่กำหนดให้ใช้ผสมผสานประเภทอักขระ และนโยบายรหัสผ่านของ Google แค่ต้องการ "อักษร ตัวเลข สัญลักษณ์ อย่างน้อยสองชนิด"
  • ไม่กำหนดให้เปลี่ยนรหัสผ่านเป็นประจำเนื่องจากสร้างภาระไม่จำเป็นต่อความจำของผู้ใช้ เปลี่ยนรหัสผ่านเมื่อมีความเสี่ยงที่ข้อมูลจะถูกโจมตีเท่านั้น
  • เลือกใช้ขีดจำกัดรหัสผ่านหนึ่งชนิด ระหว่างข้อกำหนดขั้นต่ำของรหัสผ่านที่ชัดเจนและตัววัดความแข็งแกร่งของรหัสผ่านเพื่อป้องกันความเข้าใจผิดของผู้ใช้
  • หลีกเลี่ยงการแสดงกฎที่ซับซ้อนเกินไปล่วงหน้า ป้องกันผู้ใช้ไม่ให้โฟกัสไปยังการอ่านข้อมูลข้อผิดพลาดที่อาจจะไม่เกิดขึ้นจำเป็น
  • หลีกเลี่ยงการใช้คำใบ้รหัสผ่านเพื่อป้องกันไม่ให้ผู้โจมตีอาจได้เปรียบ

ขั้นตอนที่ 2: ให้การปรับแต่งสำหรับผลิตภัณฑ์ที่แตกต่างกัน

เราให้ตัวเลือกการกำหนดค่าที่ปรับเปลี่ยนได้สำหรับนโยบายขั้นต่ำของรหัสผ่าน โดยมีค่าที่แนะนำเพื่อลดความซับซ้อนในการเรียนรู้สำหรับนักพัฒนาและมอบประสบการณ์การ ลงชื่อเข้าใช้ที่พร้อมใช้งานทันที ตัวเลือกเหล่านี้รวมถึง:

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

ขั้นตอนที่ 3: มั่นใจในความปลอดภัยด้วยค่าที่ตั้งไว้

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

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

สรุป

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