DaveC
Huli 隨意聊 on Facebook

Huli 隨意聊

來簡單聊聊破解悠遊卡這件事情的來龍去脈。
首先,悠遊卡上的資料是有加密的,只是早在 15 年前就被破解了。在 2010 年的 HITCON 上,台大電機系教授鄭振牟給了一個講題:《 Just Don't Say You Heard It From Me: MIFARE Classic IS Completely Broken》,示範了如何修改悠遊卡的金額,講題中提到的 MIFARE Classic 就是悠遊卡背後所使用的系統(我記得那時就上過新聞了,依稀有點印象)。
DaveC
在 2010 年底的 CCC(混沌通訊大會)上,資安研究員 Harald Welte 也給了一個講題《Reverse Engineering a real-world RFID payment system - How the EasyCard allows you to print your own digital money》,裡面清楚地描述了破解過程以及方法,現在也都還能看到當時演講的影片以及 PDF。

那為什麼 15 年前就被破解,卻一直到最近才出現「首例」呢?答案是:「因為根本不是首例」。
DaveC
在 2011 年的時候,就有個資安顧問改了悠遊卡金額之後去便利商店消費,被抓到後被判緩刑五年以及賠一百萬。之所以被抓到,是因為悠遊卡改的就是一個卡裡的紀錄,但改不到悠遊卡後台,因此後台發現帳目對不起來,就會被抓到了。

那這次的高中生破解悠遊卡差在哪裡呢?
DaveC
原理都一樣,就是改卡裡面的金額,但差別是作案手法,這次是直接拿悠遊卡去捷運站退款,而不是上次那樣消費。

由於退款之後捷運公司並不是直接跟悠遊卡請款,因此中間會有時間差,不會馬上被發現。根據新聞報導,似乎是過了幾個月對帳的時候察覺異常才被發現?而且這次的金額滿大的,居然有數十萬。
DaveC
總之,因為加值紀錄都在 server,所以金額對不上是一定會被發現的,所以終究會被抓,因此就算你懂怎麼改,通常也不會去做,做的話就是跟悠遊卡公司對賭他們不會仔細對帳。

不過呢,悠遊卡能被輕易竄改是事實,雖然終究會被抓,但就是把成本轉嫁給了警察,你改完我報警抓你,根本的問題還是沒有解決。
DaveC
悠遊卡後來有弄了個新版,底層用的是不同系統,若是要解決,應該只能把所有用舊系統的卡片收回淘汰吧?

文中有提到的相關參考資料我都放留言了,有興趣可參考。另外,我只是個參考網路資料整理的外行人,台灣應該有不少熟悉這塊的專家,希望能有人出來多講一點細節,或是其他系統在資安這塊是怎麼做的XD
DaveC
Danix
悠遊卡公司也很不容易,為了建立 honeypot 誘捕竄改者,至今仍努力維護著已 20 年的老舊 Mifare Classic 系統相容性,克制安全升級的慾望、頂著用戶壓力放棄和 Apple Pay 合作的便利性,真的用心良苦👍
小蝌蚪大頭問
想想悠遊卡公司的大股東是誰,就可以理解了,他們也是很辛苦的。
JokerCatz
破解很久以前就有了,嘛,這種新聞都不想看,因為他們也改不了,乾脆廢卡全部換新版算了
瑞文戴爾NonaphA
DaveC : Danix
悠遊卡公司也很不容易,為了建立 honeypot 誘捕竄改者,至今仍努力維護著已 20 年的老舊 Mifare Classic 系統相容性,克制安全升級的慾望、頂著用戶壓力放棄和 Apple Pay 合作的便利性,真的用心良苦👍
.......
這是說服還是嘲諷😂
瑞文戴爾NonaphA
這次去新加坡。一路就用Apple Pay刷進站。
還可以一卡多人使用。實體卡片和手機都能刷。
真的讓我感受到科技帶來的方便。
台灣真的很多這種寧可鎖死舊系統
告訴你這樣比較安全的固步自封。
悠遊卡是,銀行也是...
小蝌蚪大頭問
改底層系統的費用真的很貴
沃夫☆存活報告:生還
資安貴的不是硬體
載入新的回覆