Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cải thiện việc băm mật khẩu với một muối ngẫu nhiên

Kẻ tấn công được "cho phép" để biết muối - bảo mật của bạn phải được thiết kế theo cách mà ngay cả với kiến ​​thức về muối, nó vẫn được bảo mật.

Muối có tác dụng gì?

Salt hỗ trợ phòng thủ chống lại các cuộc tấn công bạo lực bằng cách sử dụng "bảng cầu vồng" được tính toán trước.
Salt làm cho brute-force đắt hơn nhiều (theo thời gian / điều kiện bộ nhớ) cho kẻ tấn công.
Tính toán một bảng như vậy rất tốn kém và thường chỉ được thực hiện khi nó có thể được sử dụng cho nhiều cuộc tấn công / mật khẩu.
NẾU bạn sử dụng cùng một muối cho tất cả mật khẩu, kẻ tấn công có thể tính toán trước một bảng như vậy và sau đó ép buộc mật khẩu của bạn thành văn bản rõ ràng ...
Miễn là bạn tạo một muối ngẫu nhiên mới (tốt nhất về mặt mã hóa mạnh mẽ) cho mọi mật khẩu bạn muốn lưu trữ thì sẽ không có vấn đề gì.

NẾU bạn muốn tăng cường bảo mật hơn nữa
Bạn có thể tính toán băm nhiều lần (băm băm, v.v.) - điều này không tốn nhiều tiền của bạn nhưng nó làm cho một cuộc tấn công bạo lực / tính toán "bảng cầu vồng" thậm chí còn đắt hơn ... vui lòng không 't tự phát minh ra - có những phương pháp tiêu chuẩn đã được chứng minh để làm như vậy, hãy xem ví dụ http://vi. wikipedia.org/wiki/PBKDF2 http://www.itnewb.com/tutorial/Encrypting-Passwords-with-PHP-for-Storage-Using-the-RSA-PBKDF2-Standard

LƯU Ý:

Ngày nay, sử dụng cơ chế như vậy là mandatrory vì "thời gian CPU" (có thể sử dụng cho các cuộc tấn công như bảng cầu vồng / brute force, v.v.) ngày càng phổ biến rộng rãi hơn (ví dụ như thực tế là dịch vụ Đám mây của Amazon nằm trong top 50 siêu máy tính nhanh nhất trên toàn thế giới và có thể được sử dụng bởi bất kỳ ai với một số tiền tương đối nhỏ)!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi MySQL:Sử dụng không chính xác UPDATE và LIMIT

  2. Chèn hình ảnh vào cơ sở dữ liệu

  3. Thời gian lưu trữ MySQL - kiểu dữ liệu?

  4. có thể lọc bộ truy vấn sau khi truy vấn không? django

  5. Neo4j - Thả chỉ mục bằng Cypher