Tổng kiểm tra MD5 và SHA1 sử dụng để tải xuống


8

Tôi nhận thấy rằng khi tải xuống nhiều công cụ nguồn mở (Eclipse, v.v.), có các liên kết cho tổng kiểm MD5 và SHA1 và không biết chúng là gì hoặc mục đích của chúng là gì.

Tôi biết đây là các thuật toán băm và tôi hiểu băm, vì vậy tôi chỉ đoán là chúng được sử dụng để băm một số thành phần của các mục tiêu tải xuống và để so sánh chúng với các chuỗi băm "chính thức" được lưu trữ phía máy chủ. Có lẽ theo cách đó, có thể xác định liệu các mục tiêu đã được sửa đổi từ phiên bản chính xác của chúng hay chưa (vì mục đích bảo mật và các mục đích khác).

Tôi đóng hay sai hoàn toàn, và nếu sai, họ là gì?!?!

Cảm ơn!

Câu trả lời:


11

Bạn gần như hoàn toàn đúng. Điều chỉnh duy nhất là chúng là băm của toàn bộ tệp.

Đôi khi, các tệp có thể bị hỏng trong quá trình tải xuống bất kỳ cách nào được sử dụng để chuyển chúng. Băm có ở đó để đảm bảo rằng tệp còn nguyên vẹn. Điều này đặc biệt hữu ích cho người dùng có kết nối Internet xấu. Quay lại khi tôi đang sử dụng modem fax, tôi thường gặp sự cố với tải xuống bị hỏng.

Một số trình quản lý tải xuống (như GetRight, nếu tôi nhớ chính xác), thậm chí có thể tự động tính toán hàm băm của tệp và so sánh nó với giá trị đã biết.

Một điểm thú vị khác là bảo mật. Một vấn đề tiềm năng với các công cụ nguồn mở là bạn có thể tin tưởng bao nhiêu vào nhà phân phối. Thông thường các chương trình như Eclipse là công cụ chính được sử dụng bởi các công ty phần mềm và do đó, điều cực kỳ quan trọng đối với họ là chuyển từ nhà phát triển sang người dùng nguyên vẹn. Vì các chương trình là mã nguồn mở, ví dụ, có thể tạo phiên bản bị nhiễm trông có vẻ bình thường, nhưng mã nguồn bị rò rỉ cho một số máy chủ từ xa hoặc chương trình lây nhiễm do phần mềm bị nhiễm vi-rút (tôi nghĩ rằng điều này thực sự đã xảy ra với một số phiên bản Delphi) hoặc một cái gì đó tương tự. Vì lý do đó, điều quan trọng là phải có hàm băm chính thức có thể được sử dụng để kiểm tra xem tệp phân tán có phải là tuyên bố hay không.

Một số suy nghĩ về các kênh phân phối. Thông thường phần mềm miễn phí có thể được tìm thấy trên một số lượng lớn các trang web và hầu hết các trang web phổ biến như SourceForge, ví dụ có số lượng gương lớn. Giả sử có một máy chủ ở Barland phản chiếu một trang web phân phối phần mềm lớn. FooSoft sử dụng chương trình được phân phối bởi trang web và họ ở Cộng hòa Baz, ngay bên cạnh Barland. Nếu ai đó muốn xâm nhập vào FooSoft, anh ta chỉ có thể sửa đổi bản sao tại gương Barland và hy vọng rằng phần mềm định vị địa lý sẽ đảm bảo rằng FooSoft có các phiên bản sửa đổi. Vì các phiên bản từ các máy nhân bản khác đều ổn, nên khả năng phần mềm độc hại sẽ được phát hiện thấp hơn. Bạn cũng có thể làm cho phần mềm độc hại phát hiện địa chỉ IP của máy tính và chỉ kích hoạt nếu nó từ một phạm vi nhất định và theo cách đó sẽ giảm cơ hội khám phá.


1
+1 Nó cũng được sử dụng vì lý do bảo mật, tức là các tệp bị nhiễm ...
Stack Overflow đã chết vào

@BloodPhilia Thật vậy. Tôi chỉ viết về một số lý do bảo mật.
AndrejaKo

Cảm ơn! Tôi nghĩ rằng nó phải là một cái gì đó dọc theo những căn cứ đó, nhưng không thể tìm thấy một câu trả lời chắc chắn ở bất cứ nơi nào khác.
Zac

3
Câu trả lời hay;)
Stack Overflow đã chết vào

1

MD5 và SHA1 không chỉ là tổng kiểm tra. Họ là tổng kiểm tra mật mã. Điều này có nghĩa là về mặt lý thuyết, hai tệp khác nhau có thể có cùng một tổng kiểm tra, nhưng xác suất của điều này là rất nhỏ, gần như 0. Do đó, bạn sử dụng ngược lại: các tổng kiểm khác nhau có nghĩa là bạn có được nội dung khác nhau với xác suất gần 1. Vì vậy tổng kiểm tra mật mã được sử dụng để phát hiện các thay đổi trong tệp. Đây có thể là những thay đổi độc hại được thực hiện trên mục đích hoặc chỉ là lỗi xảy ra trong quá trình tải xuống.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.