Diceware Passphrase Generator: สร้างรหัสผ่านจำง่ายที่แข็งแรงระดับ High-Entropy
เปลี่ยน EFF 7,776-word list เป็น passphrase ที่จำง่ายแต่ปลอดภัยระดับ crypto-secure พร้อมคำนวณ entropy และเวลาที่ใช้แฮ็ก — รองรับทอยลูกเต๋าจริง ทำงานในเบราว์เซอร์ 100%
Table of Contents
รหัสผ่านแบบสุ่มอย่าง Vt7#pQz2!xRm ดูแข็งแรงบนกระดาษ แต่ใช้จริงไม่ไหว — ไม่มีใครจำได้ สุดท้ายเลยถูกใช้ซ้ำ จดแปะไว้ หรือ reset ทุกสัปดาห์ การ์ตูน xkcd 936 ทำให้ทางเลือกนี้ดังไปทั้งโลกเมื่อชี้ว่า สี่คำสุ่มธรรมดาอย่าง "correct horse battery staple" จำง่ายกว่าและแฮ็กยากกว่า แนวคิดนี้มีรากฐานทางคณิตศาสตร์ที่เก่าแก่และแน่นแฟ้น คือวิธี Diceware ที่ Arnold Reinhold คิดขึ้นในปี 1995 และกลับมาฮิตอีกรอบปี 2016 เมื่อ EFF จัดทำ large wordlist โดย Joseph Bonneau
Diceware Passphrase Generator ของเรานำวิธีนี้มาทำงานในเบราว์เซอร์ของคุณ: สร้าง passphrase จาก EFF 7,776-word list ด้วยความสุ่มระดับ crypto-secure หรือจะทอยลูกเต๋าจริงแล้วกรอกผลเองก็ได้ พร้อมคำนวณ entropy และเวลาที่ใช้แฮ็ก (crack time) แบบ real-time ข้างผลลัพธ์
ทุกอย่างทำงาน client-side 100% passphrase ของคุณไม่เคยถูกส่งไปเซิร์ฟเวอร์ใด ๆ — ที่เดียวที่มันมีอยู่คือหน้าจอของคุณเอง
ทำไมต้องใช้ Diceware Passphrase Generator?
- สุ่มได้จริง ไม่ใช่สุ่มมนุษย์ คนเลือกคำเองได้แต่คำที่คาดเดาได้ ตัว generator ใช้ Web Crypto API ของเบราว์เซอร์ ทำให้ทุกคำมีโอกาสถูกเลือกเท่ากันหมดเหมือนทอยลูกเต๋าที่ยุติธรรม
- จำง่ายโดยไม่อ่อนแอ phrase อย่าง granite falcon torpedo mantle อ่านรอบเดียวก็จำได้ ทั้งที่ 6 คำนี้มี entropy สูงกว่ารหัสผ่านที่คนส่วนใหญ่คิดขึ้นเองอีกมาก
- คณิต entropy แบบโปร่งใส เห็นจำนวน bits แบบสด ๆ พร้อมประมาณเวลาแฮ็กเทียบกับผู้โจมตีที่เดาได้หนึ่งล้านล้านครั้งต่อวินาที — เป็นตัวเลขจริง ไม่ใช่แค่ strength bar สีเขียวหลอก ๆ
- มีโหมดทอยลูกเต๋าจริง อยากเชื่อ hardware มากกว่า software? ทอยลูกเต๋าจริงแล้วกรอกตัวเลข 5 หลักต่อคำ ตัว generator จะประกอบ passphrase ให้เอง
- เป็นส่วนตัวโดยดีไซน์ การสร้าง การคำนวณ entropy การ copy และ export ทำงานในเครื่องทั้งหมด — ไม่มีการยิง request ไป server ไม่มี log ไม่มี telemetry
- เร็วและยืดหยุ่น เลือกได้ 3 ถึง 20 คำ เลือก separator เอง copy ใส่ clipboard หรือ export เป็น markdown ภายในไม่กี่วินาที
ฟีเจอร์หลัก
| ฟีเจอร์ | รายละเอียด |
|---|---|
| จำนวนคำ | 3, 4, 5, 6 (default), 7, 8, 10, 12, 15 หรือ 20 คำ |
| แหล่งความสุ่ม | Web Crypto getRandomValues พร้อม rejection sampling หรือกรอกผลทอยลูกเต๋าเอง |
| Wordlist | EFF large list — 7,776 คำ (~12.925 bits ต่อคำ) |
| Separators | เว้นวรรค, ขีด (-), จุด (.) หรือ underscore (_) |
| Feedback | entropy และ crack time อัปเดตสด ๆ |
| Export | copy ใส่ clipboard; export เป็น markdown |
| ความเป็นส่วนตัว | ทำงานในเบราว์เซอร์ 100% — ไม่ส่งอะไรขึ้นเซิร์ฟเวอร์ |
- ไม่มี modulo bias generator ทั่วไปเอา random bytes มา mod ด้วย 7,776 ซึ่งทำให้บางคำถูกเลือกบ่อยกว่าคำอื่นแบบเงียบ ๆ เครื่องมือนี้ทิ้งค่าที่เกินแล้วสุ่มใหม่ (rejection sampling) ทุกคำจึงมีโอกาสเท่ากันเป๊ะ
- โหมดกรอกลูกเต๋า แต่ละคำใน EFF wordlist map กับผลทอย 5 ครั้ง (เช่น 4-2-1-6-3) พิมพ์ผลทอยเข้าไปแล้วเครื่องมือหาคำที่ตรงกันให้ — เชื่อ hardware แต่ได้ความสะดวกของ software
- Feedback แบบสด เพิ่มจำนวนคำแล้วดู entropy กับ crack time กระโดดทันตา — เห็นชัดว่าคำเพิ่มแต่ละคำคุ้มแค่ไหน
วิธีใช้งาน
- เปิด Diceware Passphrase Generator
- เลือกจำนวนคำ — 6 คือค่า default และเป็นค่าขั้นต่ำที่สมเหตุสมผลสำหรับของสำคัญ
- เลือกโหมดความสุ่ม: crypto-secure เพื่อความสะดวก หรือกรอกผลทอยลูกเต๋าเองถ้าอยากได้ความเชื่อมั่นระดับ hardware
- เลือก separator — เว้นวรรค ขีด จุด หรือ underscore — มีประโยชน์ตอนระบบไหนไม่รับช่องว่าง
- copy passphrase ใส่ clipboard หรือ export เป็น markdown แล้วเก็บไว้ในที่ปลอดภัย
เข้าใจเรื่อง Entropy ของ Diceware
Entropy คือการนับว่า secret หนึ่งตัวมีความเป็นไปได้แบบสุ่มเท่ากันกี่แบบ — มันคือสกุลเงินที่ซื่อสัตย์ที่สุดของความแข็งแรงรหัสผ่าน และคณิตของ Diceware สะอาดมาก เพราะทุกคำถูกสุ่มแบบ uniform จาก list เดียวที่คงที่
EFF large wordlist มีคำครบ 7,776 คำ ซึ่งก็คือ 6^5 เพราะแต่ละคำถูก index ด้วยผลทอยลูกเต๋า 5 ครั้ง log base 2 ของ 7,776 ได้ประมาณ 12.925 ดังนั้นแต่ละคำให้ ~12.925 bits และ entropy รวมคือ จำนวนคำ × 12.925:
| จำนวนคำ | Entropy | เวลาแฮ็กที่ 1 ล้านล้านเดา/วินาที |
|---|---|---|
| 4 | ~51.7 bits | ไม่ถึงชั่วโมง |
| 5 | ~64.6 bits | หลายเดือน |
| 6 | ~77.5 bits | หลายพันปี |
| 8 | ~103.3 bits | หลายแสนล้านปี |
| 10 | ~129.3 bits | นานเกินอายุจักรวาล |
Rejection sampling ไม่ใช่ modulo — Web Crypto ปล่อยค่าออกมาเป็นช่วง power-of-two ถ้าเอามา mod ด้วย 7,776 ตรง ๆ บางคำจะมีโอกาสสูงกว่าคำอื่นเล็กน้อย ซึ่งก็คือ modulo bias คลาสสิกที่ทำให้ความแข็งแรงจริงต่ำกว่าที่คิด ตัว generator จะทิ้งค่าที่หลุดจากจำนวนเต็มเท่าของ 7,776 แล้วสุ่มใหม่ ทำให้ทั้ง 7,776 คำมีโอกาสเท่ากันเป๊ะ
สมมติฐานผู้โจมตี — ประมาณเวลาแฮ็กใช้สมมติฐานว่าผู้โจมตีแบบ offline เดาได้หนึ่งล้านล้าน (10^12) ครั้งต่อวินาที ซึ่งใกล้เคียงกับ GPU cluster จริงจัดที่ยิงใส่ password hash ที่หลุดออกไป แม้เร็วขนาดนั้น passphrase 6 คำก็ยื้อได้หลายพันปี ส่วน separator แทบไม่เพิ่มความปลอดภัยเลย (ผู้โจมตีลองตัวที่พบบ่อยก่อนหมด) ความปลอดภัยของคุณมาจากตัวคำ ไม่ใช่เครื่องหมายคั่น
กรณีใช้งานจริง
Master Password ของ Password Manager
Password manager เฝ้า credential ทุกตัวของคุณ ฉะนั้น master password ต้องแข็งแรงและต้องพิมพ์จากความจำได้ทุกวัน 6 คำ (~77.5 bits) อย่าง granite-falcon-torpedo-mantle-lagoon-spiral จำได้ภายในวันสองวัน และต้านการโจมตีแบบ offline ได้นานนับพันปี
Passphrase สำหรับเข้ารหัสดิสก์ทั้งใบ
Volume อย่าง LUKS, FileVault, BitLocker และ VeraCrypt ถูกโจมตีแบบ offline เต็มสปีด ไม่มี rate limit หรือ lockout มาช่วย 8 คำ (~103.3 bits) ดันพื้นที่ค้นหาขึ้นไปถึงระดับหลายแสนล้านปีที่หนึ่งล้านล้านครั้งต่อวินาที
Wi-Fi และรหัสอุปกรณ์
Secret ที่ต้องพิมพ์บนคีย์บอร์ดมือถือหรืออ่านบอกต่อให้แขกฟัง ควรสั้นและออกเสียงง่าย 5 คำ (~64.6 bits) กำลังดีสำหรับ Wi-Fi บ้าน ที่ซึ่ง passphrase หน้าที่หลักคือกำหนดว่าใครเข้า network ได้บ้าง
Cold Storage และ Recovery Secret
ถ้า secret ตัวนึงจะถูกเก็บบนกระดาษในตู้นิรภัยเป็นปี ความยาวแทบฟรี: 10 คำ (~129.3 bits) ใช้เวลาจำเพิ่มไม่กี่นาทีแต่ซื้อ margin ได้ทั้งชีวิต ส่วน recovery seed สไตล์ BIP39 สำหรับ crypto wallet ให้ใช้ BIP39 Mnemonic Generator แทน เพราะเป็นมาตรฐานเฉพาะกิจ
Best Practices
- ใช้อย่างน้อย 6 คำ สำหรับอะไรที่ดูแลเงิน ตัวตน หรือ encryption key; เผื่อ 5 คำหรือน้อยกว่าไว้กับของที่เสียหายได้ไม่มาก
- ห้ามเลือกคำเองเด็ดขาด คำ "สุ่ม" ที่มนุษย์เลือกเองมี pattern ที่คาดเดาได้เสมอ — ปล่อยให้ generator หรือลูกเต๋าจริงเลือก
- ทอยลูกเต๋าในที่ลับตา กล้องวงจรปิดและสายตาคนข้าง ๆ เอาชนะ randomness ที่สมบูรณ์แบบได้
- อย่าใช้ passphrase ซ้ำ secret สำคัญแต่ละตัวสมควรได้ตัวของคนเอง
- สำรองบนกระดาษ เก็บในตู้นิรภัยหรือ safe deposit box ดีกว่าไฟล์ plaintext บน desktop
- อย่าเสริม "ความเก๋า" เอง การต่อปีเกิดหรือเปลี่ยนตัวอักษรเป็น leetspeak คือสิ่งแรก ๆ ที่ผู้โจมตีลอง
เริ่มสร้าง Passphrase แรกของคุณ
เข้าไปที่ Diceware Passphrase Generator เลือกจำนวนคำ แล้วอีกไม่กี่วินาทีคุณจะได้ passphrase ที่จำได้จริง — หลังด้วยคณิต entropy ที่สะอาด randomness ระดับลูกเต๋า และความเป็นส่วนตัวที่ไม่เคยออกจากเบราว์เซอร์ นิ้วโป้งของคุณที่ไม่ต้องจิ้มพิมพ์ Vt7#pQz2!xRm บนจอมือถือจะขอบคุณเอง
เครื่องมือที่เกี่ยวข้องที่คุณอาจสนใจ:
- Password Generator — รหัสผ่านสุ่มคลาสสิก สำหรับกรณีที่ secret แบบ character เข้ากาลกว่า
- BIP39 Mnemonic Generator — seed phrase มาตรฐาน BIP39 สำหรับ crypto wallet
- Bcrypt Generator — hash และ verify password ด้วย bcrypt
ขอให้สนุกกับการสร้างรหัสผ่าน!
คำถามที่พบบ่อย
ถ: passphrase แข็งแรงกว่ารหัสผ่านสุ่มจริงหรือ? ตอบ: ที่ entropy เท่ากันแล้วแข็งแรงเท่ากัน — 6 คำ (~77.5 bits) ใกล้เคียงรหัสผ่านสุ่มเต็มรูปแบบ 12 ตัวอักษร จุดที่ passphrase ชนะคือความจำได้โดยไม่ต้องพึ่ง manager จึงใช้ได้จริงในงานที่ random string ไปไม่รอด เช่น master password, disk encryption และ secret ที่ต้องจดเก็บ
ถ: เชื่อ generator บนเบราว์เซอร์ได้จริงไหม? ตอบ: ได้ เครื่องมือนี้ทำงาน client-side 100% คำถูกเลือกด้วย Web Crypto API ของเบราว์เซอร์คุณ ไม่มีการส่ง บันทึก หรือเก็บอะไรบนเซิร์ฟเวอร์ โหลดหน้าเสร็จแล้วแม้ตัดเน็ตก็ยัง generate ต่อได้
ถ: ทำไม default คือ 6 คำ? ตอบ: 6 คำ ≈ 77.5 bits ซึ่งรอดจากการโจมตี offline ที่หนึ่งล้านล้านครั้งต่อวินาทีได้หลายพันปี — เป็นค่า default ที่สมเหตุสมผลสำหรับ credential ที่ดูแลของมีค่า
ถ: เมื่อไหร่ควรใช้ลูกเต๋าจริงแทนโหมด crypto-secure? ตอบ: เมื่ออยากได้ความเชื่อมั่นที่ฝังอยู่ใน hardware — เหมาะกับ secret อายุยาวอย่าง cold storage หรือของสำรอง ทอยลูกเต๋าจริง 5 ครั้งต่อคำ กรอกชุดตัวเลข 5 หลัก (เลข 1-6) ทีละคำ แล้วเครื่องมือจะ map ผลทอยไปเป็นคำใน EFF list ให้
ถ: separator หรือการใช้ตัวพิมพ์ใหญ่ช่วยเรื่องความปลอดภัยไหม? ตอบ: ไม่มีนัยสำคัญ — ผู้โจมตีลอง separator ยอดนิยมก่อนอยู่แล้ว ถือเป็นเรื่อง formatting ให้ความปลอดภัยมาจากจำนวนคำดีที่สุด