2016-06-05 9 views
6

HTTP 서버에서 파일을 다운로드하기 시작할 때 어떤 종류의 파일 체크섬 (SHA-256 해시 또는 기타와 같은)을 알고 싶습니다. HTTP 응답 헤더 중 하나로 전송 될 수 있습니다.체크섬 - 왜 안 되니?

Http etag은 비슷하지만 브라우저 캐시를 무효화하는 데만 사용됩니다. 모든 사이트에서 다른 방식으로 계산하고 있는데, 내가 아는 해시처럼 보이지 않습니다.

일부 소프트웨어 다운로드 사이트는 다양한 파일 체크섬을 별도의 파일로 제공하여 다운로드 할 수 있습니다 (예 : 최신 Ubuntu 16.04 SHA1 해시 : http://releases.ubuntu.com/16.04/SHA1SUMS). HTTP 응답 헤더에 포함시키고 다운로드가 끝날 때 브라우저가 강제로 계산하도록 강요하는 것은 쉽지 않을 것입니다 (사용자가 수동으로하지 않도록 강요하지 마십시오).

신뢰할 수 있고받은 바이트가 서버에서 보내는 것과 정확히 일치하는지 확인하기 위해 TCP 프로토콜을 사용하고 있기 때문에 전체 HTTP 기반 인터넷이 작동하고있는 것 같습니다. 그러나 TCP가 너무 "멋지다"면, 왜 수동으로 파일 해시를 검사할까요? (우분투 예제를보십시오)? 파일 다운로드 (클라이언트/서버 디스크 손상, 서버 측 파일 수정 등) 중에 많은 일이 잘못 될 수 있습니다. 내가 옳다 경우에, 모든 ubuntu.com에 ... 다운로드 시작 파일의 해시를 전달하여 단순히

답변

0

해시를 고정 할 수 및 유사 사이트는 두 가지 목적이 있습니다 :

  • 검사 무결성
  • 파일의 정확성을 검사하여 변조를 방지하십시오 (예 : 공격자가 다운로드 요청을 가로 채서 악의적 인 파일을 제공 할 수 있음). https 브라우저 쪽, 나머지 데이터 (예 : usb 외장 디스크)에는 해당되지 않으며 해시를 비교하여 정확성을 검사 할 수 있습니다.
+1

질문은 체크섬이 데이터와 동일한 HTTP 응답으로 전달되지 않는 이유입니다. – CodeCaster

+0

질문에 SHA1SUMS에 관한 부분은 우리가 보안에 대해 이야기하도록 이끌어 낸 파일의 종류를 제거 할 수 있다는 것을 의미합니다. 아마 내가 대신 코멘트를 작성해야합니다 : - / –