2010-03-08 39 views
6

I read that SHA-1 is being retired from the FIPS 180-2 standard.Trạng thái hỗ trợ cho SHA-2 trong các nền tảng khác nhau là gì?

Dường như có điểm yếu trong SHA-1 dẫn đến quyết định này. Bất cứ ai có thể xây dựng trên cơ sở cho quyết định đó? Có tác động nào đối với việc sử dụng SHA-1 trong các ứng dụng thương mại không?

câu hỏi thực sự của tôi là:

  • bang hỗ trợ SHA-2 trong thư viện lớp khác nhau và nền tảng là gì?
  • Tôi có nên chuyển sang SHA-2 không?

Quan tâm đến các nền tảng chủ đạo: .NET, Java, C/C++, Python, Javascript, vv

Trả lời

5

SHA1, Sha0, MD4 và md5 đều được tìm thấy là không an toàn trong vài năm trở lại đây. Vấn đề là nếu kẻ tấn công có thể tạo ra 2 thông điệp khác nhau tạo ra cùng một kết quả băm, điều này được gọi là xung đột. Điều này gây ra rất nhiều vấn đề cho việc quản lý mật khẩu, kiểm tra tính toàn vẹn của tập tin, và nhiều hơn nữa. Hiện tại sha1 chỉ cung cấp 2^52 bit an ninh mà là trong tầm tay của kẻ tấn công. Trong trường hợp SHA-256 (thành viên nhỏ nhất của họ sha2) cung cấp 2^256 bit.

Tất cả nền tảng phải có triển khai SHA-256, mặc dù không phải tất cả các nền tảng đều có nguồn gốc. Trong PHP, bạn phải sử dụng phần mở rộng mhash. Nó khá khó hiểu rằng một số nền tảng không cung cấp chức năng băm an toàn, tôi thành thật tin rằng nó bởi vì họ không quan tâm đến secuirty. Trong trường hợp của PHP tôi biết thực tế là they don't care about secuirty.

Hiện tại không có gì sai với SHA-2 và nó có biên độ an toàn rất lớn. Bạn có thể sử dụng SHA-512 nếu bạn là thực sự là hoang tưởng. Sha-3 sẽ ra mắt vào năm 2012, bạn nên vá bất cứ thứ gì bạn có thể với sha-2 như PASSWORDS của mình, sau đó chuyển sang SHA-3 khi bạn có thể nhưng SHA-512 sẽ tốt trong thời gian RẤT NHIỀU.

+0

-1 để truyền bá fud cũ –

+4

@edgar miễn là php thiếu các tính năng cơ bản secuirty, như hàm băm an toàn, thì điều này vẫn rất phù hợp. Tôi không thể thay đổi sự thật dựa trên những gì bạn nghĩ. – rook

4

Windows Vista và sau đó hỗ trợ SHA-2 trong Microsoft Enhanced RSA và Nhà cung cấp mật mã AES cho CryptoAPI và .NET Framework đã hỗ trợ SHA-2 kể từ .NET 1.1.

1

Hầu hết các nền tảng hiện hỗ trợ gia đình SHA-2. Tuy nhiên, SHA-1 vẫn được sử dụng trong nhiều ứng dụng, như SSL và sẽ được sử dụng trong một thời gian.

Cạnh tranh cho "SHA-3" đang được tiến hành. Nó có thể là hợp lý để nhảy từ SHA-1 đến tiêu chuẩn SHA-3 mới khi nó đến.

+0

sha3 là một vài năm nữa, tôi chắc chắn rằng bạn được bảo vệ bằng cách di chuyển đến sha2 càng sớm càng tốt. Nó chỉ có 1 chức năng gọi thay đổi, nó không phải là một việc lớn đối với hầu hết các ứng dụng (toàn bộ PKI là một câu chuyện khác nhau và sẽ mất thời gian để vá) – rook

+0

Thông thường, chuyển đổi không phải là một lựa chọn. Ví dụ: có thể bộ mã hóa SHA-256 TLS không được đối tác hỗ trợ. Và nó không phải là một vấn đề, bởi vì ngay cả khi có một lỗ hổng, nó không thể được khai thác đủ nhanh để giả mạo MAC trong một giao thức mạng. – erickson

+0

Va chạm băm không ảnh hưởng đến mã xác thực thư, chúng cũng không ảnh hưởng đến địa chỉ Kiểm soát truy cập phương tiện. Sha-3 sẽ ra mắt vào năm 2012, bạn nên vá bất cứ thứ gì bạn có thể với sha-2 như ** PASSWORDS ** của bạn. – rook

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