2011-01-04 2 views
6

MD5 체크섬은 큰 파일을 다운로드하는 HTTP 무결성 검사에 널리 사용됩니다. 내 질문은 TCP 자체가 신뢰할 수있는 메커니즘 (즉, 각 TCP 패키지의 무결성을 보장하기 위해 체크섬)을 제공하므로 문제입니다. 그래서, 짧은 TCP는 신뢰할 수 있습니다. HTTP는 TCP를 기반으로하므로 (HTTP도 신뢰할 수 있어야 함), 무결성 검사 (즉, MD5 체크섬)의 또 다른 메커니즘이 필요한 이유는 무엇입니까? 사전에대용량 파일 다운로드를위한 MD5 체크섬

덕분에, 조지

+3

체크섬은 해당 패킷에 대한 것입니다. 그렇다고해서 무결성을 검사하는 이러한 작은 데이터 청크가 동일한 무결성을 가진 큰 파일을 생성한다는 것을 의미하지는 않습니다. – Thai

+0

안녕 타이, 나는 혼란스러워. 나는 작은 패키지의 무결성이 괜찮 으면, 전체 패키지 (작은 패키지들로 이루어짐)도 괜찮을 것이라고 생각한다. 다른하실 말씀 있나요? – George2

답변

10

대부분의 경우 out of band (예 : webiste에 인쇄 됨)에 대한 해시 합계는 프로그래밍 무결성이 아닌 다운로드 무결성 검사에 사용됩니다.

이렇게하면 다운로드 아티팩트를 조작 할 수 없습니다.

+0

"다운로드 아티팩트 조작"- 다운로드 아티팩트 조작이란 무엇을 의미합니까, 샘플을 보여 주시겠습니까? – George2

+2

내 말은 단순히 다운로드가 대체되는 공격 일뿐입니다. 서버에 침입하여 창의적인 리디렉션을 만드는 것입니다. 조작 된 파일을 다운로드하면됩니다. 그러나 다른 방법으로 제공되는 체크섬과 비교하면 속임수를 알 수 있습니다. 이 다른 수단은 종종 "대역 외"라고 불리며, 공격자는 두 가지 메커니즘을 깨야합니다. – mtraut

+0

해커가 서버의 파일을 조작 할 수있는 경우 해커가 체크섬을 해킹 할 수없는 이유는 무엇입니까? – George2

2

대답은 간단하다. 다운로드를 시작하기 전에 원본 파일이 이미 손상되었을 수 있습니다. TCP는 다운로드 한 파일이 원본과 동일하다는 것을 확인합니다. MD5는 전송 문제 나 초기 파일 자체가 손상되었는지 여부를 알 수 있도록 보장합니다.

+1

"전송에 문제가 될 수 있습니다"-이 점에 대해 혼란스러워합니다. 나는 TCP 동안의 전송은 신뢰할 수 있다고 생각한다. 양도에 문제가 있다고 생각하는 이유는 무엇입니까? 예를 들면? – George2

+0

TCP는 연결만큼 신뢰할 수 있지만 TCP를 사용하여 전송할 때 여전히 잠재적 인 문제가 있습니다. 연결이 끊어지면 (예를 들어 컴퓨터를 네트워크에서 분리하면) TCP는 연결을 다시 설정하고 중단 된 부분부터 계속하기 위해 최선을 다하지만 특정 시도 횟수 후에 중지합니다. 끝나지 않은 파일은 디스크에 남아 있습니다. 물론, 대부분의 실패한 연결이 몇 번 시도되면 다시 설정되기 때문에 거의 발생하지 않습니다. – Neil

5

내 인생에서 3 번 이상 깨진 ISO 또는 EXE를 다운로드했으며 다시 다운로드했을 때 작동했습니다. 이것은 TCP 메커니즘이 무결성을 보장하기에 충분하지 않다는 것을 증명합니다.

+0

나에게도 일어 났지만, 브라우저에서 발생했을 수도 있습니다. –

0

TED-LIUM 코퍼스 35G 또는 400G의 작은 이미지의 경우 다운로드 할 때마다 거의 오류가있는 것처럼 보입니다. 35G TED-LIUM 코퍼스의 경우 적어도 20 회는 다운로드를했고 몇 달 동안은 네트워크 전송을 완전히 수행했습니다. CRC는 단지 악몽 일뿐입니다.