รหัสผ่านแบบสุ่ม เครื่องกำเนิดไฟฟ้า
สร้างรหัสผ่านแบบสุ่มที่ปลอดภัยทันทีในเบราว์เซอร์ของคุณ ปรับแต่งความยาวและประเภทอักขระ — ฟรี เป็นส่วนตัว และไม่ส่งข้อมูลไปยังเซิร์ฟเวอร์ใดๆ
สร้างรหัสผ่านแบบสุ่มที่ปลอดภัยทันทีในเบราว์เซอร์ของคุณ ปรับแต่งความยาวและประเภทอักขระ — ฟรี เป็นส่วนตัว และไม่ส่งข้อมูลไปยังเซิร์ฟเวอร์ใดๆ
เครื่องสร้างรหัสผ่านแบบสุ่มจะสร้างสตริงที่ออกแบบมาเพื่อต้านทานการเดาและการโจมตีแบบดุร้าย ความรัดกุมของรหัสผ่านที่สร้างขึ้นขึ้นอยู่กับความยาวและตัวอักษร (ชุดอักขระที่เป็นไปได้) ที่ใช้: 12 อักขระจากตัวอักษร 94 อักขระ (ตัวพิมพ์ใหญ่ + ตัวพิมพ์เล็ก + ตัวเลข + สัญลักษณ์) ให้ค่าเอนโทรปีประมาณ 79 บิต ซึ่งถือว่าค่อนข้างดีสำหรับการใช้งานทั่วไป รหัสผ่านที่สั้นกว่าหรือง่ายกว่านั้นจะทำให้เอนโทรปีน้อยลงและอ่อนแอกว่าเมื่อเทียบกับฮาร์ดแวร์โจมตีสมัยใหม่
ตัวสร้างนี้ใช้แหล่งสุ่มที่ปลอดภัยแบบเข้ารหัส (window.crypto.getRandomValues) ไม่ใช่ Math.random ที่ง่ายกว่าซึ่งไม่เหมาะสมสำหรับวัตถุประสงค์ด้านความปลอดภัย ผลลัพธ์นี้เหมาะสำหรับการใช้งานจริงเป็นรหัสผ่านบัญชี คีย์เข้ารหัสสำหรับการใช้งานส่วนตัว และบริบทอื่น ๆ ที่ไม่อาจคาดเดาได้มีความสำคัญ
ทุกรุ่นเกิดขึ้นในเบราว์เซอร์ของคุณ รหัสผ่านจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ ไม่มีการบันทึก และจะไม่ถูกเก็บไว้ทุกที่ที่เราสามารถเข้าถึงได้ หากต้องการใช้รหัสผ่านที่สร้างขึ้น ให้คัดลอกรหัสผ่านไปยังปลายทางโดยตรง — เครื่องมือจัดการรหัสผ่าน แบบฟอร์มการสร้างบัญชี หรือที่ใดก็ตามที่จำเป็น
มนุษย์เลือกรหัสผ่านที่คาดเดาได้ การศึกษาฐานข้อมูลรหัสผ่านที่ถูกละเมิดแสดงให้เห็นอย่างสม่ำเสมอว่ารูปแบบง่ายๆ เดียวกันนี้ปรากฏขึ้นหลายล้านครั้ง: '123456', 'รหัสผ่าน', คำในพจนานุกรมที่มีตัวเลขต่อท้าย, ชื่อสัตว์เลี้ยงและสมาชิกในครอบครัว รหัสผ่านแบบสุ่มที่สร้างขึ้นจะหลีกเลี่ยงรูปแบบเหล่านี้โดยสิ้นเชิง
การใช้รหัสผ่านซ้ำระหว่างบัญชีต่างๆ ถือเป็นความเสี่ยงที่สำคัญเช่นกัน เมื่อฐานข้อมูลของไซต์หนึ่งรั่วไหล บัญชีอื่นๆ ทุกบัญชีที่ใช้รหัสผ่านเดียวกันจะถูกบุกรุก รหัสผ่านแบบสุ่มที่ไม่ซ้ำสำหรับแต่ละบัญชี ซึ่งจัดเก็บไว้ในเครื่องมือจัดการรหัสผ่าน กำจัดเวกเตอร์การโจมตีนี้ เครื่องกำเนิดไฟฟ้าจะสร้างรหัสผ่านใหม่ที่ไม่ซ้ำกันครั้งละหนึ่งรหัส
กำหนดความยาวและชุดอักขระ สร้าง
window.crypto.getRandomValues เติมอาร์เรย์ที่พิมพ์ด้วยไบต์สุ่มที่ปลอดภัยแบบเข้ารหัสซึ่งดึงมาจากแหล่งสุ่มที่ปลอดภัยของเบราว์เซอร์ อักขระแต่ละตัวของรหัสผ่านจะถูกเลือกโดยการจับคู่ไบต์แบบสุ่มกับตัวอักษรที่เลือก พร้อมด้วยการสุ่มตัวอย่างการปฏิเสธเพื่อหลีกเลี่ยงอคติแบบโมดูโล
เอนโทรปี: log2(ตัวอักษร_ขนาด^ความยาว) 12 อักขระจากตัวอักษร 94 ตัวอักษร = 12 × log2(94) กลับไปยัง 78.7 บิต 16 ตัวอักษรจากตัวอักษร 62 ตัวอักษร (ตัวอักษรและตัวเลขเท่านั้น) µs 95.3 บิต เอนโทรปีที่สูงขึ้นนั้นยากต่อการบังคับเดรัจฉานแบบทวีคูณ
อัตราการโจมตีในทางปฏิบัติ: GPU สมัยใหม่แฮชประมาณ 100 พันล้านครั้ง bcrypt-cost-12 ต่อวินาทีทั่วทั้งคลัสเตอร์ เอนโทรปี 78 บิต = 2^78 anta 3 × 10^23 ตัวเลือก การใช้กำลังดุร้ายที่อัตรา GPU จะใช้เวลาประมาณ 10^14 ปี ซึ่งเป็นไปไม่ได้ รหัสผ่านเอนโทรปีที่ต่ำกว่าจะตกลงสู่ช่วงการโจมตีที่สามารถเข้าถึงได้อย่างรวดเร็ว