原文恕刪
因為覺得兒童色情及用戶隱私是相當重要的議題,但使用者對於其技術的誤解容易造成議
題失焦,所以希望透過這篇回文拋磚引玉吸引更多人的討論,也懇請各位大神對於我說錯
的地方不吝指教QQ。
在討論運作方式前,先來看看幾個技術文件提到的大前提XD
1. 蘋果不會知道任何 unmatched 照片的任何資訊。
2. 除非到達一定的閥值,蘋果不會取得任何 matched 照片的 metadata 或視覺資訊。
3. 系統誤判的機率非常的低(文件下方說誤判帳號的機率是一兆分之一),且每個被點
名的嫌疑帳號都會被人工審核後才回報給 NCMEC。
首先,先從官方的技術文件來了解系統的大致的運作方式。蘋果並不是單純的用
AI 影像辨識的方式偵測,而是在先本機取得圖片的 NeuralHash 值後跟資料庫中已知
的雜湊值比對,且比對的動作是在本機執行。比對的結果也會經過加密後才上傳到
iCloud,故在解密之前連蘋果也不知道比對的結果與內容,要直到達到一定的閥值後蘋果
才會將 matched 的照片解密並將帳戶回報給 NCMEC。其步驟可以參考下方圖片。
https://imgur.com/Cwn2828
那麼,這個做法跟單純的 AI 影像辨識究竟有何不同?有人會誤以為蘋果是運用大量的兒
童色情圖片訓練出一個分類模型來判斷照片是否屬於兒童色情。然而,蘋果並不是用這樣
的方式來判斷圖片「像不像」兒童色情,其技術中的神經網路只是用來提取圖片的特徵值
(描述符 descriptor),特徵值經過雜湊後再與「已知的」非法圖片進行比對,而匹配與
否是看有無與已知的圖片「近乎相同」(nearly identical)。所以它的概念比較
類似以圖搜圖,而不是 google 相簿的場景/人物辨識。故重點在於已知的資料庫內容
,理論上要明確被列入資料庫的非法照片才有可能 match。
至於到底什麼樣的照片叫做「近乎相同」?根據蘋果的技術文件,原始圖片即使
經過輕度的裁切、變形、灰階化、改變解析度,甚至轉檔,都會被視為與原圖近乎相同
,換句話說,修改後的圖片會與原圖產生相同或相似的雜湊值。下圖即是技術文件內
的例子。
https://imgur.com/nRmh7z5
但是,即便兩張圖片視覺上看起來相同,它們依舊是不同的兩張圖片,怎麼會產生相同或
相似的雜湊值?這有兩個關鍵的地方,其一是提取圖片描述符(descriptor)所使用的神經
網路。從文件可以得知,蘋果使用自監督學習(self-supervised training)的方式來訓練
模型。模型的 input data 非常簡單,共有兩種組合,第一種是由原圖與稍微修改的原圖
形成的組合(original/perturbed pair);第二種是由原圖以及一張與原圖不相同的圖片
形成的組合(original/distractor pair)。而模型的目標是遇到相似的圖片組合時產生相
似的描述符,反之在遇到不相似的圖片組合時要產生不同的描述符。總之,這個神經網路
被訓練成在遇到近乎相似的圖片時會產生相似的描述符。
然而,有相似的描述符還不夠,第二個關鍵是取得描述符後會使用 LSH (Locality-
sensitive hashing) 算法進行雜湊,這部分請參考此篇 #1X3huscy (MobileComm) ,
簡單來說相似的輸入值會有高機率被 hash 到相同的 bucket,這就是為什麼近乎相同的
圖片會產生相同的 NeuralHash。
以下是幾個我覺得很有趣問題,也附上我的看法,如有說錯請大大多多指教
Q1: 蘋果要怎麼判斷照片是未成年的?如果自拍小 GG 會不會被誤判?
A1: 如第一段所述,蘋果並不是用 AI 來判斷圖片「像不像」未成年,所以圖片看起來像
不像未成年並不重要,重要的是有無與資料庫匹配。
Q2: 家長拍攝自家小孩的照片會不會被誤判持有兒童色情?
A2: 其判斷的重點在於已知的資料庫內容,除非家長拍的照片被列入資料庫,不然理論上
不會因此誤判。
Q3: 那麼二次元的部分呢?
A2: 如同Q2,除非哪天 NCMEC 把二次元視為兒童色情並將圖片列入資料庫中,不然不會
因此誤判。
Q4: 廢話這麼多?所以蘋果到底有沒有掃描且看過我的相簿?
A4: Well..yes, but actually no。蘋果確實在「本機」掃描了圖片,但是掃描得到的描
述符、NeuralHash,與判斷結果都會以加密的方式上傳到 iCloud,所以除非是超過閥值
而被解密的照片,不然蘋果不會知道任何 unmatched 圖片的 metadata 或視覺上的訊,
也就是說,蘋果並沒有「看過」你的照片。
Q5: 這樣看來蘋果有解密照片的能力,那加密不就是唬爛的嗎?
A5: 該加密技術是採用 PSI 加密協議(原理好複雜我也還沒完全看懂XD),但就我的理
解,蘋果解密圖片需要兩把鑰匙,其中一把鑰匙為伺服器持有,而另一把在本機計算
NeuralHash 時產生,然而,本機所產生的鑰匙只有在圖片 matched 時才是有效的鑰匙,
換句話說,圖片在 unmatched 的情況下本機產生的鑰匙是無效的,所以蘋果沒辦法單方
面解密照片。
總結來說,我覺得蘋果這個做法在保護未成年的部分是立意良善,也儘可能做到維護使用
者的隱私,但仍有幾個需要探討的點:
1. 蘋果如何保證這個機制只會用來偵測兒童色情?這整個機制最重要的部分就是資料庫
的內容,只要放入資料庫的照片就能夠被偵測到。也就是說,如果有政府單位或是其他組
織要求在資料庫放入其他照片,那麼這個機制便可能淪為政府內容審查的工具,蘋果要如
何保證這點?
2. 繼然被點名的帳戶會經過蘋果的人工審查,那麼蘋果是否會保證審查人員的心理健康
?且人工審核時審查人員是否知道照片與帳戶持有人之間的關聯?
3. 所有機制都會有誤判的時候,那麼遇到 false positive 時會如何處理?