Page 226 - 捷運技術 第38期
P. 226
220 徐春進 史敦仁 捷運系統票證加密與通訊安全
認可(Load Key)後進行交易,然而其交易資料卻需透過其它業者(如捷運、公車)之網路
傳輸,交易資料一路經過閘門、車站電腦、CDPS、中繼伺服器、防火牆等,這些電腦設備
可以輕易截取並修改交易資料之內容,因此當然有其安全上之顧慮,何況這些資料關係到營
收分帳,恐有被業者竄改造假之虞,因而票證公司對參與業者規範了交易資料之傳輸格式,
其作法為每筆交易資料附加MAC (Message Authentication Code)後才傳送,格式如下圖五,
MAC 訊息確認碼讓清算中心電腦可以驗證交易資料是否由該公司認可之悠遊卡讀寫模組所
傳出,以及在傳輸過程中是否已被竄改過,進而確保沒有假帳之虞。
通常MAC 之演算法(Algorism)係先將欲傳送之
交易資料進行摘要演算(Message Digest),再用金
鑰(Key)將摘要予以加密,產生之結果即為此MAC
圖五 傳送之交易資料欄位
碼( 類似數位簽章Digital Signature),接收者以相同
之金鑰對接收之資料進行相對演算後比對MAC是否
一致即可確認資料是否已被竄改過,是否完整。在實作上本系統使用之金鑰稱之為MACing
Key,為加強資料傳送者身分之確認,此系統還將悠遊卡讀寫模組之唯一序號當成參數加入
演算,以產生足以正確辨別傳送者身分之MAC。
就前述悠遊卡之無線傳送加密、單程票數位簽章或有線網路之MAC產生而言,一套可
靠之加密系統是必須的,實作上本系統之加密演算屬對稱式加密系統(Symmetric Encryption
System)有別於非對稱式加密系統,其加密解密使用同一把金鑰,其優點為演算速度快,缺
點為金鑰需不定期更換。本系統採用金鑰多樣化(Diversify)方式解決不定期更換MACing
Key之問題,所謂多樣化係因為如果每台讀卡機上都存有相同之MACing Key,則破解一台
悠遊卡讀寫模組相當於所有悠遊卡讀寫模組上之MACing Key 都被破解,為解決此問題將
悠遊卡讀寫模組之唯一序號當成參數參與金鑰多樣化演算,使儲存於各悠遊卡讀寫模組之
MACing Key讀值都不一樣。目前普遍使用之加密演算法為DES(Data Encryption Standard)、
RSA等。DES係於1970 年即已發展出的加密演算法,儘管當今電腦硬體及密碼分析技術的發
展日新月異,密碼學專家對於 DES 的安全性也只做到『質疑』的程度,也就是說就目前的
密碼破解技術而言,DES 仍為一個安全的密碼系統。
在悠遊卡加密傳送、單程票之數位簽章或有線網路之MAC產生過程中有所謂摘要演
算,其目的係為節省運算時間,其作法為將欲傳送之資料以雜湊演算法摘錄部份雜湊(Hash
)內容作為後續加密處理之用,目前較盛行之摘要演算有MD5 、SHA等。
根據上述,悠遊卡之資料已有嚴謹之管制,是否代表本局系統毫無取得稽核、對帳及
其他營運原始資料(raw data)之管道? 其實不然,悠遊卡之資料實際並未加密,僅MAC加
密,因此閘門、站務員售票機及上一層之車站處理機等,負責轉送該等封包之設備均可讀取
MAC之外的其他欄位資料,這些資料都非密文(Cipher-Text),捷運自動收費系統可順利將
之讀取以製作所需之營運管理及對帳資訊,無須MACing Key,然而這讀取動作絲毫不會影
響票證公司判讀交易資料是否被竄改之正確性。
關於單程票之傳輸大致採與悠遊卡相同模式,惟單程票屬捷運封閉式票證,管理權屬本
局捷運系統本身,加上單程票限定當日有效,無循環加值變造顧慮,況其交易資料經過本
局之讀卡機及本局之系統,最終送達本局系統之CDPS,再加上防火牆之防護機制,基本上