해시로 파일 무결성을 확인하는 방법
소프트웨어, 펌웨어 또는 중요한 문서를 다운로드할 때, 그 파일이 게시자가 의도한 그대로인지 어떻게 알 수 있을까요? 파일 해싱은 암호 학적 지문 — 파일의 단 한 바이트만 달라져도 바뀌는 고유한 문자열을 제공합니다.
파일 해싱의 작동 원리
해시 함수는 파일의 모든 바이트를 읽어 고정 길이의 문자열을 생성합니다. 같은 파일은 항상 같은 해시를 생성합니다. 한 바이트만 수정해도 해시는 완전히 바뀝니다.
예시:
- 원본 파일 해시:
e3b0c44298fc1c14... - 같은 파일에서 한 바이트 수정:
d7a8fbb307d7809c...
이로써 검증이 단순해집니다: 해시를 생성하고, 게시된 해시와 비교하면, 파일이 진짜인지 즉시 알 수 있습니다.
파일을 검증하는 방법
- 공식 해시를 찾으세요 — 소프트웨어 게시자는 일반적으로 다운로드 페이지에 해시를 명시합니다(보통 "SHA-256 checksum" 또는 "MD5 sum"으로 표시됨).
- 다운로드한 파일을 가져오세요 — 해시 계산기에서 파일을 선택하세요. 해시는 브라우저에서 로컬로 계산됩니다.
- 해시를 비교하세요 — 계산된 해시가 공식 해시와 정확히 일치하면 파일은 진짜이며 손상되지 않았습니다.
파일 해시를 검증해야 할 때
- 소프트웨어 다운로드 — 인스톨러와 업데이트가 다운로드 중에 변조되거나 손상되지 않았는지 확인하세요
- 펌웨어 업데이트 — 손상된 펌웨어는 기기를 "벽돌"로 만들 수 있습니다. 플래싱 전에 항상 검증하세요
- ISO 이미지 — 운영체제 이미지는 USB에 굽거나 설치하기 전에 검증해야 합니다
- 법률 및 금융 문서 — 중요한 문서가 서명 또는 공유 후 수정되지 않았는지 확인하세요
- 백업 검증 — 백업 파일이 원본과 동일한지 확인하세요
지원되는 알고리즘
| 알고리즘 | 길이 | 권장 사항 |
|---|---|---|
| MD5 | 32자 | 레거시 전용 — 안전하지 않음 |
| SHA-1 | 40자 | 레거시 전용 — 안전하지 않음 |
| SHA-256 | 64자 | 권장 표준 |
| SHA-384 | 96자 | 고보안 |
| SHA-512 | 128자 | 최고 보안 |
요령
- 같은 알고리즘을 사용하세요 — 게시자가 SHA-256을 제공하면 파일에서 SHA-256을 생성하세요. 다른 알고리즘은 같은 파일에 대해 완전히 다른 해시를 생성합니다.
- 비교하려면 복사-붙여 넣기를 하세요 — 긴 문자열을 시각적으로 비교하려고 하지 마세요. 두 해시를 비교 도구에 붙여 넣거나 한 해시 안에서 다른 해시를 검색하세요.
- 큰 파일도 괜찮습니다 — 해싱이 브라우저에서 실행되므로 크기 제한도, 업로드도 없습니다. 유일한 제약은 기기의 속도입니다.
- 설치 전에 해시를 확인하세요 — 중요한 다운로드를 실행하기 전에 검증하는 습관을 들이세요. 몇 초밖에 걸리지 않으며, 손상된 소프트웨어 설치를 막을 수 있습니다.
자주 묻는 질문
파일 해시를 공식 해시와 어떻게 비교하나요?
해시를 생성한 후, 출처에서 게시한 해시(보통 다운로드 페이지에 있음)와 한 글자씩 비교하세요. 모든 글자가 일치하면 파일은 진짜이고 손상되지 않은 것입니다. 하나라도 다르면 파일이 수정되었음을 의미합니다.
어떤 해시 알고리즘을 사용해야 하나요?
SHA-256이 파일 검증의 표준입니다. 게시자가 제공하는 알고리즘을 사용하세요. 선택할 수 있다면 SHA-256이 보안과 성능 사이에서 좋은 균형을 제공합니다.
손상된 파일이 올바른 해시를 가질 수 있나요?
이론적으로는 가능하지만(충돌이라고 함), SHA-256으로는 통계적으로 무시할 수 있는 수준입니다. 가능성이 천문학적으로 낮아서, 실제로는 동일한 해시가 동일한 파일을 보장합니다.
내 파일이 서버로 전송되나요?
아니요. 해시는 전적으로 브라우저에서 계산됩니다. 파일은 절대 기기를 떠나지 않으므로, 민감한 문서를 비롯한 모든 종류의 문서에 안전합니다.