昨天的結論是:授權狀態、案件編號、著作權這些欄位模型救不了,必須人寫進檔案。今天要問的是下一個問題——那些人寫進去的字,誰能證明沒被改過?誰能證明這張照片真的出自你的相機、而不是別人拿一張圖套上你的名字?這就是 C2PA 內容憑證要處理的事,也是它處理不了的事。

📖 學

manifest 的結構:簽的是「聲明」,不是「畫面」

C2PA 在檔案裡塞的東西叫 manifest store(憑證庫),裡面可以有多個 manifest。單一個 manifest 由三種東西組成:一組 assertion(斷言)、一個 claim(主張)、一個 claim signature(主張簽章)。

assertion 是最小的資訊單位,一句一句的陳述:這是誰拍的、用什麼機身、什麼時間、做過哪些動作、有沒有用生成式 AI、創作者的 AI 訓練偏好是什麼。這些 assertion 用 CBOR 序列化,各自算出雜湊。claim 則是一份收據,它不重複 assertion 的內容,而是收錄每個 assertion 的 hashed URI(帶雜湊值的參照),再加上一個關鍵欄位:hard binding——對資產位元本身算出的 SHA-256。最後,claim generator(產生憑證的那個程式或韌體)用簽署者的憑證,以 COSE 格式對整個 claim 簽下去,產出 claim signature。

這個結構決定了它的能力邊界。驗證器做三件事:重算資產位元的雜湊比對 hard binding、重算每個 assertion 的雜湊比對 claim 裡的 hashed URI、驗 claim signature 的憑證鏈有沒有掛在信任清單上。三關都過,結論只有一句——這份 claim 確實由這個憑證持有者簽發,且簽發後位元沒動過。至於那些 assertion 說的是不是實話,C2PA 一個字都沒說。

還有一個更細、也更直接打到昨天話題的地方。hard binding 涵蓋的是「排除 manifest 自身所在區塊」之後的位元範圍,而不同實作對 EXIF/XMP 區段的處理並不一致。Horshack 在拆解 Nikon Z6III 時就發現,少數欄位(例如機身序號)有被寫進 claim 一起簽,但大部分 EXIF 欄位可以被修改而不使憑證失效。換句話說,C2PA 不會自動保護你昨天辛苦寫進去的 IPTC 授權欄位——除非工具明確把它們做成 assertion 簽下去。憑證有效,不等於檔案裡每一個字都受保護。

續簽:ingredient 與 provenance chain

裁切、調色之後憑證還在,是因為它被重簽了一次,不是原來那份還活著。像素一動,hard binding 立刻對不上,舊 manifest 的驗證必然失敗。

C2PA 的做法是把「輸入」抽象成 ingredient(素材)。當你在 Lightroom 打開一張帶憑證的原始檔、調完色輸出,Lightroom 會把原始檔的整份 manifest 當作 ingredient assertion 收進新的 manifest store,同時寫一組 action assertion 記錄做過什麼,然後對新的輸出檔案重新算 hard binding、重新簽章。原始 manifest 不是被驗證,而是被「引用」——新的簽章者用自己的信譽替它背書。層層疊上去,就是 provenance chain。只改中繼資料、不動像素的情況則有 update manifest 這種特例,可以只加一層而不重算內容雜湊。

這裡藏著整個系統最脆的地方:鏈的可信度不是原始拍攝者決定的,是鏈上每一個簽署者共同決定的。中間任何一個工具願意撒謊——把 AI 生成的圖標成「相機拍攝」的 ingredient、或者乾脆漏掉某個 action——後面的驗證器只會看到一條簽章全部有效的漂亮鏈。鏈越長,你信任的對象越多,而你根本不知道他們是誰。

相機端:硬體綁定,以及硬體綁定救不了的事

Leica 是第一個把它做進機身的。2023 年的 M11-P 內建專用安全晶片,憑證在出廠時植入,JPG 與 DNG 都在快門當下簽章;之後 M11-D、SL3-S 陸續加入,Q3 系列則在 2025 年 12 月的韌體更新後支援。值得注意的是原始的 SL3 沒有——Leica 以安全性為由,拒絕提供純韌體的方案。這是一個誠實的取捨:它等於承認「軟體簽章」和「硬體簽章」不是同一個信任等級。

