在過去的 iOS 版本中,應用可以隨意掃描本地網路中的裝置,因此應用就可以很輕鬆地得到本地網路裡所有裝置的名稱和 MAC 地址。MAC 地址是一種確認網路裝置位置的地址,每個網絡卡都有一個唯一的 MAC 地址,加上 MAC 地址也具有唯一性,裝置廠商會按照一定的規律分配 MAC,所以不同的區域網都是獨一無二可以識別的。
這樣就透過 MAC 地址和裝置的名字以生成一個特定的「指紋」,持續地、跨應用地、跨裝置地跟蹤使用者的行為,並對使用者畫像持續進行調整。
比方說,你從線下渠道買了個新相機,拍完照片利用相機自帶的 Wi-Fi 將照片匯入到手機上。這時候帶有某個推廣模組的應用對區域網發起了一次掃描,識別到了一個新的裝置,推廣模組會將相機的 MAC 地址上傳了雲端,進行簡單的識別對比以後,很容易知道這個 MAC 地址屬於相機。這樣帶有推廣模組的應用都會在畫像裡給你加上「相機使用者」這樣的標籤,當你下次開啟帶有同一個推廣模組的購物應用時,你就會看到推薦了一堆和相機有關的東西。
從 iOS 13 開始,應用想要獲得當前連線到的 Wi-Fi 名稱,那就必須要獲得定位許可權。因為透過識別 Wi-Fi 名稱, 應用就能輕鬆地在你和周圍的人之間建立大資料網路。但是不給定位許可權不代表應用就沒有辦法跟蹤你了,因為應用可以透過本地網路裡的裝置進行跟蹤。
space
可以透過 MAC 地址識別特定的區域網
在過去的 iOS 版本中,應用可以隨意掃描本地網路中的裝置,因此應用就可以很輕鬆地得到本地網路裡所有裝置的名稱和 MAC 地址。MAC 地址是一種確認網路裝置位置的地址,每個網絡卡都有一個唯一的 MAC 地址,加上 MAC 地址也具有唯一性,裝置廠商會按照一定的規律分配 MAC,所以不同的區域網都是獨一無二可以識別的。
這樣就透過 MAC 地址和裝置的名字以生成一個特定的「指紋」,持續地、跨應用地、跨裝置地跟蹤使用者的行為,並對使用者畫像持續進行調整。
比方說,你從線下渠道買了個新相機,拍完照片利用相機自帶的 Wi-Fi 將照片匯入到手機上。這時候帶有某個推廣模組的應用對區域網發起了一次掃描,識別到了一個新的裝置,推廣模組會將相機的 MAC 地址上傳了雲端,進行簡單的識別對比以後,很容易知道這個 MAC 地址屬於相機。這樣帶有推廣模組的應用都會在畫像裡給你加上「相機使用者」這樣的標籤,當你下次開啟帶有同一個推廣模組的購物應用時,你就會看到推薦了一堆和相機有關的東西。
space
程式 A 在和相機交換資料時,程式 B 也可以掃描這個相機
所以在 iOS 14 裡,Apple 開始對本地網路許可權做出了更加嚴格的限制。
哪些 App 需要開本地網路許可權
那麼到底哪些 App 我們需要給本地網路許可權呢?
就大部分應用而言,它們都不需要給本地網路許可權。因為它們沒有功能會使用到本地網路,請求這個許可權的主要目的就是為了跟蹤使用者並推送廣告。
HomeKit、AirDrop、AirPlay 和 AirPrint 都是不需要網路許可權的
使用 HomeKit、AirDrop、AirPlay 和 AirPrint 的應用也不需要給出本地網路許可權,使用這類 API 的時候蘋果會以保護隱私的前提下傳輸和交換資料。
智慧家居 App(非 HomeKit 型,比如米家等)、線上流媒體投屏類 App (比如 Spotify、騰訊影片等)會相對複雜一點:配對時需要授予許可權,控制時可以選擇性授予許可權。
配對智慧家居和電視時,對應的 App 只有先在本地找到對應的裝置,才能進行配對,所以這個過程是必須要授予本地網路許可權的,配對完成以後大部分的智慧家居服務會把裝置記錄到雲端。
而到了控制時,由於在雲端存有智慧家居的資訊,使用者在控制時 App 會先嚐試從本地提交請求,如果無法連線的話再從雲端向裝置推送請求,即可以選擇性授予許可權