C2PA Update Manifest: 이후 메타데이터 변경을 검토하는 방법
파일과 질문을 먼저 분리합니다
검토할 미디어 파일을 그대로 저장하고 출처 페이지, 파일명, 입수 시각을 기록합니다. 같은 사본을 C2PA 호환 검증 도구에서 열어 도구명과 버전을 남기고 전체 출력을 파일과 함께 보관합니다. 이 기록 방식은 본문이 제안하는 편집 절차이며 C2PA가 요구하는 사건 관리 형식은 아닙니다.
질문도 두 가지로 나눕니다. 디지털 콘텐츠가 바뀌지 않은 상태에서 나중 manifest가 provenance assertion을 추가했는지, 그리고 장면에 붙은 설명이나 현실 주장이 정확한지를 따로 적습니다. Update manifest는 첫 질문을 검토하는 자료입니다. 두 번째 질문은 게시자의 원래 맥락과 독립된 증거가 필요합니다.
검증기가 표시하는 manifest와 claim마다 식별자를 붙입니다. 어느 manifest가 active인지, 어떤 ingredient를 참조하는지, assertion이 어느 manifest에 들어 있는지 기록합니다. 그러면 나중에 추가된 metadata 기록을 원래 서명 claim과 섞지 않고 읽을 수 있습니다.
Update manifest의 역할을 확인합니다
C2PA 2.2는 디지털 콘텐츠가 바뀌지 않았지만 추가 assertion이 필요한 provenance workflow에 Update Manifest를 사용한다고 설명하며 JUMBF type을 c2um으로 정합니다. 검증기가 표시한 type을 기록하되 label 하나만으로 판단하지 말고 assertion과 ingredient 관계도 함께 읽습니다.
Update Manifest에는 ingredient assertion이 정확히 하나 있어야 합니다. c2pa.ingredient.v3는 업데이트 대상 asset의 activeManifest와 claimSignature를 참조하고 relationship 값은 parentOf입니다. 이전 ingredient 버전은 규격에 설명된 다른 필드를 사용합니다. 버전, relationship, reference를 그대로 복사합니다. 도구가 표시하지 않는 값은 추정하지 말고 미표시로 남깁니다.
참조된 ingredient manifest는 standard manifest일 수도 있고 다른 update manifest일 수도 있습니다. 체인을 한 단계씩 따라가며 각 관찰을 실제로 그 값을 가진 manifest에 연결합니다.
추가할 수 있는 assertion을 확인합니다
규격은 c2pa.actions 또는 c2pa.actions.v2를 허용하지만, 각 action은 규격의 제한된 목록에 있는 값이어야 합니다. 링크된 절에서 표시된 값을 확인하고 ‘편집됨’처럼 넓은 말로 바꾸지 말고 정확히 적습니다. Action 값은 claim이 기록한 작업을 보여 줄 뿐 작업자의 의도나 assertion의 사실성을 확인하지 않습니다.
Update manifest에는 time-stamp assertion, certificate-status assertion 또는 둘 다 들어갈 수 있습니다. 각 결과를 별도 칸에 보관합니다. Time-stamp는 검증기가 평가한 서명 시간 증거이며 촬영 시각이나 장면 속 사건의 발생 시각이 아닙니다. Certificate status도 자격 증명 검증에 관한 결과이며 설명문의 진실성을 결정하지 않습니다.
여러 사본은 먼저 따로 기록한 뒤 비교합니다. 파일 식별자, manifest, ingredient reference, 허용 action, time-stamp 결과, certificate-status 결과, 미해결 질문을 사본별로 남깁니다. 빈칸은 그 실행에서 도구가 표시하거나 찾지 못했다는 뜻입니다.
금지된 assertion은 검증 충돌로 다룹니다
C2PA는 Update Manifest에 c2pa.hash.data, c2pa.hash.boxes, c2pa.hash.collection.data, c2pa.hash.bmff.v2, c2pa.hash.bmff.v3를 넣지 못하게 합니다. c2pa.hash.multi-asset과 thumbnail assertion도 금지합니다. 콘텐츠가 바뀌지 않았으므로 binding을 업데이트할 필요가 없고, 허용 목록 밖의 action이나 thumbnail은 디지털 콘텐츠 변경을 뜻하기 때문이라고 규격은 설명합니다.
검증기가 이런 항목을 표시하면 전체 출력을 보존하고 좁은 검증 충돌로 보고합니다. 메모에서 필드를 지워 기록을 고치거나 미디어가 합성됐다는 결론으로 넓히지 않습니다. 같은 파일을 기록된 도구에서 다시 확인하고, 가능하면 게시자가 보존한 원본이나 독립적으로 확보한 사본과 비교합니다.
탐지 결과와 현실 검증을 분리합니다
저장한 이미지, 영상, 음성, 텍스트는 DeepFakeCheck에서 확률적 위험 신호를 받을 수 있습니다. DeepFakeCheck 결과는 update manifest와 ingredient reference를 적은 manifest 기록과 별도 칸에 둡니다.
자동 분석에는 진짜 자료를 의심스럽다고 표시하는 오탐과 합성 또는 변경 자료를 놓치는 미탐이 있습니다. 높은 위험 신호는 추가 검토의 이유가 되지만 낮은 위험 신호는 추가 검토를 생략할 근거가 되지 않습니다. 탐지 결과와 관계없이 provenance 체인, 원 게시물, 현실 주장을 계속 확인합니다.
마지막에는 파일, 검증기와 버전, manifest 순서, ingredient reference, assertion과 action 값, 검증 충돌, 외부 출처 확인, 탐지 결과와 결정을 남깁니다. 다음 검토자가 나중 metadata를 원래 claim의 변경으로 오해하지 않고 같은 검사를 반복할 수 있어야 합니다.
출처
- C2PA, “C2PA Technical Specification — Update Manifests”: https://spec.c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_update_manifests