C2PA General Box Hash로 JPEG·PNG·GIF 무결성 검토하기
결과를 만든 파일을 먼저 보존합니다
검증 도구로 열기 전에 실제로 받은 JPEG, PNG, GIF를 저장합니다. 출처 페이지, 다운로드 시각, 파일명, 크기와 파일 식별자를 기록합니다. 원본과 변환된 사본이 여러 개면 각각 번호를 붙이고 어느 사본을 검토했는지 적습니다. 이 기록법은 본문의 실무 제안이며 C2PA가 정한 보고 양식은 아닙니다.
C2PA 호환 검증 도구의 이름과 버전을 적고 전체 출력을 파일과 함께 보관합니다. 배지나 한 줄 상태만으로는 어떤 box가 나열됐는지, 순서가 자산과 같았는지, 어느 hash 비교가 실패했는지 확인할 수 없습니다. 검증 전에 증거 사본을 다시 내보내지 않습니다. 새 파일은 별도 검토 대상입니다.
기록 옆에 질문을 좁혀 적습니다. General box hash assertion이 검증 도구가 표시한 범위에서 이 사본의 box 데이터와 순서를 검증했는지를 봅니다. 게시자의 신원, 설명문의 정확성, 현실 사건의 발생 여부는 다른 증거로 확인합니다.
Assertion을 순서가 있는 지도로 읽습니다
C2PA 2.2에서 general box hash assertion의 label은 c2pa.hash.boxes입니다. 규격은 JPEG, PNG, GIF처럼 BMFF가 아닌 box 형식의 자산에 이 hard binding을 사용하도록 설명합니다. Assertion은 여러 구조의 배열이며, 각 구조에는 하나 이상의 box 이름과 식별자, 해당 데이터를 덮는 hash, 알고리즘이 들어갑니다.
도구에 보이는 box 이름, 묶음, 순서, 알고리즘, hash 상태를 그대로 옮깁니다. Assertion의 box는 C2PA Manifest를 담은 box를 포함해 자산에 나오는 순서와 같아야 합니다. 자산에 있지만 assertion에 없는 box가 있거나 순서가 다르면 검증 과정에서 manifest가 거부됩니다. JPEG의 APP1처럼 같은 형식이 여러 번 나오면 각 instance를 따로 적습니다.
Box 범위를 묶었다면 첫 box의 시작부터 마지막 box의 끝까지와 사이의 byte가 hash에 포함됩니다. Box를 개별로 나열하면 각 box 내부 데이터만 포함됩니다. 같은 box 이름이 보여도 grouping에 따라 덮는 byte가 달라지므로 그 구조를 유지해 기록합니다.
제외 box와 Manifest box를 확인합니다
Box 항목에는 excluded boolean이 있을 수 있습니다. 필드가 없거나 false이면 validator가 box를 hash하고 값을 비교합니다. True면 validator가 그 box와 해당 hash를 무시할 수 있습니다. 도구에 표시된 값만 적고, 비교 결과가 없다는 이유로 excluded를 추정하지 않습니다.
C2PA Manifest Store box도 C2PA라는 이름과 1 byte zero hash로 배열에 들어갑니다. JPEG에서 Manifest Store가 여러 APP11 marker segment로 나뉘어도 하나의 box로 표시합니다. C2PA와 관계없는 APP11 box는 hash box 목록에 남습니다. PNG의 8 byte header는 첫 box의 특수 값 PNGh로 표시할 수 있습니다.
정확한 실패 코드와 메시지를 저장합니다. 파일 식별자, validator 버전, box 순서와 grouping, excluded 값, 알고리즘, 전체 상태를 연결해 놓으면 다른 사람이 다시 확인할 수 있습니다. 도구가 보여 주지 않은 필드는 미보고로 남깁니다.
일치와 불일치의 범위를 제한합니다
성공한 비교는 검증 도구가 이 사본의 포함된 box 데이터를 계산해 assertion의 값과 일치했다는 관찰을 뒷받침합니다. 모든 metadata의 정확성, 서명자에 대한 신뢰, 현실 사건의 설명은 별도로 확인합니다. 제외 box와 표시된 범위 밖의 데이터도 따로 검토합니다.
불일치나 구조 거부는 이 파일과 assertion이 정해진 무결성 검사를 통과하지 못했다는 결과입니다. 이 결과만으로 변경자, 변경 시각, 바뀐 pixel, 화면 속 사건의 조작 여부를 특정할 수 없습니다. 다른 사본에는 별도 식별자를 붙여 독립적으로 검증한 뒤 비교합니다.
저장한 이미지, 영상, 음성, 텍스트는 확률적 미디어 분석에서 위험 신호를 받을 수 있습니다. 이 출력은 C2PA 기록과 분리하고 실제 분석한 사본에 연결합니다. 자동 분석은 진짜 자료를 의심스럽다고 표시하는 오탐과 합성·변경 자료를 놓치는 미탐을 낼 수 있습니다. 높은 신호는 추가 검토의 근거이며, 낮은 신호는 파일을 인증하거나 C2PA 불일치를 복구하지 않습니다.
현실 주장은 원본 게시물, 미디어를 제시한 계정과 기관, 주장된 날짜와 장소, 사건의 독립적 증거로 확인합니다. 마지막에 파일 식별자, C2PA 출력, 사용한 탐지 결과, 외부 출처 확인, 사람의 판단을 함께 남깁니다.
출처
- C2PA, "C2PA Technical Specification — General Box Hash": https://spec.c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_general_box_hash