많은 오픈 소스 도구 (Eclipse 등)를 다운로드 할 때 MD5 및 SHA1 체크섬에 대한 링크가 있으며 이것이 무엇인지 또는 목적이 무엇인지 알지 못했습니다.
나는 이것이 해싱 알고리즘이라는 것을 알고 있으며, 해싱을 이해하고 있기 때문에 다운로드 대상의 일부 구성 요소를 해싱하고 서버 측에 저장된 “공식”해시 문자열과 비교하는 데 사용됩니다. 아마도 그렇게하면 보안 및 기타 목적으로 대상이 올바른 버전에서 수정되었는지 여부를 확인할 수 있습니다.
내가 가까워 지거나 완전히 틀렸습니까? 틀 렸으면 무엇입니까?!?!
감사!
답변
당신은 거의 완전히 맞습니다. 유일한 수정은 파일 전체의 해시입니다.
때로는 파일을 전송하는 데 사용 된 방법에 관계없이 다운로드 중에 파일이 손상 될 수 있습니다. 파일이 손상되지 않도록 해시가 있습니다. 인터넷 연결이 잘못된 사용자에게 특히 유용합니다. 팩스 모뎀을 사용하던 시절에 종종 손상된 다운로드 문제가 발생했습니다.
GetRight와 같은 일부 다운로드 관리자 (정확하게 기억한다면)는 파일의 해시를 자동으로 계산하여 알려진 값과 비교할 수도 있습니다.
또 다른 흥미로운 점은 보안입니다. 오픈 소스 도구의 잠재적 문제는 배포자를 얼마나 신뢰할 수 있는지입니다. 종종 Eclipse와 같은 프로그램은 소프트웨어 회사에서 사용하는 주요 도구이므로 개발자에서 사용자로 그대로 이동하는 것이 매우 중요합니다. 프로그램은 오픈 소스이기 때문에 예를 들어 감염된 버전을 정상적인 것으로 만들 수 있지만 일부 원격 서버로 소스 코드를 유출하거나 바이러스로 소프트웨어로 만든 프로그램을 감염시킵니다 (이것은 실제로 일부 델파이 버전에서 발생했다고 생각합니다) 또는 비슷한 것. 이런 이유로, 분산 파일이 주장하는 내용인지 확인하는 데 사용할 수있는 공식적인 올바른 해시를 갖는 것이 중요합니다.
유통 채널에 대한 일부 생각. 무료 소프트웨어는 많은 사이트에서 찾을 수 있으며 SourceForge와 같은 가장 인기있는 사이트에서 찾을 수 있습니다. 예를 들어 많은 미러가 있습니다. Barland에 대규모 소프트웨어 배포 사이트를 미러링하는 서버가 있다고 가정 해 봅시다. FooSoft는 사이트별로 배포 된 프로그램을 사용하며 Barland 바로 옆에있는 Baz 공화국에 있습니다. 누군가 FooSoft에 침투하기를 원한다면 Barland 미러에서 사본 만 수정하면 지리 위치 소프트웨어가 FooSoft가 수정 된 버전을 가져 오기를 바라고 있습니다. 다른 미러의 버전은 양호하기 때문에 맬웨어가 탐지 될 가능성이 낮습니다. 또한 맬웨어가 컴퓨터의 IP 주소를 감지하고 특정 범위에있는 경우에만 활성화하여 검색 가능성이 낮아질 수 있습니다.
답변
MD5와 SHA1은 단순한 체크섬이 아닙니다. 그것들은 암호화 체크섬입니다. 이것은 이론적으로 두 개의 서로 다른 파일이 동일한 체크섬을 가질 수 있음을 의미하지만,이 확률은 거의 0에 가깝습니다. 결과적으로 역방향을 사용합니다. 다른 체크섬은 거의 1의 확률로 다른 컨텐츠를 얻는다는 것을 의미합니다. 암호화 체크섬은 파일의 변화를 감지하는 데 사용됩니다. 이것은 의도적으로 악의적 인 변경 또는 다운로드 중 발생한 오류 일 수 있습니다.