0 引言
隨著計算機技術的迅猛發展,基于預定流程的工作流管理系統應運而生。利用該系統來管理按照預定流程實現的業務過程,可大大簡化和優化運行流程,提高運轉效率,但同時也引入了一個急需解決的問題——安全問題。同時,作為管理系統,其可管理性也很重要。因此,如何構建一個安全的、便于管理的系統是工作流管理系統建設的目標和追求。
根據工作流管理系統的特點,本文重點分析了其主要的安全問題,并在此基礎上提出了一個新的安全模型,即利用數字簽名技術和基于角色的訪問控制(RBAC)來構造系統安全,使系統既具有數字簽名的安全性也具有RBAC的可管理性。在實現上,利用該模型成功開發了一個基于J2EE,Oracle9i,Bes6.5的B/S模式工作流管理系統。
1 工作流管理系統主要安全問題分析
工作流安全白皮書指出,工作流的基本安全問題包括認證、授權、訪問控制、審計、數據保密性、數據完整性、防否認、安全管理等。工作流管理系統作為交互系統,其安全隱患多出現于系統與人的交互環節。結合工作流管理系統的特殊性,其安全問題要體現在訪問控制、保持數據的完整性以及防止抵賴等方面。
1.1 訪問控制
系統交互是軟件系統最主要的安全隱患,主要表現在用戶對系統資源的非法訪問和越權訪問。訪問控制的性能將決定系統的安全性能。對工作流管理系統,訪問控制既要保證不讓用戶執行未授權的任務,又要保證授權用戶順利執行已經授權的任務。同時,方便合理的安全管理也是系統安全性能的一個重要方面。因此,采用合適的訪問控制策對系統來說至關重要,適合的訪問控制方式不僅可以使系統更加安全,也使系統的管理與維護都更加方便。
1.2 傳送信息的正確性
在保證授權用戶順利訪問授權資源的同時,確保交互數據的正確性也很重要。由于訪問控制不涉及交互信息的正確性驗證問題,交互數據有被篡改或者傳送不完整的可能。因此,只有對交互信息進行正確性驗證才能充分保證系統的安全。信息的正確性驗證通常是通過發送方和接受方的信息進行比較來判斷的,如果二者相同,則傳送的信息正確,否則不正確。
1.3 防止抵賴
工作流管理系統主要包括工作流的流轉及其管理,需要相關責任人進行確認和責任的承擔。因此,防止抵賴也是工作流管理系統安全的一個重要方面。防止抵賴包括兩個方面,一個是從技術上來保證這個操作確實是某人所為,沒有被冒名頂替操作的可能;二是需要對系統重要操作信息進行記錄,使其更具有說服力。通過在技術上的保證來說明只有自己才有操作的可能。同時,由于任何系統的安全保護措施都不是最完美不缺的,總是有人想方設法地打破控制。因此,對重要操作信息的記錄(即審計)也相當重要。
2 安全模型
2.1 基于角色的訪問控制
訪問控制是當今信息安全策略的主流,其目的是為了限制主體對客體的訪問權限,使系統在合法范圍內使用。訪問控制包括自主訪問控制(DAC)、強制訪問控制(MAC)、基于任務的訪問控制(TBAC)和基于角色的訪問控制(RBAC)。其中,RBAC最為靈活、有效,它正在逐步成為訪問控制方式的主流。
RBAC模型主要包括由美國國家標準與技術局(NIST)提出的RBAC模型以及George Mason大學的提出的RBAC96模型,它是基于角色訪問控制模型的權威參考文檔,NIST已經將其作為制作規范的基礎。圖1為RBAC96基本思想示意圖,其核心思想是在資源權限和用戶之間增加一個中介“角色”,把對資源訪問的權限賦予一定的角色,再把角色賦予相應的用戶,當用戶登錄系統時,系統通過用戶角色來判斷其是否可以訪問系統資源的方式來實現訪問控制。RBAC最大的優點是兼顧安全性和可管理性。
圖1 RBAC96模型核心思想示意
2.2 數宇簽名
數字簽名技術是指附加在數據單元上的一些數據或對數據單元所作的密碼變換技術,它具有3個主要功能:一是信息接收方能夠證實信息發送方的身份;二是信息發送方事后不能否認發送的信息;三是接收方或非法者不能偽造篡改信息。數字簽名常通過RSA加密算法結合消息摘要(MD)的密碼技術來進行,目前廣泛使用的是MD5消息摘要算法MD。
數字簽名主要包括簽名和簽名驗證兩部分,簽名主要是MD5和私匙Kua對發送信息M進行加密,而簽名驗證主要是利用公鑰Kpa對發送方的數字簽名信息解密并驗證傳送信息的完整性。數字簽名的安全性已獲得國家相關法律的認可,可以很好地防止抵賴。數字簽名數據流如圖2所示。
圖2 數字簽名數據流動示意圖
2.3 基于數字簽名和RBAC的安全模型
基于工作流管理系統的安全性與可管理性需求,可利用數字簽名技術和RBAC來構造一個安全的便于管理的工作流管理系統。需要將系統的任務按照需要抽象成不同的角色,并賦予角色相應權限,然后再把角色授權給不同用戶。使用戶具有相應的管理權限。這樣,系統就可利用角色進行管理,同時結合數字簽名技術可提高系統安全性,保障傳送數據的完整性。因此,系統兼顧安全性與便于管理性以及良好的不可抵賴性。為此,本文提出了一個新的安全模型,如圖3所示。
圖3 安全控制模型
安全控制模型通過身份驗證。簽名驗證、以及角色權限驗證來實現系統的安全訪問控制,保證系統的安全,同時也兼顧RBAC的靈活性和易管理性。模型由應用系統、數字驗證服務器、RBAC服務器、工作流管理服務器等組成。它利用系統前臺與控制流管理系統之間增加數字簽名和基于角色的訪問控制,然后由工作流管理系統控制應用系統后臺程序。用戶通過操作應用系統客戶端將其操作意圖通知系統,系統將操作意圖信息進行數字簽名后形成密文發送到數字驗證服務器進行驗證,對于通過信息驗證的用戶獲得角色,然后根據用戶角色權限驗證用戶操作的合法性,合法者操作成功并對成功操作的敏感部分信息進行審計,以備將來追究其責任。這樣用戶就可以安全方便地操作應用系統了,系統安全訪問控制流程圖如圖4所示。
圖4 安全訪問控制流程圖
3 J2EE中的應用實現
J2EE采用基于容器的安全機制,將系統組件開發與系統安全設計相分離,安全問題由組件組裝人員和部署者和系統管理員來完成。結合RBAC和容器的申明性安全性策略。用它來管理J2EE容器中的系統組件資源,從系統組件訪問控制的角度來實現系統安全。J2EE模式下安全模型的訪問控制流程如圖5所示。由于J2EE容器采用了一次登陸(SSO)機制,避免了用戶訪問資源時重復輸入用戶名,密碼。
圖5 基于J2EE模式的模型訪問控制流程
在實現應用上,利用該模型成功開發了一套基于J2EE,Oracle9i,Bes6.5的B/S模式的工作流管理系統。目前,該系統在一家石油企業應用良好。系統在利用圖5所示流程的同時,為了更好地實現系統的安全性與可管理性,還采用了如下的安全措施:
(1)利用數字簽名和“用戶名/密碼”來共同完成用戶身份的驗證,避免因“用戶名/密碼”被盜而帶來的安全問題。
(2)在Oracle數據庫中創建用于保存RBAC信息的數據表,并通過數據庫觸發器保持數據庫表數據與DBMS數據的同步性,這樣就可以利用DBMS的RBAC策略來保護Oracle數據庫資源。
(3)結合數據表的設計,形成基于用戶的動態菜單,給用戶一個定制化的操作菜單,便于用戶對系統的安全操作。
4 結束語
本文在分析工作流管理系統安全問題的基礎上,根據工作流管理系統的特點和系統安全性能的要求,提出了新的基于角色的訪問控制與數字簽名的有機結合來實現系統的安全管理模型。同時結合數字簽名技術來安全方便地實現工作管理系統的安全管理,使系統具有較高的安全性和可管理性。在實踐上,利用這種安全模型成功開發一套基于J2EE的工作流管理系統。目前該系統應用良好。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.vmgcyvh.cn/
本文標題:ERP工作流管理系統中的信息安全研究
本文網址:http://www.vmgcyvh.cn/html/consultation/1082059432.html