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