一卡通系統中安全代理充值模式的設計與實現
文章出處:http://5052h112.com 作者: 人氣: 發表時間:2011年09月15日
近年來,全國各行業紛紛掀起了“一卡通”建設的熱潮,我國地級以上城市有300多個,以公共交通、公共事業收費、中小學生教育卡等核心應用為標志的“城市一卡通”逐漸廣泛普及,發展前景十分誘人。目前,全國已經應用公交IC卡收費系統和城市一卡通收費系統的城市已經接近200個。隨著各個城市IC卡系統發卡量的增加和業務的不斷拓展,各個城市面臨著一個現實的問題是:如何擴大服務網點的數量,如何拓展服務領域的應用,以及如何保證IC卡系統的安全。
天津通卡公司開發的代理充值系統是應用于城市一卡通領域或公交行業的系統軟件。用戶可以借助代理充值系統提供的技術資料進行二次開發,滿足不同應用的需要。代理充值系統可以為銀行、超市、連鎖商店、學校等行業接入城市一卡通系統或公交IC卡系統提供安全、統一、穩定的技術保障。
借助代理充值系統的實施,可以統一城市一卡通系統或公交lC卡系統的數據接入接口,統一行業業務的拓展方式、保證數據的安全性。
系統工作原理和特點
該系統工作原理見圖,其構架與特點如下。
(1)代理充值系統采用三層架構模式客戶層(行業應用程序):采用天津通卡公司自主研發的RF內/夕h置讀卡器,并提供二次開發接口,使行業用戶可以進行二次開發。
中間層(一卡通前置機程序):安裝天津通卡公司自主研發的CAgent交易中間件系統。該系統可以同步接收用戶的連接,校驗用戶身份,實時分析用戶的交易請求,并反饋處理結果。數據層(一卡通數據中心數據):包括數據庫、加密機在內的數據資源放在一卡通中心,通過硬件防火墻和交易中間件進行保護,保證數據中心數據的安全。
系統工作原理圖
(2)可以有效地防止非法程序的運行和使用結合加密機的數據加解密功能,進行數據傳輸過程的自動加解密,防止信息被竊取后造成對系統的危害,防止非法節點的運行和使用。CAgent交易中間件系統必須配合使用天津通卡公司的RF內/夕h置讀卡器一起使用,保證系統數據的安全性。
行業應用程序驅動讀卡器進行IC卡操作,產生的關鍵數據均由讀卡器進行密文輸出;行業應用程序必須通過行業前置機將密文數據發往一卡通前置機進行處理;
一卡通前置機產生的數據以密文形式輸出,返回到行業應用程序;行業應用程序必須將密文發往讀卡器,才能完成IC卡操作。
從以上流程可以看出,第三方開發者無法了解操作的具體細節及內容,從而保證系統的安全性。
(3)動態通訊身份認證密鑰體系行業應用程序每次進行登錄時,根據登錄用戶的身份信息,必須從一卡通中心獲得一個唯一的通訊密鑰,并且在通訊全過程進行動態驗證,保證用戶身份的正確性,通訊密鑰有效時間由服務中心設定(一般以天為單位)。
(4)采用標準ISO8583報文格式傳輸行業應用程序上送的消息報文結構包括TPDU、報文頭和應用數據三部分。第三方開發商可以根據開發接口文檔的規定進行報文的封裝,發往一卡通前置機。
(5)采用多線程技術啟動CAgent交易中間件程序,相當于啟動一個服務進程,服務進程將啟動多個線程來管理系統,并為多個連接的用戶提供相應的服務。服務進程主要提供以下功能:
A、分配內存空間,啟動多個線程進行系統管理。
B、啟動DISWR線程,用于維護界面的顯示。
C、啟動LGWR線程,用于將系統通訊記錄到系統日志文件中(Logfiles)。
D、啟動SMON線程,用于監控系統運行狀態和系統資源占用情況。
E、接受用戶的連接請求,并為用戶提供簽到、簽退、報文處理功能。
(6)開放的數據庫連接本系統支持包括ORACLE、SQLSERVER、DB2在內的多種數據庫連接,保證不同一卡通系統的應用。
2 讀卡器提供的通訊接口
(1)通訊接口采用RS232,波特率:19200。
(2)通訊數據采用逆序字節排列:高位字節->低位字節。
(3)傳送數據格式:0xAA+LEN+COMMAND??DATAl.VERIFY+0xCC??LEN:COMMAND+DATA0.VERIFY(一個與節1??VERIFY:LENXORCOMMANDXO]DATA(一個字節)
(4)回應數據格式:0)(B酗_VALUE+0xCCVALUE定義如下:
作者:天津市通卡公用網絡系統有限公司 吳昊,李大鵬,李響
【稿件聲明】:如需轉載,必須注明來源和作者,保留文中圖片和內容的完整性,違者將依法追究。