ตัวสร้างรหัสผ่าน

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

ความยาว

ทำงานภายในเบราว์เซอร์ของคุณทั้งหมด ไม่มีการอัปโหลดข้อมูลใด ๆ

วิธีใช้งาน

  1. ตั้ง “ความยาว” ด้วยแถบเลื่อนหรือช่องตัวเลข ความยาวตั้งแต่ 16 อักขระขึ้นไปเป็นค่าเริ่มต้นที่ดีสำหรับรหัสผ่านที่เก็บไว้ในโปรแกรมจัดการรหัสผ่าน
  2. เลือกประเภทอักขระ ได้แก่ ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ตัวเลข และสัญลักษณ์ ตัวเลือก “ใช้อักขระทุกประเภทที่เลือก” เปิดไว้โดยค่าเริ่มต้น และจะใส่อักขระแต่ละประเภทอย่างน้อยหนึ่งตัวลงในรหัสผ่านทุกรายการ
  3. หากจำเป็น ให้เปิด “ยกเว้นอักขระที่คล้ายกัน” เพื่อตัดอักขระอย่าง l, 1 และ O ออก เปิด “ยกเว้นสัญลักษณ์ที่อาจสับสน” หรือใส่อักขระเฉพาะที่เว็บไซต์ไม่ยอมรับในช่อง “ยกเว้นอักขระ”
  4. คลิก “สร้าง” ตรวจดูระดับ “ความแข็งแรง” และเอนโทรปี แล้วคัดลอกรหัสผ่านทีละรายการ หรือกด “คัดลอกทั้งหมด”

อะไรทำให้รหัสผ่านแข็งแรง

สำหรับรหัสผ่านที่สร้างแบบสุ่ม ความแข็งแรงวัดเป็นเอนโทรปี ซึ่งเท่ากับ length × log2(pool size) บิต โดย length คือความยาว และ pool size คือจำนวนอักขระในชุดที่ใช้สุ่มเลือก ทุกบิตที่เพิ่มขึ้นจะทำให้จำนวนครั้งที่ต้องเดาเพิ่มเป็นสองเท่า ความยาวเป็นตัวคูณเอนโทรปี ขณะที่ชุดอักขระที่ใหญ่ขึ้นเพิ่มเอนโทรปีได้เพียงเล็กน้อยต่ออักขระ ความยาวจึงสำคัญกว่า รหัสผ่านตัวพิมพ์เล็กล้วนยาว 16 อักขระมีความเป็นไปได้มากกว่ารหัสผ่านยาว 8 อักขระที่ผสมอักขระครบทั้งสี่ประเภทประมาณ 11 ล้านเท่า

ความยาวอักขระขนาดชุดอักขระเอนโทรปี
4ตัวเลข (รหัส PIN)1013.3 บิต
8ตัวพิมพ์เล็ก2637.6 บิต
8ครบทั้งสี่ประเภท8951.8 บิต
12ตัวอักษรและตัวเลข6271.5 บิต
16ตัวพิมพ์เล็ก2675.2 บิต
16ครบทั้งสี่ประเภท89103.6 บิต
20ครบทั้งสี่ประเภท89129.5 บิต

ในที่นี้ อักขระครบทั้งสี่ประเภทรวมกันได้ 89 ตัว คือ 26 + 26 + 10 + สัญลักษณ์ 27 ตัว เครื่องมือแสดงเอนโทรปีโดยปัดลงเป็นจำนวนบิตเต็ม ตัวเลขเหล่านี้ใช้ได้กับรหัสผ่านแบบสุ่มเท่านั้น รหัสผ่านที่คนคิดขึ้นเองมีเอนโทรปีต่ำกว่าที่ความยาวบ่งบอกไว้มาก

สิ่งที่ NIST SP 800-63B แนะนำ

NIST SP 800-63B ซึ่งเป็นแนวปฏิบัติของรัฐบาลกลางสหรัฐอเมริกาด้านการยืนยันตัวตนดิจิทัล กล่าวถึงบริการที่ทำหน้าที่ตรวจสอบรหัสผ่าน ฉบับปรับปรุงปัจจุบันคือ SP 800-63B-4 ระบุว่าบริการเหล่านี้:

  • ต้องกำหนดความยาวอย่างน้อย 15 อักขระเมื่อรหัสผ่านเป็นปัจจัยเดียวในการยืนยันตัวตน หรือ 8 อักขระเมื่อใช้ร่วมกับปัจจัยอื่น และควรรองรับความยาวได้อย่างน้อย 64 อักขระ
  • ต้องไม่บังคับกฎการผสมอักขระ เช่น “ตัวพิมพ์ใหญ่หนึ่งตัว ตัวเลขหนึ่งตัว และสัญลักษณ์หนึ่งตัว” และไม่บังคับให้เปลี่ยนรหัสผ่านเป็นระยะ แต่ต้องบังคับให้เปลี่ยนเมื่อมีหลักฐานว่ารหัสผ่านรั่วไหล
  • ต้องตรวจสอบรหัสผ่านใหม่กับรายการรหัสผ่านต้องห้าม ซึ่งรวมถึงรหัสผ่านที่ใช้กันทั่วไป คาดเดาได้ หรือเคยรั่วไหล
  • ควรรับอักขระ ASCII ที่พิมพ์ได้ทั้งหมดรวมถึงช่องว่าง และอนุญาตให้วางรหัสผ่านได้ เพื่อให้โปรแกรมจัดการรหัสผ่านใช้งานได้

