SHA-1 (viết tắt của Thuật toán băm an toàn 1) là một trong số các hàm băm mật mã.
Nó thường được sử dụng nhất để xác minh một tệp đã bị thay đổi. Điều này được thực hiện bằng cách tạo tổng kiểm tra trước khi tệp được truyền đi và sau đó một lần nữa khi nó đến đích.
Tệp được truyền chỉ có thể được coi là chính hãng nếu cả hai tổng kiểm tra đều giống nhau.
Lịch sử và các lỗ hổng của Hàm băm SHA
SHA-1 chỉ là một trong bốn thuật toán trong họ Thuật toán băm an toàn (SHA). Hầu hết được phát triển bởi Cơ quan An ninh Quốc gia Hoa Kỳ (NSA) và được xuất bản bởi Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST).
SHA-0 có kích thước thông báo tin nhắn 160 bit (giá trị băm) và là phiên bản đầu tiên của thuật toán này. Giá trị băm của nó dài 40 chữ số. Nó được xuất bản dưới tên "SHA" vào năm 1993 nhưng không được sử dụng trong nhiều ứng dụng vì nó nhanh chóng bị thay thế bằng SHA-1 vào năm 1995 do một lỗ hổng bảo mật.
SHA-1 là lần lặp thứ hai của hàm băm mật mã này. Cái này cũng có một bản tóm tắt tin nhắn gồm 160 bit và tìm cách tăng cường bảo mật bằng cách sửa một điểm yếu được tìm thấy trong SHA-0. Tuy nhiên, vào năm 2005, SHA-1 cũng bị phát hiện là không an toàn.
Sau khi tìm thấy điểm yếu của mật mã trong SHA-1, NIST đã đưa ra tuyên bố vào năm 2006 khuyến khích các cơ quan liên bang áp dụng việc sử dụng SHA-2 vào năm 2010. SHA-2 mạnh hơn SHA-1 và các cuộc tấn công đã được thực hiện chống lại SHA-2 khó có thể xảy ra với sức mạnh tính toán hiện tại.
Không chỉ các cơ quan liên bang, mà ngay cả các công ty như Google, Mozilla và Microsoft đều đã bắt đầu có kế hoạch ngừng chấp nhận chứng chỉ SSL SHA-1 hoặc đã chặn tải các loại trang đó.
Google có bằng chứng về xung đột SHA-1 khiến phương pháp này không đáng tin cậy để tạo tổng kiểm tra duy nhất, cho dù đó là liên quan đến mật khẩu, tệp hoặc bất kỳ phần dữ liệu nào khác. Bạn có thể tải xuống hai tệp PDF duy nhất từ SHAttered để xem cách này hoạt động như thế nào. Sử dụng máy tính SHA-1 ở cuối trang này để tạo tổng kiểm tra cho cả hai và bạn sẽ thấy rằng giá trị hoàn toàn giống nhau mặc dù chúng chứa dữ liệu khác nhau.
SHA-2 và SHA-3
SHA-2 được xuất bản vào năm 2001, vài năm sau SHA-1. Nó bao gồm sáu hàm băm với các kích thước thông báo khác nhau: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 và SHA-512 / 256.
Được phát triển bởi các nhà thiết kế không thuộc NSA và được NIST phát hành vào năm 2015, là một thành viên khác của họ Thuật toán băm an toàn, được gọi là SHA-3 (trước đây là Keccak).
SHA-3 không dùng để thay thế SHA-2 như các phiên bản trước được dùng để thay thế các phiên bản trước đó. Thay vào đó, nó được phát triển như một giải pháp thay thế khác cho SHA-0, SHA-1 và MD5.
SHA-1 được sử dụng như thế nào?
Một ví dụ trong thế giới thực mà SHA-1 có thể được sử dụng là khi bạn nhập mật khẩu của mình vào trang đăng nhập của trang web. Mặc dù nó xảy ra trong nền mà bạn không biết, nhưng đó có thể là phương pháp mà một trang web sử dụng để xác minh một cách an toàn rằng mật khẩu của bạn là xác thực.
Trong ví dụ này, hãy tưởng tượng bạn đang cố gắng đăng nhập vào một trang web mà bạn thường truy cập. Mỗi lần bạn yêu cầu đăng nhập, bạn phải nhập tên người dùng và mật khẩu của mình.
Nếu trang web sử dụng hàm băm mật mã SHA-1, điều đó có nghĩa là mật khẩu của bạn được chuyển thành tổng kiểm tra sau khi bạn nhập. Số tổng kiểm tra đó sau đó được so sánh với tổng kiểm tra được lưu trữ trên trang web liên quan đến hiện tại của bạn mật khẩu, cho dù bạn chưa thay đổi mật khẩu của mình kể từ khi đăng ký hay bạn vừa thay đổi mật khẩu cách đây vài phút. Nếu cả hai khớp nhau, bạn được cấp quyền truy cập; nếu không, bạn được thông báo là mật khẩu không chính xác.
Một ví dụ khác mà hàm băm này có thể được sử dụng để xác minh tệp. Một số trang web sẽ cung cấp tổng kiểm tra SHA-1 của tệp trên trang tải xuống để khi bạn tải xuống tệp, bạn có thể kiểm tra tổng kiểm tra cho mình để đảm bảo rằng tệp đã tải xuống giống với tệp bạn định tải xuống.
Bạn có thể tự hỏi công dụng thực sự của loại xác minh này là ở đâu. Hãy xem xét một tình huống mà bạn biết tổng kiểm tra SHA-1 của một tệp từ trang web của nhà phát triển, nhưng bạn muốn tải xuống cùng một phiên bản từ một trang web khác. Sau đó, bạn có thể tạo tổng kiểm tra SHA-1 để tải xuống và so sánh với tổng kiểm tra chính hãng từ trang tải xuống của nhà phát triển.
Nếu cả hai khác nhau, điều đó không chỉ có nghĩa là nội dung của tệp không giống nhau mà còn có thể có phần mềm độc hại ẩn trong tệp, dữ liệu có thể bị hỏng và gây hỏng tệp máy tính của bạn, tệp không bất kỳ thứ gì liên quan đến tệp thực, v.v.
Tuy nhiên, nó cũng có thể có nghĩa là một tệp đại diện cho phiên bản chương trình cũ hơn tệp kia, vì ngay cả một chút thay đổi cũng sẽ tạo ra một giá trị tổng kiểm tra duy nhất.
Bạn cũng có thể muốn kiểm tra xem hai tệp có giống nhau không nếu bạn đang cài đặt gói dịch vụ hoặc một số chương trình hoặc bản cập nhật khác vì sự cố xảy ra nếu một số tệp bị thiếu trong khi cài đặt.
SHA-1 Máy tính Checksum
Một loại máy tính đặc biệt có thể được sử dụng để xác định tổng kiểm tra của một tệp hoặc nhóm ký tự.
Ví dụ: SHA1 Online và SHA1 Hash Generator là các công cụ trực tuyến miễn phí có thể tạo tổng kiểm tra SHA-1 của bất kỳ nhóm văn bản, ký hiệu và / hoặc số nào.
Ví dụ: những trang web đó sẽ tạo cặp này:
pAssw0rd!
bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba