คู่มือความปลอดภัย
อธิบายค่าเอนโทรปีของรหัสผ่าน
ทำความเข้าใจค่าเอนโทรปีของรหัสผ่าน พื้นที่ค้นหา ขนาดชุดตัวอักษร ความยาว และเหตุผลที่ค่าเอนโทรปีทางทฤษฎีเป็นเพียงค่าประมาณสูงสุด
สรุป
ค่าเอนโทรปีของรหัสผ่านเป็นวิธีอธิบายขนาดของพื้นที่ค้นหาที่ผู้โจมตีต้องสำรวจ สำหรับรหัสผ่านที่สุ่มอย่างสม่ำเสมอ สูตรประมาณค่าสูงสุดที่มีประโยชน์คือ:
bits = length × log2(alphabet size)
ใช้ เครื่องคำนวณเวลาในการถอดรหัสผ่าน เพื่อเปรียบเทียบสมมติฐาน
ขนาดชุดตัวอักษร
ขนาดชุดตัวอักษรคือจำนวนตัวอักษรที่เป็นไปได้ ตัวอักษรพิมพ์เล็กให้ 26 ตัวเลือก ตัวพิมพ์ใหญ่รวมพิมพ์เล็กให้ 52 ตัว เพิ่มตัวเลขให้ 62 ตัว สัญลักษณ์สามารถเพิ่มชุดตัวอักษรได้อีก แต่เฉพาะเมื่อบริการยอมรับและตัวสร้างเลือกแบบสุ่ม
ความยาว
ความยาวจะคูณพื้นที่ค้นหา รหัสผ่านแบบสุ่มที่ยาวกว่ามักให้การปรับปรุงในทางปฏิบัติมากกว่ารหัสผ่านสั้นที่ตกแต่งด้วยสัญลักษณ์ที่คาดเดาได้
คำเตือนค่าประมาณสูงสุด
สูตรนี้สมมติว่าทุกตำแหน่งถูกเลือกอย่างสม่ำเสมอจากชุดตัวอักษร ไม่ใช้กับวลีของมนุษย์ รหัสผ่านที่ใช้ซ้ำ คำในพจนานุกรม วันที่ รูปแบบแป้นพิมพ์ ข้อมูลประจำตัวที่รั่วไหล หรือผลลัพธ์ที่ถูกแก้ไข และไม่ได้จำลองการแฮชฝั่งบริการหรือข้อจำกัดอัตราออนไลน์
คำแนะนำในทางปฏิบัติ
- ถือว่าเอนโทรปีเป็นเครื่องมือเปรียบเทียบ ไม่ใช่การรับประกัน
- เลือกใช้ค่าที่สุ่มสร้าง
- ใช้ความยาวมากขึ้นเมื่อชุดตัวอักษรถูกจำกัด
- ทำให้รหัสผ่านแต่ละอันไม่ซ้ำกัน
- เก็บผลลัพธ์อย่างปลอดภัย
คำแนะนำโดยละเอียด
คู่มือนี้เน้นการตีความค่าเอนโทรปีของรหัสผ่านโดยไม่เกินจริง เขียนขึ้นสำหรับผู้อ่านที่เปรียบเทียบความยาว ขนาดชุดตัวอักษร และรายการคำใน passphrase ดังนั้นเป้าหมายในทางปฏิบัติไม่ใช่การสร้างข้ออ้างด้านความปลอดภัยที่เกินจริง แต่คือการเลือกนิสัยการใช้รหัสผ่านที่สามารถใช้งานได้ในชีวิตประจำวัน: ฟอร์มเข้าสู่ระบบ ตัวจัดการรหัสผ่าน แป้นพิมพ์มือถือ การกู้คืนบัญชี อุปกรณ์ที่ใช้ร่วมกัน และบริการที่มีกฎการตรวจสอบที่แปลกประหลาดเป็นครั้งคราว คำแนะนำที่ปลอดภัยจะมีประโยชน์ก็ต่อเมื่อคนจริงสามารถปฏิบัติตามได้อย่างสม่ำเสมอ
จุดเริ่มต้นที่ปลอดภัยที่สุดคือการสุ่มรวมกับความไม่ซ้ำกัน การสุ่มหมายถึงค่าถูกเลือกจากพื้นที่ขนาดใหญ่โดยแหล่งสุ่มที่เหมาะสมกับการเข้ารหัส ไม่ใช่การคิดขึ้นเองจากวันเกิด ชื่อสัตว์เลี้ยง รูปแบบแป้นพิมพ์ หรือคำพูดโปรด ความไม่ซ้ำกันหมายถึงรหัสผ่านเดียวกันไม่ได้ใช้ที่อื่น รหัสผ่านที่ยาวแต่ใช้ซ้ำอาจล้มเหลวอย่างรวดเร็วหลังจากการละเมิดที่ไม่เกี่ยวข้องครั้งเดียว ในขณะที่รหัสผ่านสุ่มที่ไม่ซ้ำกันจะจำกัดความเสียหายเฉพาะบัญชีที่ใช้
สำหรับหัวข้อนี้ ค่าที่ตั้งไว้ในทางปฏิบัติคือความยาวคูณด้วย log2 ของขนาดชุดตัวอักษรแบบสุ่มสำหรับรหัสผ่านที่สุ่มอย่างสม่ำเสมอ คุณสามารถใช้ค่านี้กับ เครื่องตรวจสอบความแข็งแกร่งของรหัสผ่าน แล้วเก็บค่าสุดท้ายในตัวจัดการรหัสผ่านที่เชื่อถือได้ PwdGen สร้างค่าในเบราว์เซอร์ด้วย Web Crypto; รหัสผ่านที่สร้างขึ้นจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ PwdGen การออกแบบในเครื่องนี้ช่วยลดการเปิดเผยฝั่งเซิร์ฟเวอร์ แต่ไม่ได้ป้องกันทุกภัยคุกคาม ส่วนขยายเบราว์เซอร์ที่เป็นอันตราย อุปกรณ์ที่ถูกบุกรุก หน้า phishing หรือการจัดการคลิปบอร์ดที่ไม่ปลอดภัยยังสามารถเปิดเผยความลับหลังจากสร้างได้
ปัญหาที่พบบ่อยที่สุดที่ควรหลีกเลี่ยงคือการใช้สูตรง่ายๆ กับรหัสผ่านที่มนุษย์เลือก ไม่สนใจการใช้ซ้ำ และถือว่าค่าประมาณเป็นการรับประกัน ปัญหาเหล่านี้สำคัญเพราะผู้โจมตีไม่ค่อยจำเป็นต้อง brute-force ทุกรหัสผ่านที่เป็นไปได้เมื่อนิสัยของมนุษย์ทำให้พวกเขามีทางลัด Credential stuffing, phishing, รายการรหัสผ่านที่รั่วไหล และการใช้การกู้คืนบัญชีในทางที่ผิดมักจะสมจริงมากกว่าการค้นหาทางคณิตศาสตร์ล้วนๆ นั่นคือเหตุผลที่คำแนะนำที่ดีที่สุดรวมคุณภาพของรหัสผ่านเข้ากับการควบคุมระดับบัญชี เช่น MFA, passkeys, การจัดเก็บรหัสกู้คืน และการตรวจสอบอีเมลหรือหมายเลขโทรศัพท์สำหรับกู้คืนเป็นประจำ
ใช้รายการตรวจสอบนี้เมื่อใช้คำแนะนำ:
- ใช้เอนโทรปีเฉพาะกับการสร้างแบบสุ่ม
- ใช้การตรวจสอบแบบ zxcvbn สำหรับอินพุตของมนุษย์
- เพิ่มความยาวเมื่อมีข้อจำกัดของชุดตัวอักษร
- จำไว้ว่าแฮชในการจัดเก็บส่งผลต่อความเร็วในการโจมตี
หากเว็บไซต์ปฏิเสธการตั้งค่าที่เหมาะสม อย่าบังคับรหัสผ่านให้เป็นรูปแบบที่อ่อนแอกว่าด้วยตนเอง ปรับเปลี่ยนทีละตัวแปร หากสัญลักษณ์ถูกปฏิเสธ ให้เปิดใช้งานตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก และตัวเลข และเพิ่มความยาว หากความยาวสูงสุดต่ำ ให้ใช้ความยาวสูงสุดที่ยอมรับและตรวจสอบให้แน่ใจว่าค่าไม่ซ้ำกัน หากต้องอ่านรหัสผ่านออกเสียง พิมพ์ หรือพิมพ์บนหน้าจอทีวีหรือเราเตอร์ ให้พิจารณาไม่รวมตัวอักษรที่สับสนและเพิ่มความยาวเพื่อชดเชยชุดตัวอักษรที่เล็กลง
สุดท้าย จำขอบเขตของคำแนะนำรหัสผ่าน รหัสผ่านที่แข็งแกร่งเป็นชั้นป้องกันชั้นเดียว ไม่ใช่การรับประกัน ไม่สามารถทำให้หน้า phishing ปลอดภัย แก้ไขมัลแวร์ หรือชดเชยบริการที่จัดเก็บข้อมูลประจำตัวอย่างไม่ดี นิสัยที่มีประโยชน์นั้นน่าเบื่อแต่ทนทาน: สร้างค่าที่ไม่ซ้ำกัน เก็บอย่างปลอดภัย ป้องกันเส้นทางการกู้คืน และเปลี่ยนอย่างรวดเร็วหากสงสัยว่ามีการเปิดเผย
ขั้นตอนต่อไปที่ปลอดภัย
หลังจากอ่านคู่มือนี้ ให้ทำการตรวจสอบบัญชีเล็กๆ หนึ่งบัญชีแทนที่จะพยายามแก้ไขทุกอย่างพร้อมกัน เลือกบัญชีที่จะสร้างปัญหามากที่สุดหากถูกยึดครอง ยืนยันว่ารหัสผ่านไม่ซ้ำกัน และตรวจสอบอีเมลกู้คืน เบอร์โทรศัพท์กู้คืน วิธี MFA และการจัดเก็บรหัสสำรอง หากส่วนใดของห่วงโซ่นี้อ่อนแอ ให้ปรับปรุงส่วนนั้นก่อนที่จะย้ายไปยังบัญชีที่มีความเสี่ยงต่ำกว่า ลำดับนี้ทำให้งานจัดการได้และปกป้องบัญชีที่ผู้โจมตีมักใช้เป็นบันได สำหรับการอธิบายค่าเอนโทรปีของรหัสผ่าน ผลลัพธ์ที่ดีที่สุดคือนิสัยที่ทำซ้ำได้: สร้างในเครื่อง เก็บอย่างระมัดระวัง และหลีกเลี่ยงการใช้ซ้ำ
คำถามที่พบบ่อย
สูตรเอนโทรปีอย่างง่ายคืออะไร?
สำหรับตัวอักษรที่สุ่มอย่างสม่ำเสมอ สูตรประมาณค่าสูงสุดทั่วไปคือความยาวคูณด้วย log2 ของขนาดชุดตัวอักษร
ทำไมเอนโทรปีถึงเป็นเพียงค่าประมาณ?
มันสมมติการเลือกแบบสุ่มอย่างสม่ำเสมอและไม่ได้คำนึงถึงการใช้ซ้ำ การรั่วไหล การแก้ไขโดยมนุษย์ อุปกรณ์ที่ถูกบุกรุก หรือการจัดเก็บปลายทาง
สัญลักษณ์เพิ่มเอนโทรปีเสมอหรือไม่?
สัญลักษณ์เพิ่มขนาดชุดตัวอักษรเมื่อเลือกแบบสุ่ม แต่การเพิ่มความยาวมักให้ประโยชน์ที่มากกว่าและใช้งานง่ายกว่า