Google Pixel 10 是第一支原生支援 C2PA 的手機。簽章金鑰在 Titan M2 安全晶片內產生與保存,走 Android StrongBox,加密運算由 Tensor G5 在影像處理管線裡完成,還支援裝置端可信時戳(離線拍攝也能在憑證過期後驗證)。Google 拿到的是 C2PA Conformance Program 目前最高的 Assurance Level 2。Google Photos 則會在編輯時續簽,並在「關於」面板顯示。

Sony 的狀況要說清楚,因為它常被誤傳。2025 年 10 月 30 日的韌體讓 a9 III、a1 II、FX3、FX30 與 PXW-Z300 首次支援影片的數位簽章,a7R V / a7 IV / a1 從 11 月起跟進,a7S III 排在 2026 年之後。但關鍵是:這是付費的一年期授權,而且目前只提供給特定媒體機構,一般使用者買不到,Sony 也沒說何時開放。Canon 走同一條路——EOS R1 與 R5 Mark II 在 2025 年 7 月拿到 C2PA 韌體,而完整的 Authenticity Imaging System 在 2026 年 5 月才以付費服務推出,首發限 EMEA 地區,Reuters 參與了上線前測試。

Nikon 的故事則是這一整篇最該記住的案例。Z6III 韌體 2.00 在 2025 年 8 月 27 日加入 C2PA。一星期不到,Horshack 在 DPReview 論壇公布:用機身的「多重曝光」功能,把一張沒有憑證的外來 RAW 選為底圖,再蓋上一張蓋著鏡頭蓋拍的黑畫面,輸出的檔案就帶著一枚完全有效的 Z6III 憑證,連 Adobe 的驗證工具都過。他進一步寫了自己的程式,把一張純 AI 生成的圖塞進 NEF 裡走同一套流程,得到一張「由 Nikon Z6III 簽署認證」的 AI 假照片。9 月 4 日 Nikon 確認問題、暫停服務,9 月下旬宣布撤銷服務上線以來發出的所有憑證。到 2026 年,這項服務仍未恢復。

這件事的教訓不是「Nikon 很爛」,而是:硬體綁定保護的是金鑰,不是拍攝行為。晶片可以確保沒人偷得走私鑰,但它管不了機身韌體自己願意簽什麼。金鑰安全 ≠ 產製鏈誠實。

軟體端的差異也在這裡。Photoshop、Lightroom、Adobe Content Authenticity 網頁版簽出來的憑證,證明的是「Adobe 這個 claim generator 說它做了這些事」,金鑰在軟體或雲端層,沒有防篡改硬體撐著。C2PA 的 Conformance Program(2025 年 6 月 4 日啟動)正是為了把這種差別制度化:Level 1 要求較寬鬆,Level 2 要求硬體支援的金鑰保管與動態安全佐證。截至 2026 年 5 月中,通過的產品是 31 家公司的 54 項——以整個影像產業的規模來說,還很少。

平台端:讀取、保留、顯示,是三件不同的事

廠商公關最愛混淆的就是這三個動詞。LinkedIn 從 2024 年 5 月起顯示 CR 標記,是目前唯一會把 manifest 內容呈現給一般讀者的大型社群平台。TikTok 2024 年起讀取 C2PA 資料來自動貼 AI 標籤,也會替經過平台的內容附上自己的 Content Credentials。Meta(Instagram / Facebook / Threads)會讀 C2PA 與 IPTC 的 AI 訊號來決定要不要掛「AI info」標籤,但不對外呈現 manifest,上傳壓縮流程也經常把整份憑證清掉。所以「支援 C2PA」對這三家的意義完全不同:一家保留並顯示,一家讀取後重簽,一家讀完就丟。

它明確不保證什麼

這是本篇最重要的一段,值得逐條說死。

它不證明畫面內容為真。 這是 analog hole:把一張假照片印出來或投在螢幕上,用 Pixel 10 拍下來,你會得到一份 Assurance Level 2、硬體簽章、時戳齊全、驗證全綠的憑證——內容照樣是假的。憑證忠實記錄了「這是一次真實的拍攝」,而那次拍攝拍的就是一張假圖。Nikon 事件則是更難堪的版本:連 analog hole 都不必繞,機身自己的功能就開了門。

沒有憑證不等於造假。 世界上絕大多數照片沒有、也不會有憑證。你手上的舊機身沒有,你朋友的手機沒有,十年前的檔案更不可能有。如果驗證工具的 UI 把「查無憑證」畫成紅色警告,它製造的就是一種新的階級偏誤——買得起新機身、付得起授權費的人才「可信」。這對接案攝影師和獨立記者的傷害,遠大於對造假者的嚇阻。

