INFOBOUND · DIGITAL PRESERVATION GUIDE 01
파일은 그대로인데,
정말 데이터도 같은 상태일까?
문서가 정상적으로 열리고 파일명까지 동일하더라도, 원본 데이터가 변경되지 않았다고 단정할 수는 없습니다. 디지털 기록물의 내용을 비교하고 변경 이력을 추적하는 데 필요한 SHA-256 검증 원리와 실제 절차를 살펴봅니다.
체크섬
검증 이력
디지털 기록물 무결성 검증은 파일의 현재 데이터가 기준 시점의 데이터와 동일한지 확인하는 과정입니다. 대표적인 방법은 SHA-256 같은 해시 알고리즘으로 파일의 지문에 해당하는 값을 계산하고, 신뢰할 수 있게 보관한 기준값과 비교하는 것입니다.
디지털 기록물은 일반 문서부터 사진, 데이터베이스 추출물, 연구 데이터, 장기 보존용 전자기록까지 폭넓게 존재합니다. 이러한 자료는 저장장치 교체, 네트워크 전송, 백업 복원 등의 과정을 거치면서 데이터가 달라질 수 있습니다. 따라서 단순히 파일이 존재하는지만 확인하는 방식으로는 보존 상태를 충분히 설명하기 어렵습니다.
핵심 답변 — 30초 요약
① 파일에서 SHA-256 해시값을 계산합니다.
② 신뢰할 수 있는 기존 해시값과 비교합니다.
③ 값이 일치하면 두 시점의 파일 내용이 같다는 강한 근거가 됩니다.
④ 값이 다르면 변경 여부와 원인을 추가 조사하고 검증 이력을 남깁니다.
이 글의 목차
01. 디지털 기록물 무결성 검증은 무엇을 확인하나요?
무결성 검증의 핵심은 특정 시점 사이에 파일 데이터가 바뀌었는가라는 질문입니다. 디지털 보존 분야에서는 이를 Fixity라는 개념으로 설명하기도 합니다. 파일에서 계산한 체크섬이나 암호학적 해시값을 보관하고, 추후 같은 방식으로 계산한 값과 비교하는 것입니다.
미국 의회도서관의 디지털 컬렉션 관리 지침은 보존 대상이 수집되는 가능한 초기 단계에 무결성 정보를 확보하고, 정기적인 점검 기록을 관리하는 방식을 설명합니다. 즉, 한 번 검사하는 행위보다 지속적으로 비교할 수 있는 기준을 마련하는 것이 중요합니다.
| 구분 | 확인하려는 질문 | 대표 확인 방법 |
|---|---|---|
| 무결성 | 파일 내용이 바뀌었는가? | 해시값·체크섬 비교 |
| 진본성 | 기록의 출처와 생성 맥락을 신뢰할 수 있는가? | 출처·이력·전자서명 등 추가 검토 |
| 이용 가능성 | 현재 환경에서 기록을 열고 해석할 수 있는가? | 파일 포맷·소프트웨어·렌더링 확인 |
예를 들어 10년 전 생성된 문서의 해시값이 현재도 같다면, 기준 시점 이후 파일의 바이트 내용이 유지되었다는 강한 근거가 됩니다. 하지만 그 문서에 담긴 내용이 사실인지, 당시 작성자가 실제로 누구인지까지 해시값으로 판단할 수는 없습니다.
디지털 기록물 무결성 검증이 필요한 대표 상황
디지털 기록물 무결성 검증은 기록물을 최초 보관하는 시점뿐 아니라 데이터 이동과 복원 과정에서도 활용할 수 있습니다.
① 저장장치 이전: 서버에서 외장 저장장치로 옮긴 파일이 원본과 동일한지 확인합니다.
② 백업 복원: 복원된 자료와 기존에 보관한 기준 해시값을 비교합니다.
③ 장기 보존: 정기적으로 데이터를 검사하여 예상하지 못한 변경을 발견할 수 있도록 관리합니다.
중요한 것은 각 검사에서 같은 알고리즘을 사용하고, 검증에 사용한 기준값의 출처를 확인하는 것입니다.
02. SHA-256은 어떤 원리로 파일 변경을 확인하나요?
SHA-256은 입력 데이터로부터 256비트 길이의 해시값을 계산하는 암호학적 해시 알고리즘입니다. 일반적으로 출력값을 16진수로 표시하면 64개의 문자로 나타납니다. 파일이 작거나 크더라도 결과값의 길이는 같습니다.
미국 국립표준기술연구소(NIST)의 FIPS 180-4는 SHA-256을 포함한 보안 해시 알고리즘을 정의합니다. 이 알고리즘은 서로 다른 데이터에서 우연히 같은 해시값이 발생할 가능성을 매우 낮게 설계했기 때문에 파일의 내용 일치 여부를 확인하는 데 널리 활용됩니다.
SHA-256 FILE VERIFICATION
동일성에 대한 강한 근거
변경·오류 원인 조사
중요한 것은 비교 대상입니다. 같은 파일에서 생성한 두 해시값이 일치하는 것은 의미가 있지만, 파일과 기준 해시값을 동일한 공격자가 함께 수정할 수 있다면 결과의 신뢰성이 떨어집니다. 중요한 기록의 기준 해시값은 접근 권한을 분리하거나 변경 이력을 추적할 수 있는 장소에 보관하는 편이 좋습니다.
해시값과 암호화는 같은 기술인가요?
아닙니다. 암호화는 복호화 키 등 적절한 조건을 갖추면 원래 데이터를 복원하도록 설계됩니다. SHA-256은 입력 데이터를 다시 복원하기 위한 기술이 아니라 고정 길이의 다이제스트를 만드는 해시 함수입니다.
03. Windows에서 SHA-256으로 파일을 비교하는 방법
Windows에서는 별도 유료 프로그램 없이 PowerShell의 Get-FileHash 명령을 사용할 수 있습니다. Microsoft 공식 문서에서도 파일 내용을 기준으로 해시값을 계산하고, 파일 이름이나 확장자가 달라도 내용이 같다면 해시값은 변하지 않는다고 설명합니다.
STEP 1. PowerShell 실행
Windows 시작 메뉴에서 PowerShell을 검색해 실행합니다. 읽기 가능한 일반 파일을 검사하는 데 관리자 권한은 보통 필요하지 않습니다.
STEP 2. 원본 파일의 해시값 계산
위 경로는 예시입니다. 실제 검사할 파일 경로로 교체하세요.
STEP 3. 사본 파일의 해시값 계산
원본과 사본의 위치를 다르게 지정했는지 확인합니다.
STEP 4. 출력된 Hash 값 비교
결과에는 Algorithm, Hash, Path 정보가 표시됩니다. 두 파일의 Algorithm이 SHA256인지 확인하고 Hash의 전체 문자열을 비교하면 됩니다.
두 파일의 SHA-256 결과를 한 번에 비교하는 방법
디지털 기록물 무결성 검증을 반복해서 수행할 때는 두 파일의 해시값을 개별적으로 확인하는 대신 PowerShell의 비교식을 활용할 수도 있습니다.
아래는 두 파일이 실제로 존재한다는 전제에서 실행하는 예시입니다. 파일 경로는 검사 환경에 맞게 바꿔야 합니다.
$backup = (Get-FileHash -LiteralPath “D:\Backup\original.pdf” -Algorithm SHA256).Hash$original -eq $backup
True: 계산된 두 SHA-256 해시값이 일치합니다.
False: 계산된 두 SHA-256 해시값이 일치하지 않습니다. 검사한 파일의 경로와 데이터를 다시 확인해야 합니다.
실습: 한 글자만 달라도 해시값은 바뀔까요?
직접 확인할 수 있도록 두 개의 짧은 텍스트 파일을 생성하는 예시입니다. 아래 명령을 PowerShell에 입력하면 사용자의 임시 폴더에 실습용 파일을 만들고 SHA-256 결과를 비교합니다.
$b = Join-Path $env:TEMP “integrity-b.txt”[System.IO.File]::WriteAllText($a, “record”, [System.Text.Encoding]::UTF8)
[System.IO.File]::WriteAllText($b, “records”, [System.Text.Encoding]::UTF8)Get-FileHash -LiteralPath $a -Algorithm SHA256
Get-FileHash -LiteralPath $b -Algorithm SHA256
첫 번째 파일에는 record, 두 번째 파일에는 records가 저장됩니다. 두 파일은 문자 하나만 다르지만 내용이 다르므로 SHA-256 해시값도 달라질 것으로 예상할 수 있습니다.
실습 안내: 위 코드는 독자가 직접 재현하도록 구성한 예시이며, 특정 컴퓨터에서 실행한 결과를 수집하거나 측정했다고 주장하는 사례는 아닙니다. 기존의 동일한 파일명이 임시 폴더에 있다면 덮어쓸 수 있으므로 필요한 파일은 미리 확인하세요.
04. 디지털 기록물 무결성 검증 결과는 어떻게 해석하나요?
해시값은 강력한 비교 도구이지만, 결과 자체가 변경 원인을 설명해 주지는 않습니다. 특히 디지털 기록물 무결성 검증에서는 다음 세 가지 상황을 구분할 필요가 있습니다.
상황 A. SHA-256 값이 일치함
동일 알고리즘과 신뢰할 수 있는 기준값을 사용했다면 두 파일의 바이트 내용이 같다는 매우 강한 근거입니다. 다만 출처와 작성자의 신원까지 입증하는 것은 아닙니다.
상황 B. SHA-256 값이 다름
파일의 내용이 서로 다르거나 비교 과정에 문제가 있을 수 있습니다. 원본 수정, 메타데이터 갱신, 파일 재생성, 전송 오류, 경로 선택 실수 등을 차례대로 확인합니다.
상황 C. 비교할 기존 해시값이 없음
현재의 해시값만으로 과거부터 변경이 없었다고 증명할 수는 없습니다. 현재 상태를 새로운 기준점으로 설정하고 이후 검증 이력을 관리해야 합니다.
파일 이름만 바뀌어도 해시값이 달라지나요?
일반적인 파일 해시 계산에서 파일명이나 외부 경로는 파일의 바이트 데이터에 포함되지 않습니다. 따라서 파일 이름만 바꾸고 내용이 유지되었다면 SHA-256 값은 변하지 않습니다. 반면 문서 프로그램에서 파일을 다시 저장하면서 내부 데이터가 달라지면 해시값도 달라질 수 있습니다.
05. 장기 보존용 무결성 검증 기록은 어떻게 설계하나요?
한 번의 검사 결과보다 중요한 것은 검증 과정을 나중에 다시 확인할 수 있는 기록입니다. 장기 보존 환경에서는 파일 자체, 기준 해시값, 검사 시점, 검사 결과가 서로 연결되어 있어야 합니다.
| 기록 항목 | 입력 예시 | 목적 |
|---|---|---|
| 기록물 식별자 | ARCH-0001 | 파일 식별 |
| 해시 알고리즘 | SHA-256 | 비교 기준 통일 |
| 기준 해시값 | 64자리 16진수 전체 | 원본 상태 기록 |
| 검사 일시 | 일자·시간·시간대 | 검사 이력 추적 |
| 검사 결과 | 일치 / 불일치 | 상태 확인 |
| 후속 조치 | 재검사·백업 확인 등 | 대응 과정 관리 |
이 표는 독자의 이해를 돕기 위해 구성한 예시입니다. 특정 기관의 공식 서식이나 법정 의무 양식은 아닙니다.
검증에 실패했다면 어떤 순서로 대응할까요?
디지털 기록물 무결성 검증 과정에서 기준값과 새 해시값이 다르게 나왔다면, 즉시 원본 파일을 덮어쓰거나 삭제하지 않는 것이 좋습니다.
- 검사한 파일 경로와 대상 파일이 정확한지 확인합니다.
- 원본과 사본 모두 SHA-256으로 계산했는지 점검합니다.
- 파일의 수정 이력과 저장·전송·복원 작업 기록을 확인합니다.
- 다른 정상 백업본이 있다면 신뢰할 수 있는 기준값과 다시 비교합니다.
- 불일치 결과와 후속 조치를 별도 기록으로 남깁니다.
이러한 절차를 마련하면 디지털 기록물 무결성 검증 결과를 단순한 일치 여부 확인에서 지속적인 보존 상태 관리로 연결할 수 있습니다.
미국 의회도서관은 개별 파일 수준에서 무결성 정보를 생성·관리하고, 보존 콘텐츠의 상태를 정기적으로 모니터링하며 검사 로그를 감사 가능한 기록으로 보관하는 운영 방식을 제시합니다.
실제 운영에서는 기준값을 보관한 위치와 파일을 수정할 수 있는 권한도 함께 고려해야 합니다. 원본 파일, 기준 해시값, 검사 로그를 모두 같은 권한으로 자유롭게 수정할 수 있다면 감사 과정에서 신뢰성을 확보하기 어렵습니다.
관리 점검표
□ 파일의 기준 해시값을 확보했는가?
□ 검증 대상 파일 경로가 정확한가?
□ 기준값과 검증값의 알고리즘이 같은가?
□ 결과값 전체를 비교했는가?
□ 검증 일시와 실행 주체를 기록했는가?
□ 불일치 발생 시 후속 조치를 남겼는가?
06. 디지털 기록물 무결성 검증에서 주의할 점
파일 확장자만으로 원본을 판단하지 않기
PDF, DOCX, JPG처럼 같은 확장자를 가진 파일도 서로 다른 데이터일 수 있습니다. 확장자와 파일명은 참고할 수 있는 속성이지만, 바이트 내용의 동일성을 대신 증명하지는 않습니다.
서로 다른 해시 알고리즘을 비교하지 않기
SHA-256으로 만든 값과 MD5로 만든 값은 비교 대상이 아닙니다. 알고리즘에 따라 출력 길이와 보안 특성이 다르므로 기준값의 생성 알고리즘부터 명시해야 합니다. 새로운 무결성 관리 체계를 설계한다면 SHA-256 같은 현대적인 알고리즘을 사용하는 것이 적절합니다.
해시값만 보관하고 출처를 잃어버리지 않기
64자리 문자열을 저장했더라도 어떤 파일에서 언제 생성한 값인지 모르면 검증 근거로 활용하기 어렵습니다. 식별자, 파일 경로, 알고리즘, 생성 시점을 함께 기록하세요.
정상적으로 열리는 파일을 무조건 신뢰하지 않기
파일이 정상적으로 열리거나 미리보기 이미지가 비슷하게 보인다고 해서 원본과 동일한 데이터라고 단정해서는 안 됩니다. 반대로 해시값이 달라졌다고 악의적 변조가 있었다고 즉시 결론 내리는 것도 부정확합니다.
07. 자주 묻는 질문
결론: 해시값 계산보다 중요한 것은 검증 가능한 관리 체계
디지털 기록물 무결성 검증에서 SHA-256은 유용한 출발점입니다. 그러나 파일의 내용을 검사하는 기능과 결과를 신뢰할 수 있게 관리하는 체계는 구분해야 합니다.
원본에서 기준 해시값을 생성하고, 검증 대상과 비교하고, 결과와 변경 이력을 보관하는 절차를 유지해야 장기적으로 기록물의 상태를 설명할 수 있습니다. 중요한 자료일수록 검증 주기와 접근 권한, 백업 복원 절차까지 함께 검토할 필요가 있습니다.
INFOBOUND · KNOWLEDGE ARCHIVE
정보를 보관하는 것에서
신뢰할 수 있게 검증하는 단계로
인포바운드는 디지털 기록물의 관리와 보존에 관한 기술정보를 체계적으로 정리합니다.
참고 자료 및 기술 근거
① NIST, FIPS 180-4, Secure Hash Standard (SHS)
공식 표준 문서 확인
② Microsoft Learn, Get-FileHash 명령어 문서
PowerShell 사용법 확인
③ Library of Congress, Data Integrity Management
디지털 컬렉션 무결성 관리 지침 확인
자료 확인일: 2026년 10월 15일. 본문에 포함된 명령과 기록 표는 이해와 재현을 돕기 위한 예시이며, 별도 실험실 시험이나 기관 인증을 실시했다는 의미는 아닙니다.


