2011-02-08 39 views

Trả lời

20

Không có điểm yếu nào được biết đến trên SHA-1 có bất kỳ tác động nào đến bảo mật khi được sử dụng trong HMAC, a fortiori khi được sử dụng trong PBKDF2. Đối với vấn đề đó, MD5 sẽ là tốt quá (nhưng không MD4).

Tuy nhiên, SHA-1 không tốt cho quan hệ công chúng: nếu, trong năm 2011, bạn sử dụng SHA-1, thì bạn phải tự chuẩn bị để phải biện minh cho lựa chọn đó. Mặt khác, SHA-256 là một "hàm mặc định" tốt và không ai sẽ hỏi nó.

Không có vấn đề về hiệu suất trong PBKDF2 (PBKDF2 bao gồm "số lần lặp" có nghĩa là làm cho nó chính xác khi cần) vì vậy có rất ít lý do để chọn SHA-1 trên SHA-256 tại đây. Tuy nhiên, nếu bạn có hiện có, hệ thống được triển khai sử dụng PBKDF2-với-SHA-1, thì không cần phải sửa lỗi ngay lập tức.

+1

Ngoài ra còn có một lời giải thích khá tốt trong [Stack Crypto] (http://crypto.stackexchange.com/questions/15218/is-pbkdf2-hmac-sha1-really-broken). Tóm lại, các xung đột mật khẩu không phải là điều xấu, nó chỉ có nghĩa là một người dùng độc hại (hoặc người dùng hợp lệ) có thể đăng nhập bằng một vài mật khẩu khác nhau mà họ không thể lấy lại mật khẩu "thực" gốc. –

0

Các cuộc tấn công vào SHA1 gây ra nhiều bất ổn công khai giúp xây dựng một thông điệp có cùng giá trị băm như một thông điệp khác. Điều này tất nhiên luôn luôn có thể (về nguyên tắc) cho mỗi hàm băm, vì hàm băm có ít bit đầu ra hơn bit đầu vào. Tuy nhiên, nó thường không có khả năng xảy ra do tai nạn, và thực hiện nó với mục đích nên tính toán không khả thi.

Từ quan điểm "đảm bảo tính toàn vẹn thông báo", điều này có thể được xem là thảm họa.

Mặt khác, với mục đích tạo ra các số ngẫu nhiên, điều này hoàn toàn không mang.

0

Chắc chắn. SHA-256, hoặc lớn hơn, có thể hiệu quả hơn nếu bạn muốn tạo ra nhiều tài liệu quan trọng hơn. Nhưng PBKDF2-HMAC-SHA1 vẫn ổn. Việc sử dụng HMAC tiêu chuẩn cũng không bị tổn hại, nhưng một lần nữa, các băm dài hơn về nguyên tắc an toàn hơn trong kịch bản đó.

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