Sponsor

07 มกราคม 2568

ระบบสร้างรหัสผ่านแบบสุ่มด้วยเหรียญ


จากบทความ Diceware - เทคนิคการตั้งรหัสผ่านแบบจำง่ายแต่แกะยากโดยใช้ลูกเต๋า (แนะนำให้อ่านเพิ่มเติม) ซึ่งเป็นระบบสร้างรหัสผ่านแบบสุ่มด้วยลูกเต๋าที่ให้ความปลอดภัยได้สูงมาก ซึ่งเป็นระบบที่ EFF (the Electronic Frontier Foundation) แนะนำให้ใช้เป็นแนวทางในการสร้างรหัสผ่านส่วนตัวเพื่อความปลอดภัยขั้นสูงสุด
เป็นทางเลือกอีกระบบ หรือบางครั้งอาจไม่สะดวกหากต้องคิดรหัสผ่านใหม่นอกสถานที่ เพราะต้องใช้ลูกเต๋าร่วมกับรายการคำศัพท์ แล้วจะทำอย่างไรดีล่ะ? ทางผู้พัฒนา Diceware จึงได้สร้างระบบสร้างรหัสผ่านแบบสุ่มด้วยเหรียญขึ้นมาโดยใช้เพียง
  1. เหรียญ 4 เหรียญ (เหรียญอะไรก็แต่แนะนำให้เป็นขนาดและชนิดเดียวกัน หรือใช้เหรียญเดียวทอยหลายรอบก็ได้)
  2. แป้มพิมพ์คอมพิวเตอร์มาตราฐาน
เราจะใช้หน้าของเหรียญเพื่อสร้างเลขฐานสอง โดยเมื่อทอยเหรียญลงพื้นแล้วให้เหรียญทางซ้ายสุดหรือบนสุดเป็นหลักใหญ่แล้วไล่รองลงมาตามลำดับ  โดย หัว = 1; ก้อย = 0

กระบวนการสร้างรหัสผ่าน
  1. สุ่มกำหนดแถวของแป้นพิมพ์ ทอย 2 เหรียญ: แถวล่างสุด = 00 (ก้อย-ก้อย), แถวถัดขึ้นมา = 01 (ก้อย-หัว), แถวรองบนสุด = 10 (หัว-ก้อย), แถวบนสุด = 11 (หัว-หัว)
  2. สุ่มกำหนดปุ่มในแถว ทอย 4 เหรียญ: จะได้ค่าตั้งแต่ 0 ถึง 15 (ซึ่งแปลงเลขฐานสองเป็นฐานสิบแล้ว) ใช้ตัวเลขนี้เพื่อนับปุ่มในแถวที่เลือก โดยเริ่มจากด้านซ้ายไปขวา และนับปุ่มอักษรแรกเป็น 0
    • หากค่าที่ได้มากกว่าจำนวนปุ่มในแถว ให้ทอยใหม่
    • หากต้องการได้ค่าความสุ่มระดับสูงสุด คุณควรเริ่มใหม่ตั้งแต่ข้อ 1 คือสุ่มแถวใหม่อีกครั้ง แต่ค่าเบี่ยงเบนของความสุ่มก็ไม่ได้มีความแตกต่างอย่างมีนัยสำคัญมากนัก หากจะใช้แถวเดิมก็ไม่เป็นไร
  3. สุ่มกำหนดว่าพิมพ์ใหญ่หรือพิมพ์เล็ก (กด Shift หรือไม่) ทอย 1 เหรียญ: เพื่อกำหนดว่าตัวอักษรจะเป็นตัวพิมพ์ใหญ่ (หัว) หรือตัวพิมพ์เล็ก (ก้อย) 
ตัวอย่าง
  1. ทอยครั้งที่ 1: เหรียญทางซ้าย = หัว, เหรียญทางขวา = ก้อย (10): เลือกแถวรองบนสุด (QWERTYUIOP...)
  2. ทอยครั้งที่ 2: เหรียญจากซ้ายไปขวา: หัว-ก้อย-ก้อย-หัว (1001 = 9): เลือกปุ่มลำดับที่ 9 ซึ่งก็คือ P (เริ่มนับ 0 จาก Q)
  3. ทอยครั้งที่ 3: ก้อย (0): ให้ใช้ตัวพิมพ์เล็ก (ไม่ต้องกด Shift): ดังนั้นคือตัว p
แล้วให้ทำซ้ำแบบนี้ไปเรื่อยๆจนกว่าจะได้ความยาวรหัสผ่านพอกับความต้องการ (แนะนำที่ 10 ตัว หรือ 8-16 ตัวขึ้นไป)

ทีนี้ก็จะได้รหัสผ่านแบบสุ่มเหรียญที่ไร้รูปแบบอันเกิดจากการสุ่มแท้ จึงมีความไม่แน่นอนแบบไร้ระเบียบระดับสูงสุด การสุ่มแท้จึงทำให้เกิดรหัสผ่านที่แข็งแกร่งอย่างมากครับ
หากสงสัยว่าทำไมรหัสที่สร้างจากระบบการสุ่มแท้ถึงได้มีความแข็งแกร่งมากกว่ารหัสที่เลือกด้วยตัวเอง (แม้จะเลือกปนๆไปกันอย่างไม่เจาะจงก็ตาม) สามารถศึกษเพิ่มเติมจากบทความนี้ได้ครับ ความแข็งแกร่งของรหัสผ่าน

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


แถม
หากไม่สะดวกทอยเหรียญจริงแนะนำให้ทอยเหรียญผ่านเว็บ https://www.random.org/coins/ ซึ่งเป็นเว็บแบบสุ่มแท้ (True random จากสัญญาณรบกวนในบรรยากาศ ซึ่งไม่ใช่จากการสุ่มเทียมที่คำนวณด้วยโปรแกรม) พอจะเทียบเท่าได้กับการทอยเหรียญจริงอยู่ครับ แต่ถ้าทอยเหรียญเองจะเป็นการสุ่มแท้ที่ดีที่สุดครับ

เพราะปัญหาของการสุ่มคือ
เราจะรู้ได้อย่างไรว่านั่นคือการสุ่ม...

ศึกษาเพิ่มเติม

ไม่มีความคิดเห็น:

แสดงความคิดเห็น