校園一卡通系統(tǒng)安全機制及應用方案
文章出處:http:// 作者:石潤華,葛麗娜,鐘誠 人氣: 發(fā)表時間:2010年07月28日
前 言
Java 卡是一種可以運行Java 程序的接觸式微處理器智能卡 。在Java 卡出現前,智能卡應用研發(fā)是一個復雜漫長的過程,各生產商對智能卡的研制都各不相同,沒有一個通用的開發(fā)環(huán)境。由于Java 虛擬機的使用,Java 卡的Applet 能夠在不同卡片的JCAE(Java Card Application En2vironment) 上執(zhí)行,即通過Java 虛擬機的機制來達到跨平臺的能力,真正實現一卡通的功能,大大增強了智能卡的靈活性。
Java 卡的出現統(tǒng)一了智能卡的編程接口(API) ,統(tǒng)一了智能卡的編程語言(Java 語言) ,為智能卡更大范圍的應用提供了基礎,真正使智能卡行業(yè)成為一個統(tǒng)一標準的產業(yè)。
1 校園一卡通應用系統(tǒng)及其安全性分析
校園一卡通系統(tǒng)是一種基于Java 卡的智能卡管理系統(tǒng),以校園網絡為基礎,以Java 卡為個人信息載體,以讀卡器作為局域網前端設備,直接與持卡人進行信息交換,各個功能子系統(tǒng)間既分工又協(xié)作。用戶可以通過校園網進行數據查詢。使得校園管理工作高效有序、快速簡捷。真正做到一卡在手,萬事諸行。其功能包括了一般校園管理的諸多方面,其結構如圖1 所示。
校園一卡通系統(tǒng)是建立在校園網絡的基礎上,通過校園局域網,中心系統(tǒng)可以對各功能子系統(tǒng)進行統(tǒng)一管理;各功能子系統(tǒng)可以進行信息傳遞和交流;用戶可以對個人信息進行查詢。
為了保護系統(tǒng)數據安全和設備安全,防止對系統(tǒng)的惡意攻擊,需要對系統(tǒng)進行網絡安全防護。校園一卡通系統(tǒng)的數據量龐大、涉及面廣,尤其包含有許多重要、隱私信息。所以確保數據的機密性、完整性、正確性和不可否認性是另一個必須考慮的安全問題。在校園一卡通系統(tǒng)里,數據庫是信息存儲中心和系統(tǒng)運行的基礎。基于它的核心地位,其安全問題更是不能忽視。對于數據庫安全問題,首要的任務是怎樣控制用戶訪問權限,只有經過認證、授權的用戶才能訪問數據庫。校園卡自身的安全也是整個應用系統(tǒng)安全的不可分割的重要組成部分。一旦校園卡的安全性受到破壞,那么整個系統(tǒng)也就無安全性可言。
2 校園一卡通系統(tǒng)安全防護
2. 1 網絡層安全防護
為了保護系統(tǒng)數據安全和設備安全,防止對系統(tǒng)的惡意攻擊,需要對系統(tǒng)進行網絡防護。
(1) 設置防火墻:防火墻是一種行之有效且應用廣泛的網絡安全機制,可防止Internet 上的不安全因素蔓延到局域網內部。在興邦校園一卡通系統(tǒng)里,為了增強網絡安全性,抵抗網絡攻擊,在各個功能子系統(tǒng)、數據庫、中心系統(tǒng)和校園局域網連接處放置防火墻。其網絡邏輯結構簡圖見圖2。
(2) 入侵檢測:入侵檢測技術是為保證計算機系統(tǒng)的安全而設計與配置的一種能夠及時發(fā)現并報告系統(tǒng)中未授權或異常現象的技術,是一種用于檢測計算機網絡中違反安全策略行為的技術。通過引入入侵檢測技術,在網絡中實時檢測攻擊事件的發(fā)生,并在攻擊事件發(fā)生的早期階段,切斷攻擊者的連接,保護系統(tǒng)安全。這里采用分布式混合入侵檢測———基于網絡的入侵檢測和基于主機的入侵檢測的方法。
①在各個子系統(tǒng)服務器進出校園局域網處放置基于網絡的入侵檢測引擎,不停地監(jiān)視此網段中的各種數據包,對每個數據包或可疑的數據包進行特征分析。如果數據包與入侵檢測系統(tǒng)中的某些規(guī)則吻合,則入侵檢測系統(tǒng)就會發(fā)出警報或者直接切斷網絡的連接。
②在各個子系統(tǒng)服務器上安裝基于主機的入侵檢測系統(tǒng),對該主機的網絡實時連接以及系統(tǒng)審計日志進行智能分析和判斷,如果其中主體活動十分可疑,入侵檢測系統(tǒng)就會采取相應措施。
(3) 病毒防范:在網絡環(huán)境下,計算機病毒有著驚人的破壞力,病毒防范是網絡安全建設中需要考慮的重要環(huán)節(jié)。因此在各個子系統(tǒng)管理主機上安裝有查、殺病毒程序或軟件。
2. 2 信息安全———加密與認證為了確保系統(tǒng)數據的機密性、完整性、正確性和不可否認性,需要進行數據加密和實體認證。在興邦校園一卡通系統(tǒng)里,發(fā)行者是整個應用系統(tǒng)中權限最高、最為關鍵的實體,有權修改卡內數據的權限(雖然不一定是數據所有者) 。要求要有很高的權威性,并被其他實體所信任。在所設計的一卡通應用系統(tǒng)里, 可由發(fā)行者代行CA[5 ]簽證權力,發(fā)行者以自己的私鑰向其他實體簽發(fā)證書,證書采用X. 509 標準 。這里的實體是:持卡者、卡、終端(讀寫器) 和發(fā)行者(校園發(fā)卡中心) 。為了防止惡意攻擊,需要進行實體認證,增強授權訪問控制。授權就是確認其權限的合法性。在校園一卡通應用系統(tǒng)里實體間的認證,主要是指卡對持卡者的認證、終端對卡的認證、卡對終端的認證、發(fā)行者對終端的認證。
(1) 卡對持卡者的認證:要求持卡者輸入個人識別碼pin ,檢驗pin ,若pin 正確就驗證其合法身份,可以為其服務。否則停止服務,并自鎖(輸入密碼不正確超過一定次數后) 。
(2) 卡和終端(興邦讀寫器) 的雙向認證:
①卡產生一個隨機數RC 。
②卡構造一條消息, M = ( TC , RC) ,其中TC 是卡的時間標記。
③卡用終端公鑰PT 加密EPT ( C- C , ESC ( M) ) 發(fā)送給終端。C- C 為卡的證書, SC 為卡的私人密鑰。
④終端用私鑰ST 解密DS T ( EPT ( C- C , ESC ( M) ) ) =( C- C , ESC ( M) ) ,確認C- C 并得到PC 。確認密鑰沒過期。PC 為卡的公開密鑰。
⑤終端用PC 去解ESC ( M) , DPC ( ESC ( M) ) = M ,這樣既證明了卡的簽名又證明了所簽發(fā)信息的完整性。
⑥終端檢查M 中的TC 以證實消息是剛發(fā)來的。
⑦作為一個可選項, 終端對照舊隨機數數據庫檢查M 中的RC 以確保消息不是舊消息重放。
⑧終端產生另一個隨機數RT 。
⑨終端構造一條消息, M′= ( TT , RT , RC) ,其中TT 是終端的時間標記, RC 是卡在第1 步中產生的隨機數。
⑩終端用卡的公鑰PC 加密EPC ( C- T , ES T ( M) ) 發(fā)送給卡。ST 為終端私人密鑰。
1.1 卡用私鑰SC 解密DSC ( EPC ( C- T , ES T ( M) ) ) =( C- T , ES T ( M) ) ,確認C- T 并得到,確認密鑰沒過期。PT為終端的公開密鑰。
1.2 卡用PT解密ES T ( M) , DPT ( ES T ( M) ) = M′。以確認終端的簽名和消息的完整性。
1.3 卡檢查M 中的TT ,并證實消息是剛發(fā)送來的。
1.4 作為可選項,卡可檢查M′中RT以確保消息不是重放的舊消息。
(3) 發(fā)行者對終端的單向認證:其認證過程同卡對終端雙向認證的①~ ⑦步。
對于數據加密,混合應用對稱加密密碼體制(DES) 和非對稱加密密碼體制(RAS) ,并采用兩級密鑰:數據加密密鑰和密鑰加密密鑰。數據加密密鑰隨機產生,一次一密(Java 卡芯片內需要有產生隨機密碼的專用程序,其他實體相同) 。發(fā)送方采用對稱加密算法DES ,對保密信息用數據加密密鑰k 進行加密。采用公鑰加密算法RAS對數據加密密鑰k 用接收方密鑰加密密鑰Px (即用戶的公鑰) 進行加密。發(fā)送方把證書連同兩種加密信息傳送給接收方,接收方先檢驗對方證書, 驗證后用自己的私鑰Sx 解密數據加密密鑰k ,再用k 解密保密信息m。
2. 3 校園一卡通系統(tǒng)數據庫安全策略
針對數據庫具有客體較多、生存周期長、客體具有層次性和多項性、客體邏輯結構與物理結構的分離、數據庫的安全與數據語法有關以及防范推理攻擊等特點,建立如下多層結構、層層隔離、層層防護的安全模型:
對訪問者的請求,通過防火墻的初級過濾之后,交由CORBA 層。CORBA 封裝底層網絡通信協(xié)議,實現跨平臺通信,并以組件的形式提交應用服務器(Web 服務器) 。應用服務器接收用戶請求,然后把用戶請求傳送至中間代理Agent 。Agent 請求識別與認證服務程序對用戶進行認證。然后Agent 通過訪問權限規(guī)則庫和審計日志庫檢驗用戶的請求是否越權。驗證為合法用戶的合理請求后,則授權訪問中心系統(tǒng)數據庫;否則拒絕該請求,并且將非法請求記錄在審計日志庫。若同一來源的非法請求數量過多,將對該來源的請求作一些懲罰性的處理,比如拒絕該來源的一切請求(如圖3 所示) 。
2. 4 校園卡的安全防護
校園一卡通系統(tǒng)功能齊全,涉及部門多,尤其校園卡上存儲信息量多,要求安全性高。因此,除了一般智能卡的安全機制外,還補加了以下安全措施:
(1) 一卡一密。在校園一卡通系統(tǒng)中,采取了一卡一密安全措施??ǖ拿荑€由用戶保管,并且用戶可以重新設置密鑰,密鑰以密文的形式傳輸與保存。這樣攻擊者雖然可以竊聽通信線,卻無法知道某一張卡的密鑰,也就無法偽造一張完全相同的卡。因為不可能每個人所持有的校園卡上設置的密鑰均相同,所以攻擊者即使知道了某一張卡的密鑰,也無法推算出其他人的卡上的密鑰。
(2) 一次一密。這里的密鑰是指會話密鑰(數據加密 密鑰) 。攻擊者即使通過竊聽通訊線,獲取整個通訊過程中的明文和密文,但系統(tǒng)采用一次一密,密鑰隨機產生,破解全部密文理論上不可能。
(3) 鎖死與解鎖。如果連續(xù)多次輸入密碼錯誤,卡片將鎖死,用戶只有到發(fā)卡機構進行解鎖,才可以繼續(xù)使用該卡片。這樣可以防止攻擊者偷竊到系統(tǒng)中的一張校園卡,通過試密碼的方法試出卡片持有者的密碼,從而冒充該卡片的真正持有者進入系統(tǒng)。
3 結束語
校園一卡通系統(tǒng)是今后校園現代化管理的必然趨勢,但因為服務種類多、涉及的信息量大,使得安全問題尤其重要。文中從多層次多角度對校園一卡通應用系統(tǒng)進行了安全分析,并采取了相應安全防護,為應用系統(tǒng)安全性分析與防護提供了范例。