Page 228 - 捷運技術 第38期
P. 228
222 徐春進 史敦仁 捷運系統票證加密與通訊安全
Master
Diversify Key
CIM Mater Key A/B KMS
Diversify Key A/B Master Key
NoteBook A/B
Diversify Master MACing Key
MACing Key
᠐ьኳಔ!
ၯь! Master Key A
Key A SPS/CD Master
Master Key MACing Key
Key B Master Diversify Key
Diversify MACing Key DDIT!
Ҭܰၗ
Ҭܰ㩷 MAC
ၗ!
圖六 票證公司金鑰管理系統
4. 傳送端電腦(悠遊卡讀寫模組)將MacTx 當成MAC附加在資料塊之後,以網路傳送往
CCHS
5. 目的端電腦(CCHS)收到資料塊及附於其後之MAC(MacTx)後完成下述處理步驟
6. 目的端電腦解開MAC(MacTx),獲得接收到之「交易資料塊」之訊息摘要之明碼
javax.crypto.Cipher crx = Cipher.getInstance(“DES”);
crx.init(Cipher.DECRYPT_MODE, MacKey ); //以MacKey解密
byte[] MacTxR=crx.doFinal(MacTx.getBytes());
7. 目的端電腦產生「接收到之交易資料塊」之訊息摘要(MessageDigest),這裡以採用
SHA-1摘要演算
java.security.MessageDigest DigeAlgoR=java.security.MessageDigest.getInstance("SHA-1");
加入要進行計算摘要的交易資料塊
DigeAlgoR .update(接收到之交易資料塊.getBytes());
計算出摘要ResulltingDigestR
byte[] ResulltingDigestR= DigeAlgo .digest();
8. 目的端電腦比較兩個訊息摘要,比較是否一致
java.security.MessageDigest.isEqual(ResulltingDigestR, MacTxR );
如果比較結果不一致,表示收到之交易資料塊為非法終端設備所傳出或則是接收到之交
易資料塊內容已被竄改,因此這筆資料須丟棄(discard)。
(五)網路通訊:
如前所述,有線網路傳輸區之資料流其底層傳輸協定為TCP/IP,但配合清算中心及各終
端模組之製造商之相容性,實作上層協定採用Message Queue、FTP、CORBA等,這些協定
簡化程式開發時間,以下做一簡介,請參考: