▲就算清掉所有cookie,瀏覽器本身也能夠提供很多資訊……
這點真是讓筆者毛骨悚然。
User Agent究竟說了什麼?
一般來說,當我們連上一個網站時,User Agent通常會提供一個像下面這樣的字串。
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.1.3) Gecko/20090824 Firefox/3.6.1 (.NET CLR 3.5.30729)
我們可以看到,這裡面包括了瀏覽器的名稱和版本、作業系統(及版本)、優先使用的語系等等,以上面的例子而言,我們可以知道這是在Windows XP上運作的Firefox 3.6.1,優先使用zh-TW(中文-台灣)語系。如果是在某些比較少見的國外網站上,譬如某俄羅斯新聞網站上,光是這樣應該就可以把目標縮小到一個很小的範圍了。在前面提到的實驗報告中,有詳細列出各種瀏覽器及作業系統會提供的User Agent資料,有興趣的讀者可以自己連過去看,筆者就不在這裡騙稿費了。
檢查瀏覽器的獨特程度
看到這裡,相信許多讀者應該都跟筆者一樣毛毛的,而且應該也會很想確定一下自己的瀏覽器究竟會提供多少資料給別人,會不會非常獨特。如果你有這樣的想法,不妨連到電子前線基金會所建立的Panopticlick網站上作個測試,只要連上這個網站,它就會對你的瀏覽器進行分析,並顯示從中得到的訊息資料,不過這裡要特別提醒大家的是,電子前線基金會同時也是在利用Panopticlick網站進行實驗與資料收集,我們所提供的訊息將會成為樣本之一,用來檢驗「瀏覽器所提供的訊息是否足以分辨使用者的身份」這個假設。
如果你不想參加這個實驗,又很好奇他們可以從中看出些什麼,不妨就來看看筆者「以身試法」的結果吧。從這個測試結果來看,Panopticlick網站所能收集到的訊息大致包括以下幾類:
User Agent:前面說過了,這是最基本的使用者訊息。
HTTP_ACCEPT Headers:基本上HTTP所有的標頭甚至META訊息都可以算在這裡,以筆者的例子來說,提供的訊息大致還是以常用語系為多,跟前面算是有點重複了。
Browser Plugin Details:這個就有點厲害了,這裡列出來的是筆者瀏覽器上的套件明細,如果筆者裝了什麼很少見的套件的話,說不定光憑這一項就可以抓人了。
Time Zone:簡單明瞭,就是「時區」,這下大致可以確定筆者在地球上的位置範圍了。
Screen Size and Color Depth:哇喔~連筆者的螢幕解析度和彩度都看得到。
System Fonts:系統上安裝的字型。基本上這是透過Flash及Java applet查到的,問題是……現在有多少人上網是不需要用到Flash的呢?如果有這種人的話,光是沒用Flash這點說不定就可以當作證據了。
Are Cookies Enabled:cookie有沒有開?一般人應該都會開著,沒開的人應該也可以算是極少數吧。
Limited supercookie test:supercookie指的應該是一些少見的、特殊的識別訊息,像前面Flash的設定,有時也會被視為supercookie的一種。
▲瀏覽器究竟會提供哪些訊息,答案就在這裡……
喔,對了,筆者的瀏覽器究竟算不算特別呢?Panopticlick網站認為,在目前已收集到的58萬份資料中,筆者的資料還算是相當獨特的(Your browser fingerprint appears to be unique among the 578,402 tested so far.)。個人推測,這可能是因為目前還很少有中文使用者的樣本的關係,大家不妨也上去測試看看,等過一陣子樣本數更多時再來看看結果會不會有什麼變化囉~
----------------------------------------------------------------
可到以下網站測試
press "test me"
https://panopticlick.eff.org/
真的話就超恐怖......