摘要:本文對基于開源系統的IC卡系統的設計與實現做了簡要介紹。
關鍵詞:開源系統IC卡系統
當前,很多城市已經開通了公交IC卡收費系統和城市一卡通收費系統(以后統稱為IC卡系統)。這些城市運行的IC卡系統中,基本上是采用C/S結構進行開發(fā)的,并且采用的操作系統是Windows。但是在實際應用中,用戶面臨以下問題:①由于城市規(guī)模的不斷擴大,IC卡服務網點也在不斷的增加,給程序的安裝、升級、維護帶來了不便。②隨著我國版權保護的不斷深入,運營商在IC卡系統建設中對硬件設備及軟件方面的投入也在不斷的加大,建設和運營成本也在不斷的上升。③計算機病毒對系統的危害巨大,如何有效防止計算機病毒的侵害。④隨著網絡技術的不斷提升,以及網絡資費的不斷下降,運營商有意愿采用實時在線方式進行業(yè)務處理。從而降低業(yè)務數據丟失的風險。
為了解決以上的問題,我們考慮采用以下設計思路來實現:
1 體系結構
系統采用J2EE進行開發(fā),采用SSH架構進行設計。服務端增加了Servlet技術,實現對加密機、數據庫、文件系統等設備的控制。客戶端采用Applet技術,實現對本地串口設備的驅動。
為了保證客戶端的安全性,客戶端的操作必須使用密鑰卡(CPU卡)進行操作員身份的安全認證,合法用戶才能進行相關功能的操作。
為了保證數據通訊過程的安全性,在客戶端Applet與服務端Servlet通訊時,采用密文傳輸,并且通訊密鑰動態(tài)更新,防止數據被篡改。
由于JAVA具有跨平臺的特性,IC卡系統可以支持多種操作系統及多種瀏覽器,客戶端瀏覽器在訪問頁面時,自動判斷操作系統類型和瀏覽器類型,并自動下載驅動程序到客戶端,真正實現客戶端的簡單式操作。
對于與業(yè)務關系不太緊密的功能(如數據查詢、分析報表等),考慮將其安排到一個獨立數據庫服務器中,并且定時進行數據同步,減輕業(yè)務系統的訪問壓力。
作為開源軟件的領軍產品,Linux以其精簡的內核,安全性高、性能高、穩(wěn)定性高、多任務等特點,已經應用到很多領域。Linux適用于不同的CPU,支持多種體系結構,如X86、ARM、MIPS、ALPHA、SPARC等,因此用戶在硬件的選擇上更加多樣。
將Linux安裝在基于x86的計算機和服務器上,采用開源的postgres數據庫進行數據的存儲與管理,硬件和軟件的成本顯著降低。
2設計原理
2.1 采用三層體系結構。將數據與程序、數據控制與應用邏輯分層獨立管理,能更嚴格地控制信息訪問;信息傳遞中采用數據加密技術,可進一步減低信息失密的風險。應用服務器內建安全控制數據庫,實現應用服務器與數據服務器的雙重權限控制,對權限的劃分更準確、靈活、嚴格。系統在信息訪問、傳遞和存儲三個環(huán)節(jié)上均有嚴格的安全措施。
將大部分數據處理從客戶端轉移到應用服務器和數據庫服務器上。這樣,盡管客戶端與應用服務器之間可能存在著幾十個甚至數百個的連接,但是應用服務器與數據庫服務器之間的連接卻只有少數幾個,從而達到可伸縮性的目標,使得在用戶數量急劇增加時還能保持系統性能的穩(wěn)定。
2.2 采用BS結構。用戶界面完全通過瀏覽器實現,可以在任何地方進行操作而不用安裝任何專門的軟件,客戶端零維護。通過將業(yè)務邏輯集中到中間層,系統獲得了對業(yè)務邏輯的獨立性,當用戶的需求改變時,開發(fā)人員可以迅速地在中間層上更新業(yè)務邏輯,而無需將更新后的應用提交到眾多的PC終端系統上去,客戶端無需任何改動,實現系統的無縫升級。
2.3 針對客戶端操作系統的一些配置參數,采用本地文件進行管理的方式。如驅動文件文件地址、讀寫器的連接串口號、打印機的端口名稱等等??蛻舳说卿洉r,自動讀取配置參數。
2.4 在業(yè)務系統操作時,操作人員登錄系統,必須通過密鑰卡(CPU卡)、口令認證和頁面登錄用戶名、口令認證的雙重校驗,非本系統的操作人員很難進入業(yè)務系統。由于業(yè)務系統屬于聯機系統,如果發(fā)生密鑰卡或賬戶的掛失,系統可以立即停止該賬戶的所有功能的操作。為了進一步保證系統的安全性,還可以考慮將業(yè)務系統采用專線連接(VPN)的方式,并設置獨立的IP地址。服務端將客戶端的IP地址進行綁定,從而防止非法用戶的使用。
2.5 在業(yè)務系統中,實現IC卡的售卡、充值等的操作,必須保證IC卡密鑰的安全性。因此考慮將IC卡的根密鑰導入加密機中,同時將加密機放在后臺中心。每次操作IC卡的時候,均需要服務器端實時生成密鑰??蛻舳隧撁媲度階pplet程序,可以與服務器端的Servlet進行通訊,完成獲取密鑰,訪問數據庫的操作。
2.6 客戶端Applet程序主要負責對IC卡進行操作。為了保證系統的安全性,我們將對IC卡的操作指令封裝在讀卡器中,讀卡器只接收密文數據,由讀卡器對密文解析后,根據解析后的數據內容,進行進一步的操作。有后臺服務器的Servlet程序,負責生成密文數據報文。
3技術特點
3.1 采用開源系統,降低采購成本。
3.2 獲得良好的跨平臺特性,支持Linux、Unix、windows等多種桌面操作系統,同時支持多種瀏覽。
3.3 采用三層結構,能有效提高系統安全性。
3.4 采用B/S結構設計,實現系統無縫升級,降低維護成本。