สำหรับผู้ใช้ บทเรียนก็เหมือนกัน คือความยาวและความสุ่มเป็นสิ่งสำคัญ ส่วนการแทนที่อักขระแบบที่คาดเดาได้ เช่น P@ssw0rd1 ไม่ได้ช่วยอะไร

โปรแกรมจัดการรหัสผ่านและวลีรหัสผ่าน

รหัสผ่านที่ใช้ซ้ำมักมีความเสี่ยงมากกว่ารหัสผ่านที่สั้น หลังจากข้อมูลรั่วไหล ผู้โจมตีจะนำคู่อีเมลและรหัสผ่านที่หลุดออกมาไปลองใช้กับเว็บไซต์อื่น (credential stuffing) ให้ใช้รหัสผ่านสุ่มที่ต่างกันสำหรับทุกบัญชี และให้โปรแกรมจัดการรหัสผ่านจำไว้แทน เมื่อเป็นเช่นนั้น รหัสผ่านยาว 20 อักขระก็ไม่ได้ยุ่งยากไปกว่ารหัสผ่านยาว 8 อักขระเลย

สำหรับรหัสผ่านไม่กี่รายการที่คุณต้องพิมพ์จากความจำ เช่น รหัสผ่านหลักของโปรแกรมจัดการรหัสผ่าน วลีรหัสผ่าน (passphrase) จะใช้งานง่ายกว่า วลีรหัสผ่านประกอบด้วยคำที่สุ่มเลือกมา เช่น ใช้ลูกเต๋าร่วมกับรายการคำแบบยาว (long word list) ของ EFF ซึ่งมี 7,776 คำ แต่ละคำเพิ่มเอนโทรปีประมาณ 12.9 บิต หกคำจึงให้ประมาณ 77.5 บิต เครื่องมือนี้สร้างรหัสผ่านจากอักขระ ไม่ได้สร้างวลีรหัสผ่าน สำหรับคีย์ API และข้อมูลลับอื่น ๆ ที่ใช้ระหว่างเครื่อง ให้ใช้ตัวสร้าง Base64 แบบสุ่ม

ตัวสร้างนี้ทำงานอย่างไร

รหัสผ่านถูกสร้างบนอุปกรณ์ของคุณด้วย crypto.getRandomValues() ซึ่งเป็นตัวสร้างเลขสุ่มของเบราว์เซอร์ที่ปลอดภัยสำหรับงานเข้ารหัสลับ และไม่มีการส่งหรือจัดเก็บไว้ที่ใด การใช้มอดูโลตรง ๆ จะทำให้อักขระบางตัวมีโอกาสถูกเลือกสูงกว่าเล็กน้อย เครื่องมือจึงใช้การสุ่มแบบปฏิเสธ (rejection sampling) กล่าวคือ ค่าสุ่ม 32 บิตที่มากกว่าหรือเท่ากับพหุคูณที่มากที่สุดของขนาดชุดอักขระจะถูกสุ่มใหม่ อักขระทุกตัวจึงมีโอกาสถูกเลือกเท่ากันทุกประการ

ยกเว้นอักขระที่คล้ายกัน จะตัด i l 1 L o 0 O ออก ซึ่งมีประโยชน์เมื่อต้องอ่านรหัสผ่านออกเสียงหรือพิมพ์ตามที่เขียนบนกระดาษ เช่น รหัส Wi-Fi ส่วนยกเว้นสัญลักษณ์ที่อาจสับสน จะตัดวงเล็บ เครื่องหมายทับ เครื่องหมายตัวหนอน และ , ; : . ออก เนื่องจากฟอร์ม เชลล์ และไฟล์การกำหนดค่าบางแบบจัดการอักขระเหล่านี้ได้ไม่ดี โดยจะเหลือ ! @ # $ % ^ & * - _ = + ? ทั้งสองตัวเลือกทำให้ชุดอักขระเล็กลง จึงควรเพิ่มความยาวอีกหนึ่งหรือสองอักขระเพื่อชดเชย

คำถามที่พบบ่อย

รหัสผ่านควรยาวเท่าใด

อย่างน้อย 15 อักขระสำหรับบัญชีที่ป้องกันด้วยรหัสผ่านเพียงอย่างเดียว ซึ่งเป็นความยาวขั้นต่ำที่ NIST SP 800-63B-4 กำหนดสำหรับรหัสผ่านที่ใช้เป็นปัจจัยเดียว หากใช้โปรแกรมจัดการรหัสผ่าน อักขระสุ่ม 16 ถึง 24 ตัวก็ไม่ได้เพิ่มภาระใด ๆ ให้คุณ สำหรับรหัสผ่านที่ต้องพิมพ์บ่อย ลองพิจารณาใช้วลีรหัสผ่านที่ประกอบด้วยคำสุ่มห้าหรือหกคำ

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

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

ควรเปลี่ยนรหัสผ่านเป็นประจำหรือไม่

ไม่จำเป็นต้องเปลี่ยนตามกำหนดเวลาตายตัว NIST SP 800-63B-4 กำหนดไม่ให้บริการต่าง ๆ บังคับเปลี่ยนรหัสผ่านเป็นระยะ เพราะผู้ใช้มักรับมือด้วยการดัดแปลงรหัสผ่านเดิมในแบบที่คาดเดาได้ ให้เปลี่ยนรหัสผ่านเมื่อบริการแจ้งว่าข้อมูลรั่วไหล เมื่อรหัสผ่านปรากฏในข้อมูลที่หลุดออกมา หรือเมื่อสงสัยว่ามีคนอื่นรู้รหัสผ่านนั้น

การบังคับให้ใช้อักขระทุกประเภททำให้รหัสผ่านแข็งแรงขึ้นหรือไม่

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