체크섬이란 무엇이며 왜 관심을 가져야합니까?

체크섬은 데이터 오류를 확인하는 데 사용되는 일련의 숫자와 문자입니다. 원본 파일의 체크섬을 알고있는 경우 체크섬 유틸리티를 사용하여 복사본이 동일한 지 확인할 수 있습니다.

체크섬 설명

체크섬을 생성하려면 알고리즘을 통해 해당 파일을 배치하는 프로그램을 실행합니다. 이를 위해 사용되는 일반적인 알고리즘에는 MD5, SHA-1, SHA-256 및 SHA-512가 포함됩니다.

알고리즘은 입력을 받아 고정 된 길이의 문자열 (숫자와 문자의 시퀀스)을 생성하는 암호화 해시 함수를 사용합니다. 입력 파일은 작은 1MB 파일 또는 대용량 4GB 파일이 될 수 있지만 어느 쪽이든 동일한 길이의 체크섬으로 끝납니다. 체크섬은 "해시"라고도합니다.

파일의 작은 변경 사항은 매우 다른 모양의 체크섬을 생성합니다. 예를 들어 거의 동일한 두 개의 서로 다른 텍스트 파일을 만들었지 만 하나에는 마침표가있는 느낌표가 있습니다. Windows 10에 내장 된 체크섬 유틸리티를 실행 한 후 매우 다른 체크섬을 보았습니다. 기본 파일의 단일 문자 차이는 매우 다른 모양의 체크섬을 생성합니다.

체크섬이 유용한 경우

체크섬을 사용하여 전송 또는 저장 중에 발생하는 오류에 대한 파일 및 기타 데이터를 확인할 수 있습니다. 예를 들어, 네트워크 문제로 인해 파일이 제대로 다운로드되지 않았거나 하드 드라이브 문제로 인해 디스크의 파일이 손상되었을 수 있습니다.

원본 파일의 체크섬을 알고 있다면 체크섬 또는 해싱 유틸리티를 실행할 수 있습니다. 결과 체크섬이 일치하면 보유한 파일이 동일한 것입니다.

컴퓨터는 체크섬 스타일 기술을 사용하여 백그라운드에서 문제가 있는지 데이터를 확인하지만 직접 수행 할 수도 있습니다. 예를 들어 Linux 배포판은 종종 체크섬을 제공하므로 Linux ISO를 디스크에 굽거나 USB 드라이브에 넣기 전에 제대로 다운로드되었는지 확인할 수 있습니다. 체크섬을 사용하여 응용 프로그램에서 문서 및 미디어에 이르는 다른 유형의 파일의 무결성을 확인할 수도 있습니다. 원본 파일의 체크섬 만 알면됩니다.

MD5, SHA-1 및 SHA-256 합계의 차이점은 무엇입니까?

체크섬은 파일에 오류가 없는지 확인하는 유용한 방법입니다. 다운로드 문제 나 하드 드라이브 문제로 인해 임의의 오류가 발생하면 작은 오류라도 결과 체크섬이 달라집니다.

그러나 이러한 암호화 해시 함수는 완벽하지 않습니다. 보안 연구원은 MD5 및 SHA-1 기능과 "충돌"을 발견했습니다. 즉, 동일한 MD5 또는 SHA-1 해시를 생성하지만 서로 다른 두 개의 다른 파일을 발견했습니다.

이것은 우연히 일어날 가능성이 낮지 만 공격자는이 기술을 사용하여 악성 파일을 합법적 인 파일로 위장 할 수 있습니다. 그렇기 때문에 파일이 정품인지 확인하기 위해 MD5 또는 SHA-1 합계에 의존해서는 안되며 손상 여부 만 확인해야합니다.

아직 SHA-256 충돌에 대한보고가 없었기 때문에 애플리케이션이 이제 MD5 합계와 SHA-1 합계 대신 SHA-256 합계를 생성하고 있습니다. SHA-256은 더 강력하고 안전한 알고리즘입니다.

다른 체크섬 알고리즘은 다른 결과를 생성합니다. 파일에는 다른 MD5, SHA-1 및 SHA–256 체크섬이 있습니다. 원본 파일의 MD5 합계 만 알고있는 경우 복사본의 MD5 합계를 계산하여 일치하는지 확인해야합니다.

관련 : SHAttered는 무엇입니까? SHA-1 충돌 공격, 설명

체크섬을 계산하는 방법

원본 파일의 체크섬을 알고 있고 PC에서 확인하고 싶다면 쉽게 할 수 있습니다. Windows, macOS 및 Linux에는 모두 체크섬 생성을위한 내장 유틸리티가 있습니다. 타사 유틸리티가 필요하지 않습니다.

관련 : MD5, SHA-1 및 SHA-256 해시는 무엇이며 어떻게 확인합니까?

Windows에서 PowerShell의 Get-FileHash명령은 파일의 체크섬을 계산합니다. 사용하려면 먼저 PowerShell을 엽니 다. Windows 10에서는 시작 단추를 마우스 오른쪽 단추로 클릭하고 "Windows PowerShell"을 선택합니다. 시작 메뉴에서 "PowerShell"을 검색하고 "Windows PowerShell"바로 가기를 클릭하여 시작할 수도 있습니다.

업데이트 : Get-FileHash는 Windows 10에 포함되어 있지만 Windows 7에서는 PowerShell 4.0 업데이트를 설치해야합니다.

프롬프트에서 입력 Get-FileHash한 다음 스페이스 바를 누릅니다.

체크섬을 계산할 파일의 경로를 입력하십시오. 또는 작업을 더 쉽게하려면 파일 탐색기 창에서 PowerShell 창으로 파일을 끌어서 놓아 경로를 자동으로 채 웁니다.

Enter 키를 눌러 명령을 실행하면 파일에 대한 SHA-256 해시가 표시됩니다. 파일의 크기와 컴퓨터의 저장 속도에 따라 프로세스가 몇 초 정도 걸릴 수 있습니다.

다른 유형의 체크섬이 필요한 경우 다음 -Algorithm과 같이 명령 끝에 적절한 옵션을 추가합니다 .

Get-FileHash C : \ path \ to \ file.iso-알고리즘 MD5
Get-FileHash C : \ path \ to \ file.iso-알고리즘 SHA1

계산 된 체크섬을 원래 체크섬과 비교합니다. 기본 파일에 아주 작은 차이 만 있더라도 체크섬에 큰 차이가 있으므로 너무 가까이 볼 필요는 없습니다.

체크섬이 일치하면 파일이 동일합니다. 그렇지 않다면 문제가있는 것입니다. 파일이 손상되었거나 두 개의 다른 파일을 비교하고있을 수 있습니다. 파일 사본을 다운로드했는데 체크섬이 예상 한 것과 일치하지 않는 경우 파일을 다시 다운로드 해보십시오.