C2PA란 무엇인가요?
C2PA는 Coalition for Content Provenance and Authenticity가 발표한 개방형 기술 표준으로, 미디어가 어떻게 만들어졌는지를 기록하고 그 기록을 암호학적 서명과 함께 파일에 붙입니다. Adobe, OpenAI, Google 제품에서 말하는 Content Credentials가 바로 이것입니다. 가치는 정확히 짚어둘 필요가 있습니다. C2PA는 AI를 탐지하지 않습니다. 검증할 수 있고, 깨졌다는 것도 증명할 수 있는 선언을 실어 나릅니다.
핵심: 파일 안에 함께 이동하는 서명된 출처 기록
C2PA manifest는 자산에 대한 선언—어떤 도구가 만들었는지, 어떤 action이 적용되었는지, digitalSourceType이 출처의 성격을 어떻게 기술하는지—을 묶은 뒤, 자산 자체의 해시와 함께 서명합니다. 따라서 읽는 쪽은 두 가지를 따로 확인할 수 있습니다. 파일이 서명 당시 내용과 여전히 일치하는지, 그리고 서명 인증서를 신뢰하는지입니다. 두 질문 모두 실제 답이 존재하며, 이것이 출처 증명과 추측의 차이입니다.
각 결과를 보여주는 내장 샘플
| Adobe Firefly JPEG | Content Authenticity Initiative 샘플로 digitalSourceType = trainedAlgorithmicMedia를 담고 있습니다. 서명은 암호학적으로 유효하지만 인증서가 신뢰 목록 밖이라 결과는 trusted가 아닌 valid로 표시됩니다. |
|---|---|
| 인증서가 만료된 OpenAI 이미지 | 같은 CAI 샘플입니다. trainedAlgorithmicMedia 선언은 있지만 서명 인증서가 만료되어 검증이 실패하므로 그 선언은 신뢰할 수 없습니다. |
| Google Veo MP4 | 같은 구조가 동영상 컨테이너에서 작동하는 사례입니다. 유효한 Google 생성형 AI 자격 증명이 정지 이미지가 아니라 BMFF를 통해 전달됩니다. |
확인할 신호
| Manifest와 claim | 선언과 서명을 담는 컨테이너입니다. 이를 읽으면 파일이 자신의 내력에 대해 무엇을 주장하는지 알 수 있습니다. |
|---|---|
| digitalSourceType | 출처의 성격을 기술하는 통제 어휘 값입니다. trainedAlgorithmicMedia가 생성형 AI를 가리킵니다. |
| Claim generator | 해당 claim을 만든 소프트웨어를 식별합니다. Adobe, OpenAI, Google의 생성형 AI 제품 문자열 등이 들어갑니다. |
| 서명 상태와 신뢰 상태 | manifest가 자산 해시에 대해 검증되는지, 그리고 별개로 인증서가 신뢰할 수 있는 루트로 연결되는지입니다. |
이 기록은 파일 어디에 저장되나요?
C2PA 데이터는 JPEG이 정의한 box 기반 컨테이너인 JUMBF로 직렬화된 뒤, 각 포맷이 부가 데이터를 허용하는 위치에 삽입됩니다. 그래서 같은 자격 증명이 미디어 종류를 넘나들면서도 구조가 바뀌지 않습니다.
- JPEG: APP11 마커 세그먼트에 기록되며, 일반 디코더는 이 부분을 건너뜁니다.
- PNG: 전용 청크에 들어가므로 이미지 데이터 안이 아니라 옆에 놓입니다.
- MP4와 MOV: ISO base media file format의 box 구조에 저장되며, 서명된 동영상은 이렇게 동작합니다.
- 참조가 아니라 삽입되기 때문에 자격 증명은 파일과 함께 이동하고, 파일이 다시 쓰일 때 함께 사라집니다.
valid와 trusted는 다릅니다
이 표준에서 가장 많은 혼동을 부르는 지점입니다. valid는 암호학적으로 통과했다는 뜻입니다. 서명이 검증되고 자산이 여전히 서명 당시의 해시와 일치하므로, 그 이후 변경이 없었다는 의미입니다. trusted는 인증서에 대한 별개의 질문으로, 검증하는 쪽이 사용하는 목록의 루트로 연결되는지를 봅니다. 완전히 정상인 파일도 검증 측에 해당 루트가 없다는 이유만으로 valid이면서 untrusted로 표시될 수 있으며, 내장된 Firefly 샘플이 정확히 그 경우입니다. 둘을 하나의 배지로 합치면 정작 필요한 정보가 사라집니다.
C2PA가 말해주지 않는 것
이 표준은 서명자가 한 선언을 기록할 뿐, 픽셀을 직접 검사하지 않습니다. manifest에 비가시성 워터마크를 적용했다고 적혀 있더라도, 그 문장을 읽는 것과 워터마크가 실제로 남아 있는지 확인하는 것은 다릅니다. 또한 자격 증명은 생성만큼이나 편집 이력도 자연스럽게 기록하므로, 유효한 manifest가 곧 AI 판정은 아닙니다. 무엇을 선언했는지 읽어야 합니다. 그리고 재인코딩이 이 기록을 지우기 때문에, C2PA가 없다는 사실은 거의 아무 정보도 주지 못합니다. 지워진 파일과 처음부터 서명되지 않은 파일을 구분할 수 없기 때문입니다.
C2PA manifest를 직접 검증하기
- 원본 파일에서 시작합니다 — 플랫폼에서 받은 그대로의 파일을 사용합니다. 스크린샷이나 다시 업로드된 사본은 manifest를 잃었을 가능성이 큽니다.
- C2PA 검증기를 엽니다 — 파일은 브라우저에서 해석되며, 검증을 위해 업로드하지 않습니다.
- 서명 상태를 먼저 확인합니다 — manifest가 검증되는지, 자산 해시에 대해 변조 오류가 나타나지 않는지 봅니다.
- 신뢰 상태는 따로 봅니다 — 인증서가 신뢰 루트로 연결되는지 확인하고, valid이지만 untrusted인 결과는 무결성이 아니라 인증서 체인에 대한 설명으로 이해합니다.
- manifest가 실제로 선언한 내용을 읽습니다 — AI 관련 결론을 내리기 전에 digitalSourceType, claim generator, 기록된 action을 확인합니다.
한계
- 재인코딩, 스크린샷, 포맷 변환, C2PA를 보존하지 않는 편집 프로그램은 manifest를 파일에서 제거합니다.
- 신뢰 상태는 사용 중인 인증서 목록에 좌우되므로 valid이면서 untrusted인 결과는 의심스러운 것이 아니라 일상적입니다.
- manifest는 생성이 아니라 편집을 기록할 수도 있으므로, 무엇을 선언했는지 읽어야 하며 가정해서는 안 됩니다.
- 자격 증명이 없다는 사실은 출처에 대해 알려주는 바가 없습니다. 지워진 파일과 서명된 적 없는 파일이 동일하게 보이기 때문입니다.
manifest 상세가 필요하면 C2PA 검증기를, EXIF·XMP·PNG 파라미터까지 함께 읽으려면 전체 검출기를 사용하세요.
FAQ
C2PA는 무엇의 약자인가요?
Coalition for Content Provenance and Authenticity로, 이 규격을 발표하는 표준 단체입니다. Content Credentials는 같은 기술을 제품에서 부르는 이름입니다.
C2PA가 있으면 AI 생성인가요?
그렇지 않습니다. C2PA는 일반 카메라 사진을 포함해 모든 미디어의 출처를 기록합니다. manifest가 digitalSourceType = trainedAlgorithmicMedia나 생성형 claim generator로 명시할 때만 AI 생성을 가리킵니다.
유효한 파일이 왜 untrusted로 나오나요?
서로 다른 질문이기 때문입니다. valid는 서명이 검증되고 자산이 변경되지 않았다는 뜻이고, trusted는 인증서가 사용 중인 목록의 루트로 연결된다는 뜻입니다. 정상 파일도 동시에 valid이면서 untrusted일 수 있습니다.
C2PA는 제거될 수 있나요?
네, 대개 의도치 않게 제거됩니다. 소셜 플랫폼 재인코딩, 스크린샷, 포맷 변환, C2PA를 지원하지 않는 편집기 등 파일을 다시 쓰는 모든 과정이 manifest를 버립니다.
C2PA를 무료로 확인하려면?
이 사이트의 C2PA 검증기에 파일을 올리면 됩니다. WebAssembly로 컴파일된 Rust가 브라우저 안에서 manifest를 해석하며, 가입도 업로드도 필요 없습니다.
출처와 검증 기록
- C2PA 기술 사양 2.2 — manifest, assertion, 서명과 검증에 관한 공식 사양입니다.
- AICheck365 공개 샘플 기록 — Firefly, OpenAI, Veo 샘플의 출처와 테스트 날짜, 관찰된 상태입니다.
- Content Authenticity Initiative example assets — Firefly와 인증서 만료 샘플의 공개 출처입니다.
- AICheck365 검사 방법론 — 서명 상태, 신뢰 상태, 증거 등급의 보고 방식을 설명합니다.