ความแข็งแกร่งของรหัสผ่าน
ความแข็งแกร่งของรหัสผ่าน หรือ ความเข้มแข็งของรหัสผ่าน เป็นค่าวัดประสิทธิผลของรหัสผ่านในการต้านทานการคาดเดาหรือการโจมตีด้วยกำลัง โดยทั่วไปแล้วจะประเมินจากจำนวนครั้งโดยเฉลี่ยที่ผู้โจมตีซึ่งไม่มีความรู้เกี่ยวกับรหัสผ่านโดยตรง จะต้องลองเพื่อให้เดารหัสผ่านได้อย่างถูกต้อง ความแข็งแกร่งจะมีค่าตามฟังก์ชันของจำนวน ความหลากหลาย และความสุ่มของตัวอักษร[1]
การใช้รหัสผ่านที่เข้มแข็งย่อมลดความเสี่ยงของระบบไม่ให้ถูกบุกรุก แต่ก็ใช่ว่าจะทดแทนการรักษาความปลอดภัยชนิดอื่น ๆ ได้[2] ประสิทธิผลของรหัสผ่านจะขึ้นอยู่กับการออกแบบและการทำให้เกิดผลของปัจจัยพิสูจน์ตัวจริงต่าง ๆ รวมทั้งสิ่งที่ผู้ใช้รู้ (เช่นรหัสผ่าน) สิ่งที่มี (เช่น กุญแจฮาร์ดแวร์) และสิ่งที่เป็น (เช่น ลายนิ้วมือ) ปัจจัยแรกที่ว่าเป็นประเด็นหลักของบทความนี้
อัตราที่ผู้โจมตีสามารถทดลองรหัสผ่านกับระบบเป็นปัจจัยหลักที่กำหนดความมั่นคง ระบบบางอย่างจึงมีการให้พักนอกเวลาเป็นวินาที ๆ หลังจากที่ใส่รหัสผ่านผิด ๆ เพียงไม่กี่ครั้ง (เช่น 3 ครั้ง) เมื่อไร้ความบกพร่องชนิดอื่น ๆ ระบบดังกล่าวก็จะสามารถรักษาความมั่นคงด้วยรหัสผ่านที่ไม่ต้องซับซ้อนมาก อย่างไรก็ดี ระบบก็ยังต้องเก็บข้อมูลรหัสผ่านของผู้ใช้ในรูปแบบบางอย่าง ถ้าข้อมูลนั้นถูกขโมย ก็อาจเป็นปัจจัยให้รหัสผ่านถูกแฮ็กได้
ในปี 2019 ศูนย์ความมั่นคงทางไซเบอร์แห่งชาติสหราชอาณาจักร ได้วิเคราะห์ฐานข้อมูลบัญชีรั่วไหลที่เป็นสาธารณะ เพื่อตรวจดูว่าผู้ใช้ใช้คำหรือวลีอะไรเป็นรหัสผ่านมากที่สุด ที่นิยมที่สุดก็คือ 123456 ซึ่งถูกแฮ็กมาแล้วถึง 23 ล้านครั้ง ที่นิยมเป็นอันดับสองก็คือ 123456789 ซึ่งก็เดาได้ไม่ยากกว่ามาก[3]
การสร้างรหัสผ่าน
[แก้]ผู้ใช้สามารถใช้ตัวสร้างรหัสผ่านสุ่มอัตโนมัติ หรือตั้งรหัสผ่านขึ้นเอง โดยอย่างหลังมักจะสามัญกว่า ความเข้มแข็งของรหัสผ่านที่สร้างขึ้นโดยสุ่มในการต่อต้านการโจมตีแบบใช้กำลังสามารถประเมินค่าได้อย่างแม่นยำ แต่รหัสผ่านที่สร้างเองประเมินได้ยาก
เมื่อผู้ใช้เลือกรหัสผ่านสำหรับแอปหรือเว็บไซต์ ก็มักจะได้คำแนะนำหรือข้อจำกัด รหัสผ่านที่สร้างเองจะประเมินค่าความแข็งแกร่งได้เพียงแต่คร่าว ๆ เพราะมักทำตามรูปแบบและการมีรูปแบบก็จะช่วยให้เดาได้ง่ายขึ้น[4] อนึ่ง ยังมีรายการรหัสผ่านยอดนิยมซึ่งสามารถป้อนให้แก่โปรแกรมเดารหัสผ่าน รายการเช่นนี้จะมาจากพจนานุกรมออนไลน์ในภาษาต่าง ๆ, จากฐานข้อมูลรหัสผ่านทั้งที่บันทึกเป็นอักษรเปล่าหรือเป็นค่าแฮชที่ได้เจาะมาจากบัญชีธุรกิจและบัญชีสื่อสังคม และจากรหัสผ่านที่สามัญอื่น ๆ ดังนั้น รหัสผ่านและรหัสผ่านที่ดัดแปลงง่าย ๆ จากรายการเช่นนี้จึงจัดว่าอ่อนแอทั้งหมด
แม้ปัจจุบันจะมีโปรแกรมสร้างรหัสผ่านแบบสุ่มซึ่งหมายให้ใช้ได้ง่าย แต่ปกติก็จะสร้างรหัสผ่านที่จำได้ยาก จึงทำให้ผู้ใช้มักเลือกรหัสเองซึ่งปกติจะไม่ปลอดภัย เพราะสิ่งที่บุคคลเลือกมักจะขึ้นอยู่กับรูปแบบการดำเนินชีวิต การบันเทิงที่ชอบใจ และเรื่องที่เกี่ยวข้องกับบุคคลนั้น ๆ ในขณะที่สื่อสังคมออนไลน์ก็มักจะทำให้สืบหาเก็บข้อมูลต่าง ๆ เกี่ยวกับบุคคลนั้นได้ง่าย
ความถูกต้องของรหัสผ่านที่เดา
[แก้]ระบบที่ใช้รหัสผ่านเพื่อพิสูจน์ตัวตนจะต้องตรวจสอบว่ารหัสผ่านที่ให้ถูกต้องหรือไม่ ถ้าเก็บรหัสผ่านเปล่าไว้ในไฟล์หรือในฐานข้อมูล ผู้โจมตีที่เข้าถึงระบบได้ก็อาจสามารถเก็บรหัสผ่านของผู้ใช้ได้ทั้งหมด ทำให้เข้าถึงบัญชีในระบบได้ทั้งหมด และบางที ก็ระบบอื่น ๆ ด้วยที่ผู้ใช้ใช้รหัสผ่านเช่นเดียวกันหรือคล้าย ๆ กัน วิธีลดความเสี่ยงอย่างหนึ่งก็คือการเก็บแต่ค่าแฮช (cryptographic hash) ของรหัสผ่านแทนที่จะเก็บรหัสผ่านเปล่าเอง ค่าแฮชที่ทำตามมาตรฐานต่าง ๆ เช่น จากกลุ่ม Secure Hash Algorithm (SHA) จะคำนวณกลับคืนเป็นรหัสผ่านดั้งเดิมได้ยากมาก ดังนั้นผู้โจมตีที่เพียงแต่ได้ค่าแฮช จึงไม่สามารถบอกรหัสผ่านดั้งเดิมโดยทันที แต่การมีค่าแฮชก็จะอาจทำให้แฮ็กรหัสผ่านได้เมื่อทำออฟไลน์ มีโปรแกรมเจาะรหัสผ่านที่สามารถทดสอบรหัสได้เป็นจำนวนมากโดยคำนวณค่าแฮชที่เป็นเป้าหมาย
เทคโนโลยีได้พัฒนาขึ้นเรื่อย ๆ ดังนั้น การเดารหัสผ่านก็เร็วขึ้นเรื่อย ๆ เช่นกัน ยกตัวอย่างเช่นในปี 2010 สถาบันการวิจัยจอร์เจียเทคได้พัฒนาวิธีการเจาะรหัสผ่านที่เร็วยิ่งขึ้นมากโดยใช้หน่วยประมวลผลกราฟิกส์เป็นตัวคำนวณ[5] ในปี 2011 ก็เริ่มมีผลิตภัณฑ์ที่อ้างว่าสามารถทดสอบรหัสผ่านได้ถึง 112,000 ตัว/วินาทีบนคอมพิวเตอร์ตั้งโต๊ะธรรมดาโดยใช้หน่วยประมวลผลกราฟิกส์ชั้นสูงที่มีในตอนนั้น[6] อุปกรณ์ที่ว่าสามารถเจาะรหัสผ่านยาว 6 ตัวอักษรและมีอักษรตัวเล็กหรือตัวใหญ่เพียงอย่างเดียวโดยเสร็จในวันเดียว และยังสามารถแจกกระจายงานไปยังคอมพิวเตอร์จำนวนมากเพื่อเพิ่มความเร็ว โดยจะเร็วตามจำนวนคอมพิวเตอร์ที่มีหน่วยประมวลผลกราฟิกส์ในระดับเดียวกัน
มีเทคนิคเพิ่มความแข็งแกร่งของค่าแฮช คือ การยืดกุญแจ ซึ่งเพิ่มเวลาในการคำนวณค่าแฮช เป็นการลดอัตราการเดารหัสผ่านที่จะทำได้ แม้เทคนิคนี้ปัจจุบันจะจัดว่าเป็นแนวปฏิบัติที่ดีสุด แต่ระบบทั่ว ๆ ไปก็ไม่ค่อยใช้
สถานการณ์อีกอย่างหนึ่งที่ทำให้เดารหัสผ่านได้อย่างรวดเร็วก็คือเมื่อใช้รหัสผ่านเป็นกุญแจเข้ารหัสลับ (cryptographic key) ผู้โจมตีจึงตรวจสอบดูได้ว่า รหัสผ่านที่เดาสามารถถอดรหัสลับของข้อมูลได้หรือไม่ เช่น มีผลิตภัณฑ์หนึ่งที่อ้างว่าสามารถตรวจสอบรหัสผ่านวายฟายชนิด WPA PSK ได้ถึง 103,000 ตัว/วินาที[7]
ถ้าระบบเก็บรหัสผ่านไว้เป็นค่าแฮช ผู้โจมตีก็อาจคำนวณค่าแฮชไว้ล่วงหน้าสำหรับรหัสผ่านที่สามัญ หรือสำหรับรหัสผ่านที่สั้น ๆ แล้วสามารถแฮ็กเอารหัสผ่านดั้งเดิมได้อย่างรวดเร็วเมื่อขโมยเอาค่าแฮชได้ อนึ่ง ผู้โจมตีอาจเก็บค่าแฮชไว้ในฐานข้อมูลที่เรียกว่า rainbow table ที่ทำให้เจาะเอารหัสผ่านได้อย่างมีประสิทธิภาพ
แต่วิธีการโจมตีนี้ก็ป้องกันได้โดยใช้ค่าสุ่มที่เรียกว่า cryptographic salt แล้วเก็บไว้ร่วมกับค่าแฮช ค่าสุ่มนี้จะใช้ร่วมกับรหัสผ่านเมื่อคำนวณค่าแฮช ดังนั้นผู้โจมตีที่ใช้ฐานข้อมูลก็จะต้องเก็บรหัสผ่านกับค่าแฮชและค่าสุ่มที่เป็นไปได้ทุกค่า ซึ่งทำไม่ได้เมื่อค่าสุ่มมีขนาดใหญ่พอเช่นเป็นเลข 32 บิต แต่ระบบพิสูจน์ตัวตนเป็นจำนวนมากก็มักไม่ใช้ค่าสุ่มนี้ ดังนั้น จึงมีฐานข้อมูลเจาะรหัสผ่านสำหรับค่าแฮชโดยวิธีต่าง ๆ ทางอินเทอร์เน็ต
ค่าวัดความแข็งแกร่งเป็นเอนโทรปี
[แก้]รหัสผ่านจะแข็งแกร่งแค่ไหนสามารถกำหนดได้ด้วยเอนโทรปีของข้อมูล (information entropy) ซึ่งเป็นแนวคิดที่ได้จากสาขาทฤษฎีสารสนเทศ เอนโทรปีของข้อมูลเป็นบิตจำนวนน้อยที่สุดซึ่งสามารถบรรจุข้อมูลที่มีในรหัสผ่านชนิดหนึ่ง ๆ โดยคร่าว ๆ จะเท่ากับลอการิทึมฐานสองของจำนวนการเดาสูงสุดเพื่อให้ได้รหัสผ่าน โดยมักเรียกว่า "บิตเอนโทรปี"[8] รหัสผ่านที่มี 42 บิตเอนโทรปีจะแข็งแกร่งเท่ากับการเลือกเลขศูนย์เลขหนึ่งโดยสุ่มติดต่อกัน 42 ตัว เช่น โยนเหรียญหัวก้อย 42 ครั้ง กล่าวอีกอย่างก็คือ รหัสผ่านที่มี 42 บิตเอนโทรปีจะต้องเดา 242 (4,398,046,511,104) ครั้งเพื่อให้ได้รหัสผ่านที่เป็นไปได้ทั้งหมด ดังนั้น การเพิ่มเอนโทรปีของรหัสผ่าน 1 บิตก็จะเพิ่มจำนวนการเดาเป็นเท่าตัว จึงทำให้แฮ็กได้ยากขึ้นเป็นทวีคูณ ผู้โจมตีโดยเฉลี่ยจะต้องเดารหัสผ่านเป็นจำนวนครึ่งหนึ่งก่อนจะได้รหัสผ่านที่ถูกต้อง[4]
รหัสผ่านสุ่ม
[แก้]รหัสผ่านสุ่มจะประกอบด้วยตัวอักษร/สัญลักษณ์เป็นจำนวนหนึ่งโดยได้จากระบวนการเลือกแบบสุ่มที่แต่ละตัวในชุดอักษร/สัญลักษณ์จะมีโอกาสเลือกเท่า ๆ กัน อาจจะเป็นอักษรหนึ่ง ๆ จากชุดอักขระเช่นแอสกี หรือเป็นพยางค์ที่ออกแบบเพื่อใช้สร้างรหัสผ่านที่ออกเสียงได้ หรือแม้แต่เป็นคำจากรายการคำ (เป็นการสร้างพาสเฟรซ)
ความแข็งแกร่งของรหัสผ่านสุ่มจะขึ้นอยู่กับเอนโทรปีของตัวสร้าง แต่ตัวสร้างก็มักทำสุ่มไม่ได้จริง ๆ แต่ทำเป็นเสมือนสุ่ม (pseudorandom) ตัวสร้างรหัสผ่านที่มีให้ใช้ทั่วไปหลายตัวต่างใช้ตัวสร้างเลขสุ่มในคลังโปรแกรมที่จริง ๆ ก็มีเอนโทรปีจำกัด แต่ระบบปฏิบัติการปัจจุบันโดยมากก็มีตัวสร้างเลขสุ่มที่ดีทางวิทยาการรหัสลับ ดังนั้นจึงเหมาะสมเพื่อใช้สร้างรหัสผ่าน อนึ่ง ยังสามารถใช้ลูกเต๋าธรรมดาเพื่อสร้างรหัสผ่านสุ่มอีกด้วย
รหัสผ่านที่สร้างด้วยกระบวนการเลือกสัญญลักษณ์ต่อ ๆ กันโดยสุ่ม มีความยาว L โดยเลือกจากกลุ่มสัญลักษณ์จำนวน N ตัว จะสามารถสร้างรหัสผ่านได้อย่างมาก NL ตัว ดังนั้นไม่ว่าจะเพิ่มค่า L หรือ N ก็จะทำให้รหัสผ่านที่สร้างแข็งแกร่งยิ่งขึ้น ความแข็งแกร่งเมื่อวัดโดยเอนโทรปีข้อมูล ก็คือลอการิทึมฐานสอง (log2) ของจำนวนรหัสผ่านที่เป็นไปได้ โดยสมมุติว่า สัญลักษณ์แต่ละตัวในรหัสผ่านจะเลือกอย่างเป็นอิสระ ดังนั้น เอนโทรปีข้อมูล H ก็จะคำนวณได้ด้วยสูตร
H มีหน่วยเป็นบิต[4][9] สำหรับนิพจน์ช่องสุดท้าย log จะมีฐานอะไรก็ได้
ค่าเอนโทรปีสำหรับสัญลักษณ์หนึ่งตัวสำหรับสัญลักษณ์ชุดต่าง ๆ ชุดสัญลักษณ์ จำนวนสัญลักษณ์
ในชุด (N)เอนโทรปี/ตัว
(H)ตัวเลขอาหรับ (0-9) (เช่น รหัสพิน) 10 3.322 บิต เลขฐานสิบหก (0-9, A-F) (เช่น กุญแจ WEP) 16 4.000 บิต ชุดตัวอักษรละตินที่ไม่ไวต่ออักษรใหญ่เล็ก (a-z หรือ A-Z) 26 4.700 บิต ชุดตัวอักษรละตินและตัวเลขที่ไม่ไวต่ออักษรใหญ่เล็ก (a-z หรือ A-Z, 0-9) 36 5.170 บิต ชุดตัวอักษรละตินที่ไวต่ออักษรใหญ่เล็ก (a-z, A-Z) 52 5.700 บิต ชุดตัวอักษรละตินและตัวเลขที่ไวต่ออักษรใหญ่เล็ก (a-z, A-Z, 0-9) 62 5.954 บิต ชุดอักขระแอสกีที่แสดงผลยกเว้นอักขระว่าง 94 6.555 บิต ชุดอักขระเพิ่มเติมละติน-1 94 6.555 บิต ชุดอักขระแอสกีที่แสดงผล 95 6.570 บิต ชุดอักขระแอสกีขยายที่แสดงผล 218 7.768 บิต เลข 8 บิต (0-255 หรือ 1 ไบต์) 256 8.000 บิต รายการคำไดซ์แวร์ 7,776 12.925 บิต/คำ
ข้อมูล 1 ไบต์มักจะเขียนเป็นเลขฐานสิบหก 2 ตัว
เพื่อจะหาความยาวของรหัสผ่าน L ที่มีความแข็งแกร่ง H โดยเป็นรหัสผ่านสุ่มที่ได้จากชุดอักขระที่มีสัญลักษณ์ N ตัว สามารถใช้สูตรดังนี้คือ
โดย หมายถึงฟังก์ชันเพดาน คือ การปัดเศษขึ้นให้เลขเป็นจำนวนเต็ม
ตารางต่อไปนี้ใช้สูตรดังว่าเพื่อแสดงจำนวนสัญลักษณ์ในรหัสผ่านที่สร้างขึ้นโดยสุ่มจริง ๆ เพื่อให้ได้เอนโทรปีตามที่ต้องการ โดยใช้ชุดสัญลักษณ์ที่สามัญ
รหัสผ่าน มีเอนโทรปี H |
ตัวเลข อาหรับ |
เลขฐาน สิบหก |
ไม่ไวต่ออักษรใหญ่เล็ก | ไวต่ออักษรใหญ่เล็ก | อักขระแอสกี ทั้งหมด |
อักขระ แอสกีขยาย |
รายการคำ ไดซ์แวร์ | ||
---|---|---|---|---|---|---|---|---|---|
ชุดอักษร ละติน |
ชุดตัว อักษรละติน และตัวเลข |
ชุดอักษร ละติน |
ชุดตัว อักษรละติน และตัวเลข |
ที่แสดงผล | |||||
8 บิต (1 ไบต์) | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 1 คำ |
32 บิต (4 ไบต์) | 10 | 8 | 7 | 7 | 6 | 6 | 5 | 5 | 3 คำ |
40 บิต (5 ไบต์) | 13 | 10 | 9 | 8 | 8 | 7 | 7 | 6 | 4 คำ |
64 บิต (8 ไบต์) | 20 | 16 | 14 | 13 | 12 | 11 | 10 | 9 | 5 คำ |
72 บิต (9 ไบต์) | 23 | 18 | 16 | 14 | 13 | 13 | 11 | 10 | 6 คำ |
80 บิต (10 ไบต์) | 25 | 20 | 18 | 16 | 15 | 14 | 13 | 11 | 7 คำ |
96 บิต (12 ไบต์) | 29 | 24 | 21 | 19 | 17 | 17 | 15 | 13 | 8 คำ |
128 บิต (16 ไบต์) | 39 | 32 | 28 | 25 | 23 | 22 | 20 | 17 | 10 คำ |
160 บิต (20 ไบต์) | 49 | 40 | 35 | 31 | 29 | 27 | 25 | 21 | 13 คำ |
192 บิต (24 ไบต์) | 58 | 48 | 41 | 38 | 34 | 33 | 30 | 25 | 15 คำ |
224 บิต (28 ไบต์) | 68 | 56 | 48 | 44 | 40 | 38 | 35 | 29 | 18 คำ |
256 บิต (32 ไบต์) | 78 | 64 | 55 | 50 | 45 | 43 | 39 | 33 | 20 คำ |
รหัสผ่านที่มนุษย์สร้าง
[แก้]ปกติรู้ได้เลยว่ามนุษย์สร้างรหัสผ่านให้มีเอนโทรปีอันสมควรได้แย่มาก งานศึกษากับคนครึ่งล้านประเมินว่าเอนโทรปีโดยเฉลี่ยของรหัสผ่านอยู่ที่ 40.54 บิต[10]
ในงานวิเคราะห์รหัสผ่านยาว 8 ตัว 3 ล้านรหัส มีการใช้อักษร "e" 1.5 ล้านครั้ง อักษร "f" เพียงแค่ 250,000 ครั้ง ถ้าเป็นการแจกแจงแบบเอกรูปจริง ๆ อักษรแต่ละตัวก็ควรจะใช้ 900,000 ครั้ง เลขที่ใช้มากที่สุดคือ 1 อักษรที่ใช้มากที่สุดคือ a, e, o และ r[11] ผู้ใช้มักจะไม่ใช้อักษรชุดใหญ่กว่านี้เพื่อสร้างรหัสผ่านให้ปลอดภัยยิ่งขึ้น ยกตัวอย่างเช่น การฟิชชิงเว็บไซต์ MySpace ในปี 2006 มีผลให้แฮ็กได้รหัสผ่าน 34,000 รหัส แต่มีเพียงร้อยละ 8.3 เท่านั้นที่ใช้อักษรตัวเล็กตัวใหญ่ ตัวเลขและสัญลักษณ์[12]
ความแข็งแกร่งจากการใช้ชุดอักขระแอสกีทั้งหมด (คือตัวเลข อักษรเล็กใหญ่ และอักษรพิเศษ) จะได้ก็ต่อเมื่ออักษรแต่ละตัวในรหัสผ่านอาจเป็นตัวใดก็ได้จากชุดอักขระโดยมีโอกาสเท่า ๆ กัน นี่ดูเหมือนจะบอกว่ารหัสผ่านควรจะมีอักษรจากกลุ่มอักษรต่าง ๆ ทุกกลุ่ม เช่น ตัวใหญ่ ตัวเล็ก ตัวเลข และสัญลักษณ์ที่เหลือ แต่การบังคับให้มีรูปแบบกลับทำให้เดาได้ง่ายแล้วถูกแฮ็กได้ง่ายขึ้น เป็นการลดความแข็งแกร่งของรหัสผ่าน ข้อบังคับที่ดีกว่าก็คือให้ใช้รหัสผ่านที่ไม่มีในพจนานุกรม ไม่ใช่ชื่อ ไม่ใช่รูปแบบเลขทะเบียนรถ เป็นต้น
ถ้าบังคับให้ใช้รูปแบบ มนุษย์ก็มักจะใช้รูปแบบที่คาดเดาได้ เช่น ในภาษาอังกฤษ อักษรตัวแรกจะเป็นตัวใหญ่ ข้างหลังเติมตัวเลข 1-2 ตัว แล้วตามด้วยอักษรพิเศษ การคาดเดาได้เช่นนี้จึงหมายความว่า การใช้กลุ่มอักษรต่าง ๆ ก็จะเพิ่มความแข็งแกร่งเพียงเล็กน้อย เมื่อเทียบกับการใช้รหัสผ่านสุ่มที่เพิ่มความแข็งแกร่งยิ่งกว่า
การใช้งานได้และการทำให้เกิดผล
[แก้]เพราะคีย์บอร์ดในประเทศต่าง ๆ อาจจะต่าง ๆ กัน ดังนั้น ชุดอักขระแอสกีที่แสดงผลได้ 94 ตัว บางทีก็อาจจะใช้ไม่ได้ทุกที่ ซึ่งเป็นปัญหากับผู้เดินทางไปต่างประเทศ ผู้ต้องลงชื่อเข้าบัญชีในระบบประเทศของตนโดยใช้คีย์บอร์ดประจำพื้นที่ อุปกรณ์มือถือเป็นจำนวนมากเช่น แท็บเล็ตคอมพิวเตอร์และสมาร์ทโฟน ต้องใช้ปุ่มเปลี่ยนแป้นที่ซับซ้อน หรือไม่ก็จะต้องเปลี่ยนแอปเพื่อให้ใส่อักษรพิเศษได้
โปรแกรมพิสูจน์ตัวจริงจะต่าง ๆ กันในเรื่องอักขระที่อนุญาตให้ใช้ในรหัสผ่าน บางอย่างจะปฏิบัติต่ออักษรเล็กใหญ่เท่ากัน บางอย่างไม่ยอมรับสัญลักษณ์บางอย่าง ในทศวรรษที่ผ่าน ๆ มา ระบบมักจะยอมรับตัวอักษรในรหัสผ่านได้เพิ่มขึ้น แต่ก็ยังอาจจำกัดอยู่ดี อนึ่ง ความยาวของรหัสผ่านที่อนุญาตยังต่าง ๆ กันอีกด้วย
เมื่อนำไปปฏิบัติ รหัสผ่านจะต้องดูพอสมเหตุสมผลและพอใช้ได้สำหรับผู้ใช้ โดยยังต้องแข็งแกร่งพอ รหัสผ่านที่ยากเกินไปก็จะจำไม่ได้ ดังนั้น จึงต้องเขียนบันทึกไว้ ซึ่งบางท่านพิจารณาว่าเสี่ยงต่อความมั่นคง[13] บางท่านก็อ้างว่าการบังคับให้ผู้ใช้ต้องจำรหัสผ่านโดยไม่มีตัวช่วย ก็จะทำให้ได้แต่รหัสผ่านที่อ่อนแอ ดังนั้น จึงเสี่ยงต่อความมั่นคงยิ่งกว่า ตามผู้เขียนโปรแกรมจัดการรหัสผ่านเป็นคนแรกคือ บรูซ ชไนเออร์ คนโดยมากรักษาความปลอดภัยของกระเป๋าตังค์ของตนได้ ดังนั้น จึงเป็นที่เก็บรหัสผ่านที่ดี[14]
บิตเอนโทรปีตามความจำเป็น
[แก้]บิตเอนโทรปีอย่างต่ำสุดที่จำเป็นจะขึ้นอยู่กับโมเดลการคุกคาม (threat model) ของแอปนั้น ๆ แต่ถ้าไม่ขยายกุญแจก็จะต้องใช้รหัสผ่านที่มีเอนโทรปีสูงกว่า
เอกสารขอความเห็นปี 2005 ยกตัวอย่างโมเดลการคุกคามกับเอนโทรปีที่จำเป็นแต่ละอย่าง ๆ[15] แล้วได้คำตอบว่าต้องมีเอนโทรปี 29 บิตถ้าต้องรับมือกับการโจมตีทางออนไลน์เท่านั้น และมีถึง 96 บิตสำหรับใช้เป็นกุญแจในโปรแกรมเข้ารหัสลับเมื่อกุญแจที่ว่าต้องมั่นคงในระยะยาวและไม่ได้ขยาย ในปี 2010 สถาบันการวิจัยจอร์เจียเทคทำการศึกษาเรื่องกุญแจที่ไม่ขยาย แล้วแนะนำให้ใช้รหัสผ่านสุ่มที่มีอักษร 12 ตัวเป็นอย่างต่ำ[5][16] ควรเข้าใจด้วยว่าเพราะคอมพิวเตอร์เร็วขึ้นเรื่อย ๆ ดังนั้น เพื่อจะป้องกันการโจมตีแบบออฟไลน์ บิตเอนโทรปีก็จะต้องเพิ่มขึ้นเรื่อย ๆ เช่นกัน
ค่าสูงจะใช้กับข้อบังคับที่เข้มงวดเมื่อเลือกกุญแจสำหรับเข้ารหัสลับ ในปี 1999 โปรเจ็กต์ EFF DES cracker แฮ็กการเข้ารหัสแบบ DES ขนาด 56 บิตได้โดยไม่ถึงวันเมื่อใช้ฮาร์ดแวร์ที่ออกแบบเป็นพิเศษ[17] ในปี 2002 distributed.net แฮ็กกุญแจ 64 บิตภายใน 4 ปี 9 เดือนและ 23 วัน[18] ในปี 2011 distributed.net ประเมินว่า การแฮ็กกุญแจ 72 บิตโดยใช้ฮาร์ดแวร์ปัจจุบันจะใช้เวลา 45,579 วันหรือ 124.8 ปี[19] เมื่ออาศัยความรู้ความเข้าใจในข้อจำกัดของฟิสิกส์พื้นฐานปัจจุบัน คาดว่าจะไม่มีคอมพิวเตอร์ดิจิตัล (หรือเครือข่ายคอมพิวเตอร์) ที่สามารถแฮ็กการเข้ารหัสลับขนาด 256 บิตโดยใช้กำลัง[20] แต่คอมพิวเตอร์ควอนตัมจะสามารถทำได้หรือไม่ก็ยังไม่ชัดเจน แม้การวิเคราะห์ทางทฤษฎีแสดงว่าอาจเป็นไปได้[21]
รหัสผ่านที่เข้มแข็ง
[แก้]แนวทางสามัญ
[แก้]แนวทางในการเลือกรหัสผ่านที่ดีปกติจะออกแบบให้เดารหัสผ่านได้ยากแม้เมื่อผู้โจมตีจะรู้ว่าผู้ใช้ได้สร้างรหัสผ่านอย่างไร แนวทางสามัญที่องค์กรต่าง ๆ เสนอรวมทั้ง[22][23][24][25][26]
- ทั่วไปแนะนำให้ตั้งรหัสผ่านที่ยาวน้อยสุด 8 ตัวอักษร[27] ผู้เชี่ยวชาญความมั่นคงทางไซเบอร์ของสหรัฐและสหราชอาณาจักร แนะนำให้ใช้รหัสผ่านที่ยาวและจำได้ง่าย แทนที่จะใช้รหัสสั้นแต่มีอักษรซับซ้อน[28][29]
- สร้างรหัสผ่านแบบสุ่มเมื่อเป็นไปได้
- หลีกเลี่ยงรหัสผ่านเดียวกันที่ใช้ซ้ำ ๆ (เช่น กับบัญชีหลายบัญชี และ/หรือระบบหลายระบบ)
- เลี่ยงตัวอักษรซ้ำ ๆ เลี่ยงตัวอักษรตามรูปแบบของคีย์บอร์ด การใช้คำในพจนานุกรม และการใช้ตัวอักษรและตัวเลขที่เป็นลำดับ
- เลี่ยงการใช้ข้อมูลที่สัมพันธ์กับผู้ใช้ที่ปรากฏแล้วหรือจะปรากฏเป็นสาธารณะ เช่นชื่อผู้ใช้ ชื่อของบรรพบุรุษ และวันที่
- เลี่ยงการใช้ข้อมูลที่เพื่อนร่วมงานหรือว่าคนที่รู้จักอาจจะรู้เกี่ยวกับผู้ใช้ เช่นชื่อญาติ ชื่อสัตว์เลี้ยง ชื่อคนรักทั้งปัจจุบันและอดีต หรือข้อมูลอัตชีวประวัติ เช่น หมายเลขบัตรประชาชน ชื่อบรรพบุรุษ หรือวันที่
- เลี่ยงรหัสผ่านผสมที่เอาส่วนประกอบอันอ่อนแอดังที่กล่าวมาแล้วมาผสมแบบง่าย ๆ
แม้การบังคับให้ใช้อักษรตัวเล็กตัวใหญ่ ตัวเลข และสัญลักษณ์ในรหัสผ่านจะเป็นนโยบายที่สามัญ แต่จริง ๆ พบว่า นี่ลดความมั่นคงของรหัสผ่าน ทำให้เจาะเอาได้ง่ายกว่า โดยงานวิจัยแสดงว่าการใช้อักษรต่าง ๆ ตามที่ว่าสามารถเดาได้ง่าย[30] ในสหรัฐและสหราชอาณาจักร[31] เจ้าหน้าที่ด้านความมั่นคงทางไซเบอร์ของรัฐแนะนำไม่ให้บังคับใช้นโยบายรหัสผ่านตามที่ว่า สัญลักษณ์ที่ซับซ้อนยังทำให้รหัสผ่านจำได้ยากยิ่งกว่า ซึ่งทำให้ต้องเขียนบันทึกเพิ่มขึ้น ตั้งรหัสผ่านใหม่บ่อยขึ้น ใช้รหัสผ่านซ้ำ ๆ กันยิ่งขึ้น ทั้งหมดล้วนแต่ลดความมั่นคง จริง ๆ ไม่ได้เพิ่ม ต่อมาผู้แต่งกฎเกณฑ์ความซับซ้อนของรหัสผ่านจึงขอโทษและยอมรับว่ากฎที่ตั้งขึ้นลดความมั่นคงลงดังที่งานวิจัยได้พบ ซึ่งเป็นสิ่งที่สื่อรายงานอย่างกว้างขวางในปี 2017[32] นักวิจัยความมั่นคงออนไลน์[33] และที่ปรึกษาต่าง ๆ ต่างก็สนับสนุนข้อเปลี่ยนแปลงดังกล่าว[34] ว่าเป็นคำแนะนำการปฏิบัติที่ดีสุดในเรื่องรหัสผ่าน
มีแนวทางปฏิบัติบางอย่างที่แนะนำไม่ให้เขียนบันทึกรหัสผ่าน แต่แนวทางอื่น ๆ ก็ให้ข้อสังเกตว่าผู้ใช้มักจะมีรหัสผ่านจำนวนมาก ดังนั้นจึงแนะนำให้เขียนรหัสผ่านเมื่อเก็บไว้ในที่ปลอดภัย ไม่ใช่ติดไว้กับจอภาพ หรือไว้ในลิ้นชักที่ไม่ได้ล็อก[35] ศูนย์ความมั่นคงไซเบอร์แห่งชาติสหราชอาณาจักรแนะนำให้ใช้โปรแกรมจัดการรหัสผ่าน[36]
เว็บไซต์หรือคีย์บอร์ดอาจจำกัดชุดอักขระที่ใช้ได้กับรหัสผ่าน[37]
ตัวอย่างรหัสผ่านที่อ่อนแอ
[แก้]เหมือนกับวิธีป้องกันความปลอดภัยอื่น ๆ รหัสผ่านจะแข็งแกร่งไม่เท่ากัน บางรหัสก็จะอ่อนแอกว่า ยกตัวอย่างเช่น การแฮ็กคำในพจนานุกรม กับการแฮ็กคำที่ทำให้ยุ่งเหยิงขึ้นบ้าง (เช่น แทนที่อักษรด้วยตัวเลขซึ่งเป็นวิธีการที่สามัญอย่างหนึ่ง) อาจจะต้องใช้เวลาเพิ่มขึ้นเพียงไม่กี่วินาที จึงไม่ได้เพิ่มความแข็งแกร่งอะไร ตัวอย่างด้านล่างแสดงวิธีการสร้างรหัสผ่านที่อ่อนแอซึ่งล้วนแต่มีรูปแบบง่าย ๆ ทำให้ได้รหัสผ่านที่มีเอนโทรปีต่ำ ซึ่งสามารถเจาะได้ง่าย ๆ[11]
- รหัสผ่านโดยปริยาย (ที่หมายให้เปลี่ยนเมื่อติดตั้งระบบ) เช่น password, default, admin, guest รายการรหัสผ่านโดยปริยายพบได้ทั่วไปทางอินเทอร์เน็ต
- รหัสผ่านที่นำไปใช้อีก คือรหัสผ่านหนึ่งควรใช้เฉพาะกับบัญชีหนึ่งเท่านั้น การเปลี่ยนรหัสผ่านเพียงเล็กน้อย เช่นเปลี่ยนอักษรไม่กี่ตัว ตัวเลขไม่กี่ตัว ไม่ได้เพิ่มความมั่นคงเพียงพอให้นำไปใช้อีก
- คำในพจนานุกรมต่าง ๆ เช่น ในภาษาอังกฤษ คือ chameleon, RedSox, sandbags, bunnyhop!, IntenseCrabtree แต่ก็รวมคำในพจนานุกรมที่ไม่ใช่ภาษาอังกฤษด้วย
- คำที่ตามด้วยตัวเลข เช่น password1, deer2000, john1234 ซึ่งสามารถแฮ็กได้อย่างรวดเร็ว
- คำที่ทำอำพรางแบบง่าย ๆ เช่น p@ssw0rd, l33th4x0r, g0ldf1sh ซึ่งก็แฮ็กได้อย่างรวดเร็วเหมือนกัน ยกตัวอย่างเช่นรหัสผ่านของแอดมินสำหรับผู้ประกอบการรับรองโดเมน DigiNotar เมื่อถูกแฮ็กรายงานว่าเป็น Pr0d@dm1n[38] เหตุการณ์นี้ต่อมานำไปสู่การล้มละลายของบริษัท
- คำซ้อน เช่น crabcrab, stopstop, treetree, passpass
- ลำดับแป้นพิมพ์บนคีย์บอร์ด เช่น qwerty, 123456, asdfgh รวมทั้งลำดับแนวเฉียงและลำดับแนวกลับ เช่น qazplm, ytrewq
- ลำดับตัวเลขที่รู้จักกันดีเช่น 911(9-1-1, 9/11), 314159...(พาย), 27182...(e), 112 (1-1-2)
- ข้อมูลระบุตัวตน เช่น jsmith123, 1/1/1970, 555-1234, ชื่อผู้ใช้/บัญชี
- รหัสผ่านอ่อนแอซึ่งไม่ใช่ภาษาอังกฤษ เช่น contraseña (สเปน) และ ji32k7au4a83 (ภาษาจีน)[39]
- ข้อมูลเกี่ยวกับบุคคลเช่น เลขทะเบียนรถ เลขบัตรประชาชน เบอร์โทรศัพท์ทั้งปัจจุบันและอดีต หมายเลขนักเรียนนักศึกษา ที่อยู่ปัจจุบัน ที่อยู่ในอดีต วันเกิด ทีมกีฬา ชื่อ/ชื่อเล่น/วันเกิดของญาติ/สัตว์เลี้ยง ทั้งหมดสามารถเจาะได้ง่าย ๆ หลังจากตรวจดูรายละเอียดของบุคคล
- วันที่ เพราะมีรูปแบบที่ทำให้รหัสผ่านอ่อนแอ
- ชื่อสถานที่ต่าง ๆ ที่รู้จักกันดีเช่น นิวยอร์ก เทกซัส จีน ลอนดอน
- ชื่อยี่ห้อ คนดัง ทีมกีฬา กลุ่มนักดนตรี รายการทีวี ภาพยนตร์
- รหัสผ่านสั้น ๆ แม้จะไม่มีจุดอ่อนดังกล่าว แต่ถ้าสั้นเกินไปก็จะแฮ็กได้ง่าย
มีเหตุอื่น ๆ อีกที่ทำให้รหัสผ่านอ่อนแอ[40] ขึ้นอยู่กับการโจมตีว่ามีประสิทธิภาพแค่ไหน หลักสำคัญก็คือรหัสผ่านควรจะมีเอนโทรปีสูง ซึ่งทั่วไปก็คือความสุ่มของรหัสผ่าน ไม่ควรได้มาจากรูปแบบที่เหมือนกับฉลาด ไม่ควรมีข้อมูลระบุผู้ใช้ อนึ่ง บริการออนไลน์มักจะมีวิธีการกู้บัญชี ซึ่งถ้ามีจุดอ่อนและผู้โจมตีรู้วิธีก็อาจจะไม่ต้องพยายามแฮ็กรหัสผ่านเลย
แนวทางรหัสผ่านใหม่
[แก้]บทความปี 2012 ในวารสารสมาคมคอมพิวเตอร์เอซีเอ็มเน้นให้ใช้ตัวอักษรตัวเล็ก ตัวใหญ่ และตัวเลข มีอักษร 8 ตัวหรือยิ่งกว่า เพราะรหัสผ่านดังว่าสามารถทนการพยายามเดาเป็น 10 ล้านครั้ง/วินาทีได้นานถึง 252 วัน แต่จริง ๆ ถ้าใช้หน่วยประมวลผลกราฟิกส์ในเวลานั้นทำการ ก็จะใช้เวลาเพียงแค่ 9 ชั่วโมงโดยมีอัตราเดารหัสผ่านที่ 7,000 ล้านครั้ง/วินาที ส่วนรหัสผ่านที่ยาว 13 ตัวอักษรก็จะสามารถทนการพยายามเดาได้ถึง 900,000 ปี[41][42]
ถ้าใช้เทคโนโลยีปี 2023 มาตรฐานรหัสผ่านตัวเล็ก ตัวใหญ่และตัวเลข 8 ตัว จะสามารถเดาได้ในไม่กี่ชั่วโมง รหัสผ่านยาว 13 ตัวอักษรจะใช้เวลาเดาเพียงไม่กี่ปี ดังนั้นจึงต้องเปลี่ยนความคิดใหม่ ปัจจุบันแนะนำให้ใช่รหัสผ่านที่มีตัวอักษร 13-16 ตัว โดยยังต้องเพิ่มใช้วิธีการพิสูจน์ตัวจริงด้วยปัจจัยหลายอย่างเป็นตัวเสริมความมั่นคงด้วย การสร้างโปรแกรมจัดการรหัสผ่านและการนำมาใช้อย่างแพร่หลาย ยังช่วยผู้ใช้ให้สามารถสร้างและเก็บรักษารหัสผ่านที่ยาว แข็งแกร่ง และใช้กับบัญชีหรือแอปเดี่ยว ๆ[43]
นโยบายรหัสผ่าน
[แก้]นโยบายรหัสผ่านเป็นแนวทางการเลือกรหัสผ่านที่ดีพอ โดยมีจุดประสงค์
- ช่วยผู้ใช้ให้เลือกรหัสผ่านที่แข็งแกร่ง
- ช่วยให้รหัสผ่านเหมาะสมกับสิ่งที่ต้องป้องกัน
- ให้คำแนะนำแก่ผู้ใช้ในเรื่องการบริหารจัดการรหัสผ่าน
- ให้คำแนะนำในการเปลี่ยนรหัสผ่านที่หายหรือว่าถูกแฮ็ก
- ใช้แบล็กลิสต์เพื่อป้องกันไม่ให้ใช้รหัสผ่านที่อ่อนแอหรือเดาได้ง่าย
นโยบายรหัสผ่านก่อน ๆ มักจะระบุกลุ่มอักษรซึ่งรหัสผ่านจะต้องมี เช่น ตัวเลข สัญลักษณ์ ตัวเล็ก ตัวใหญ่ แม้จะยังมีใช้อยู่ แต่งานวิจัยก็ได้ชี้แล้วว่า เป็นข้อบังคับที่ไม่ปลอดภัย[44] ผู้เริ่มตั้งนโยบายนี้ดั้งเดิมก็เห็นด้วย[45] ทั้งองค์กรความมั่นคงทางไซเบอร์ของสหรัฐและสหราชอาณาจักรก็เห็นด้วย[46][47][48] กฎความซับซ้อนรหัสผ่านโดยมีสัญลักษณ์ที่บังคับใช้ แพลตฟอร์มหลัก ๆ เช่น กูเกิล[49] เฟซบุ๊ก[50] ก่อนหน้านี้ก็เคยใช้ แต่ต่อมาก็เลิกหลังพบว่าจริง ๆ ลดความมั่นคงเพราะมนุษย์กลับสร้างความเสี่ยงเพิ่ม การบังคับเรื่องความซับซ้อนจึงทำให้รหัสผ่านมีรูปแบบที่เดาได้ง่ายมาก เช่น ใส่ตัวเลขด้านหลังรหัสผ่าน ใช้เลข 3 แทนอักษร E เป็นต้น จึงทำให้เจาะได้ง่าย ดังนั้น นโยบายปัจจุบันจึงแนะนำให้ใช้รหัสผ่านที่ตัวอักษรไม่ซับซ้อนแต่ยาว (เป็นพาสเฟรซ) กฎบังคับให้ซับซ้อนยังเพิ่มค่าใช้จ่ายในการสนับสนุนผู้ใช้ ทำความรำคาญให้ผู้ใช้ และเป็นอุปสรรคไม่ให้ผู้ใช้เปิดบัญชี
นโยบายให้รหัสผ่านหมดอายุที่เคยใช้ก็พบว่าไม่ดีเหมือนกัน[32] ซึ่งต่อมารัฐบาลสหรัฐและสหราชอาณาจักรรวมทั้งบริษัทไมโครซอฟต์ก็เลิกใช้ทั้งหมด[51] การมีวันหมดอายุเคยคิดว่ามีประโยชน์ดังนี้[52]
- ถ้าประเมินว่ารหัสผ่านหนึ่ง ๆ สามารถเจาะได้ในร้อยวัน การหมดอายุเร็วกว่านั้นอาจจะทำให้ไม่มีเวลาเจาะพอ
- ถ้ารหัสผ่านถูกแฮ็กเอาไปแล้ว การบังคับให้เปลี่ยนเป็นประจำอาจจะจำกัดช่วงเวลาที่ผู้โจมตีสามารถเข้าใช้บัญชี
แต่การหมดอายุของรหัสผ่านกลับมีข้อเสียว่า[53][54]
- การให้ผู้ใช้เปลี่ยนรหัสผ่านบ่อย ๆ ทำให้ใช้รหัสผ่านที่ง่าย ๆ และอ่อนแอ
- ถ้ามีรหัสผ่านที่แข็งแกร่งอยู่แล้ว ก็ไม่มีเหตุผลที่จะเปลี่ยน การเปลี่ยนอาจจะทำให้ได้รหัสผ่านที่แข็งแกร่งน้อยลง
- ผู้โจมตีน่าจะใช้รหัสผ่านที่เจาะได้อย่างทันทีเพื่อติดตั้งประตูหลังกับระบบโดยผ่านกระบวนการเพิ่มสิทธิพิเศษ หลังจากทำอย่างนี้ได้แล้ว การเปลี่ยนรหัสผ่านก็จะไม่สามารถป้องกันผู้โจมตีไม่ให้เข้าถึงระบบนั้น ๆ
การสร้างและบริหารรหัสผ่าน
[แก้]รหัสผ่านซึ่งเจาะได้ยากที่สุดสำหรับชุดอักขระและความยาวหนึ่ง ๆ จะเป็นสายอักขระที่เลือกอักษรโดยสุ่ม ถ้ายาวพอก็จะทนต่อการโจมตีด้วยกำลังเพราะมีอักษรหลายตัว และการโจมตีแบบเดาเพราะมีค่าเอนโทรปีสูง แต่ก็จะจำได้ยาก ดังนั้น การบังคับจะเพิ่มโอกาสให้ผู้ใช้เขียนบันทึกรหัสผ่าน เก็บไว้ในอุปกรณ์เคลื่อนที่ หรือแชร์กับคนอื่น ๆ เพื่อกันการจำไม่ได้ แม้บางคนจะพิจารณาว่าวิธีการจำรหัสผ่านเหล่านี้เพิ่มความเสี่ยงทางความมั่นคง คนอื่น ๆ ก็คิดว่า เป็นไปไม่ได้ที่จะหวังให้ผู้ใช้จำรหัสผ่านที่ซับซ้อนสำหรับบัญชีที่มีเป็นโหล ๆ ยกตัวอย่างเช่นในปี 2005 ผู้เชี่ยวชาญทางความมั่นคง บรูซ ชไนเออร์ แนะนำให้เขียนบันทึกรหัสผ่านดังนี้
กล่าวง่าย ๆ ก็คือ เราไม่สามารถจำรหัสผ่านที่ดีพอเพื่อป้องกันการโจมตีด้วยพจนานุกรม แต่จะปลอดภัยกว่าถ้าเลือกรหัสผ่านซึ่งยากเกินที่จะจำได้แล้วเขียนบันทึก เราทุกคนสามารถเก็บกระดาษชิ้นเล็ก ๆ ให้ปลอดภัยได้ดี ผมแนะนำให้ทุกคนเขียนรหัสผ่านของตนในกระดาษชิ้นเล็ก ๆ แล้วเก็บไว้กับกระดาษที่มีค่าชิ้นเล็กอื่น ๆ คือในกระเป๋าตังค์[35]
วิธีการต่าง ๆ ดังต่อไปนี้อาจเพิ่มการยอมรับใช้รหัสผ่านที่แข็งแกร่งได้ถ้าดำเนินการอย่างระมัดระวัง
- โปรแกรมฝึกหัด โดยให้เข้าโปรแกรมอีกถ้าไม่ทำตามนโยบายรหัสผ่าน (เช่น รหัสผ่านหาย รหัสผ่านไม่ดี เป็นต้น)
- ลดจำนวนหรือกำจัดการให้เปลี่ยนรหัสผ่านเพราะหมดอายุสำหรับผู้ที่ใช้รหัสผ่านที่แข็งแกร่ง มีโปรแกรมประเมินความแข็งแกร่งอย่างคร่าว ๆ ของรหัสผ่านซึ่งสามารถใช้เมื่อตั้งหรือเปลี่ยนรหัสผ่าน
- ให้แสดงข้อมูลว่าได้ลงชื่อใช้บัญชีครั้งสุดท้ายเมื่อไร โดยหวังว่าผู้ใช้จะเห็นการลงชื่อเข้าบัญชีที่ไม่ได้อนุญาต ซึ่งแสดงว่ารหัสผ่านอาจจะถูกแฮ็ก
- มีระบบอัตโนมัติที่ให้ผู้ใช้กู้รหัสผ่าน ซึ่งช่วยลดการติดต่อกับแอดมินเพื่อให้ช่วย แต่ปัญหาก็คือระบบกู้รหัสผ่านบางอย่างก็มีจุดอ่อนของตน ๆ เช่น ถ้าใช้การถามคำถามง่าย ๆ เกี่ยวกับผู้ใช้ ก็อาจเดาคำตอบได้ง่าย ซึ่งทำให้ผู้โจมตีสามารถใช้ระบบกู้รหัสผ่านตั้งแต่ต้นเพื่อเลี่ยงการแฮ็กรหัสผ่านที่แข็งแกร่ง
- ให้ใช้แต่รหัสผ่านที่สร้างโดยสุ่มซึ่งผู้ใช้ไม่สามารถเปลี่ยนได้ หรืออย่างน้อยก็ให้เป็นตัวเลือกอย่างหนึ่ง
วิธีการจำ
[แก้]นโยบายรหัสผ่านบางครั้งจะแนะนำวิธีการจำรหัสผ่าน
- ให้หาวลีช่วยจำแล้วใช้สร้างรหัสผ่าน ซึ่งเกือบจะเหมือนสุ่มแต่ก็ยังจำได้ง่าย เช่นการใช้อักษรตัวแรกของคำแต่ละคำในวลีที่จำได้ง่าย งานวิจัยประเมินว่าความแข็งแกร่งของรหัสผ่านดังว่าอยู่ที่ประมาณ 3.7 บิตต่ออักษร เทียบกับ 6.6 บิตต่ออักษรของรหัสผ่านที่เลือกอักษรโดยสุ่มจากชุดอักขระแอสกีที่แสดงผล[55] วลีที่ตลกหรือเหลวไหลอาจจะจำได้ง่ายกว่า[56] วิธีอีกอย่างเพื่อสร้างรหัสผ่านสุ่มและจำได้ง่ายก็คือใช้คำสุ่ม (เช่น ไดซ์แวร์) หรือพยางค์สุ่มจากรายการ
- การตั้งเรื่องช่วยจำรหัสผ่าน[57] โดยไม่ต้องเป็นเรื่องที่สมเหตุสมผล เพียงแต่ให้จำได้ ซึ่งช่วยให้ได้รหัสผ่านที่เป็นสุ่มจริง ๆ
- การสร้างรหัสผ่านโดยเป็นรูป คืออาศัยลำดับแป้นพิมพ์ที่กด ไม่ต้องใส่ใจว่าเป็นตัวอักษรอะไร เช่น !qAsdE#2 มีรูปเป็นสี่เหลี่ยมขนมเปียกปูนสำหรับคีย์บอร์ดสหรัฐ วิธีนี้มีชื่อว่า PsychoPass[58] แต่รหัสผ่านดังกล่าวก็แข็งแกร่งน้อยกว่าที่นับตามจำนวนอักษร เพราะอักษรแต่ละตัวจริง ๆ ไม่ได้เป็นอิสระจากตัวก่อน อนึ่ง ลำดับอักษรดังว่าก็มักจะรวมอยู่ในพจนานุกรมรหัสผ่าน แต่นักวิจัยก็ได้เสนอวิธีการปรับปรุงวิธีนี้ให้ดีขึ้น[59][60]
- การใช้รูปแบบรหัสผ่าน แต่ไม่ว่าจะเป็นรูปแบบใด ๆ ก็จะทำให้เดาได้ง่ายขึ้น ไม่ว่าจะเดาโดยระบบอัตโนมัติหรือไม่
- ยกตัวอย่างเช่นมีรูปแบบรหัสผ่านที่ใช้อักษรโรมันโดยไม่ไวตัวเล็กตัวใหญ่ คือ พยัญชนะ สระ พยัญชนะ พยัญชนะ สระ พยัญชนะ ตัวเลข ตัวเลข (เช่น pinray45) รูปแบบการสลับพยัญชนะกับสระหมายให้ออกเสียงรหัสผ่านได้ ดังนั้น จึงจำได้ง่ายกว่า แต่รูปแบบดังกล่าวก็ลดเอนโทรปีของรหัสผ่านเป็นอย่างมาก ทำให้การโจมตีด้วยกำลังมีประสิทธิภาพยิ่งกว่ามาก ถึงกระนั้น จนถึงเดือนตุลาคม 2005ตุลาคม 2005 เจ้าหน้าที่ของรัฐในสหราชอาณาจักรก็ยังได้คำแนะนำให้ใช้รหัสผ่านในรูปแบบนี้[ต้องการอ้างอิง]
โปรแกรมจัดการรหัสผ่าน
[แก้]ส่วนนี้ไม่มีการอ้างอิงจากเอกสารอ้างอิงหรือแหล่งข้อมูล โปรดช่วยพัฒนาส่วนนี้โดยเพิ่มแหล่งข้อมูลน่าเชื่อถือ เนื้อหาที่ไม่มีการอ้างอิงอาจถูกคัดค้านหรือนำออก |
วิธีการผ่อนผันการบันทึกรหัสผ่านก็คือให้เก็บไว้ในโปรแกรมจัดการรหัสผ่าน ซึ่งอาจรวมแอปต่างหาก รวมส่วนขยายเว็บบราวเซอร์ หรือเป็นตัวเก็บรหัสผ่านของระบบปฏิบัติการเอง นี่ทำให้ผู้ใช้สามารถมีรหัสผ่านเป็นร้อย ๆ โดยต้องจำรหัสผ่านเพียงแค่รหัสเดียว คือที่ใช้เปิดฐานข้อมูลที่เข้ารหัสลับไว้[61] ดังนั้น จึงควรสร้างรหัสผ่านเดี่ยวนี้ให้แข็งแกร่งและเก็บรักษาไว้เป็นอย่างดี โปรแกรมบางอย่างมีตัวสร้างรหัสผ่านสุ่มที่มั่นคงตามหลักวิทยาการเข้ารหัสลับ โดยบางตัวก็คำนวณค่าเอนโทรปีของรหัสผ่านที่สร้างได้ด้วย โปรแกรมที่ดีจะมีการป้องกันที่ทนทานต่อการโจมตีต่าง ๆ เช่น การบันทึกแป้นพิมพ์ การบันทึกคลิปบอร์ด และการสอดแนมดูข้อมูลความจำของคอมพิวเตอร์โดยวิธีต่าง ๆ
ดูเพิ่ม
[แก้]เชิงอรรถและอ้างอิง
[แก้]- ↑ "Cyber Security Tip ST04-002". Choosing and Protecting Passwords. US CERT. 2009-05-21. เก็บจากแหล่งเดิมเมื่อ 2009-07-07. สืบค้นเมื่อ 2009-06-20.
- ↑ "Why User Names and Passwords Are Not Enough | SecurityWeek.Com". www.securityweek.com. 2019-01-31. สืบค้นเมื่อ 2020-10-31.
- ↑ "Millions using 123456 as password, security study finds". BBC News. 2019-04-21. สืบค้นเมื่อ 2019-04-24.
- ↑ 4.0 4.1 4.2 "SP 800-63 - Electronic Authentication Guideline" (PDF). NIST. คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2004-07-12. สืบค้นเมื่อ 2014-04-20.
- ↑ 5.0 5.1 "Teraflop Troubles: The Power of Graphics Processing Units May Threaten the World's Password Security System". Georgia Tech Research Institute. เก็บจากแหล่งเดิมเมื่อ 2010-12-30. สืบค้นเมื่อ 2010-11-07.
- ↑ Elcomsoft.com เก็บถาวร 2006-10-17 ที่ เวย์แบ็กแมชชีน, ElcomSoft Password Recovery Speed table, NTLM passwords, Nvidia Tesla S1070 GPU, accessed 2011-02-01
- ↑ Elcomsoft Wireless Security Auditor, HD5970 GPU เก็บถาวร 2011-02-19 ที่ เวย์แบ็กแมชชีนaccessed 2011-02-11
- ↑ Massey, James (1994). "Guessing and entropy" (PDF). Proceedings of 1994 IEEE International Symposium on Information Theory. IEEE. p. 204.
- ↑ Schneier, B: Applied Cryptography, 2e, page 233 ff. John Wiley and Sons.
- ↑ Florencio, Dinei; Herley, Cormac (2007-05-08). "A large-scale study of web password habits" (PDF). Proceedings of the 16th international conference on World Wide Web. p. 657. doi:10.1145/1242572.1242661. ISBN 9781595936547. S2CID 10648989. เก็บ (PDF)จากแหล่งเดิมเมื่อ 2015-03-27.
- ↑ 11.0 11.1 Burnett, Mark (2006). Kleiman, Dave (บ.ก.). Perfect Passwords. Rockland, Massachusetts: Syngress Publishing. p. 181. ISBN 978-1-59749-041-2.
- ↑ Schneier, Bruce (2006-12-14). "MySpace Passwords aren't so Dumb". Wired Magazine. เก็บจากแหล่งเดิมเมื่อ 2014-05-21. สืบค้นเมื่อ 2008-04-11.
- ↑ Allan, A. "Passwords are Near the Breaking Point" (PDF). Gartner. คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2006-04-27. สืบค้นเมื่อ 2008-04-10.
- ↑ Schneier, Bruce. "Schneier on Security". Write Down Your Password. เก็บจากแหล่งเดิมเมื่อ 2008-04-13. สืบค้นเมื่อ 2008-04-10.
- ↑ Randomness Requirements for Security. doi:10.17487/RFC4086. RFC 4086.
- ↑ "Want to deter hackers? Make your password longer". NBC News. 2010-08-19. สืบค้นเมื่อ 2010-11-07.
- ↑ "EFF DES Cracker machine brings honesty to crypto debate". EFF. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2010-01-01. สืบค้นเมื่อ 2008-03-27.
- ↑ "64-bit key project status". Distributed.net. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2013-09-10. สืบค้นเมื่อ 2008-03-27.
- ↑ "72-bit key project status". Distributed.net. สืบค้นเมื่อ 2011-10-12.
- ↑ Schneier, Bruce. "Snakeoil: Warning Sign #5: Ridiculous key lengths". เก็บจากแหล่งเดิมเมื่อ 2008-04-18. สืบค้นเมื่อ 2008-03-27.
- ↑ "Quantum Computing and Encryption Breaking". Stack Overflow. 2011-05-27. เก็บจากแหล่งเดิมเมื่อ 2013-05-21. สืบค้นเมื่อ 2013-03-17.
- ↑ Microsoft Corporation, Strong passwords: How to create and use them เก็บถาวร 2008-01-01 ที่ เวย์แบ็กแมชชีน
- ↑ Bruce Schneier, Choosing Secure Passwords เก็บถาวร 2008-02-23 ที่ เวย์แบ็กแมชชีน
- ↑ Google, Inc., How safe is your password? เก็บถาวร 2008-02-22 ที่ เวย์แบ็กแมชชีน
- ↑ University of Maryland, Choosing a Good Password เก็บถาวร 2014-06-14 ที่ เวย์แบ็กแมชชีน
- ↑ Bidwell, Teri (2002). Hack Proofing Your Identity in the Information Age. Syngress Publishing. ISBN 978-1-931836-51-7.
- ↑ "NIST PASSWORD GUIDELINES IN 2020". Stealthbits. 2020-08-18. สืบค้นเมื่อ 2021-05-17.
- ↑ "Password Policy - Updating your approach". UK National Cyber Security Centre. สืบค้นเมื่อ 2021-05-17.
- ↑ "Choosing and Protecting Passwords". US Cybersecurity & Infrastructure Security Agency (CISA). 2019-11-18. สืบค้นเมื่อ 2023-10-10.
- ↑ "Digital Identity Guidelines". USA National Institute for Standards and Technology. สืบค้นเมื่อ 2021-05-17.
- ↑ "Password administration for system owners". UK National Cyber Security Centre. สืบค้นเมื่อ 2021-05-17.
- ↑ 32.0 32.1 "Password Rules - Founder of Password Complexity Says SORRY!". สืบค้นเมื่อ 2021-05-17.
- ↑ "CyLab Usable Privacy and Security Laboratory (CUPS)". Carnegie Mellon University (USA). สืบค้นเมื่อ 2021-05-17.
- ↑ Bruce, Schneier. "Changes in Password Best Practices". Schneier on Security. สืบค้นเมื่อ 2021-05-17.
- ↑ 35.0 35.1 "Write Down Your Password - Schneier on Security". www.schneier.com. เก็บจากแหล่งเดิมเมื่อ 2008-04-13.
- ↑ "What does the NCSC think of password managers?". www.ncsc.gov.uk. เก็บจากแหล่งเดิมเมื่อ 2019-03-05.
- ↑ e.g. for a keyboard with only 17 nonalphanumeric characters, see one for a BlackBerry phone in an enlarged image เก็บถาวร 2011-04-06 ที่ เวย์แบ็กแมชชีน in support of Sandy Berger, BlackBerry Tour 9630 (Verizon) Cell Phone Review, in Hardware Secrets (August 31, 2009) เก็บถาวร 2011-04-06 ที่ เวย์แบ็กแมชชีน, both as accessed January 19, 2010. That some websites don’t allow nonalphanumerics is indicated by Kanhef, Idiots, For Different Reasons (June 30, 2009) (topic post) เก็บถาวร 2011-04-06 ที่ เวย์แบ็กแมชชีน, as accessed January 20, 2010.
- ↑ "ComodoHacker responsible for DigiNotar Attack - Hacking News". Thehackernews.com. 2011-09-06. เก็บจากแหล่งเดิมเมื่อ 2013-05-17. สืบค้นเมื่อ 2013-03-17.
- ↑ Basner, Dave (2019-03-08). "Here's Why 'ji32k7au4a83' Is A Surprisingly Common Password". สืบค้นเมื่อ 2019-03-25.
- ↑ Bidwell, p. 87
- ↑ William, Cheswick (2012-12-31). "HTML version - Rethinking Passwords". Association for Computing Machinery (ACM). เก็บจากแหล่งเดิมเมื่อ 2019-11-03. สืบค้นเมื่อ 2019-11-03.
- ↑ William, Cheswick (2012-12-31). "ACM Digital Library - Rethinking Passwords". Queue. 10 (12): 50–56. doi:10.1145/2405116.2422416.
- ↑ "The State of Password Security 2023 Report | Bitwarden Resources". Bitwarden (ภาษาอังกฤษแบบอเมริกัน). สืบค้นเมื่อ 2023-09-24.
- ↑ "Practical Recommendations for Stronger, More Usable Passwords Combining Minimum-strength, Minimum-length, and Blocklist Requirements" (PDF). Carnegie Mellon University. สืบค้นเมื่อ 2021-05-17.
- ↑ "Bill Burr, Founder of Password complexity rules says SORRY!". สืบค้นเมื่อ 2021-05-17.
- ↑ "Passwords in online services". UK Information Commissioner's Office (ICO). สืบค้นเมื่อ 2021-05-17.
- ↑ "Digital Identity Guidelines". USA National Institute of Standards and Technology. สืบค้นเมื่อ 2021-05-17.
- ↑ "Password guidance" (PDF). Cyber Security, UK Government Communications Headquarters. สืบค้นเมื่อ 2021-05-17.
- ↑ "Create a Strong Password". Google Inc. สืบค้นเมื่อ 2021-05-17.
- ↑ "Login and Password Help". FaceBook Inc. สืบค้นเมื่อ 2021-05-17.
- ↑ "Security baseline (FINAL) for Windows 10 v1903 and Windows Server v1903". Microsoft. 2019-05-23. สืบค้นเมื่อ 2021-05-17.
- ↑ "In Defense of Password Expiration". League of Professional Systems Administrators. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2008-10-12. สืบค้นเมื่อ 2008-04-14.
- ↑ "The problems with forcing regular password expiry". IA Matters. CESG: the Information Security Arm of GCHQ. 2016-04-15. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2016-08-17. สืบค้นเมื่อ 2016-08-05.
- ↑ Spafford, Eugene. "Security Myths and Passwords". The Center for Education and Research in Information Assurance and Security. เก็บจากแหล่งเดิมเมื่อ 2008-04-11. สืบค้นเมื่อ 2008-04-14.
- ↑ Kiesel, Johannes; Stein, Benno; Lucks, Stefan (2017). "A Large-scale Analysis of the Mnemonic Password Advice" (PDF). Proceedings of the 24th Annual Network and Distributed System Security Symposium (NDSS 17). Internet Society. คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2017-03-30. สืบค้นเมื่อ 2017-03-30.
{{cite conference}}
: CS1 maint: uses authors parameter (ลิงก์) - ↑ Mnemonic Devices (Indianapolis, Ind.: Bepko Learning Ctr., University College), as accessed January 19, 2010 เก็บถาวร 2010-06-10 ที่ เวย์แบ็กแมชชีน
- ↑ Remembering Passwords (ChangingMinds.org) เก็บถาวร 2010-01-21 ที่ Wikiwix, as accessed January 19, 2010
- ↑ Cipresso, P; Gaggioli, A; Serino, S; Cipresso, S; Riva, G (2012). "How to Create Memorizable and Strong Passwords". J Med Internet Res. 14 (1): e10. doi:10.2196/jmir.1906. PMC 3846346. PMID 22233980.
- ↑ Brumen, B; Heričko, M; Rozman, I; Hölbl, M (2013). "Security analysis and improvements to the PsychoPass method". J Med Internet Res. 15 (8): e161. doi:10.2196/jmir.2366. PMC 3742392. PMID 23942458.
- ↑ "zxcvbn: realistic password strength estimation". Dropbox Tech Blog. เก็บจากแหล่งเดิมเมื่อ 2015-04-05.
- ↑ "The Emperor's New Password Manager: Security Analysis of Web-based Password Managers | EECS at UC Berkeley". www2.eecs.berkeley.edu. สืบค้นเมื่อ 2023-10-01.