1、 前言
由于電子平臺的辦公信息的敏感性以及網絡的虛擬性和開放性,決定了電子平臺系統需要有強有力的用戶訪問安全、網絡安全、系統安全、應用程序安全、數據庫和事務治理器安全來保證電子平臺系統的安全。而系統采用J2EE框架正是滿足以上需要,它不但將安全任務的一些內容轉移給容器,且能夠提供給用程序員完成安全任務的功能。
2、 方案的整體設計
1、 用戶訪問安全:
用戶訪問安全不僅僅是Web訪問,還包括其他類型的訪問,例如電子數據交互(EDI,Electronic Data Interchange),在電子平臺系統中我們主要用到的是webservice。為了保證用戶訪問的安全性,我們主要從以下幾個方面來考慮
Ø 定義驗證方法:這部分包括CAS的驗證、系統的基本驗證
Ø 定義安全角色:為不同的用戶建立不同角色,避免了不同角色之間在權限上的混亂。
Ø 為單個的servlet/jsp定義安全角色引用:為一些比較非凡的或則安全級別比較高的servlet/jsp定義安全角色引用。
1) Web訪問:
將電子平臺系統所使用的WEB系統配置成安全的WEB系統,采用要求用戶訪問時提供數字證書的工作方式,使用HTTPS協議保證信息傳輸的安全性及完整性;將從用戶提交的數字證書中獲取的用戶信息(如姓名)作為在系統中注冊、登錄的依據,從而保證了在處理業務的時候具有法律性和不可抵賴性。另一方面,HTTPS協議將Web應用與非授權的訪問隔離開來。
1) Web Service
這一部分內容暫定
2、 網絡安全
網絡安全主要就是保證機密性和信息完整性,為此我們采用了集中認證的登錄模式,將有證書和無證書用戶的訪問隔開來,從而保證了網絡的安全性能。下面就是集中認證模式的一個網絡視圖,其中CA服務器,是采用第三方CA認證機構信誠通的服務器。
集中認證網絡示意圖
3、 系統安全
系統的安全主要是在用戶登錄系統的時候對用戶的身份驗證。
4、 應用程序安全
為J2EE應用程序提供J2EE安全,由于電子平臺系統與集中認證的系統相獨立,故只需要在電子平臺系統中提供J2EE相關安全就可以保證整個系統的安全性。J2EE應用程序安全使用基于角色的安全機制,在開發期間,我們應當通過為特定的安全角色分配安全資源和方法來確定應用程序的安全策略。在應用程序裝配期間,安全角色被影射為真實的用戶和組。這種兩段式安全治理方法給予應用程序很大的靈活性和可移植性,在運行時,J2EE容器負責強迫執行訪問控制安全的資源和方法。J2EE容器支持兩類安全:
·說明性的安全性
·可編程的安全性
我們在本系統中采用說明性的安全性,說明性的安全性意味著安全策略在部署描述文件中定義,而不是在應用程序代碼中。這樣做,一是減輕編碼的工作量;二是可以根據客戶的要求更改角色,而不需要更改代碼。下面我們分為Web模塊和Ejb模塊來討論
1)Web模塊的說明性安全
我們在前面的“用戶訪問安全”討論的,為了保證用戶訪問安全,我們從定義驗證方法、定義安全角色、為單個的servlet/jsp定義安全角色引用三個方面進行設計的,Web模塊的說明性安全就是為了實現“定義安全角色”、“為單個的servlet/jsp定義安全角色引用”這兩個要求,為了方便討論我們將這連個要求分開討論。
定義的幾種角色:
大眾用戶 everyone
企業用戶 enterPRise
質檢用戶 organ
市監督局 city_ surveillance
省監督局 province_ surveillance
國家監督局 country_ surveillance
平臺治理員 plat _manager
(A)定義驗證方法:
(B)定義安全角色:
(C)定義安全約束:
(D)為單個的servlet/jsp定義安全角色引用(可選):
2)EJB模塊的說明性的安全性
EJB是執行應用程序的業務邏輯的J2EE組件。它是一般用于訪問敏感的數據。這樣,為EJB指派恰當的策略是非常重要的。
訪問控制應用于單獨的會話和實體bean方法,所以只有屬于特定安全角色的調用這些方法。會話、實體和消息驅動bean方法在調用者(EJB服務器)的身份下或者一個特定的安全角色下被委托執行。這稱為委托策略(Delegation Policy)或者成為以他人身份運行模式映射(Run-As Mode Mapping)。下面主要就我們電子平臺的Ejb模塊在WSAD上設置安全性的過程。
(A)定義安全角色
(B)指派方法許可
(C)治理委托策略
(D)bean級委托
(E)方法級委托
(F)定義安全角色引用(可選)
5、 數據庫和事務治理器的安全
未完成,
3、 系統的安全登錄的流程
1、 集中認證登錄的一個流程
新聞熱點
疑難解答