憑證被剝除是靜默的。 平台壓縮掉 manifest 之後,檔案不會留下任何「這裡曾經有過憑證」的痕跡。驗證器看到的就是一個乾淨的、沒有憑證的檔案。「從來沒簽過」和「簽過但被剝掉」在檔案層面無法區分——這正是後面 durable 那一套存在的理由。

assertion 的真假取決於簽署者誠實。 「這是 AI 生成的」是自陳,「這沒有用 AI」也是自陳。C2PA 證明的是「誰說的」,不是「說的是真的」。它是一套問責機制,不是一套偵測機制。

2026 年 4 月,UMBC 帶頭的研究團隊發表了第一份對 C2PA 核心協定的獨立形式化安全分析,結論相當不客氣:現行規格未達成其自身宣稱的安全目標,也未滿足任何可信賴的溯源系統所需的其他關鍵目標;在金融揭露、新聞、法律證據這類高風險用途上,不應過早依賴。這份報告值得完整讀一遍,尤其在被行銷話術淹沒之後。

Durable Content Credentials:三層冗餘,以及第二層的軟肋

既然 metadata 這麼容易被剝掉,Adobe 提出的解法是把溯源資訊分散到三層(CAI 稱為「三根支柱」,論文發表於 IEEE Computer Graphics and Applications):

第一層是密碼學 manifest,精確、可驗證、能承載完整的鏈,但脆弱,一次重新壓縮就沒了。第二層是隱形浮水印,Adobe 的實作叫 TrustMark(以 MIT 授權開源),把一個識別碼編進像素本身,能撐過重新壓縮、縮放,甚至截圖;識別碼撿回來之後,再去雲端資料庫查回完整 manifest。第三層是指紋:對畫面內容算出一組視覺特徵,並且把這組指紋簽進 manifest 裡。

三層互相補位的邏輯很清楚——metadata 被剝,浮水印救得回 ID;而浮水印可以被複製貼到別張圖上冒充,指紋比對就會發現畫面根本對不上。

但要誠實講第二層的極限。浮水印在對抗性環境下並不可靠。2025 年 IEEE S&P 發表的 UnMarker 是第一個通用、黑箱、不需訓練資料、不需偵測器回饋的攻擊,它的核心洞見是「穩健的浮水印必然把訊號建在頻譜振幅上」,於是直接針對頻譜下手。2025–2026 一連串研究也顯示,擴散模型的影像編輯本身就足以抹掉所謂穩健的隱形浮水印,往往還不需要任何針對性設計。所以第二層的正確定位是抗雜訊,而非抗攻擊:它處理的是平台壓縮這種無意的破壞,對付一個真心想拆掉它的人沒有用。

第三層也有代價:指紋比對要靠一個可查詢的雲端資料庫,目前主要是 Adobe 在營運。誰營運、資料留多久、公司哪天不做了怎麼辦,都是實實在在的問題。CAI 自己的論文把「跨多家供應商的分散式查詢」列為未來工作,等於承認現在還是中心化的。

接回昨天:C2PA 與 IPTC 是互補,不是替代

分工其實很乾淨。IPTC/XMP 回答「這張照片是關於什麼、誰拍的、誰授權、案件編號多少」;C2PA 回答「這些聲明是誰簽的、簽完之後有沒有被動過」。 一個是內容,一個是證據。沒有 IPTC,C2PA 簽的是一份空洞的收據;沒有 C2PA,IPTC 是一份誰都能改的自述。

但別以為裝上 C2PA 昨天的功課就不用做了。前面說過,大部分 EXIF 欄位可以被改而不破壞憑證。你的授權狀態要真的受保護,得確認你的工具把它做成 assertion 簽進 claim,而不是只留在檔案的中繼資料區段。這件事現在沒有統一答案,得自己驗一次。

至於對接案攝影師的實際效益,我不想灌水:現在很小。客戶不會驗,平台多半不顯示,相機端不是沒上市就是要付費授權,你的 Lightroom 輸出上傳到 Instagram 就什麼都不剩。目前真正有價值的場景只有四個:一是新聞與紀實供稿(通訊社已經開始把它寫進技術要求);二是法律、保險、鑑識類影像;三是 AI 訓練偏好宣告——這是眼下最實用的一項,因為它至少表達了立場,而且不需要對方驗證就有意義;四是自己歸檔時的完整性校驗。

