SHA-1 là một trong những thuật toán băm mã hóa, được dùng trong việc kiểm tra tính toàn vẹn của dữ liệu ở phía người nhận. SHA-1 checksum được so sánh giữa người cung cấp và người nhận, dữ liệu được cho là toàn vẹn nếu hai chuỗi checksum là giống nhau.
Cryptography & Security Võ Lê Huy 2019-10-19 23:24:49

Giới thiệu

SHA-1 là một trong những thuật toán băm mã hóa, được dùng trong việc kiểm tra tính toàn vẹn của dữ liệu ở phía người nhận. SHA-1 checksum được so sánh giữa người cung cấp và người nhận, dữ liệu được cho là toàn vẹn nếu hai chuỗi checksum là giống nhau.

Các trường hợp sử dụng SHA-1

  • PGP/Digital Signature. Ví dụ trường hợp Kerberos là một giao thức xác thực có cung cấp API cho các nhà phát triển có giấy phép của MIT, vì chứa tính chất quan trọng này nên trang chủ khuyên nhà phát triển chứng thực tệp tin trước khi tải về bằng chứ ký PGP với tệp tin được nén hoặc Digital Signature với tệp tin thực thi *.exe và *.msi
  • Digital Certificate signatures. Ví dụ trong trường hợp bạn chạy một driver cho máy thì driver đó phải được chứng thực.

SHA-1 và MD5

SHA-1 cũng giống như MD5, nhạy cảm ở đầu vào, bất kỳ sự thay đổi bit nào cũng dẫn đến kết quá khác hoàn toàn. SHA-1 vượt trội hơn trong vấn đề bảo mật nhưng cũng vì thế cần có thời gian nhiều hơn để xử lý.

Lịch sử và lỗ hổng của hàm băm SHA

SHA-1 là một phiên bản trong tổng bốn phiên bản của thuật toán băm Secure Hash Algorithm (SHA). Hầu hết được phát triển bởi Cục An Ninh Quốc Gia (NSA) và được Viện Tiêu Chuẩn Và Kỹ Thuật Quốc Gia (NIST) công bố.

SHA-0 có kích 160 bit và là phiên bản đầu tiên của thuật toán này. Giá trị băm SHA-0 dài 40 ký tự hexa tương ứng với 20 byte. Nó được xuất bản lần đầu tiên vớ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 được thay thế bằng SHA-1 vào năm 1995 do lỗi bảo mật.

SHA-1 là lần lặp thứ hai của hàm băm mật mã này. SHA-1 cũng có chiều dài 160 bit và tìm cách tăng cường bảo mật bằng cách khắc phục điểm yếu được tìm thấy của tiền phiên bản SHA-0. Tuy nhiên, vào năm 2005, nó cũng bị phát hiện là không an toàn.

SHA-1 được áp dụng như thế nào?

SHA-1 dược sử dụng trong kiểm tra tính toàn vẹn dữ liệu giống như MD5.

Hãy sang ví dụ này, tưởng tượng bạn đang đăng nhập vào một trang web. Mỗi lần bạn yêu cầu đăng nhập, bạn bắt buộc 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 không lưu ở dạng gốc hay còn gọi là bản rõ mà nó được chuyển thành chuỗi checksum. Checksum đó được so sánh với checksum mà bạn đã đăng ký trước đó trên trang web. Nếu hai trận đấu, bạn được cấp quyền truy cập; nếu họ không, bạn nói mật khẩu không chính xác.

Ví dụ 1 số giá trị băm do SHA-1 tạo ra

Các giá trị đầu ra của SHA-1 được tạo ra bởi công cụ SHA-1 hash online.

ĐẦU VÀO ĐẦU RA
123456 7c4a8d09ca3762af61e59520943dc26494f8941b
abcdef 1f8ac10f23c5b5bc1167bda84b833e5c057a77d2
stdio.vn 14eb84fbb2e88e2878878efdd13c39b4acdafe86
bugs.vn 02177ecba00cd7a4c068e77e451b28492b094f52

Đọc thêm MD5 Message-Digest Algorithm.