缺乏IT知識的政府完全不懂甚麼是cookie

網銀強制存取cookies 議員憂侵私隱促容選擇

因為八達通暗裏售賣私隱資料關係,社會都對商業機構的私穩處理戴上了有色眼鏡。上月就有一宗新聞,講述網上銀行服務被發現會強制存取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偷取客戶資料」,本文是針對這點嚴重謬誤而發。

12 Comments »

  1. Vincent said,

    October 9, 2010 @ 2:56 am

    當年AS Computer Application都有考Cookies係乜
    但10條9友個都曲解 (所以答o岩果題就大殺9方),
    都係多得D傳媒10個有10個都解錯

  2. ShawTim said,

    October 9, 2010 @ 3:02 am

    都係多得傳媒妖魔化
    因為八達通事件
    議員傳媒有水就抽
    政府見有人抽水就做野
    從來都無人去考究件事合唔合理…

  3. wanleung said,

    October 9, 2010 @ 2:28 pm

    我最喜歡這句: [譚膠人應該辭職]

  4. krisjuan said,

    October 9, 2010 @ 3:02 pm

    寫得幾好… 不過有一點要改一改…

    唔用 cookie 唔會更危險, 除咗 query string 之外, 仲可以用 input hidden field… 例如 canary 就係一個好例子啦…

    如果個白痴 server 見倒你打 &username=shawtim 就信你係, 咁個 system 要去自殺, 無人幫倒佢…

  5. wpkf said,

    October 9, 2010 @ 11:01 pm

    我睇新聞時都覺得奇…用咩方式”LOGIN”都會收集到你嘅usage pattern, 除非你唔畀佢認到架唧 (咁…又點網上銀行)

  6. wpkf said,

    October 9, 2010 @ 11:04 pm

    “不懂網絡知識的人去當資訊科技界立法會議員”, 邊鬼個選佢出嚟架?

  7. ShawTim said,

    October 10, 2010 @ 4:42 pm

    @wanleung 這是應當的
    @krisjuan 哈哈,其實我偷換了一點概念被你看出來了。正確點說,一是很危險,一是很戇居。怎麼戇居法呢,由於不用cookie關係每個request也會是stateless的,先不管user flow state之類,單單是login這個步驟也要每個request重新做一次。而且一是要求用家每頁都打一次password(好安全!),一是我把password在頁面上render出來。所以大家才用cookie嘛… 我太懶沒有打出來,被你看出來了
    @wpkf 對呀,所以來年一定要拿到投票權…

  8. V for vendetta said,

    October 10, 2010 @ 8:11 pm

    唉,單仲楷話哂係HSBC做真正既IT, 譚生其實係做embedded system (快譯通)…唔好望佢識太多Internet既野啦…

  9. ShawTim said,

    October 10, 2010 @ 9:38 pm

    佢唔識就認啦,但又要扮代表,真係激死人呀

    加左一小段講多少少cookie

  10. Zeus Cho said,

    October 17, 2010 @ 11:45 am

    譚偉豪做廠,單仲楷做IT,譚偉豪係戇豆好正常。上次我無資格投票,下次立會選舉我一定唔會比佢連任。

  11. ShawTim said,

    November 17, 2010 @ 1:18 am

    我都係咁話,一定唔可以俾佢連任!

  12. kentsin said,

    November 18, 2010 @ 9:40 am

    當初 http 是無 state 的, 因為好多時要有 state 所以臨時臨急搞咗個cookie.

    順便講句 cookie 出處是竹昇中國餐飲文化, 本來就是亂來的

    Cookie 不留都不安全的, 有興趣的 google 下 cookie exploit

RSS feed for comments on this post · TrackBack URI

Leave a Comment

Spam protection by WP Captcha-Free