這個章節我要講的是另一個可以被偽造的案例,一樣先說明,這個案例完全是人為規劃上的重大瑕疵所造成的問題,目前為止晶片金融卡本身仍然具安全性,況且到現在全世界應該還沒發生過因晶片本身問題而被偽造的SmartCard案例。(Memory Card與Mifare都不算是SmartCard)

    這個案例是台灣某兒童用品連鎖業者的會員卡,該會員卡有電子錢包功能,可重複加值並在各連鎖店消費,該業者當初找了一家不知名的廠商來規劃建置整個電子錢系統,聽說這家廠商在大陸有很多成功案例,但這已經不是重點,因為這家廠商倒閉了。天啊! 這樣的訊息對客戶來說肯定很震驚,尤其是將整個系統委外,自己又不了解的客戶來說,加上又讓我發現他們的會員卡可被偽造,這對他們來說應該是不小的打擊與震撼。

     這張會員卡是一張晶片金融卡規格的卡片,裡面只有一個基碼資料檔、一個交談基碼檔與三個一般基本資料檔,熟晶片金融卡規格與電子錢的人,看到這樣的卡片內容應該就知道絕對可被偽造,以下分析這張會員卡內容:

一、只有一個基碼資料檔,表示該卡在儲值或是消費時,頂多只能用此把基碼來驗證,但此基碼驗證目的是確認主機端的合法性,主機端無法確認卡片是否合法,所以這樣已構成被偽造(內賊或外賊)的風險。

二、雖然該卡有建立交談基碼檔(Session Key),但該廠商幫業者規劃的發卡方式並沒用到晶片金融卡ISAM卡發卡機制,而且卡片的基碼值居然還大剌剌地用明碼存在文字檔中交由卡片製造商製卡,就算該會員卡最後會回到業者手中進行換Key後才會交到消費者手上,但處理換Key的程式一定會得到該基碼的明碼值,若程式有被放入後門,那該會員卡就有被偽造(內賊)的風險。

三、該卡片另外三個基本資料檔,應該是用來儲存卡號、儲值金額或交易紀錄等等,大多數電子錢系統除了卡片會記錄餘額和交易紀錄,在主機上也一定會記錄同樣的訊息,當卡片與主機資料不符時,也一定是相信主機端的資料,就算這樣,偽造的卡片仍有機會交易成功,再嚴謹的後台系統,以這張會員卡來說,偽卡只要比真卡早消費,而且直到真卡有消費行為前,主機系統都無法發現此非法交易,況且規劃出這麼糟糕的卡片的廠商,任誰也不會相信他的後台系統會做的多好。

    要偽造這張卡片技術上並不困難,我也不需要去破解他的基碼資料(可用其他技術騙過主機系統),也不需在消費者電腦上裝任何木馬或SPY程式,只需拿一張真卡,不出三五秒就能得到偽造卡片所需的資料,想想若這張真卡儲值一萬元,那同時複製個一百張偽卡,再請一百個人同時間去消費,若後台電子錢系統又不是即時連線的系統,或沒做到及時監控異常交易的功能,那很可能就被盜用成功。

    這個案例再度提醒想應用晶片卡的使用者,雖然SmartCard是安全的科技產品,但在找相關廠商規劃與建置系統時,必須非常謹慎小心,畢竟台灣在這個領與的廠商不多,當中還可能有些是技術不純熟,或經驗不足,除了找可靠有能力的廠商,最好自己能有一定程度的了解,或者找第三者當顧問也是不錯的方式,以免被不肖低價競爭或技術能力差的廠商牽著鼻子走。

創作者介紹
創作者 DerYu 的頭像
DerYu

Smart Card雜記

DerYu 發表在 痞客邦 留言(0) 人氣()