基于分布式多層結構的一卡通系統的規劃和設計
文章出處:http://5052h112.com 作者: 人氣: 發表時間:2011年09月09日
IC卡具有安全性高、大容量、抗干擾、讀寫方便等優點。經過近幾年的迅速發展,已形成多種類卡并行,多種應用模式共存的局面。目前,IC卡應用系統多為一些中小規模系統,應用于如就餐收費系統、門控系統、消費管理系統等等。IC卡的應用領域越來越廣,但由于缺乏統一規劃,沒有實現“一卡多用”,導致“一人多卡”,保管、使用極不方便。為了實現“一卡多能”,探索出一個基于分布式多層結構系統的有效技術方案,本文結合IC卡一卡通信息管理服務系統,采用面向對象分析和設計的思想,主要從體系結構和實現技術上對分布式多層模式的IC卡一卡通管理系統的規劃和設計進行了論述。
1 系統規劃
非接觸式邏輯加密卡CICC具有使用壽命長、成本低、安全可靠、抗干擾力強、使用方便等特點,是實現“一卡多能”比較理想的卡種。系統選用1KB存儲空間非接觸邏輯加密卡,其數據存儲結構如下:邏輯加密卡的存儲區域分為16個存儲扇區,編號為0~15,每個扇區又劃分成4個數據塊,每塊占用16個字節。在每個扇區內塊的編號為0~3,其中第3塊作為保留數據塊用作記錄系統認證和讀寫控制碼,一般用戶數據不能存入該塊中,而第0扇區的第0數據塊是卡制造商的保留數據塊,不支持用戶的寫操作。這樣在一塊卡中共有64個數據塊(它們的絕對地址編號為0~63)。在卡中,數據塊是最小存儲單位,而在使用時,卡的讀寫操作是以扇區為單位進行的。
系統硬件設備應配置有讀寫卡機具、計算機、網絡設備等。其中機具有發卡機、考勤機、門禁機、消費機等四種,以實現不同的讀寫卡操作功能。每個機具都與計算機相連接,組成一個相對獨立的應用功能站點。計算機通過網絡相互連接,實現功能站點之間的相互溝通。這樣,機具、計算機、IC卡通過網絡相互連接和溝通,成為一個整體,構成了整個系統的硬件服務平臺。在網絡配置上,系統中配備了一臺微機服務器,專門用于本系統數據存儲;另外配置一臺服務器作為應用程序服務器,用于與數據庫服務器以及各應用功能站點之間進行通訊聯絡和控制;為了充分利用企業現有的企業網絡資源,加快建設進度、降低成本,原企業網服務器可作為WEB服務器,并與系統中專用服務器相連,使企業網內各工作站可以通過瀏覽器訪問數據庫中的數據。
由于傳統的基于客戶機/服務器結構的應用系統可維護性不好及系統的擴展性不強,本系統采用分布式結構規劃,即將整個應用系統的執行分成數個不同的部分并且執行在不同的機器中,基于分布式結構的系統有更好的靈活性和適應性,且系統的可維護性和可復用性更強并可實現負載平衡。基于這種思想采用的設計方案應包括連接機具負責數據的采集、數據的處理和系統的初始化設置等功能的計算機客戶端應用程序;提供執行企業對象的環境,并且提供核心服務,包括交易管理,安全服務,容錯能力和負載平衡等功能的應用程序服務器程序;以及提供瀏覽器頁面的WEB服務器程序;和數據庫存儲備份的數據庫管理系統。系統的整體規劃方案如圖1所示:
圖1 基于分布式多層結構的一卡通系統的整體規劃圖
2 系統設計
系統設計包括數據庫設計、應用程序服務器設計、WEB服務器設計和客戶端應用程序設計。
2.1 數據庫設計
數據庫是系統的信息儲存和信息交換中心,系統中的所有操作狀態、操作過程和記錄都集中在此進行儲存和交換,因此數據庫在系統中起著特殊重要的作用。按數據庫中所儲存的信息類型的性質和特點,大致可以分為以下幾大類:基本配置參數及控制信息,持卡用戶及單位信息,卡、機具信息和計算機信息,消費信息,考勤信息,門禁信息,黑名單信息,公用信息等。在系統中,持卡人、卡、機具和(連接有機具的)計算機構成了系統的活動主體,因此,如何正確、有效、清晰地記錄和表達這些主體的屬性、它們之間的相互關系和相互作用過程是數據庫設計的主題之一,同時也是系統應用這些信息的基礎。在數據庫結構上,與軟件功能模塊的劃分相對應,采用分層設計思想,即將數據庫的設計在不同的應用層面上分別進行。最底層是用于對系統中各主體的基本屬性描述的數據表,在其之上是用于描述這些主體之間相互關系和相互作用的數據表,最后是針對不同應用需要的而設計的應用層數據表。最后,各個數據庫表層相互關聯,形成一個統一完整的數據信息應用網絡,構成關系型數據庫框架體系結構。
2.2 應用程序服務器設計
在開發多層式應用系統中,編寫應用程序服務器是非常重要的工作。因為應用程序服務器提供了客戶端應用程序存取遠程數據庫的接口,可以編寫邏輯組件,在應用程序服務器中,允許所有客戶端應用程序調用和使用。客戶端應用程序可以透過DCOM直接與應用程序服務器溝通。系統的應用程序服務器主要負責與數據庫服務器進行數據存取、并對取出的數據進行安全處理,提供給系統的各個需要服務的客戶端應用程序和WEB服務器程序。它與數據庫服務器的存取方案如圖2所示。
圖2 應用程序服務器的存取方案
2.3 WEB服務器程序設計
在分布式多層應用系統中,為了讓WEB服務器能夠服務的客戶端用戶更多,反應客戶端的要求更迅速,WEB服務器不直接與數據庫服務器連結,而是通過應用程序服務器與數據庫服務器相連。當WEB應用程序接受到客戶端的查詢要求時,可將查詢工作交與應用程序服務器執行,當它執行完畢之后再把結果通過WEB應用程序傳遞給WEB服務器,最后再由WEB服務器回傳給客戶端的瀏覽器。
2.4 應用管理軟件設計
應用管理軟件是分散在各個連結機具的工作站上,用以面向用戶機具,管理整個系統。系統以應用功能為基礎,共劃分出消費管理、考勤管理、門禁管理、卡管理、基本信息管理、操作權限管理等6個子系統。
3 系統安全機制
在系統中安全管理機制包括卡的加密和認證機制,卡權限管理機制,數據庫安全管理機制,應用管理軟件的安全等幾個方面。對卡的加密和認證是保證系統能在安全狀態下運行的基礎。對卡的加密主要是利用邏輯卡本身所具有的安全加密特性完成的。邏輯卡使用的是一種符合ISO/IEC9789—2標準的三次DES加密算法,每張卡在出廠時都有一個唯一的編號,該編號不能被更改或復制;同時,卡上為用戶設有兩個專門的密匙存儲區域,該區域不能被任何設備讀出或復制(只有通過專門的系統卡才能進行讀寫)。通過兩個密匙之間的不同相互認證,以及其它狀態控制參數的設定來共同完成對卡的讀寫方式和權限的設定加密。利用邏輯卡的上述加密特點,在系統中對每張卡在特定的存儲區域都有保存有一個統一的系統識別標志,以判別卡是否是系統內的合法用戶。卡權限管理就是對一張卡在不同機具上可操作性的賦權過程。在系統中按作用和工作狀態的不同機具分為門禁機,考勤機和消費結算機等三種,在對卡的控制機制上,門禁機和考勤機二者采用相同的方式——“白名單”方式。所謂的“白名單”方式就是對于每一張要求在機具上使用的卡,必須事先把機具所需要的卡信息(卡的識別符號、所要求的讀寫方式、控制參數等)發送到機具端并在機具端加以保存。當卡通過機具并請求其提供某種操作或服務時,機具首先讀取該卡的信息,然后在自己所保存的卡信息中查找該卡的信息記錄,若未找到或者發現是合法用戶但沒有所請求的服務權限,則機具就拒絕用戶請求,使用戶操作失敗。而消費結算機則采用“黑名單”方式。“黑名單”的工作方式與“白名單”的工作方式正好相反,它所保存的是禁用卡的信息,因此,在某消費結算機中留存有記錄的卡在進行消費結算時將被其拒絕,消費結算機也可采用特定方式進行卡的合法性檢查。
由于在IC卡系統中,采集來的數據最終是要通過應用管理軟件來處理的,因此應用管理軟件的安全技術也是非常重要的。常用的應用管理軟功能件包括瀏覽查詢、報表處理、數據采集、數據處理、機具管理、卡管理和用戶管理等等。為了防止非法用戶進入管理軟件并通過管理軟件非法查看和篡改數據,必須對進入者進行身份的鑒別,以及對訪問者進行訪問權限控制。
基于分布式多層結構的一卡通應用系統的開發適應了現代化企事業單位進行科學而高效地管理需要。系統地研制成功有力地促進了企事業管理科學化的進程,目前已被江西省某大型企業使用,取得了良好的社會效益和經濟效益。
參考文獻:
【1】李維 分布式多層應用系統篇 北京:機械工業出版社 ,2000年
【2】李維 分布式多層應用電子商務篇 北京:機械工業出版社 ,2000年
【3】王景中等 基于智能IC卡的網絡數據安全保密系統 計算機應用,2001,21(7):53-55
【4】肖政宏 韓秋風 多層軟件結構技術及其實現 電腦與信息技術,2001,9(6):52-55
作者簡介:劉小東 周紹梅 南昌大學計算中心 鄧胡濱 華東交通大學信息學院