Microsoft Paint and Photos Invisible Watermarking Analysis
Microsoft Paint and Photos 將伺服器核發的 GUID 嵌入到 AI 生成圖像的像素中以確保來源可靠性,即使圖像生成過程是在裝置本地進行的。此機制透過遠端審核伺服器將最終圖像與特定的提示詞(prompt)和使用者帳戶連結,有效地在追蹤目的上繞過了生成過程的「本地」特性。
Remote Moderation and GUID Issuance
與使用者認為的本地生成不同,此過程並非完全離線。在 Copilot+ PC 上的本地 Stable Diffusion 模型運行之前,應用程式會將使用者的提示詞和風格發送到 Microsoft 審核伺服器 (/v1/paint-cocreator/moderate-prompt)。
伺服器會返回一個包含以下內容的 JSON 回應:
- 一個供本地模型使用的改寫後的提示詞 (revised prompt)。
- 一個 promptGenerationId (GUID)。
- 一個 watermarkId (GUID)。
這個 watermarkId 是隨後被嵌入到圖像像素和元數據中的關鍵識別碼。
The Invisible Watermarking Mechanism
Microsoft 使用專用的函式庫 Watermarker.dll 來嵌入 GUID。此過程是一種內容自適應、區塊域水印 (likely SVD-style) ,在選定的圖像區塊中對 RGB 像素進行微小的量化更改。
Technical Implementation
- Payload Construction: 16 位元的 GUID 被封裝成一個 18 位元的訊息,由前綴 (
0x4c)、GUID 以及一個位元組總和校驗碼 (byte-sum checksum) 組成。 - Embedding Process: 編碼器將圖像維度捨入到 8 像素的邊界,並使用 144 個計數器以確保負載 (payload) 的每一位元至少被放置三次以實現冗餘。
- Pixel Modification: 系統會修改大量的像素(例如,在 512x512 的圖像中,從 262,144 個像素中修改了 193,376 個),以隱形地嵌入識別碼。
- Failure Handling: 在 Microsoft Paint 中,如果
WmkWriteWatermark函式失敗,整個圖像生成過程會被視為錯誤,且圖像不會返回給使用者。
C2PA Metadata and Soft Binding
除了像素級水印,Microsoft 還在儲存的檔案中附加了 C2PA (Coalition for Content Provenance and Authenticity) 內容憑證。這建立了一個雙層來源可靠性系統:
- File-Level Manifest: 一個經簽署的 C2PA 清單 (manifest) 被嵌入在檔案中(例如,在 PNG 的
caBXchunk 中)。此清單明確地在c2pa.soft-binding欄位中列出watermarkId。 - Pixel-Level Watermark:
watermarkId透過Watermarker.dll直接嵌入到像素中。
這種「軟性綁定」(soft binding) 使得圖像即使在檔案層級的元數據被移除時,仍能與其來源記錄進行比對。為了保留這些元數據,Paint 將 AI 生成圖像的儲存限制在與 C2PA 相容的格式:PNG, JPEG, GIF, 以及 .paint。傳統格式如 BMP 被禁用,因為它們無法嵌入清單。
Comparison: Cloud vs. Local Paths
Microsoft 根據使用的硬體和功能,採用兩種不同的生成路徑:
| Path | Process | Watermarking Location |
|---|---|---|
| Cloud (Image Creator) | Prompt $\rightarrow$ Cloud Generation $\rightarrow$ Cloud Watermarking $\rightarrow$ Finished Image returned to Paint | Server-side |
| Local (Cocreator) | Prompt $\rightarrow$ Remote Moderation $ | |
| ightarrow$ Local NPU Generation $ | ||
ightarrow$ Local Watermarker.dll $ |
||
| ightarrow$ Online Signing | Client-side |
Community Insights and Privacy Implications
技術分析與社群群組討論突顯了幾個關鍵的隱私與透明度疑慮:
"The GUID is the giveaway that it's not about protecting artists, it's about being able to prove provenance later. nobody embeds a unique id in a local file for the user's benefit."
社群提出的關鍵點包括:
- False Sense of Control: Paint 設定中的可見水印切換開關僅控制 Copilot logo;它並不禁用隱形 GUID 水印。
- Account Linking: 因為 GUID 是在驗證使用者工作階段並扣除 AI 點數後由伺服器核發的,因此水印可以被連結回特定的 Microsoft 帳戶和提示詞。
- Comparison to Printer Tracking: 使用者將此與「黃點」(printer tracking dots) 進行了比較,即硬體產生使用者無法禁用的識別標記。
- Regulatory Drivers: 一些觀察者指出,這可能符合 EU AI Act (Article 50) 的透明度要求,即要求 AI 生成的內容必須是機器可讀的。
Conclusion
雖然 Microsoft 披露了 C2PA 元數據的使用以及遠端內容過濾,但它並未明確告知使用者,一個唯一的、由伺服器核發的 GUID 會被嵌入到本地生成的圖像像素中。此機制確保了「本地生成」在審核與識別目的上,始終與 Microsoft 的雲端基礎設施保持連結。
Sources
相關
- Dispatch
- Dispatch
- 專案
- Dispatch
- Dispatch