2012-01-24 35 views
6

Câu hỏi này khiến tôi bắt đầu nghĩ về việc băm mật khẩu một lần nữa. Tôi hiện đang sử dụng bcrypt (đặc biệt là py-bcrypt). Tôi đã nghe rất nhiều về PBKDF2, và scrypt. Những gì tôi đang tự hỏi là nếu có bất kỳ phương pháp băm mật khẩu "hiện đại hơn" mà tôi có thể không biết (vì chúng mới, vì vậy mọi người không nói về chúng nhiều), hoặc có thể là các phương pháp khác Tôi không biết.Tôi nên sử dụng phương pháp băm mật khẩu nào?

Và sau đó tiếp tục từ đó, tôi nên sử dụng cái nào? Hầu hết mọi người dường như đề nghị bcrypt, nhưng tôi tự hỏi nếu đó chỉ là vì nó cũ (đọc: nổi tiếng). scrypt có vẻ tốt hơn (số lượng sử dụng bộ nhớ thay đổi). Tôi không biết nhiều về PBKDF2.

Vì vậy, nếu tôi tạo một lược đồ quản lý người dùng, tôi nên sử dụng lược đồ nào trong số này? Hoặc tôi nên sử dụng một cái gì đó hoàn toàn khác nhau?

Trả lời

6

PBKDF2 được sử dụng trong WPA/WPA2 và thông tin xác thực được lưu trong bộ nhớ cache miền 2 (AKA DCC2). Bạn có thể thay đổi các lần lặp cho HMAC-SHA1 để tăng cường bảo mật. Phương pháp làm chậm quá trình bẻ khóa này không bị gián đoạn. Tuy nhiên, vì nó dựa trên SHA1, bạn có thể gọi nó là thân thiện với GPU để tấn công.

Cả hai, bcrypt và scrypt, sử dụng bảng tra cứu. Sự phụ thuộc vào bộ nhớ này khiến GPU trở nên không thân thiện. Tuy nhiên, các kiến ​​trúc GPU 28   nm mới nhất tuy nhiên lại cho phép truy cập rất nhanh vào bộ nhớ.

Hiện tại, bạn nên ưu tiên bcrypt hoặc scrypt. Đó là một lựa chọn tốt để sử dụng băm phụ thuộc vào bộ nhớ, nhưng trong tương lai điều này có thể thay đổi. Theo dõi hiệu suất GPU của bánh tăng. Có thể là họ sẽ đạt đến chân trời sự kiện mà trên đó sẽ tốt hơn để chuyển về chỉ làm băm thân thiện với GPU nhưng tăng số lần lặp lại của họ.

Các vấn đề liên quan