缺乏IT知識的政府完全不懂甚麼是cookie
因為八達通暗裏售賣私隱資料關係,社會都對商業機構的私穩處理戴上了有色眼鏡。上月就有一宗新聞,講述網上銀行服務被發現會強制存取cookies,各界人士都對此感到極度擔憂。
cookie的基本
首先,看定義︰HTTP cookie
看到標題,「強制存取cookies」一句十分不倫不類。看看wiki就明白,cookie本來就是server設定給browser用的嘛(這裏是「存」)!假如browser是支援cookie的話,當browser再次訪問那server的時候,那個cookie就會送過server去(這裏是「取」)。好明顯,cookie本來就是給server存取的東西嘛!
cookie與登入的關係
那甚麼是「強制存取」?內文解釋說是「本港多間網上銀行強制要求客戶同意存取cookies始可登入帳戶」。剛剛不就是講了嘛,當你browser支援cookie,server自然會存取;當你browser不支援,server只存不取。而這世上絕大部分的user session(中譯「帳戶會話」,我用中文大家更加不懂。總之這玩意兒是用來認證你是誰)都是存在cookie上的,當browser發送user session cookie到server那邊,server就會知道「啊,ShawTim登入了」。大家日常用的Facebook、Gmail等網站都是這樣。所以,你browser支援cookie,server可以存取就能讓你登入;反之不支援的話server根本收不到cookie,談何登入呢?這是正常之中的正常,為甚麼要大造文章?
譚膠人缺乏IT知識
資訊科技界立法會議員譚偉豪批評銀行不應強迫用家讓銀行收集cookies,並擔心觸發私隱問題,要求加強收集cookies的透明度。
這句子完全不知所云,甚麼叫「收集cookies」?本來就沒有這回事。「收集」是指server從用家那邊拿取了某些東西,而cookie這個東西本來就是server給你的。這道理就像你去餐廳吃飯輪位子,店員派了一個籌給你,你可以拿這個籌等到位子。然後這個時候譚膠人出來說,「你這餐廳強迫收集客人的籌是甚麼居心?為甚麼要客人把籌拿來才給客人位子?我要求你加強收集籌的透明度!」啊!老天!這壓根兒不是收集不收集的問題,根本原句的批評就是錯得要死!譚膠人真的是完全沒有IT知識,枉為資訊科技界立法會議員。
對於銀行解釋因保安理由收集cookies,資訊科技界議員譚偉豪認為說法未必真確,銀行不可以此強迫用家同意銀行收集cookies。他表示用戶或擔憂資料會被用作廣告營銷,銀行業界有必要增加透明度,表明只收集必要的資料,同時只作內部用途,更應讓客戶選擇在毋須接收cookies的情况下使用服務。
根據譚膠人的意思,他是指銀行有機會用server從cookie當中拿取客戶的私隱資料作廣告營銷用途,這又是無知的表現。剛剛都說了︰cookie是server設定給browser用的(當然你也可以手動地在browser設定cookie,不過那是你手動做,一般來講是server設定的),也就是說cookie的資料內容server早就一清二楚,哪還用得著偷啊?
銀行不拿你的cookie也可以作廣告營銷
他(單仲楷)指金管局對網上銀行有嚴格監管,事實上收集cookies不會令銀行業務有更多好處,銀行本身已設資料庫可供詳細分析客戶習慣。
單仲楷說得沒錯。本來銀行的資料庫就有大量用戶習慣的資料可作分析用途了,根本全件事壓根兒跟cookie沒有關係(反而如果說擔心JavaScript我倒可以理解,但那是另一回事了)。舉例說,我今天登入了網上銀行,使用了一會股票服務,而這個使用紀錄其實銀行是有記下來的。於是乎銀行就知道了我一個月內有十天會使用股票服務,這個就是我的用戶習慣。根據這個習慣,銀行認為我是對股票有興趣,就有機會向我推廣相關服務,就是這麼一回事。最具體的實例就是Facebook了,留意一下那些廣告是不是總是熟口熟面呢?
不用cookie?
香港電腦保安事故協調中心經理古煒德解釋,登入網站的個人界面時不一定要利用cookies,用家可利用坊間工具分析cookies內容。
的確是可以不用cookie登入呀,只不過更危險就是了。例如在非常非常非常舊的白痴系統中,你只需要URL上打入username就可以登入了,不用cookie呀,不過極度危險對不對?幾乎全世界都在用的東西總有它存在的理由。事實上我有身處在銀行工作的朋友說這事件令他們很痛苦,他們收到了要求說要完整地列明cookie的用途,以及盡全力考慮不用cookie作登入的可行性。這簡直是官僚迂腐之至,完全是為做而做,沒有任何一方有得益。
公務員應該進修,譚膠人應該辭職
這次事件反映出政府是完全的電腦白痴(雖然不是第一次…)。這知識連懂電腦的中學生也會,但政府的菁英居然沒有一個人懂,實在神奇。讓一堆不懂網絡知識的人去搞網絡保安,讓一個不懂網絡知識的人去當資訊科技界立法會議員,這還真是香港的官僚通病︰一切都是行政問題,所以政府只有一大堆行政人員的「通才」,但相關的專才卻完全缺乏。
(以下是後來補上去的後話)
其實作為網上服務,cookie的安全性是十分需要注意的。如果平白就把用戶資料以plain text形式放在cookie上是十分危險的。如果大家的著眼點在於「cookie安全漏洞」上我是絕對沒意見,但現在很明顯的是在抽水。再講多幾句罷︰
- cookie是看網域的。不同網域的cookie是不能存取的,也就是說A網站如果跟B網站是不同網域的話,A網站對B網站的cookie連碰也碰不到
- 除了cookie以外其實還有更多地方值得注意,譬如說XSS罷,它們真的會對用戶的資料造成損害。世上沒有惡意的cookie,只有不安全的cookie
- 最主要的是,大家的著眼點是「網銀利用cookie偷取客戶資料」,本文是針對這點嚴重謬誤而發。
Vincent said,
October 9, 2010 @ 2:56 am
當年AS Computer Application都有考Cookies係乜
但10條9友個都曲解 (所以答o岩果題就大殺9方),
都係多得D傳媒10個有10個都解錯
ShawTim said,
October 9, 2010 @ 3:02 am
都係多得傳媒妖魔化
因為八達通事件
議員傳媒有水就抽
政府見有人抽水就做野
從來都無人去考究件事合唔合理…
wanleung said,
October 9, 2010 @ 2:28 pm
我最喜歡這句: [譚膠人應該辭職]
krisjuan said,
October 9, 2010 @ 3:02 pm
寫得幾好… 不過有一點要改一改…
唔用 cookie 唔會更危險, 除咗 query string 之外, 仲可以用 input hidden field… 例如 canary 就係一個好例子啦…
如果個白痴 server 見倒你打 &username=shawtim 就信你係, 咁個 system 要去自殺, 無人幫倒佢…
wpkf said,
October 9, 2010 @ 11:01 pm
我睇新聞時都覺得奇…用咩方式”LOGIN”都會收集到你嘅usage pattern, 除非你唔畀佢認到架唧 (咁…又點網上銀行)
wpkf said,
October 9, 2010 @ 11:04 pm
“不懂網絡知識的人去當資訊科技界立法會議員”, 邊鬼個選佢出嚟架?
ShawTim said,
October 10, 2010 @ 4:42 pm
@wanleung 這是應當的
@krisjuan 哈哈,其實我偷換了一點概念被你看出來了。正確點說,一是很危險,一是很戇居。怎麼戇居法呢,由於不用cookie關係每個request也會是stateless的,先不管user flow state之類,單單是login這個步驟也要每個request重新做一次。而且一是要求用家每頁都打一次password(好安全!),一是我把password在頁面上render出來。所以大家才用cookie嘛… 我太懶沒有打出來,被你看出來了
@wpkf 對呀,所以來年一定要拿到投票權…
V for vendetta said,
October 10, 2010 @ 8:11 pm
唉,單仲楷話哂係HSBC做真正既IT, 譚生其實係做embedded system (快譯通)…唔好望佢識太多Internet既野啦…
ShawTim said,
October 10, 2010 @ 9:38 pm
佢唔識就認啦,但又要扮代表,真係激死人呀
加左一小段講多少少cookie
Zeus Cho said,
October 17, 2010 @ 11:45 am
譚偉豪做廠,單仲楷做IT,譚偉豪係戇豆好正常。上次我無資格投票,下次立會選舉我一定唔會比佢連任。
ShawTim said,
November 17, 2010 @ 1:18 am
我都係咁話,一定唔可以俾佢連任!
kentsin said,
November 18, 2010 @ 9:40 am
當初 http 是無 state 的, 因為好多時要有 state 所以臨時臨急搞咗個cookie.
順便講句 cookie 出處是竹昇中國餐飲文化, 本來就是亂來的
Cookie 不留都不安全的, 有興趣的 google 下 cookie exploit