Đây thực sự là một phần phụ lục cho câu trả lời thông minh của @ Brian. Cũng xin chào @Martijn Pieters vì đã thêm chi tiết về cách vũ trang các mật khẩu cũ dựa trên mật khẩu hiện tại và @ratchet freak cho "khoảng cách ham". Tôi không xóa câu trả lời của mình vì tôi nghĩ nó cung cấp nền tảng thú vị để sao lưu chúng.
Bộ lưu trữ mật khẩu hiện đại yêu cầu sử dụng nhiều vòng băm mật mã một chiều mạnh mẽ (SHA-512 +) với muối duy nhất (128 bit +) cho mỗi người dùng. Nhưng không nên lưu trữ thông tin bổ sung về mỗi mật khẩu. Càng nhiều thông tin bạn sẽ lưu trữ về mỗi mật khẩu, bạn càng làm giảm tính bảo mật của thuật toán băm.
Thí dụ
Hãy xem xét việc sử dụng mật khẩu dễ dàng như thế nào nếu bạn biết rằng:
- Nó dài 7 ký tự
- Các ký tự 3-5 là chữ hoa (4 là chữ thường)
- 1 và 7 là số
- 6 là một biểu tượng
Một bàn phím ở Mỹ có 95 ký tự có thể in được, vì vậy biết rằng mật khẩu dài 7 ký tự sẽ mang lại 95 ^ 7 = 69.833.729.610.000 = 7x10 ^ 13 hoán vị. Nếu nó thực sự ngẫu nhiên, có thể mất một năm để bẻ khóa điều này trên một bộ xử lý 3Ghz duy nhất. Nhưng:
- Chỉ có 26 ký tự chữ hoa và 26 ký tự chữ thường
- Chỉ có 10 chữ số mang lại 100 khả năng cho hai số đó
- Chỉ có 32 biểu tượng
Vì vậy (đã sửa nhờ @Hellion):
26^4 (charcters 2-5 are known upper or lower-case)
x 100 (characters 1 & 7 are digits)
x 32 (character 6 is a symbol)
====
1,462,323,200 possible passwords.
Điều đó dễ dàng hơn để bẻ khóa 50.000 lần! Việc lưu trữ thông tin tốt để ngăn chặn mật khẩu tương tự trong trường hợp này đã khiến bạn mất thời gian bẻ khóa mật khẩu 7 ký tự từ một năm xuống còn vài giờ. Giải mã tất cả mật khẩu của bạn trên một máy tính để bàn đa bộ xử lý mạnh mẽ với thẻ video tốt và một chút kiên nhẫn giờ đây rất khả thi. Tôi hy vọng ví dụ đơn giản này chứng minh rằng bạn có thể so sánh các mật khẩu tương tự càng có ý nghĩa thì việc băm của bạn sẽ càng kém an toàn.
Tầm quan trọng của băm mạnh
Cơ sở dữ liệu với mật khẩu bị đánh cắp thường xuyên, với các tin tức đột phá trong tin tức hàng tháng. Heck, mới tháng trước, tình trạng của SC đã mất số an sinh xã hội của mọi người - rất tiếc! Có bao nhiêu vi phạm nữa được che đậy?
Kết thúc suy nghĩ
Điều đáng sợ nhất đối với tôi là khi mọi người chọn mật khẩu giống nhau hoặc tương tự cho nhiều trang web để việc đột nhập vào một trang sẽ cho kẻ tấn công truy cập tất cả. Tôi rất muốn thấy một phương pháp đã được chứng minh là ngăn chặn tình huống đó, mặc dù tôi nghĩ rằng việc ngăn chặn các mật khẩu xấu phổ biến nhất sẽ giúp ích nhiều hơn là ngăn chặn một người dùng cá nhân sử dụng lại mật khẩu xấu của họ trong cùng một trang web. Điều tốt nhất tôi có thể đề xuất là chính sách toàn công ty để sử dụng trình quản lý mật khẩu an toàn, tạo mật khẩu ngẫu nhiên cao cho mỗi người dùng của bạn và lưu trữ chúng một cách an toàn.