搜尋此站:

2010-10-10

Cookies的迷思

近日似乎有一陣關於瀏覽器 Cookies(下稱 Cookies) 與保障個人私隱的討論,事源於某立法會議員批評了各大網上銀行現時對於 Cookie 的處理手法

(按: 我一般都會將太過科技相關的文章放到另一個blog中,不過是次目的是讓一般大眾對事情有更深入的了解,故破例放在這裡。會盡量嘗試用簡易的文字…)

其實已經有人寫過了,文中的觀點大致上我是贊成的,但我認為有需要補充的地方。

先談談 Cookies,簡單來說它是讓網頁在你的瀏覽器存放資料的東東。你可以想像它是網頁貼在你身上一張又一張的Post-it。內容沒有限制,但都是由網站提供,而一般來說只有貼上 post-it 的網站可以讀取或更改 post-it 上的內容。最常用到 Cookies 的地方就是用作保持登入狀態,就好像你進入主題公園後貼在你身上的貼紙/通行證。每次進入另一個景區都會有守衛檢查,沒有有效通行證的就會被逐出主題公園。通行證可以設定有效限期,甚至永遠有效,直至你自行把它從身上撕下來為止。

那麼,Cookies 和個人私隱又有甚麼關係?一般人的謬誤是認為網銀可能將重要的個人資料放進 Cookies 之內,導致個人資料流失。這不是沒有可能發生,但一來這種做法並不常見,二來正如上面所提到,只有設下 Cookies 的網站可以讀取或更改 Cookies 的內容,單單將資料放進 cookies 內並不會導致資料流失,而需要符合某些特定條件。無論如何,這不是是次討論的重點。Cookies 真正直接導至個人私隱被侵犯的情況是網頁可以透過 Cookies 追縱用家的動態,這正是所謂的 tracking cookies 問題。

嘗試說得深入一點。追縱用家的方法不一定要涉及可以直接辨認出用家的資料(就是常常聽到的 ID,如用戶名稱,身份證號碼),也可以是一大堆看上去沒相干的資料(如性別,停留時間,使用網頁的慣性等等),透過 data-mining 類的方法做 user profiling。例如可以在商場、戲院和食肆同時加入第三方(如合作伙伴)的人員,為顧客貼上 post-it,因為這些 post-it都是由相同的合作伙伴所貼上,他們都可以得悉其內容。該合作伙伴就可以透過分析當中的資料得出某個或是某類客戶的消費模式,例如:常在九龍吃午飯的某對情侶,通常會在每月第三個星期六晚上到港島某戲院看電影。

像這類的習慣,正是所謂可能影響私隱的地方。想想八達通紀錄如何多次幫助警方找出犯人?

不少網站漏洞掃描器都會報告這類 tracking cookies 的問題,但我敢大膽的說有很多人(甚至電腦保安顧問)都沒有充份了解真正問題所在,直接就將掃描結果 copy & paste 到安全風險分析報告中。事實上,很多這些所謂 tracking cookies 都是誤報(false-alarm),有些掃描器甚致每逢見到不會過期的 cookies 就當作是 tracking cookies…結果嘛,大家就得到 Cookies 敏感症。

要對付 tracking cookies,坊間的做法是關上對 cookies 的支援,但這正是大部分網頁程式,包括網上銀行保持登入狀態所依賴的。重點終於來了,如果用戶不開啟對 cookies 的支援就不能使用網上銀行,變相就是網上銀行在強迫用家使用 cookies,將用家陷於 tracking cookies 的風險當中。這正是尊貴的議員們所要求的「銀行不應強迫用家讓銀行收集cookies」,也是是次風波的重點所在

問題是,這是有效解決 tracking cookies 問題的方法嗎?

答案絕對是否定的。Tracking cookies 問題的重點在於 tracking 並非 cookies。Cookies 亦不是唯一保持登入狀態的方法。無論是在安全性而言還是要依從種種的 compliance 而言,網上銀行有責任記錄每位用家的登入狀態和做過的東西。單憑這些記錄,已經足夠追縱用戶了,這甚至比用 tracking cookie 簡單得多。所以就算沒了 cookies,tracking 還是可行的。憑這些資料,銀行已經可以分析客戶的興趣而作出相關的業務推廣。所以說收集資料的途徑不是重點,因這些資料都已經從種種方法收集了,問題只是如何使用這些資料。

相反,盲目地關閉了 cookies 支援的話會帶來很多不便:「記住用戶名稱」功能失效、分析用戶是否第一次在該電腦登入亦很難做到(這反而可以是一種保安措施!)。

衡量一下得失,可見議員這個指控及相關建議是迂腐和不求甚解的。

依我之見,大家可以要求網上銀行不要在沒用戶同意下在頁面加入第三方的 cookies,以防止第三方得悉用家的使用習慣。大家亦可以提議將使用習慣正式列作個人資料的一種,嚴格規定銀行及其他提供電子服務的機構不能在未經同意下將其交到第三方當中,或是只能作收集時列明的用途。這些通通都比「讓客戶選擇在毋須接收cookies的情况下使用服務」有效得多了。

最後還想再補充一點。有很多人以為將 Cookies 資料用 URL query 或是 Form data 方式傳送比較不安全。非也。這些資料都是用同一個方法傳送到伺服器。真的要吹毛求疪的話,URL query 會比另外兩種方式稍為不安全一點,因為它有可能被記綠在瀏覽器或是 Proxy 伺服器的記錄之中,也相對地較另外兩種方法容易被誤送開去(如當用戶 copy & paste 網址到 instance messenger 或 E-mail 當中)。

No comments:

Post a Comment

HTML Tags allowed (e.g. <b>, <i>, <a>)