楊 楊,韓星周,郝 哲,張樹彬,秦 達,楊求鳳
(1.中國人民公安大學(xué)偵查學(xué)院,北京 100038;2.公安部鑒定中心,北京 100038)
近年來,電子文件在日常生活中扮演著十分重要的角色,逐漸發(fā)展成為信息的重要載體。其中數(shù)字圖像在新聞媒體、司法偵察等領(lǐng)域中都起著十分重要的作用[1]。如今,隨著智能手機的普及和應(yīng)用,幾乎所有的手機都內(nèi)置了數(shù)碼相機,手機拍照成為生成數(shù)字圖像最普遍的方式之一,隨之而來的是犯罪分子利用手機拍照造成侵權(quán)案件的增多。而且,對于涉及秘密信息的企事業(yè)單位,很多重要的文件也可能通過手機拍照并通過即時通信軟件傳輸而泄露出去[2]。手機拍攝照片所包含的信息可以為公安機關(guān)偵查破案提供重要的線索,因此對手機拍攝照片的溯源對公安機關(guān)十分重要。
數(shù)字圖像多表現(xiàn)為雙重性質(zhì)。首先是其文件的內(nèi)容,可對照片所呈現(xiàn)的內(nèi)容進行鑒定,全國刑標(biāo)委已經(jīng)發(fā)布并于2022年5月1日實施的GA/T 1954-2021《法庭科學(xué) 印刷品來源檢驗規(guī)范》對其進行了明確的檢驗規(guī)范。圖片中的內(nèi)容特征,可以提供豐富的信息,比如大慶油田照片泄露的案件,不法分子就是利用照片的內(nèi)容推測大慶油田的儲存油量[3]。其次這類文件本質(zhì)為電子數(shù)據(jù),MD5值是保障電子數(shù)據(jù)完整性和真實性的重要手段,它是MD5算法將任意一個長度的數(shù)據(jù)經(jīng)過編碼得到一個128位的哈希值[4],在案件取證以及鑒定過程中有重要意義。胡永健[5]提出一種利用成像傳感器模式噪聲主要分量信息進行源數(shù)碼相機設(shè)備辨識的新方法。孫福友[6]優(yōu)化了基于粉塵特征的圖像溯源和基于模式噪聲的圖像溯源的算法,提高了檢測的準(zhǔn)確率。但上述方法過于復(fù)雜,不適用于公安工作。黃一青[7]提出在案件偵查中應(yīng)用數(shù)碼照片的EXIF信息。劉濤等[8]分析了常見的旋轉(zhuǎn)操作對照片EXIF信息的影響。滿超等[9]提出分析手機拍攝照片的屬性信息,得到犯罪嫌疑人常去的地理位置,描繪出犯罪路徑。但以上研究只分析了手機拍攝照片的屬性信息,沒有研究照片經(jīng)互聯(lián)網(wǎng)傳輸后的屬性信息。因此本文提出通過照片分辨率來推斷照片的傳輸方式、拍照手機的系統(tǒng)、鏡頭的像素及可能的品牌型號的檢驗思路。
微信是由騰訊公司開發(fā)的一款即時通信軟件,用戶可以使用微信發(fā)送文字、圖片、文件等?,F(xiàn)階段微信已經(jīng)發(fā)展為中國最主流的即時通信軟件。伴隨手機拍攝功能的提升,由手機拍照通過微信傳輸泄露信息的案件隨之增多。
微信是基于C/S架構(gòu)的軟件,即客戶端/服務(wù)器架構(gòu)。了解微信傳輸照片的原理有助于對泄露照片的可溯源性研究(見圖1)。
圖1 微信傳輸照片原理示意圖Fig.1 Schematic for WeChat to send photos
用戶A發(fā)送一張照片給用戶B,微信會將照片通過互聯(lián)網(wǎng)上傳到文件服務(wù)器,文件服務(wù)器返回一個地址給用戶A,用戶A將這個地址以數(shù)據(jù)包的形式通過IM服務(wù)器發(fā)送給用戶B。用戶B拿到數(shù)據(jù)包后,會根據(jù)地址從文件服務(wù)器下載這張照片。
微信目前不支持傳輸heif格式的照片,如果發(fā)送heif格式的照片,微信會強制將照片1∶1轉(zhuǎn)化為jpg格式的照片。由于騰訊公司沒有公布微信壓縮照片的算法,因此只能通過實驗,根據(jù)原圖與壓縮圖的關(guān)系逆向推算出圖片壓縮算法。
7部安卓系統(tǒng)手機:榮耀60、小米10、OPPO Reno4 PRO、OnePlus 8 Pro、紅米 K40、紅米Note9、Vivo X9;4 部鴻蒙系統(tǒng)手機:榮耀X2、華為Mate40、榮耀9X、華為Mate 30 5G;7部IOS系統(tǒng)手 機:iPhone 7、iPhone 8、iPhone XS Max、iPhone XR、iPhone 11、iPhone 12、iPhone 13。
微信8.0.22、ACDSee2020、電腦(拯救者Y7000,系統(tǒng)為Windows11)。
通過上述18部手機的相機拍攝三種比例的照片,分別是:默認條件下4∶3的照片、1∶1的照片和全屏照片。收集到的實驗樣本見表1。
表1 手機品牌及拍攝照片分辨率Table 1 The brands of 18 mobile phones and their resolution with photo
2.3.1 圖片傳輸方式
本研究采用三種不同的方式傳輸照片,研究照片經(jīng)微信傳輸前后分辨率的變化規(guī)律。實驗中發(fā)送的照片用手機相機拍攝后,不進行任何編輯操作。
方式一(下稱原圖發(fā)送):在微信聊天界面“+”點擊“相冊”,選中要發(fā)送的照片,以勾選原圖的方式傳輸;
方式二(下稱壓縮發(fā)送):在微信聊天界面“+”點擊“相冊”,選中要發(fā)送的照片,以不勾選原圖的方式傳輸;
方式三(下稱分享發(fā)送):在手機相冊或圖庫中,選中要發(fā)送的照片,點擊分享,選擇微信進行傳輸。
2.3.2 實驗設(shè)計
實驗一:比較微信傳輸前后照片信息。將三種不同比例的照片,以三種不同的方式通過微信發(fā)送到華為Mate30上,將照片保存到手機,手機連接至電腦,通過ACDSee查看屬性信息,讀取照片的分辨率,查看照片的MD5值。
實驗二:驗證手機系統(tǒng)對傳輸照片信息的影響。將三種不同比例的照片,以三種不同的方式通過微信發(fā)送到iPhone XS Max,將照片保存到手機,手機連接至電腦,通過ACDSee查看屬性信息,讀取照片的分辨率,查看照片的MD5值。
實驗三:驗證多次傳輸對照片分辨率的影響。本實驗選擇三部不同的手機,隨機選擇實驗二樣本中的5張照片,以三種不同的方式,在3部手機之間通過微信發(fā)送。每次接收照片,將照片保存到手機上,并讀取照片的分辨率,查看每次保存照片的MD5值。
從收集到的實驗樣本來看,安卓或鴻蒙系統(tǒng)手機拍攝后默認保存照片的后綴名均為.jpg,照片的屬性信息包括分辨率、相機制造商、相機型號等,不同款手機拍攝照片的屬性信息不同。而iPhone手機拍照后默認保存照片的后綴名為.heic,屬性信息包括設(shè)備制造商、設(shè)備型號以及鏡頭型號等。
實驗中按比例拍攝得到的照片,照片分辨率的高度像素與寬度像素也成相應(yīng)的比例。如榮耀60拍攝 1∶1照片分辨率為2 928×2 928,4∶3照片的分辨率為3 904×2 928,且2 928∶2 928=1∶1,3 904∶2 928=4∶3。
根據(jù)調(diào)查發(fā)現(xiàn),現(xiàn)在市面上的手機為了提升感光能力,大多手機會使用像素合成技術(shù)[10-11]。對比所拍攝照片的分辨率與其拍攝手機攝像頭的最高像素發(fā)現(xiàn),18款手機明顯分為三種類型(下文公式中S為手機鏡頭最高像素,l1為分辨率中較小值,l2為分辨率中較大值):
1)實驗中的iPhone系列手機,以及Vivo X9均采用原生大像素,如Vivo X9,當(dāng)拍攝默認比例為4∶3的照片時,其分辨率為4 608×3 456,達到15 925 248像素,約等于手機鏡頭的最高像素1 600萬。當(dāng)拍攝比例為1∶1、4∶3照片時,手機鏡頭最高像素與照片分辨率的關(guān)系是:S≈(4l12)/3;當(dāng)拍攝全屏照片時,手機鏡頭最高像素與照片分辨率的關(guān)系是:S≈(3l22)/4。
2)2021年發(fā)布的榮耀60采用像素九合一技術(shù)。當(dāng)拍攝默認比例4∶3照片時,其分辨率為3 904×2 928,達到11 430 912像素。榮耀60的鏡頭最高像素為10 800萬,約等于拍攝照片分辨率的9倍。當(dāng)拍攝比例為1∶1、4∶3照片時,手機鏡頭最高像素與照片分辨率的關(guān)系是:S≈12l12;當(dāng)拍攝全屏照片時,手機鏡頭最高像素與照片分辨率的關(guān)系是:S≈(27l2
2)/4。
3)其余手機均采用主流的像素四合一技術(shù)。如華為Mate40,當(dāng)拍攝默認比例為4∶3的照片時,其分辨率為4 096×3 456,達到14 155 776像素。華為Mate40的鏡頭最高像素為5 000萬,約等于拍攝照片分辨率的4倍。當(dāng)拍攝比例為1∶1、4∶3照片時,手機鏡頭最高像素與照片分辨率的關(guān)系是:S≈(16l12)/3;當(dāng)拍攝全屏照片時,手機鏡頭最高像素與照片分辨率的關(guān)系是:S≈3l22。
MD5值是保證電子數(shù)據(jù)不變的可靠證明,MD5值不變表明數(shù)據(jù)不變,MD5值改變則表明數(shù)據(jù)發(fā)生了改變。在以上實驗中,發(fā)送鴻蒙或安卓系統(tǒng)手機拍攝的原圖,MD5值不變。如Vivo X9拍攝的照片通過微信以原圖方式發(fā)送到華為Mate30上并保存,照片的MD5值如圖2所示。
圖2 Vivo X9微信原圖方式發(fā)送的照片MD5值(左:Vivo X9拍攝原照片;右:華為Mate30接收照片)Fig.2 MD5 value of photo sent in original mode by Vivo X9 (Left: taken by Vivo x9; Right: received with Huawei Mate30)
將IOS手機拍攝的照片通過微信發(fā)送原圖,或任意系統(tǒng)的手機分享或壓縮方式發(fā)送的照片,MD5值均會改變,表明文件數(shù)據(jù)發(fā)生了變化,與原文件不同。如iPhone XS Max拍攝照片通過微信以原圖方式發(fā)送到華為Mate30上并保存,照片的MD5值如圖3所示。
圖3 iPhone XS Max微信原圖方式發(fā)送的照片MD5值(左:iPhone XS Max拍攝原照片;右:華為Mate30接收照片)Fig.3 MD5 value of photo sent in original mode by iPhone XS Max (Left: taken by iPhone XS Max; Right: received with Huawei Mate30)
3.3.1 通過原圖發(fā)送
1)安卓或鴻蒙手機之間一次/多次發(fā)送。這種情況照片的MD5值不變,文件本身沒有發(fā)生變化。因此照片的后綴名不變,屬性信息均與原圖保持相同,照片的分辨率也不變,如圖4a、4b所示。
2)IOS手機之間一次/多次發(fā)送。這種情況下照片MD5值變化,說明文件已經(jīng)發(fā)生了改變。照片的后綴名均由. heic變?yōu)?jpg,屬性信息均不存在,如圖5a、5b所示,但分辨率不變。
3)三種系統(tǒng)手機之間一次/多次發(fā)送。安卓或鴻蒙手機發(fā)到IOS手機,接收照片屬性信息均與原圖保持相同,如圖4c所示,因此照片的分辨率不變,也均與原圖相同;IOS手機發(fā)到安卓或鴻蒙手機的原圖,屬性信息均不存在,如圖5c所示,但是分辨率不變;不同系統(tǒng)手機之間多次發(fā)送照片文件,分辨率均不變。
圖4 華為Mate30拍攝照片并以原圖發(fā)送后的屬性信息(a:原圖屬性信息;b:安卓/鴻蒙手機接收照片屬性信息;c:iPhone接收照片屬性信息)Fig.4 Attribute information of a photo taken by Huawei Mate30 and sent in the mode of original image (a: original photo’s; b: that of the photo received through Android/Harmony; c: that of the photo received with iPhone)
圖5 iPhone XS Max拍攝照片并以原圖發(fā)送后的屬性信息(a:原圖屬性信息;b:iPhone接收照片屬性信息;c:安卓/鴻蒙手機接收照片屬性信息)Fig.5 Attribute information of a photo taken by iPhone XS Max and sent in the mode of original image (a: original photo’s; b: that of the photo received through iPhone; c: that of the photo received with Android/Harmony)
3.3.2 通過分享、壓縮發(fā)送
1)安卓或鴻蒙手機之間一次/多次發(fā)送
實驗一中11部安卓或鴻蒙系統(tǒng)手機以壓縮、分享方式發(fā)送,由華為Mate30接收得到照片的后綴名不變,屬性信息均不存在,得到照片的分辨率如表2所示。由實驗結(jié)果可知,1∶1照片經(jīng)過壓縮傳輸后分辨率均為1 280×1 280,4∶3照片經(jīng)過壓縮傳輸后分辨率大部分為1 706×1 279,對于全屏照片來說,被壓縮后的較小值為1 279。其中較為特殊的2款,紅米Note9(4800萬像素)拍攝4∶3照片壓縮傳輸后分辨率為1 711×1 279,小米10(1億像素)拍攝4∶3照片壓縮傳輸后分辨率為1 280×959。手機之間多次發(fā)送時,照片的分辨率不會改變,與第一次發(fā)送得到照片的分辨率相同。
表2 安卓或鴻蒙手機以壓縮、分享方式發(fā)送照片分辨率變化(華為Mate30接收)Table 2 Changed resolutions of photos transmitted by Android/Harmony-equipping mobile phones in the mode of compression or sharing(received by Huawei Mate30)
2)IOS手機之間一次/多次發(fā)送
實驗二中7款I(lǐng)OS手機以壓縮、分享方式發(fā)送,由iPhone XS Max接收得到照片的后綴名由.heic變?yōu)?jpg,屬性信息均不存在。以壓縮、分享方式傳輸?shù)玫秸掌姆直媛嗜绫?所示。
表3 IOS手機以壓縮、分享方式傳輸照片分辨率變化(iPhone XS Max接收)Table 3 Changed resolutions of photos transmitted by iPhone in the mode of compression or sharing (received by iPhone XS Max)
實驗結(jié)果可知,1∶1照片經(jīng)過壓縮的分辨率為 1 276×1 276,4∶3照片經(jīng)過壓縮的分辨率為1 702×1 276,全屏照片經(jīng)過壓縮的分辨率為2 275×1 279。手機間多次發(fā)送時,照片的分辨率不會改變,與第一次發(fā)送得到照片的分辨率相同。
3)不同系統(tǒng)之間一次/多次發(fā)送
不同系統(tǒng)之間發(fā)送包括實驗一中由7款I(lǐng)OS手機發(fā)送至華為 Mate30,與實驗二中由11款安卓或鴻蒙系統(tǒng)手機發(fā)送至iPhone XS Max,得到照片的分辨率結(jié)果如表4所示。實驗結(jié)果表明,不同系統(tǒng)之間以壓縮、分享方式發(fā)送的照片,分辨率的變化具有一定的規(guī)律,但與相同系統(tǒng)之間傳輸?shù)慕Y(jié)果存在細微的差別。
表4 不同系統(tǒng)手機之間以微信壓縮、分享方式單次傳輸照片分辨率變化Table 3 Changed resolutions of photos transmitted in the mode of compression or sharing by phones equipped with different systems
實驗中11部安卓或鴻蒙系統(tǒng)手機的原圖以壓縮、分享發(fā)送至iPhone XS Max,1∶1照片經(jīng)過壓縮傳送后分辨率均為1 280×1 280;4∶3照片經(jīng)過壓縮傳 輸后分辨率大部分為1 706×1 280;對于全屏照片來說,被壓縮后的較小值為1 280。其中較為特殊的2款,紅米Note9(4800萬像素)拍攝4∶3照片壓縮傳輸后分辨率為1 712×1 280,小米10(1億像素)拍攝4∶3照片壓縮傳輸后分辨率為1 280×960。 實驗中7款I(lǐng)OS手機的照片通過微信以壓縮、分享發(fā)送至華為Mate30,照片分辨率與IOS同系統(tǒng)手機之間傳輸結(jié)果一致。
在實驗三中,以壓縮、分享方式經(jīng)微信在不同系統(tǒng)之間多次發(fā)送照片的分辨率變化如表5所示。實驗中,以壓縮、分享方式通過微信多次發(fā)送時,每張照片的分辨率均與第一次發(fā)送得到的分辨率相同。
表5 不同系統(tǒng)手機間以微信壓縮、分享方式多次傳輸照片分辨率變化Table 5 Changed resolutions with photos transmitted of multiple times by system-different phones in the mode of compression or sharing
1)當(dāng)安卓或鴻蒙系統(tǒng)的手機選擇原圖方式發(fā)送時,MD5值不會改變,說明文件沒有變化,接收的圖片與源圖片相同,因此其屬性信息均與源照片保持一致,分辨率也不會改變。通過圖片的屬性信息和分辨率可以對拍攝手機進行推斷。比如,在圖片的屬性信息中,分辨率為4 096×3 072,照相機制造商為HUAWEI,可根據(jù)照片分辨率與手機鏡頭最高像素關(guān)系,推測拍攝手機鏡頭的最高像素為5 000萬,且相機制造商為HUAWEI,根據(jù)統(tǒng)計的結(jié)果,滿足以上條件的拍攝手機可能為華為 Mate40。
2)在實驗一中,iPhone手機拍攝照片經(jīng)微信發(fā)送,圖片的后綴名由.heic變?yōu)?jpg;實驗二中,iPhone手機接收來自華為Mate30發(fā)送的照片,圖片的格式不會改變。iPhone手機拍攝照片默認保存的格式為heif,雖然會節(jié)省存儲空間,但微信不兼容heif格式的照片,所以heif格式的照片會被1∶1強制轉(zhuǎn)化為jpg格式的照片。因此iPhone手機發(fā)送原圖時,MD5值發(fā)生改變,照片的屬性信息不保留,但分辨率的大小不會發(fā)生變化。
3)以壓縮和分享方式通過微信發(fā)送得到照片的分辨率相同,但MD5值不同。通過以三上個實驗,表明照片分辨率被壓縮具有一定的規(guī)律性:當(dāng)照片的分辨率寬和高均大于1 280時,取較小的像素等于1 280,較大像素值按等比例壓縮;當(dāng)照片分辨率的寬和高有一個值小于等于1 280時,則圖片的尺寸保持不變。因此在實驗三中,經(jīng)過第一次傳輸分辨率被壓縮后,雖然多次傳輸照片的MD5值一直變化,但照片的分辨率不會改變。但以上規(guī)律在實際情況中的表現(xiàn)會有細微的差別,且存在少部分不適用的情況,如:在實驗中小米10拍攝4∶3照片較為特殊,是將較大值定為1 280,較小值等比例壓縮。
以上規(guī)律可以為照片溯源提供一定的理論支持,比如:有一張泄密照片分辨率為1 711×1 279,可以推測,這張照片可能是由安卓或鴻蒙系統(tǒng)的手機拍攝的 4∶3照片,由微信通過聊天框內(nèi)選擇相冊不勾選原圖發(fā)送得到。根據(jù)實驗中統(tǒng)計的結(jié)果,可能為紅米Note9所拍攝的照片。
本文重點從手機拍攝照片的分辨率以及經(jīng)過微信傳輸后分辨率變化的角度出發(fā),探討了基于分辨率特征的微信傳輸照片文件的可溯源性。從結(jié)果和對比分析中可以得出:安卓或鴻蒙系統(tǒng)的手機拍攝照片通過微信發(fā)送原圖,文件數(shù)據(jù)不會改變,照片屬性信息均與原照片保持一致。若IOS手機拍攝照片通過微信發(fā)送原圖,文件數(shù)據(jù)改變,照片屬性信息均不保留,但分辨率與原照片相同;若以壓縮或分享方式發(fā)送照片,文件數(shù)據(jù)改變,照片的分辨率按一定的規(guī)律被壓縮。由于本文在研究過程中僅僅選擇了18款手機,實驗結(jié)果僅僅代表研究對象所呈現(xiàn)出特征的總結(jié)。本文總結(jié)出照片分辨率的變化規(guī)律,可以對推斷照片傳輸?shù)陌l(fā)送方式、拍照手機可能的品牌和型號提供合理的判斷依據(jù),為照片文件的溯源檢驗提供了重要的支撐,本文的研究具有較強的實戰(zhàn)價值。