기술교육4분 읽기
SHA-256 해시란? — 위변조를 수학으로 증명하는 원리
TrueSnap의 핵심 기술 중 하나가 SHA-256 해시입니다.
TrueSnap의 핵심 기술 중 하나가 SHA-256 해시입니다. "해시? 암호? 어려운 거 아니야?"라고 생각하실 수 있지만, 원리는 생각보다 단순합니다. 이번 글에서는 비전공자도 이해할 수 있도록 SHA-256이 무엇이고, 왜 증거의 위변조를 증명하는 데 사용되는지 설명합니다.
해시 = 디지털 지문
사람마다 지문이 다르듯, 모든 디지털 파일에는 고유한 "디지털 지문"이 있습니다. 이 디지털 지문을 만들어주는 수학 공식이 바로 SHA-256입니다.
예시: "안녕하세요"라는 텍스트의 SHA-256 해시 b7e9...4f2a (64자리 16진수 문자열)
SHA-256의 3가지 핵심 성질
- . 단방향성 — 지문에서 원본을 복원할 수 없다 사람 지문으로 그 사람의 얼굴을 복원할 수 없듯, 해시값으로 원본 파일을 역산할 수 없습니다. 수학적으로 불가능합니다.
- . 충돌 저항성 — 같은 지문을 가진 다른 파일은 없다 2의 256승 (약 10의 77승) 가지 경우의 수가 있어, 우주의 원자 수보다 많습니다. 서로 다른 두 파일이 같은 해시를 가질 확률은 사실상 0입니다.
- . 쇄도 효과 — 1비트만 바꿔도 완전히 다른 지문이 된다 원본 파일에서 단 한 글자, 한 점만 바꿔도 해시값이 완전히 달라집니다. "비슷한 해시"라는 것은 존재하지 않습니다.
눈으로 보는 쇄도 효과
// 입력 1: "가나다라" → a3f2c8d1e7b94f6a2d1c8b7e5f3a9d4c... // 입력 2: "가나다마" (한 글자만 변경) → 7e9b1f4d3a6c82e5f0d7b2a4c8e1f6d9... // 결과: 완전히 다른 해시값! // → 단 1글자 변경도 즉시 탐지 가능
TrueSnap에서 SHA-256이 사용되는 방법
- 캡처 완료 즉시 (메모리 상에서)
- screenshot.png → SHA-256 → a49f39bb... source.html → SHA-256 → ad308e8b... network.har → SHA-256 → 2af2dd73...
- 개 해시를 결합 → Evidence Fingerprint → 블록체인에 영구 기록
나중에 검증하는 방법
파일이 원본과 동일한지 확인하고 싶을 때:
$ sha256sum screenshot.png a49f39bb...64자리 해시값 // 이 값이 블록체인에 기록된 값과 같으면 → 원본 그대로 // 다르면 → 누군가 파일을 변경한 것
왜 하필 SHA-256인가?
• 미국 국가안보국(NSA)이 설계, NIST가 표준으로 채택 • 비트코인, 이더리움 등 블록체인의 기반 기술 • 전 세계 정부·군사·금융 기관에서 사용 • 2005년 발표 이후 20년 이상 깨지지 않은 검증된 알고리즘