實務工作流可以先這樣擺:拍攝端「有就開,沒有別為它換機身」;編輯端確認 Lightroom / Photoshop 的 Content Credentials 有開、輸出時 IPTC 一起帶著;交付端可以附上驗證連結,但授權條款一定要另外給人類可讀的文件,絕對不要把授權綁在憑證上——憑證會被剝掉,合約不會;歸檔端把原始檔、sidecar 與 manifest 一起存,並且自己算一份 SHA-256 清單。最後那一步最不性感,也最可靠:它不依賴任何廠商、任何雲端、任何信任清單,十年後你自己就能驗。

🧠 記

C2PA 的簽章證明的是「這份聲明由這個憑證持有者簽發,且簽發後位元沒動過」,不是「畫面內容為真」。

裁切調色之後憑證還在,是因為被重簽了一層並把舊的收為 ingredient;鏈的可信度等於鏈上每一個簽署者的可信度,不是原始拍攝者的。

硬體綁定保護的是金鑰,不是拍攝行為。Nikon Z6III 的多重曝光漏洞讓一張 AI 圖拿到有效機身簽章,最後所有已發憑證被撤銷——這證明晶片安全和產製鏈誠實是兩件事。

「無憑證」和「憑證被剝除」在檔案層面無法區分,而絕大多數照片本來就沒有憑證。任何把「查無憑證」渲染成可疑的 UI,都是在製造新的偏誤。

隱形浮水印是抗雜訊、不是抗攻擊。UnMarker 那類通用攻擊與擴散式重繪都能抹掉它,三層冗餘處理的是意外遺失而非蓄意破壞。

C2PA 不會自動保護你的 IPTC 授權欄位——除非工具明確把它們簽進 claim,大部分 EXIF 欄位改了憑證照樣有效。

✍️ 實踐

今天做一次「憑證存活測試」,大約 25 分鐘,重點不是把憑證加上去,是親眼看它在哪裡消失。

第一步,從 Lightroom 匯出一張 JPEG(先確認匯出設定裡的 Content Credentials 有開),丟進 contentcredentials.org/verify。記下你看到什麼:簽署者是誰、列了哪些 action、有沒有把你的 IPTC 欄位一起顯示出來。如果什麼都沒有,回去把設定打開再匯一次,兩張並排比較。

第二步,用 ExifTool 對那張有憑證的檔案改一個 IPTC 欄位(例如 -Credit="測試"),存成新檔,再驗一次。憑證還有效嗎?如果有效,你就親手證明了「憑證有效 ≠ 那個欄位受保護」——這一步比讀十篇文章有用。

第三步,把同一張分別上傳到你自己的 LinkedIn 貼文和 Instagram(可設私密或限動),再把平台上的版本下載回來,各驗一次。把結果寫成三行筆記:哪個平台保留、哪個剝除、哪個顯示。

第四步,對這批原始檔跑一次 shasum -a 256 *.NEF > checksums.txt,和 sidecar 放在一起歸檔。這是唯一一層不依賴任何人的保險。

🔗 延伸學習

💬 問 AI

我是接案攝影師,主要拍 [商業人像 / 活動紀實 / 建築],交付流程是:
[相機型號] 拍攝 → Lightroom Classic 調色 → 匯出 JPEG → 用 [Dropbox / WeTransfer / 客戶系統] 交付。
 
請針對「內容溯源」幫我做三件事:
 
1. 診斷:在我這條流程裡,C2PA 內容憑證會在哪一步產生、哪一步斷掉?
   如果我的機身根本不支援硬體簽章,軟體端(Lightroom)簽出來的憑證
   在信任等級上跟相機端差在哪?請具體說明差異,不要用「更安全」這種形容詞。
 
2. 界線:請明確列出「加了 C2PA 之後我仍然沒有得到的保證」,
   至少包含 analog hole、憑證被靜默剝除、assertion 自陳性這三點,
   並各給一個會發生在我實際工作裡的例子。
 
3. 取捨:以我的案型和客戶類型,現階段導入 C2PA 的實際效益有多大?
   如果效益不大,請直說,並告訴我把同樣的時間花在
   IPTC 授權欄位 / 交付合約 / 檔案完整性校驗 上,哪一項報酬率最高。
 
回答時請把「規格上寫了什麼」和「我的工具鏈實際做得到什麼」分開講。
任何關於機身或平台支援狀況的斷言,請附上可查證的來源與日期;
不確定的就標記為不確定,不要補完。