EXIF 地理標記的隱藏威脅:數位相機如何暴露您的實體位置
用現代智慧型手機或專用數位相機拍攝的每張數位照片都包含一個不可見的輔助有效載荷,稱為EXIF 元資料(可交換影像檔案格式)。 EXIF 由 JEITA(日本電子和資訊技術工業協會)標準化,最初旨在透過保留曝光參數(光圈、快門速度、ISO 感光度和鏡頭焦距)來幫助攝影師、照片編輯和印刷實驗室。
然而,隨著行動裝置內大規模採用 GPS、Galileo 和 GLONASS 導航晶片組,相機韌體開始附加精確的衛星座標(緯度、經度和海拔)直接進入圖像標題。當您在客廳、陽台或後院拍照時,圖像檔案會永久標記您的家庭座標,精確到範圍內3至5米.
EXIF 段的技術剖析:APP1 標記和 TIFF 位元組順序
在標準 JPEG 影像檔案中,二進位資料以 2 位元組影像開始標記開始0xFFD8(SOI)。應用程式特定的元資料嵌入到標記為的專門段中APP0 至 APP15。 EXIF 元資料僅駐留在APP1 標記(0xFFE1):
- 標記和長度:
0xFFE1後面跟著一個 2 位元組無符號整數,聲明該段的總位元組大小。 - 標頭簽名:6個位元組包含
45 78 69 66 00 00— ASCII 字串"Exif"後面跟兩個空位元組。 - TIFF 標頭:8 個位元組聲明位元組順序。如果前兩個位元組是
0x4949(Intel、Little-Endian、最低有效位元組在前)或0x4D4D(摩托羅拉、Big-Endian、最高有效位元組在前),然後是魔術常數42(0x002A),以及指向主影像檔案目錄 (IFD0) 的 4 位元組指標。 - IFD 目錄:IFD0 連結到二級子目錄,包括ExifIFD(標籤
0x8769)用於光學曝光指標,以及GPSInfo IFD(標籤0x8825)用於地理位置記錄。
無損 EXIF 剝離與有損 Canvas 重新壓縮
許多基本的線上工具透過將照片渲染到 HTML5 上來剝離元數據<canvas>元素和調用canvas.toDataURL('image/jpeg')。雖然此方法會丟棄元資料標頭,但它會強制整個影像通過有損 JPEG 解壓縮和重新編碼過程。這會引入明顯的壓縮偽影、色度子取樣退化並改變像素亮度值。
FlashSoft 的線上 EXIF 剝離器執行純二進制段剝離直接在原始文件位元組緩衝區上。它透過手術切除了 APP1 (EXIF/XMP)、APP2 (ICC)、APP13 (Photoshop/IPTC) 和 COM 標記,同時保留量化表 (DQT)、霍夫曼表 (DHT)、幀開始 (SOF0/SOF2) 和掃描開始 (SOS) 熵負載不變。由此產生的乾淨影像保持100% 逐位光學保真度具有零壓縮損失。