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