Một ngày hệ thống của bạn bị hacked, dù bạn có mong chờ hay không.
Làm thế nào để, dù hacker có lấy được thông tin mật khẩu người dùng trong database ứng dụng của bạn, thì anh ta cũng không biết được (hoặc sẽ mất rất nhiều công sức và thời gian để biết được) mật khẩu của người dùng trong database ứng dụng của bạn là gì?
Hãy tham khảo bài viết chi tiết này của Taylor Hornby (defuse.ca), trong đó Taylor chia sẻ về cách lưu mật khẩu người dùng đúng cách xuống database:
https://crackstation.net/hashing-security.htm
tl;dr
- khi lưu mật khẩu người dùng vô db cần hash trước khi lưu
- dùng các thư viện và hàm hash chuẩn như Argon2, bcrypt, scrypt, or PBKDF2
- thêm muối (salt) khi hash, tạo salt bằng hàm random mạnh
- dùng slow hash function để làm chậm khả năng bị brute force và dictionary
và cuối cùng là bạn không nên tự thiết kế một hàm băm mật khẩu rồi đem xài nó cho production (trừ khi bạn là một chuyên gia trong việc này). Hãy dùng các hàm băm chuẩn đã được sử dụng và đánh gía bởi các chuyên gia.
No comments:
Post a Comment