รหัสผ่านที่แข็งแรงและ UUID
ค่าสุ่มใช้ในงานสองแบบที่ต่างกัน รหัสผ่านต้องเดายาก ส่วน UUID ต้องไม่ซ้ำกัน คู่มือนี้อธิบายว่าอะไรทำให้รหัสผ่านแข็งแรง ตัวเลขเอนโทรปีหมายถึงอะไร และ UUID v4 กับ v7 ต่างกันอย่างไร
ความยาวและความสุ่ม
รหัสผ่านจะแข็งแรงเมื่อผู้โจมตีต้องเดาหลายครั้งเกินไปกว่าจะพบ สองสิ่งที่สำคัญที่สุดคือความยาวและวิธีเลือกรหัสผ่าน อักขระที่เพิ่มขึ้นแต่ละตัวจะคูณจำนวนความเป็นไปได้ ความยาวจึงมักช่วยได้มากกว่าการเพิ่มสัญลักษณ์อีกประเภทหนึ่ง
วิธีเลือกรหัสผ่านก็สำคัญไม่แพ้กัน คนมักเลือกคำ ชื่อ วันที่ และการแทนตัวอักษรที่คาดเดาได้อย่าง "P@ssw0rd" และผู้โจมตีจะลองแพตเทิร์นเหล่านี้ก่อน รหัสผ่านที่สร้างจากแหล่งสุ่มที่ปลอดภัยจะหลีกเลี่ยงแพตเทิร์นเหล่านี้ ตัวสร้างของ LeedyBox ใช้ตัวสร้างตัวเลขสุ่มของ Web Crypto ในเบราว์เซอร์ แทน Math.random() ซึ่งไม่ได้ออกแบบมาเพื่อความปลอดภัย
คู่มือนี้ให้ข้อมูลทั่วไป ไม่ใช่คำแนะนำด้านความปลอดภัยจากผู้เชี่ยวชาญ โปรดปฏิบัติตามข้อกำหนดขององค์กรของคุณหรือของบริการที่คุณสมัครใช้
บิตของเอนโทรปีหมายถึงอะไร
เอนโทรปีซึ่งวัดเป็นบิต ใช้ประมาณว่าต้องเดากี่ครั้งจึงจะพบรหัสผ่านแบบสุ่ม สำหรับรหัสผ่านความยาว L ที่สุ่มอย่างสม่ำเสมอจากอักขระที่เป็นไปได้ N ตัว เอนโทรปีเท่ากับ L × log2(N) ทุกบิตที่เพิ่มขึ้นทำให้พื้นที่การค้นหาเพิ่มเป็นสองเท่า
| ชุดอักขระ | บิตต่ออักขระ | อักขระสุ่ม 16 ตัว |
|---|---|---|
| ตัวเลข (10) | ประมาณ 3.3 | ประมาณ 53 บิต |
| ตัวพิมพ์เล็ก (26) | ประมาณ 4.7 | ประมาณ 75 บิต |
| ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก และตัวเลข (62) | ประมาณ 6.0 | ประมาณ 95 บิต |
| ASCII ที่พิมพ์ได้ (94) | ประมาณ 6.6 | ประมาณ 105 บิต |
ค่าประมาณนี้มีข้อจำกัด มีความหมายก็ต่อเมื่ออักขระทุกตัวถูกเลือกแบบสุ่มเท่านั้น รหัสผ่านที่คุณคิดขึ้นเอง เช่น "Summer2026!" อาจดูเหมือนมีบิตมากตามสูตรนี้ แต่เดาได้ง่ายกว่ามาก เอนโทรปียังไม่ได้บอกอะไรเกี่ยวกับวิธีที่บริการจัดเก็บรหัสผ่าน รหัสผ่านถูกใช้ซ้ำหรือไม่ หรือถูกขโมยผ่านฟิชชิงหรือไม่
โปรแกรมจัดการรหัสผ่านและรหัสผ่านที่ไม่ซ้ำกัน
รหัสผ่านแบบสุ่มจำยาก โปรแกรมจัดการรหัสผ่านจึงช่วยได้ โดยสร้าง จัดเก็บ และกรอกรหัสผ่านที่ต่างกันสำหรับแต่ละเว็บไซต์ การใช้รหัสผ่านที่ไม่ซ้ำกันในทุกที่มีความสำคัญเพราะข้อมูลรั่วไหลเกิดขึ้นได้ และรหัสผ่านที่ใช้ซ้ำทำให้ผู้โจมตีลองล็อกอินแบบเดียวกันกับบริการอื่นได้ สำหรับรหัสผ่านไม่กี่ตัวที่คุณต้องจำ เช่น มาสเตอร์พาสเวิร์ดของโปรแกรมจัดการรหัสผ่านเอง วิธีที่ใช้กันทั่วไปคือวลีรหัสผ่านยาว ๆ ที่ประกอบด้วยคำที่เลือกแบบสุ่มหลายคำ
การยืนยันตัวตนแบบสองขั้นตอน
แม้แต่รหัสผ่านที่แข็งแรงก็อาจถูกขโมยผ่านฟิชชิงหรือมัลแวร์ได้ การยืนยันตัวตนแบบสองขั้นตอน (2FA) เพิ่มการตรวจสอบขั้นที่สอง เช่น รหัสจากแอปยืนยันตัวตน คีย์ความปลอดภัยแบบฮาร์ดแวร์ หรือพาสคีย์ การเปิดใช้กับอีเมล ธนาคาร และบัญชีสำคัญอื่น ๆ ช่วยลดความเสียหายที่รหัสผ่านที่ถูกขโมยอาจก่อขึ้น เก็บรหัสกู้คืนไว้ในที่ปลอดภัย
UUID v4 กับ UUID v7
UUID (universally unique identifier) คือค่าขนาด 128 บิตที่เขียนเป็นอักขระ 36 ตัว เช่น 550e8400-e29b-41d4-a716-446655440000 ตัวเลขหลังขีดกลางตัวที่สองบอกเวอร์ชัน
- UUID v4 ส่วนใหญ่เป็นค่าสุ่ม (122 จาก 128 บิต) ไม่ได้เปิดเผยว่าสร้างขึ้นเมื่อใดหรือที่ใด และโอกาสที่สองค่าจะชนกันนั้นน้อยจนไม่ต้องคำนึงถึงในทางปฏิบัติ
- UUID v7 ซึ่งกำหนดไว้ใน RFC 9562 เริ่มด้วย Unix timestamp หน่วยมิลลิวินาที ตามด้วยบิตสุ่ม ค่าที่สร้างทีหลังจะเรียงอยู่หลังค่าที่สร้างก่อน ซึ่งอาจทำให้ดัชนีฐานข้อมูลมีประสิทธิภาพกว่า v4 ข้อแลกเปลี่ยนคือใครที่เห็น UUID v7 จะรู้ได้คร่าว ๆ ว่าสร้างขึ้นเมื่อใด
เครื่องมือของ LeedyBox สร้างได้ทั้งสองเวอร์ชัน และตัวตรวจสอบ UUID ช่วยให้คุณตรวจดู UUID ที่วางลงไปได้
UUID เป็นตัวระบุ ไม่ใช่ความลับ
UUID ออกแบบมาให้ไม่ซ้ำกัน ไม่ใช่ให้เป็นความลับ UUID จำนวนมากไปปรากฏใน URL บันทึกการทำงาน และการตอบกลับของ API และ UUID v7 ยังมีเวลาที่สร้างอยู่ในตัว อย่าใช้ UUID เพียงอย่างเดียวเป็นรหัสผ่าน คีย์ API หรือโทเค็นรีเซ็ตรหัสผ่าน ให้ใช้โทเค็นสุ่มเฉพาะที่ได้จากตัวสร้างที่ปลอดภัย ร่วมกับการตรวจสอบสิทธิ์การเข้าถึงที่เหมาะสม
คำถามที่พบบ่อย
รหัสผ่านแบบสุ่มควรยาวเท่าใด
ไม่มีคำตอบเดียว ตามที่ตารางด้านบนแสดง อักขระสุ่ม 16 ตัวจากชุดอักขระแบบผสมให้เอนโทรปีประมาณ 95 ถึง 105 บิต และยิ่งยาวยิ่งแข็งแรง หากองค์กรหรือบริการของคุณกำหนดขั้นต่ำไว้สูงกว่านี้ ให้ปฏิบัติตามข้อกำหนดนั้น
ควรใช้ UUID v4 หรือ v7 เป็นคีย์ฐานข้อมูล
v7 มักถูกเลือกใช้เป็นคีย์เพราะเรียงตามเวลาได้ ให้เลือก v4 หากไม่ต้องการให้เห็นเวลาที่สร้างจากตัวระบุ
รหัสผ่านที่สร้างขึ้นถูกส่งไปที่ใดหรือไม่
ตัวสร้างของ LeedyBox สร้างค่าในเบราว์เซอร์ของคุณด้วย Web Crypto ค่าเหล่านี้จึงสร้างขึ้นบนอุปกรณ์ของคุณ