專利名稱:一種控制系統(tǒng)安全管理的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種控制系統(tǒng)安全管理的方法,屬于計算機(jī)系統(tǒng)安全技術(shù)領(lǐng)域。
背景技術(shù):
由于認(rèn)證、授權(quán)、計費(fèi)服務(wù)器(以下簡稱AAA服務(wù)器)和計費(fèi)、帳務(wù)系統(tǒng)在電信、企業(yè)網(wǎng)運(yùn)行中的重要性,客戶往往要求服務(wù)器軟件在易學(xué)易用的同時,有較高的安全性及可靠性。
為了對管理工作進(jìn)行規(guī)范,同時增強(qiáng)對不同管理人員的權(quán)限制約,系統(tǒng)必須提供完善的安全管理機(jī)制。在運(yùn)營設(shè)備不斷增加的情況下,管理的復(fù)雜度也不斷加劇,為了能夠規(guī)范管理工作,讓不同的管理人員各盡其職、互不干擾,同時也能有效制約非授權(quán)人員的越權(quán)操作,綜合訪問管理系統(tǒng)(以下簡稱CAMS)必須使用較高的安全管理策略,以保障系統(tǒng)的有效運(yùn)行。
目前對操作權(quán)限的限制管理方案有很多,有的系統(tǒng)使用系統(tǒng)管理模塊和系統(tǒng)安全操作模塊的對操作權(quán)限進(jìn)行了兩級劃分,其中系統(tǒng)管理模塊能實(shí)現(xiàn)對系統(tǒng)的所有操作權(quán)限,而系統(tǒng)操作僅能實(shí)現(xiàn)部分操作權(quán)限(如實(shí)現(xiàn)最終用戶管理的權(quán)限),兩級操作管理權(quán)限兩級劃分流程如圖1所示。但是由于CAMS系統(tǒng)的復(fù)雜性,在平臺的構(gòu)架下承載多種業(yè)務(wù),因此簡單的兩級權(quán)限劃分遠(yuǎn)遠(yuǎn)不能滿足客戶的要求。
此外還有一些與操作系統(tǒng)/數(shù)據(jù)庫相聯(lián)系的權(quán)限組織方案,例如通過對數(shù)據(jù)庫的讀、寫等操作進(jìn)行權(quán)限劃分,將其組織成不同等級的操作權(quán)限模塊,并在增加操作模塊時將操作模塊定義為不同等級,以此限制操作模塊對數(shù)據(jù)的訪問范圍和操作級別。該實(shí)現(xiàn)方法如圖2所示。
該實(shí)現(xiàn)方法可以較好的限制操作模塊的讀寫操作能力,但由于其與底層構(gòu)架(如操作系統(tǒng)和數(shù)據(jù)庫)相綁定,因此受到底層系統(tǒng)的制約,限制了其靈活性和可移植性。但其缺點(diǎn)是1、由于分級本身的限制,不可能將操作的各個權(quán)限模塊劃分得很細(xì),如前所述,只能實(shí)現(xiàn)對操作權(quán)限模塊的模糊控制。例如定義了“增加”權(quán)限,那么只要擁有該權(quán)限的操作模塊,就能夠增加所有的用戶數(shù)據(jù),很明顯,失去了其應(yīng)有的靈活性;2、由于權(quán)限定義依賴于操作系統(tǒng)和數(shù)據(jù)庫,因此也失去了其獨(dú)立性與可移植性,當(dāng)本系統(tǒng)需要移植操作系統(tǒng)或數(shù)據(jù)庫時,安全管理部分將難以繼續(xù)使用。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種控制系統(tǒng)安全管理的方法,克服已有技術(shù)的缺乏很好的靈活性和獨(dú)立性的缺點(diǎn),以靈活配置操作管理權(quán)限,且操作簡單。
本發(fā)明提出的一種控制系統(tǒng)安全管理的方法,該方法是通過基于角色模塊的控制來實(shí)現(xiàn),該方法包括如下各步驟1、確定系統(tǒng)的基本操作權(quán)限模塊,并將一個或多個所確定的基本操作權(quán)限模塊歸納合并為一個獨(dú)立操作權(quán)限模塊;2、將一個或多個獨(dú)立操作權(quán)限模塊賦予一個角色模塊;3、將上述角色模塊賦予系統(tǒng)的安全操作模塊;4、當(dāng)啟動上述安全操作模塊進(jìn)行系統(tǒng)安全管理控制時,系統(tǒng)對安全操作模塊所包含的角色模塊進(jìn)行解析,解析后得到該安全操作模塊的獨(dú)立操作權(quán)限模塊。
上述方法的步驟1中的獨(dú)立操作權(quán)限模塊之間具有依賴關(guān)系時,即當(dāng)獨(dú)立操作權(quán)限模塊A依賴于獨(dú)立操作權(quán)限模塊限B時,一個角色模塊擁有獨(dú)立操作權(quán)限模塊A的同時,必須擁有獨(dú)立操作權(quán)限模塊B;一個角色模塊刪除獨(dú)立操作權(quán)限模塊B的同時,刪除獨(dú)立操作權(quán)限模塊A。
上述方法的步驟2中將一個或多個子角色模塊賦予一個主角色模塊,并對主角色模塊進(jìn)行合法性驗(yàn)證,合法的主角色模塊擁有子角色模塊的所有獨(dú)立操作權(quán)限模塊。也可以將一個或多個子角色模塊和一個或多個獨(dú)立操作權(quán)限模塊賦予一個主角色模塊,并對主角色模塊進(jìn)行合法性驗(yàn)證,合法的主角色模塊擁有子角色模塊的所有獨(dú)立操作權(quán)限模塊。其中對主角色模塊進(jìn)行合法性驗(yàn)證的過程包括如下步驟1、首先將頂層的被驗(yàn)證角色模塊存入堆棧;2、將上述被驗(yàn)證角色模塊的第一下層的子角色模塊存入第一下層的待驗(yàn)證角色模塊隊(duì)列中;3、判斷第一下層的待驗(yàn)證角色模塊隊(duì)列是否為空,若為空,則進(jìn)一步判斷本層是否為頂層,若是,則驗(yàn)證結(jié)束,被驗(yàn)證角色模塊合法,并使被驗(yàn)證角色模塊退出堆棧,若不是頂層,則退回到上一層,并對上一層的角色模塊重新執(zhí)行本步驟;4、若上述待驗(yàn)證角色模塊隊(duì)列不為空,則從第一下層的待驗(yàn)證角色模塊隊(duì)列中取出一個角色模塊,判斷其是否在堆棧中,若在堆棧中,則頂層被驗(yàn)證角色模塊為非法,否則進(jìn)行下一步;5、將第一下層的待驗(yàn)證角色模塊存入堆棧,并轉(zhuǎn)步驟(2);6、重復(fù)上述步驟2~5,依次驗(yàn)證頂層以下的第一層、第二層、第三層等等,直至驗(yàn)證結(jié)束。
上述方法的步驟4中,系統(tǒng)對操作員模塊進(jìn)行角色模塊解析的過程包括如下步驟1、將頂層的被解析角色模塊存入堆棧;2、對上述角色模塊進(jìn)行解析,將解析出的子角色模塊和操作權(quán)限子模塊分別存入第一下層的待解析角色模塊隊(duì)列和全局獨(dú)立操作權(quán)限模塊存儲器中;3、判斷第一下層待解析角色模塊隊(duì)列是否為空,若為空,則進(jìn)一步判斷該層是否為堆棧的頂層,若為頂層,則解析結(jié)束,并使本角色模塊從堆棧中退出,此時全局獨(dú)立操作權(quán)限模塊存儲器中的獨(dú)立操作權(quán)限模塊即為被解析角色模塊的獨(dú)立操作權(quán)限模塊,若不為頂層,則退回到上一層,并對上一層的角色模塊重新執(zhí)行本步驟;4、若上述待解析角色模塊隊(duì)列不為空,則從第一下層的待解析角色模塊隊(duì)列中取出一個角色模塊,判斷其是否在堆棧中,若在堆棧中,則頂層的被解析角色模塊無效,否則進(jìn)行下一步;5、將第一下層的待解析角色模塊存入堆棧,并轉(zhuǎn)步驟(2);6、重復(fù)步驟(2)~(5),依次解析頂層以下的第一層、第二層、第三層等等,直至解析結(jié)束。
本發(fā)明提出的控制系統(tǒng)安全管理的方法,使用獨(dú)立操作權(quán)限模塊和角色模塊的定義機(jī)制,既可以極其靈活地配置安全操作模塊的任何操作權(quán)限模塊,又可以方便于用戶定義各類不同的操作角色模塊。由于獨(dú)立操作權(quán)限模塊及角色模塊的信息可以使用不同方法進(jìn)行保存,因此在實(shí)施過程中,基于角色模塊的系統(tǒng)安全管理機(jī)制具有獨(dú)立性,可以不依賴于特定操作系統(tǒng)和數(shù)據(jù)庫,當(dāng)系統(tǒng)需要移植時,該管理部分基本不會受到影響。
圖1是已有技術(shù)中兩級操作權(quán)限流程示意圖;圖2是已有技術(shù)中使用數(shù)據(jù)庫操作權(quán)限定義安全管理操作級別的流程示意圖;圖3是本發(fā)明方法中的角色驗(yàn)證流程圖;圖4是本發(fā)明方法中的角色解析流程圖;圖5是角色驗(yàn)證過程示意圖;圖6是本發(fā)明方法在角色管理在CAMS系統(tǒng)中的運(yùn)用實(shí)例示意圖。
具體實(shí)施例方式
本發(fā)明提出的一種控制系統(tǒng)安全管理的方法,是基于角色管理模塊的控制,該方法首先確定系統(tǒng)的基本操作權(quán)限模塊,并將一個或多個所確定的基本操作權(quán)限模塊歸納合并為一個獨(dú)立操作權(quán)限模塊;將一個或多個獨(dú)立操作權(quán)限模塊賦予一個角色模塊;將上述角色模塊賦予系統(tǒng)的安全操作模塊;當(dāng)啟動上述安全操作模塊進(jìn)行系統(tǒng)安全管理控制時,系統(tǒng)對安全操作模塊所包含的角色模塊進(jìn)行解析,解析后得到該安全操作模塊的獨(dú)立操作權(quán)限模塊。
上述方法中的獨(dú)立操作權(quán)限模塊之間具有依賴關(guān)系時,即當(dāng)獨(dú)立操作權(quán)限模塊A依賴于獨(dú)立操作權(quán)限模塊限B時,一個角色模塊擁有獨(dú)立操作權(quán)限模塊A的同時,必須擁有獨(dú)立操作權(quán)限模塊B;一個角色模塊刪除獨(dú)立操作權(quán)限模塊B的同時,刪除獨(dú)立操作權(quán)限模塊A。
上述方法中可以將一個或多個子角色模塊賦予一個主角色模塊,并對主角色模塊進(jìn)行合法性驗(yàn)證,合法的主角色模塊擁有子角色模塊的所有獨(dú)立操作權(quán)限模塊。也可以將一個或多個子角色模塊和一個或多個獨(dú)立操作權(quán)限模塊賦予一個主角色模塊,并對主角色模塊進(jìn)行合法性驗(yàn)證,合法的主角色模塊擁有子角色模塊的所有獨(dú)立操作權(quán)限模塊。
其中對主角色模塊進(jìn)行合法性驗(yàn)證的過程如圖3所示,首先將頂層的被驗(yàn)證角色模塊存入堆棧;將上述被驗(yàn)證角色模塊的第一下層的子角色模塊存入第一下層的待驗(yàn)證角色模塊隊(duì)列中;判斷第一下層的待驗(yàn)證角色模塊隊(duì)列是否為空,若為空,則進(jìn)一步判斷本層是否為頂層,若是,則驗(yàn)證結(jié)束,被驗(yàn)證角色模塊合法,并使被驗(yàn)證角色模塊退出堆棧,若不是頂層,則退回到上一層,并對上一層的角色模塊重新執(zhí)行本步驟;若上述待驗(yàn)證角色模塊隊(duì)列不為空,則從第一下層的待驗(yàn)證角色模塊隊(duì)列中取出一個角色模塊,判斷其是否在堆棧中,若在堆棧中,則頂層被驗(yàn)證角色模塊為非法,否則進(jìn)行下一步;將第一下層的待驗(yàn)證角色模塊存入堆棧,重復(fù)上述過程,依次驗(yàn)證頂層以下的第一層、第二層、第三層等等,直至驗(yàn)證結(jié)束。
本發(fā)明方法中,系統(tǒng)對安全操作模塊進(jìn)行角色模塊解析的過程如圖4所示,首先將頂層的被解析角色模塊存入堆棧;對上述角色模塊進(jìn)行解析,將解析出的子角色模塊和操作權(quán)限子模塊分別存入第一下層的待解析角色模塊隊(duì)列和全局獨(dú)立操作權(quán)限模塊存儲器中;判斷第一下層待解析角色模塊隊(duì)列是否為空,若為空,則進(jìn)一步判斷該層是否為堆棧的頂層,若為頂層,則解析結(jié)束,并使本角色模塊從堆棧中退出,此時全局獨(dú)立操作權(quán)限模塊存儲器中的獨(dú)立操作權(quán)限模塊即為被解析角色模塊的獨(dú)立操作權(quán)限模塊,若不為頂層,則退回到上一層,并對上一層的角色模塊重新執(zhí)行本步驟;若上述待解析角色模塊隊(duì)列不為空,則從第一下層的待解析角色模塊隊(duì)列中取出一個角色模塊,判斷其是否在堆棧中,若在堆棧中,則頂層的被解析角色模塊無效,否則進(jìn)行下一步;將第一下層的待解析角色模塊存入堆棧,重復(fù)上述步驟,依次解析頂層以下的第一層、第二層、第三層等等,直至解析結(jié)束。
主角色模塊的合法性驗(yàn)證的具體過程還可以通過圖5所示實(shí)施例具體過程得以更加清楚的了解,圖5中,角色模塊A的子角色模塊是B1、B2、B3,角色模塊B 1的子角色模塊是C1、C2,角色模塊B2的子角色模塊是D1,角色模塊C3的子角色模塊是E1、E2、E3、E4,其他角色模塊沒有子角色模塊。其驗(yàn)證過程實(shí)質(zhì)上是樹的后序遍歷算法,包括以下步驟1、將角色模塊A存入堆棧,將其第一下層的子角色模塊B1、B2、B3存入第一下層待驗(yàn)證隊(duì)列;2、進(jìn)入該層的第一下層(該層有B1、B2、B3),將B1取出;3、將B1存入堆棧,將其第一下層角色C1、C2存入待該第一下層待驗(yàn)證隊(duì)列;4、進(jìn)入該層的第一下層(該層有C1、C2),將C1取出;5、C1的子角色模塊隊(duì)列為空,且C1不是頂層,退回上層(B1所在層);6、將C2取出,并存入堆棧,將其第一下層子角色模塊E1、E2、E3、E4存入該層待驗(yàn)證隊(duì)列;7、進(jìn)入該層第一下層,對該層的E1、E2、E3、E4分別驗(yàn)證,驗(yàn)證結(jié)束后退回上層(C2所在層);8、將C2退出堆棧,該層的角色模塊已經(jīng)驗(yàn)證完,因此該層的角色模塊隊(duì)列為空,同時該層不是頂層,因此退回上層(B1所在層);
9、將B1退出堆棧,從該層的待驗(yàn)證角色模塊隊(duì)列中取出B2,進(jìn)行驗(yàn)證;10、將B2存入堆棧,將其第一下層子角色模塊D1存入第一下層待驗(yàn)證隊(duì)列;11、進(jìn)入第一下層(D1所在層),取出D1,驗(yàn)證后,退回上層(B2所在層);12、將B2退出堆棧,從該層的待驗(yàn)證角色模塊隊(duì)列中取出B3,進(jìn)行驗(yàn)證;13、B3驗(yàn)證結(jié)束后,退出堆棧,此時該層的所有角色模塊驗(yàn)證結(jié)束,即該層的待驗(yàn)證角色模塊隊(duì)列為空,同時該層不是頂層,因此退回上層(A所在層)。
驗(yàn)證順序(即為樹的后序遍歷順序)C1->E1->E2->E3->E4->C2->B1->D1->B2->B3->A假設(shè)系統(tǒng)當(dāng)前有10種基本操作,將其定義為10種獨(dú)立操作權(quán)限模塊,并分別命名為獨(dú)立操作權(quán)限模塊1~獨(dú)立操作權(quán)限模塊10。在進(jìn)行角色模塊管理時,將獨(dú)立操作權(quán)限模塊1~獨(dú)立操作權(quán)限模塊3賦給角色A,將獨(dú)立操作權(quán)限模塊4、5賦給角色B,并將角色A、角色B與獨(dú)立操作權(quán)限模塊6同時賦給角色C;在定義安全操作模塊時,指定該安全操作模塊的角色為角色C,則該安全操作模塊將擁有獨(dú)立操作權(quán)限模塊1~6。如果獨(dú)立操作權(quán)限模塊5依賴于獨(dú)立操作權(quán)限模塊4,則在進(jìn)行角色模塊管理時系統(tǒng)應(yīng)做如下控制當(dāng)為一個角色模塊添加獨(dú)立操作權(quán)限模塊5時,獨(dú)立操作權(quán)限模塊4被自動添加;反之如果獨(dú)立操作權(quán)限模塊4被從該角色模塊中刪除,則獨(dú)立操作權(quán)限模塊5也將被自動刪除。
為了方便對獨(dú)立操作權(quán)限模塊的管理,可以使用統(tǒng)一的編碼規(guī)則對獨(dú)立操作權(quán)限模塊進(jìn)行編碼。在實(shí)際實(shí)施時,編碼的目的是為了將相關(guān)的獨(dú)立操作權(quán)限模塊進(jìn)行分類,并方便于表示和管理獨(dú)立操作權(quán)限模塊間的依賴關(guān)系。例如當(dāng)一個角色模塊擁有“增加”的獨(dú)立操作權(quán)限模塊時,其必須擁有“查詢頁面列表”的獨(dú)立操作權(quán)限模塊(如果沒有查詢頁面列表的獨(dú)立操作權(quán)限,則不能進(jìn)入頁面,更不能執(zhí)行“增加”操作了);因此可以如下編碼使用4位號碼表示獨(dú)立操作權(quán)限模塊,“查詢頁面列表”和“增加”的獨(dú)立操作權(quán)限模塊編碼前3位相同,并將“查詢頁面列表”的獨(dú)立操作權(quán)限模塊編碼的最后一位置0,而“增加”的獨(dú)立操作權(quán)限模塊編碼的最后一位置1;在為一個角色增加獨(dú)立操作權(quán)限時,當(dāng)一個“增加”的獨(dú)立操作權(quán)限被添加后,其同類的“查詢頁面列表”的獨(dú)立操作權(quán)限模塊(編碼的前三位相同,最后一位為0)將被自動增加;反之如果“查詢頁面列表”的獨(dú)立操作權(quán)限模塊被從一個角色模塊中刪除,則與其同類的“增加”的獨(dú)立操作權(quán)限模塊也將被自動刪除!圖6是角色管理在CAMS系統(tǒng)中的運(yùn)用實(shí)例,先確定本系統(tǒng)擁有的所有基本操作模塊,將其合并歸納為獨(dú)立操作權(quán)限模塊并進(jìn)行編碼,在進(jìn)行角色模塊管理時,將獨(dú)立操作權(quán)限模塊賦給相應(yīng)角色模塊,并在增加安全操作模塊時將角色模塊賦予安全操作模塊。由圖6中可以看出,除了可以將獨(dú)立操作權(quán)限模塊賦給角色模塊外,還可以將已定義過的角色模塊賦給新角色模塊,該生成的新角色模塊為主角色模塊,相對的賦予給主角色模塊的角色模塊為子角色模塊?;静僮鳈?quán)限模塊由通過程序定義并進(jìn)行編碼管理,用戶使用時僅關(guān)心角色模塊包含哪些(或哪幾類)管理權(quán)限。為了方便用戶使用,可以在系統(tǒng)中預(yù)定義幾類大的角色,當(dāng)用戶需要增加一個新角色時,只需從已定義好的角色模塊列表中選擇一個需要的角色模塊,并從權(quán)限列表中再添加需要的額外獨(dú)立操作權(quán)限,便可以方便的構(gòu)成新的角色模塊。最后,增加或修改安全操作模塊時,通過將新角色模塊(即主角色模塊)指定給安全操作模塊,便可使安全操作模塊繼承該角色模塊擁有的所有獨(dú)立操作權(quán)限模塊的所能實(shí)現(xiàn)的所有操作權(quán)限。
在建立角色模塊時,可能出現(xiàn)如下所示的角色模塊循環(huán)定義角色模塊Ra包含角色模塊Rb;角色模塊Rb包含角色模塊Rc;角色模塊Rc包含角色模塊Ra;
當(dāng)出現(xiàn)角色模塊循環(huán)定義時,該角色模塊無法被解析出,即該角色模塊無效。因此在建立角色模塊時,必須檢查角色模塊的合法性。將角色模塊賦予安全操作模塊,使該安全操作模塊進(jìn)入系統(tǒng)時,系統(tǒng)將對其角色模塊進(jìn)行解析,合法的角色模塊必然能夠被解析為一組獨(dú)立操作權(quán)限集合,解析后得到的獨(dú)立操作權(quán)限集合,可以作為安全操作模塊的一個屬性被保存,并在安全操作模塊執(zhí)行系統(tǒng)維護(hù)操作時進(jìn)行權(quán)限驗(yàn)證。
對于CAMS系統(tǒng),由于它是基于網(wǎng)頁的應(yīng)用程序,因此權(quán)限驗(yàn)證方式為基于網(wǎng)頁的驗(yàn)證方式如果驗(yàn)證通過,則可以繼續(xù)訪問頁面;否則直接轉(zhuǎn)入錯誤提示信息頁面。通過該方式,可以方便的對每個安全操作模塊的操作權(quán)限進(jìn)行管理。此外,由于本文所描述的基于角色模塊的控制系統(tǒng)安全管理的方法不依賴于特定平臺或數(shù)據(jù)庫,因此在系統(tǒng)需要移植時,實(shí)現(xiàn)安全管理控制方法的各模塊幾乎不需要做任何改動。
權(quán)利要求
1.一種控制系統(tǒng)安全管理的方法,該方法是通過基于角色模塊的控制來實(shí)現(xiàn)的,其特征在于該方法包括如下各步驟(1)確定系統(tǒng)的基本操作權(quán)限模塊,并將一個或多個所確定的基本操作權(quán)限模塊歸納合并為一個獨(dú)立操作權(quán)限模塊;(2)將一個或多個獨(dú)立操作權(quán)限模塊賦予一個角色模塊;(3)將上述角色模塊賦予系統(tǒng)的安全操作模塊;(4)當(dāng)啟動上述安全操作模塊進(jìn)行系統(tǒng)安全管理控制時,系統(tǒng)對安全操作模塊所包含的角色模塊進(jìn)行解析,解析后得到該安全操作模塊的獨(dú)立操作權(quán)限模塊。
2.如權(quán)利要求1所述的方法,其特征在于所述的步驟(1)中的獨(dú)立操作權(quán)限模塊之間具有依賴關(guān)系時,即當(dāng)獨(dú)立操作權(quán)限模塊A依賴于獨(dú)立操作權(quán)限模塊限B時,一個角色模塊擁有獨(dú)立操作權(quán)限模塊A的同時,必須擁有獨(dú)立操作權(quán)限模塊B;一個角色模塊刪除獨(dú)立操作權(quán)限模塊B的同時,刪除獨(dú)立操作權(quán)限模塊A。
3.如權(quán)利要求1所述的方法,其特征在于所述的步驟(2)中將一個或多個子角色模塊賦予一個主角色模塊,并對主角色模塊進(jìn)行合法性驗(yàn)證,合法的主角色模塊擁有子角色模塊的所有獨(dú)立操作權(quán)限模塊。
4.如權(quán)利要求1所述的方法,其特征在于所述的步驟(2)中將一個或多個子角色模塊和一個或多個獨(dú)立操作權(quán)限模塊賦予一個主角色模塊,并對主角色模塊進(jìn)行合法性驗(yàn)證,合法的主角色模塊擁有子角色模塊的所有獨(dú)立操作權(quán)限模塊。
5.如權(quán)利要求3或4所述的方法,其特征在于其中對主角色模塊進(jìn)行合法性驗(yàn)證的過程包括如下步驟(1)首先將頂層的被驗(yàn)證角色模塊存入堆棧;(2)將上述被驗(yàn)證角色模塊的第一下層的子角色模塊存入第一下層的待驗(yàn)證角色模塊隊(duì)列中;(3)判斷第一下層的待驗(yàn)證角色模塊隊(duì)列是否為空,若為空,則進(jìn)一步判斷本層是否為頂層,若是,則驗(yàn)證結(jié)束,被驗(yàn)證角色模塊合法,并使被驗(yàn)證角色模塊退出堆棧,若不是頂層,則退回到上一層,并對上一層的角色模塊重新執(zhí)行本步驟;(4)若上述待驗(yàn)證角色模塊隊(duì)列不為空,則從第一下層的待驗(yàn)證角色模塊隊(duì)列中取出一個角色模塊,判斷其是否在堆棧中,若在堆棧中,則頂層被驗(yàn)證角色模塊為非法,否則進(jìn)行下一步;(5)將第一下層的待驗(yàn)證角色模塊存入堆棧,并轉(zhuǎn)步驟(2);(6)重復(fù)步驟(2)~(5),依次驗(yàn)證頂層以下的第一層、第二層、第三層等等,直至驗(yàn)證結(jié)束。
6.如權(quán)利要求1所述的方法,其特征在于步驟(4)中,系統(tǒng)對安全操作模塊進(jìn)行角色模塊解析的過程包括如下步驟(1)將頂層的被解析角色模塊存入堆棧;(2)對上述角色模塊進(jìn)行解析,將解析出的子角色模塊和獨(dú)立操作權(quán)限子模塊分別存入第一下層的待解析角色模塊隊(duì)列和全局獨(dú)立操作權(quán)限模塊存儲器中;(3)判斷第一下層待解析角色模塊隊(duì)列是否為空,若為空,則進(jìn)一步判斷該層是否為堆棧的頂層,若為頂層,則解析結(jié)束,并使本角色模塊從堆棧中退出,此時全局獨(dú)立操作權(quán)限模塊存儲器中的獨(dú)立操作權(quán)限模塊即為被解析角色模塊的獨(dú)立操作權(quán)限模塊,若不為頂層,則退回到上一層,并對上一層的角色模塊重新執(zhí)行本步驟;(4)若上述待解析角色模塊隊(duì)列不為空,則從第一下層的待解析角色模塊隊(duì)列中取出一個角色模塊,判斷其是否在堆棧中,若在堆棧中,則頂層的被解析角色模塊無效,否則進(jìn)行下一步;(5)將第一下層的待解析角色模塊存入堆棧,并轉(zhuǎn)步驟(2);(6)重復(fù)步驟(2)~(5),依次解析頂層以下的第一層、第二層、第三層等等,直至解析結(jié)束。
全文摘要
本發(fā)明涉及一種控制系統(tǒng)安全管理的方法,屬于計算機(jī)系統(tǒng)安全技術(shù)領(lǐng)域。該方法首先確定系統(tǒng)的基本操作權(quán)限模塊,并將一個或多個所確定的基本操作權(quán)限模塊歸納合并為一個獨(dú)立操作權(quán)限模塊;將一個或多個獨(dú)立操作權(quán)限模塊賦予一個角色模塊;將上述角色模塊賦予系統(tǒng)的安全操作模塊;當(dāng)啟動上述安全操作模塊進(jìn)行系統(tǒng)安全管理控制時,系統(tǒng)對安全操作模塊所包含的角色模塊進(jìn)行解析,解析后得到該安全操作模塊的獨(dú)立操作權(quán)限模塊。本發(fā)明的方法,使用權(quán)限和角色的定義機(jī)制,既可以極其靈活地配置操作員的任何操作權(quán)限,又可以方便于用戶定義各類不同的操作角色。而且由于獨(dú)立操作權(quán)限及角色的信息可以使用不同方法進(jìn)行保存,因此獨(dú)立性好。
文檔編號G06F12/14GK1493995SQ02150118
公開日2004年5月5日 申請日期2002年11月2日 優(yōu)先權(quán)日2002年11月2日
發(fā)明者李方寧 申請人:華為技術(shù)有限公司