MD5, SHA-1 및 SHA-256 해시 란 무엇이며 어떻게 확인할 수 있습니까?
인터넷 여행 중에 MD5, SHA-1 또는 SHA-256 해시가 다운로드와 함께 표시되는 경우가 있지만 실제로는 알려지지 않았습니다. 이러한 겉보기에 임의의 텍스트 문자열을 사용하면 다운로드 한 파일이 손상되거나 변조되지 않았는지 확인할 수 있습니다. Windows, macOS 및 Linux에 내장 된 명령을 사용하여이 작업을 수행 할 수 있습니다.
해시 작동 방식 및 데이터 확인 방법
해시는 일련의 문자를 생성하도록 설계된 암호화 알고리즘의 산물입니다. 종종 이러한 문자열은 입력 데이터의 크기에 관계없이 고정 된 길이를 갖습니다. 위의 차트를 보시면 "폭스"와 "붉은 여우가 파란 개로 점프합니다"라는 동일한 길이의 출력을 볼 수 있습니다.
이제 차트의 두 번째 예를 세 번째, 네 번째 및 다섯 번째와 비교하십시오. 입력 데이터가 매우 사소한 변화를 겪었음에도 불구하고 생성 된 해시가 모두 서로 매우 다르다는 것을 알 수 있습니다. 누군가가 입력 데이터의 아주 작은 부분을 수정하더라도 해시는 극적으로 바뀝니다.
MD5, SHA-1 및 SHA-256은 모두 다른 해시 함수입니다. 소프트웨어 제작자는 종종 Linux .iso 파일 또는 Windows .exe 파일과 같은 파일 다운로드를 해시 함수를 통해 실행합니다. 그런 다음 웹 사이트에서 해시의 공식 목록을 제공합니다..
이렇게하면 파일을 다운로드 한 다음 해시 함수를 실행하여 실제 원본 파일이 있고 다운로드 프로세스 중에 손상되지 않았 음을 확인할 수 있습니다. 위에서 보았 듯이 파일을 조금만 변경해도 해시가 크게 변경됩니다.
비공식 소스에서 가져온 파일이 있고 그 파일이 합법적임을 확인하려는 경우에도 유용 할 수 있습니다. 어딘가에서 얻은 Linux .ISO 파일이 있고 그것이 변경되지 않았 음을 확인하려고한다고 가정 해 봅시다. Linux 배포 웹 사이트에서 해당 특정 ISO 파일의 해시를 온라인으로 찾을 수 있습니다. 그런 다음 컴퓨터의 해시 함수를 통해 실행하고 기대했던 해시 값과 일치하는지 확인할 수 있습니다. 이렇게하면 수정없이 Linux 배포 웹 사이트에서 똑같은 파일을 다운로드 할 수 있음을 확인합니다..
"충돌"은 MD5 및 SHA-1 기능에서 발견되었습니다. 이 파일들은 안전한 파일과 악성 파일과 같이 여러 개의 다른 파일로, 동일한 MD5 또는 SHA-1 해시가됩니다. 그렇기 때문에 가능한 경우 SHA-256을 선호해야합니다..
모든 운영 체제에서 해시 함수를 비교하는 방법
이를 염두에두고 다운로드 한 파일의 해시를 확인하고 주어진 파일과 비교하는 방법을 살펴 보겠습니다. 다음은 Windows, macOS 및 Linux 용 메소드입니다. 동일한 파일에서 동일한 해싱 함수를 사용하는 경우 해시는 항상 동일합니다. 어떤 운영 체제를 사용하든 상관 없습니다.
Windows
이 프로세스는 PowerShell 덕분에 Windows에서 타사 소프트웨어없이 가능합니다..
시작하려면 시작 메뉴에서 "Windows PowerShell"바로 가기를 실행하여 PowerShell 창을 엽니 다.
다음 명령을 실행하여 "C : \ path \를 \ file.iso"로 해시를보고 싶은 파일의 경로로 바꿉니다.
Get-FileHash C : \ path \ to \ file.iso
파일의 크기, 사용중인 알고리즘 및 파일이있는 드라이브의 속도에 따라 파일의 해시를 생성하는 데 약간의 시간이 걸릴 것입니다.
기본적으로이 명령은 파일에 대해 SHA-256 해시를 표시합니다. 그러나 MD5, SHA-1 또는 다른 유형의 해시가 필요한 경우 사용할 해시 알고리즘을 지정할 수 있습니다.
다른 해싱 알고리즘을 지정하려면 다음 명령 중 하나를 실행하십시오.
Get-FileHash C : \ path \ to \ file.iso - 알고리즘 MD5
Get-FileHash C : \ path \ to \ file.iso - 알고리즘 SHA1
Get-FileHash C : \ path \ to \ file.iso -Algorithm SHA256
Get-FileHash C : \ path \ to \ file.iso - 알고리즘 SHA384
Get-FileHash C : \ path \ to \ file.iso -Algorithm SHA512
Get-FileHash C : \ path \ to \ file.iso - 알고리즘 MACTripleDES
Get-FileHash C : \ path \ to \ file.iso -Algorithm RIPEMD160
해시 함수의 결과를 예상 한 결과와 비교하십시오. 값이 같으면 파일이 손상되거나 변조되지 않았거나 원래 파일과 다른 방식으로 변경되지 않았습니다..
맥 OS
macOS에는 다양한 유형의 해시를 보는 명령이 포함되어 있습니다. 그것들에 액세스하려면 터미널 창을 실행하십시오. Finder> 응용 프로그램> 유틸리티> 터미널에서 찾을 수 있습니다..
그만큼 md5
명령은 파일의 MD5 해시를 보여줍니다.
md5 / path / to / file
그만큼 Shasum
명령은 기본적으로 파일의 SHA-1 해시를 표시합니다. 즉, 다음 명령이 동일 함을 의미합니다.
shasum / path / to / file
shasum -a 1 / path / to / file
파일의 SHA-256 해시를 표시하려면 다음 명령을 실행하십시오.
shasum - 256 / path / to / file
리눅스
Linux에서는 터미널에 액세스하고 다음 명령 중 하나를 실행하여 보려는 해시 유형에 따라 파일의 해시를 봅니다.
md5sum / path / to / file
sha1sum / path / to / file
sha256sum / path / to / file
일부 해시는 더 많은 보안을 위해 암호로 서명 됨
해시는 파일이 변조되지 않았 음을 확인하는 데 도움이되지만 여기에는 여전히 공격의 한 방법이 있습니다. 공격자가 Linux 배포 웹 사이트를 제어하고 그 위에 나타나는 해시를 수정하거나 공격자가 man-in-the-middle 공격을 수행하고 대신 HTTP를 통해 웹 사이트에 액세스하는 경우 전송중인 웹 페이지를 수정할 수 있습니다 암호화 된 HTTPS.
그래서 현대 리눅스 배포판은 종종 웹 페이지에 나열된 해시 이상을 제공합니다. 암호 해시는 해시를 수정하려고 시도하는 공격자로부터 보호하기 위해 암호로 서명합니다. 해시 파일이 변조되지 않았는지 확실히 확인하려면 해시 파일이 실제로 Linux 배포판에 의해 서명되었는지 확인하기 위해 암호화 서명을 확인해야합니다..
암호화 서명을 확인하는 것이 더 복잡한 프로세스입니다. 전체 지침을 보려면 Linux ISO가 변경되지 않았 음을 확인하는 가이드를 읽으십시오..
이미지 크레디트 : Jorge Stolfi / Wikimedia