專利名稱:基于多種優(yōu)化機(jī)制的xacml策略評(píng)估引擎系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)與信息安全技術(shù)領(lǐng)域,涉及分布式環(huán)境中XACML策略評(píng)估技術(shù),具體的說(shuō)是一種提高分布式環(huán)境下XACML策略評(píng)估效率的系統(tǒng),可用于云計(jì)算、社交網(wǎng)絡(luò)、Web服務(wù)等分布式環(huán)境下對(duì)海量用戶的訪問(wèn)請(qǐng)求及時(shí)進(jìn)行決策。
背景技術(shù):
XACML (extensible Access Control Markup Language)是一種可擴(kuò)展的訪問(wèn)控制標(biāo)記語(yǔ)言,它是在 2003 年 2 月由 OASIS (Organization for the Advancement ofStructured Information Standards)組織制定的用于決定用戶訪問(wèn)請(qǐng)求的通用訪問(wèn)控制策略描述語(yǔ)言。作為一種訪問(wèn)控制策略描述語(yǔ)言,與其他訪問(wèn)控制策略描述語(yǔ)言相比,XACML具有通用性、可擴(kuò)展性、功能強(qiáng)大的特點(diǎn),已成為許多企業(yè)應(yīng)用和商業(yè)產(chǎn)品實(shí)現(xiàn)安全授權(quán)功能的實(shí)際標(biāo)準(zhǔn)。XACML策略是用XACML標(biāo)準(zhǔn)描述的訪問(wèn)控制策略,該策略包含若干策略集,每個(gè)策略集由多個(gè)策略組成,每個(gè)策略由一組保證網(wǎng)絡(luò)資源不被非法使用的規(guī)則組成,當(dāng)用戶申請(qǐng)?jiān)L問(wèn)資源時(shí),訪問(wèn)控制模塊通過(guò)評(píng)估XACML策略對(duì)用戶進(jìn)行授權(quán)。云計(jì)算、社交網(wǎng)絡(luò)、Web服務(wù)等應(yīng)用需要指定大量的XACML策略對(duì)資源進(jìn)行細(xì)粒度訪問(wèn)控制。但隨著系統(tǒng)用戶和資源數(shù)量的不斷增加,如,截止2012年9月30日,新浪微博的用戶數(shù)量已達(dá)
4.24億,平均每天活躍用戶達(dá)到4230萬(wàn),XACML策略包含的規(guī)則數(shù)越來(lái)越多,結(jié)構(gòu)越來(lái)越復(fù)雜,XACML策略評(píng)估效率已成為制約系統(tǒng)可用性的關(guān)鍵瓶頸,亟需一種高效的XACML策略評(píng)估引擎對(duì)海量用戶的請(qǐng)求及時(shí)做出正確授權(quán)?,F(xiàn)有開源的XACML策略評(píng)估引擎系統(tǒng)主要有Sun公司的XACML策略評(píng)估引擎系統(tǒng)、AXESC0N XACML策略評(píng)估引擎系統(tǒng)和Enterprise XACML策略評(píng)估引擎系統(tǒng)。其中:Sun公司的XACML策略評(píng)估引擎系統(tǒng)采用遍歷匹配方式,在當(dāng)前具有大規(guī)模XACML策略的分布式環(huán)境中,該系統(tǒng)對(duì)用戶訪問(wèn)請(qǐng)求進(jìn)行授權(quán)需要遍歷匹配所有XACML策略,策略評(píng)估效率很低。AXESC0N XACML策略評(píng)估引擎系統(tǒng)提供了策略載入和策略緩存功能,但其仍然按照XACML策略文件的嵌套結(jié)構(gòu)逐層匹配,沒(méi)有對(duì)匹配邏輯優(yōu)化,也沒(méi)引入高效的索引結(jié)構(gòu),策略評(píng)估效率較低。Enterprise XACML策略評(píng)估引擎系統(tǒng)提供了策略索引功能,在一定程度上縮減了策略檢索范圍,但其索引結(jié)構(gòu)沒(méi)有考慮規(guī)則目標(biāo)的匹配優(yōu)化問(wèn)題,規(guī)則仍然是逐層匹配方式,策略評(píng)估效率較低。上述開源的XACML策略評(píng)估引擎的評(píng)估效率都比較低,不能為分布式環(huán)境下海量用戶的訪問(wèn)請(qǐng)求及時(shí)做出正確決策。近年來(lái),XACML策略評(píng)估效率問(wèn)題也引起了學(xué)術(shù)界的廣泛關(guān)注。美國(guó)學(xué)者AlexXLiu等人把字符串XACML策略轉(zhuǎn)化為數(shù)值化的XACML策略,把字符串比較變?yōu)閿?shù)值比較,從而提高了 XACML策略評(píng)估效率,但該系統(tǒng)只支持XACML策略當(dāng)中的首次適用合并算法,而不支持其它三種合并算法,此外該系統(tǒng)由于沒(méi)有考慮對(duì)XACML策略中的冗余規(guī)則進(jìn)行精簡(jiǎn)操作,其冗余規(guī)則仍然存在。中國(guó)學(xué)者王雅哲等人提出的多層次優(yōu)化技術(shù)的XACML策略評(píng)估引擎系統(tǒng),雖然提高了 XACML策略評(píng)估效率,但該系統(tǒng)由于不能保證緩存內(nèi)容一定是頻繁調(diào)用的,且其XACML策略匹配仍然是字符串比較,因而XACML策略評(píng)估效率低,不能滿足在云計(jì)算、社交網(wǎng)絡(luò)等分布式環(huán)境下需要對(duì)海量用戶同時(shí)發(fā)出的訪問(wèn)請(qǐng)求及時(shí)做出正確決策的要求。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)當(dāng)前XACML策略評(píng)估引擎系統(tǒng)的缺點(diǎn),提出一種基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),以提高策略評(píng)估效率,滿足對(duì)云計(jì)算、社交網(wǎng)絡(luò)分布式環(huán)境下海量用戶同時(shí)發(fā)出的訪問(wèn)請(qǐng)求需要及時(shí)做出正確決策的要求。本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:一.技術(shù)原理XACML策略規(guī)模龐大和遍歷式匹配XACML策略的授權(quán)方式是影響XACML策略評(píng)估引擎評(píng)估效率的兩大主要因素,本發(fā)明針對(duì)這兩大主要因素,使用統(tǒng)計(jì)分析機(jī)制動(dòng)態(tài)精化策略,縮減策略規(guī)模,通過(guò)數(shù)值化機(jī)制將文本的XACML策略轉(zhuǎn)化為數(shù)值的XACML策略,使評(píng)估引擎系統(tǒng)使用高效的整數(shù)比較,而不再是低效的字符串匹配,通過(guò)多種緩存機(jī)制有效降低評(píng)估引擎和其他功能部件的通信損耗,將原來(lái)的遍歷式、字符串匹配轉(zhuǎn)化為選擇性的數(shù)值比較,提高XACML策略評(píng)估引擎的效率。二.系統(tǒng)組成本發(fā)明基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng)包括:審計(jì)服務(wù)單元1,用于記錄系統(tǒng)的訪問(wèn)請(qǐng)求、請(qǐng)求響應(yīng)、策略集屬性的調(diào)用信息,為策略決策服務(wù)單元3中的統(tǒng)計(jì)分析模塊提供最準(zhǔn)確的原始數(shù)據(jù);策略管理服務(wù)單元2,用于提供一個(gè)集中式的圖形化XACML策略管理平臺(tái),完成XACML策略的基本操作、動(dòng)態(tài)XACML策略精化、XACML策略的數(shù)值化;策略決策服務(wù)單元3,用于根據(jù)從屬性斷言服務(wù)單元5和策略持久化服務(wù)單元4中獲取的相關(guān)信息對(duì)用戶的訪問(wèn)請(qǐng)求進(jìn)行授權(quán)決策;策略持久化服務(wù)單元4,用于存儲(chǔ)策略管理服務(wù)單元2創(chuàng)建的XACML策略、支持多種XACML策略存儲(chǔ)方式及XACML策略庫(kù)的動(dòng)態(tài)添加和注銷,并對(duì)策略決策服務(wù)單元3提供XACML策略檢索服務(wù);屬性斷言服務(wù)單元5,用于提供屬性斷言存儲(chǔ)和發(fā)布服務(wù),為策略決策服務(wù)單元3提供屬性檢索功能;上述的策略決策服務(wù)單元3,包括:上下文處理器模塊31,用于將原始用戶資源訪問(wèn)請(qǐng)求解析為XACML請(qǐng)求并發(fā)送給評(píng)估引擎模塊32,并將評(píng)估引擎模塊32返回的判斷結(jié)果封裝為XACML響應(yīng)格式發(fā)給用戶;評(píng)估引擎模塊32,用于從多級(jí)緩存模塊33中獲取屬性、請(qǐng)求及對(duì)應(yīng)結(jié)果、XACML策略信息,并將獲取的相關(guān)信息與用戶訪問(wèn)請(qǐng)求中指定的實(shí)體信息進(jìn)行匹配,根據(jù)匹配結(jié)果對(duì)訪問(wèn)請(qǐng)求執(zhí)行授權(quán)決策,并將決策結(jié)果返回給上下文處理器模塊31 ;多級(jí)緩存模塊33,用于將頻繁調(diào)用的屬性、XACML策略和請(qǐng)求及對(duì)應(yīng)結(jié)果信息存儲(chǔ)在緩存中,以有效降低評(píng)估引擎模塊32和其他功能部件的通信損耗,提高決策效率;
統(tǒng)計(jì)分析模塊34,用于對(duì)審計(jì)服務(wù)的日志信息進(jìn)行分析,利用統(tǒng)計(jì)分析得到的屬性、XACML策略和請(qǐng)求及對(duì)應(yīng)結(jié)果的調(diào)用頻率,實(shí)時(shí)、動(dòng)態(tài)更新緩存內(nèi)容,調(diào)整XACML策略的規(guī)則順序,保證多級(jí)緩存模塊33中存儲(chǔ)的內(nèi)容都是頻繁使用的,保證調(diào)用最頻繁的規(guī)則排在XACML策略的最前面,以提高XACML策略匹配速度。上述基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),其特征在于策略管理服務(wù)單元2,包括:XACML策略基本操作模塊21,用于提供創(chuàng)建、修改、刪除和更新XACML策略的圖形化操作界面;動(dòng)態(tài)XACML策略精化模塊22,用于實(shí)現(xiàn)XACML策略匹配的前期優(yōu)化;策略數(shù)值化模塊23,用于將文本的XACML策略轉(zhuǎn)化為數(shù)值化的XACML策略,使評(píng)估引擎使用高效的整數(shù)比較,而不再是低效的字符串匹配;策略持久化服務(wù)遠(yuǎn)程過(guò)程調(diào)用模塊24,用于為策略管理服務(wù)單元2和策略持久化服務(wù)單元4提供交互接口。上述的基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),其特征在于策略持久化服務(wù)單元4,包括:策略持久化存儲(chǔ)模塊41,用于存儲(chǔ)系統(tǒng)中的XACML策略文件,支持多種XACML策略存儲(chǔ)方式及XACML策略庫(kù)的動(dòng)態(tài)添加和注銷;策略檢索模塊42,用于響應(yīng)來(lái)自策略決策服務(wù)單元3的XACML策略檢索請(qǐng)求,并將查找到的XACML策略的內(nèi)容返回給策略決策服務(wù)單元3。上述的基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),其特征在于屬性斷言服務(wù)單元5,包括:屬性存儲(chǔ)模塊51,用于存儲(chǔ)用戶屬性和資源屬性,支持多種屬性存儲(chǔ)方式及屬性庫(kù)的動(dòng)態(tài)添加和注銷;屬性檢索模塊52,用于響應(yīng)來(lái)自策略決策服務(wù)單元3的屬性檢索請(qǐng)求,并將查找到的屬性以SAML斷言格式返回給策略決策服務(wù)單元3。上述的基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),其特征在于動(dòng)態(tài)XACML策略精化模塊22,包括:冗余規(guī)則分析模塊221,用于利用狀態(tài)覆蓋法,檢測(cè)XACML策略中不產(chǎn)生實(shí)際判定影響的冗余規(guī)則,并將冗余規(guī)則刪除來(lái)縮減XACML策略的規(guī)模;規(guī)則重排序模塊222,用于從統(tǒng)計(jì)分析模塊34獲取XACML策略規(guī)則的調(diào)用頻率,并根據(jù)調(diào)用頻率由高到低調(diào)整規(guī)則順序。上述的基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),其特征在于多級(jí)緩存模塊33,包括:屬性緩存模塊331,用于保存頻繁檢索的屬性信息,以減少導(dǎo)致系統(tǒng)響應(yīng)延遲的頻繁屬性檢索操作,提高評(píng)估引擎的效率;請(qǐng)求及對(duì)應(yīng)結(jié)果緩存模塊332,用于保存頻繁的訪問(wèn)請(qǐng)求及對(duì)應(yīng)響應(yīng)結(jié)果,當(dāng)再次訪問(wèn)時(shí),不必觸發(fā)屬性檢索、策略檢索及策略匹配等導(dǎo)致系統(tǒng)響應(yīng)延遲的復(fù)雜流程,提高評(píng)估引擎的效率;策略緩存模塊333,用于保存頻繁檢索的XACML策略文件,以減少導(dǎo)致系統(tǒng)響應(yīng)延遲的頻繁XACML策略檢索操作,提高評(píng)估引擎的效率。本發(fā)明具有如下優(yōu)點(diǎn):I)本發(fā)明用在云計(jì)算、社交網(wǎng)絡(luò)、Web服務(wù)等分布式環(huán)境下為海量用戶的訪問(wèn)請(qǐng)求及時(shí)進(jìn)行授權(quán)決策,其策略決策服務(wù)單元采用了統(tǒng)計(jì)分析機(jī)制可實(shí)時(shí)、動(dòng)態(tài)更新緩存內(nèi)容,調(diào)整XACML策略規(guī)則順序,保證多級(jí)緩存模塊中存儲(chǔ)的內(nèi)容都是頻繁調(diào)用的,保證調(diào)用最頻繁的規(guī)則排在XACML策略的最前面,減少了 XACML策略匹配運(yùn)算量,提高了 XACML策略評(píng)估引擎的效率;2 )本發(fā)明的策略管理服務(wù)單元由于使用狀態(tài)覆蓋法去除了冗余規(guī)則,利用統(tǒng)計(jì)分析機(jī)制按規(guī)則使用頻率由高到低的順序重排序規(guī)則,從而縮減了 XACML策略的規(guī)模,減少了 XACML策略匹配運(yùn)算量,提高了 XACML策略評(píng)估引擎的效率;3)本發(fā)明的策略管理服務(wù)單元由于采用數(shù)值化技術(shù)將文本的XACML策略轉(zhuǎn)化為數(shù)值的XACML策略,使評(píng)估引擎使用高效的整數(shù)比較,而不再是低效的字符串匹配,提高了XACML策略匹配速度,提高了 XACML策略評(píng)估引擎的效率;4)本發(fā)明的策略決策服務(wù)單元由于采用多種緩存機(jī)制有效降低評(píng)估引擎和其他功能部件的通信損耗,減少了 XACML策略匹配運(yùn)算量,提高了 XACML策略匹配速度,提高了XACML策略評(píng)估引擎的效率;本發(fā)明可方便地同分布式環(huán)境中訪問(wèn)控制的其他功能部件協(xié)同工作,具有易于集成,評(píng)估效率高,匹配運(yùn)算量小,通用性強(qiáng),功能實(shí)用等優(yōu)點(diǎn),在分布式環(huán)境下能為海量用戶同時(shí)發(fā)出的訪問(wèn)請(qǐng)求及時(shí)做出正確決策。
圖1是本發(fā)明的總體系統(tǒng)框圖;圖2是本發(fā)明中的審計(jì)服務(wù)單元結(jié)構(gòu)圖;圖3是本發(fā)明中的策略管理服務(wù)單元結(jié)構(gòu)圖;圖4是本發(fā)明的策略決策服務(wù)單元結(jié)構(gòu)圖;圖5是本發(fā)明的策略持久化服務(wù)單元結(jié)構(gòu)圖;圖6是本發(fā)明的屬性斷言服務(wù)單元結(jié)構(gòu)圖;圖7是基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng)的完整評(píng)估決策時(shí)序圖。
具體實(shí)施例方式以下參照附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明參照?qǐng)D1,本發(fā)明主要包含五個(gè)功能部件單元:審計(jì)服務(wù)單元1、策略管理服務(wù)單元2、策略決策服務(wù)單元3、策略持久化服務(wù)單元4和屬性斷言服務(wù)單元5。其中,審計(jì)服務(wù)單元I記錄系統(tǒng)的訪問(wèn)請(qǐng)求、請(qǐng)求響應(yīng)、策略集屬性調(diào)用等信息;策略管理服務(wù)單元2,提供一個(gè)集中式的圖形化策略管理平臺(tái),完成策略的基本操作、動(dòng)態(tài)XACML策略精化、XACML策略的數(shù)值化;策略決策服務(wù)單元3,根據(jù)從屬性斷言服務(wù)單元5和策略持久化服務(wù)單元4中獲取的相關(guān)信息對(duì)用戶的訪問(wèn)請(qǐng)求進(jìn)行授權(quán)決策;策略持久化服務(wù)單元4,存儲(chǔ)策略管理服務(wù)單元2創(chuàng)建的XACML策略、支持多種XACML策略存儲(chǔ)方式及XACML策略庫(kù)的動(dòng)態(tài)添加和注銷,并對(duì)策略決策服務(wù)單元3提供XACML策略檢索服務(wù);屬性斷言服務(wù)單元5,提供屬性斷言存儲(chǔ)和發(fā)布服務(wù),為策略決策服務(wù)單元3提供屬性檢索功能。各功能部件的結(jié)構(gòu)及工作原理如下:(一)審計(jì)服務(wù)單元I參照?qǐng)D2,審計(jì)服務(wù)單元I主要由審計(jì)日志模塊構(gòu)成,用于記錄策略管理服務(wù)單元
2、策略決策服務(wù)單元3、策略持久化服務(wù)單元4、屬性斷言服務(wù)單元5的交互信息,為策略決策服務(wù)單元3的統(tǒng)計(jì)分析模塊34提供最準(zhǔn)確的原始數(shù)據(jù)。 (二)策略管理服務(wù)單元2參照?qǐng)D3,策略管理服務(wù)單元2包括:策略基本操作模塊21、動(dòng)態(tài)策略精化模塊22、策略數(shù)值化模塊23和策略持久化服務(wù)遠(yuǎn)程過(guò)程調(diào)用模塊24。該單元的策略基本操作模塊21,主要為系統(tǒng)管理員提供創(chuàng)建、修改、刪除和更新策略的圖形化操作界面。動(dòng)態(tài)策略精化模塊22,用來(lái)實(shí)現(xiàn)策略匹配的前期優(yōu)化,其包括冗余規(guī)則分析模塊221和規(guī)則重排序模塊222 ;該冗余規(guī)則分析模塊221,采用狀態(tài)覆蓋法檢測(cè)不產(chǎn)生實(shí)際判定影響的冗余規(guī)則并將其刪除來(lái)縮減策略規(guī)模;該規(guī)則重排序模塊222,從統(tǒng)計(jì)信息中獲取規(guī)則調(diào)用頻率并根據(jù)調(diào)用頻率由高到低的順序重新調(diào)整去除冗余后的規(guī)則順序。策略數(shù)值化模塊23,將文 本的XACML策略轉(zhuǎn)化為數(shù)值化策略,使評(píng)估引擎使用高效的整數(shù)比較,而不再是低效的字符串匹配。策略持久化服務(wù)遠(yuǎn)程過(guò)程調(diào)用模塊24,為策略管理服務(wù)單元2和策略持久化服務(wù)單元4提供交互接口 ;策略管理服務(wù)單元2通過(guò)該接口既能將管理員創(chuàng)建、修改的策略存儲(chǔ)到策略持久化服務(wù)單元4,又能對(duì)策略持久化服務(wù)單元4中存儲(chǔ)的策略進(jìn)行修改、刪除和動(dòng)態(tài)精化等操作。(三)策略決策服務(wù)單元3參照?qǐng)D4,策略決策服務(wù)3包括:上下文處理器模塊31、評(píng)估引擎模塊32、多級(jí)緩存模塊33和統(tǒng)計(jì)分析模塊34。多級(jí)緩存模塊33包括屬性緩存模塊331、請(qǐng)求及對(duì)應(yīng)結(jié)果緩存模塊332和策略緩存模塊333。屬性緩存機(jī)制采用兩層映射模式,第一層映射由主體標(biāo)識(shí)和屬性標(biāo)識(shí)列表構(gòu)成,每個(gè)屬性標(biāo)識(shí)對(duì)應(yīng)一個(gè)屬性值列表構(gòu)成第二層映射;請(qǐng)求及對(duì)應(yīng)結(jié)果緩存機(jī)制按照請(qǐng)求標(biāo)識(shí)《會(huì)話標(biāo)識(shí)、會(huì)話標(biāo)識(shí)^>決策結(jié)果兩層映射模式構(gòu)建;策略緩存機(jī)制采用兩級(jí)索引機(jī)制,將資源標(biāo)識(shí)作為第一級(jí)索引的主鍵,每個(gè)主鍵指向一系列用來(lái)保護(hù)該資源的策略列表,第二級(jí)索引針對(duì)策略內(nèi)多個(gè)規(guī)則的目標(biāo)元素,依次從目標(biāo)元素中提取資源屬性和動(dòng)作屬性,并計(jì)算二者的笛卡爾乘積作為二級(jí)索引的主鍵,主體屬性列表作為鍵值。該單元的上下文處理器模塊31,將原始用戶資源訪問(wèn)請(qǐng)求解析為XACML請(qǐng)求并發(fā)送給評(píng)估引擎模塊32,然后將評(píng)估引擎模塊32返回的判斷結(jié)果封裝為XACML響應(yīng)發(fā)給用戶。評(píng)估引擎模塊32,先從多級(jí)緩存模塊33中獲取屬性、請(qǐng)求及對(duì)應(yīng)結(jié)果、策略信息,然后將獲取的這些信息與訪問(wèn)請(qǐng)求中指定的實(shí)體信息進(jìn)行匹配,最后根據(jù)匹配結(jié)果對(duì)訪問(wèn)請(qǐng)求執(zhí)行授權(quán)決策,若匹配成功則允許訪問(wèn),否則拒絕訪問(wèn)。多級(jí)緩存模塊33,根據(jù)統(tǒng)計(jì)分析模塊34提供的屬性、策略和請(qǐng)求及對(duì)應(yīng)結(jié)果調(diào)用頻率,將頻繁調(diào)用的屬性、策略和請(qǐng)求及對(duì)應(yīng)結(jié)果信息存儲(chǔ)在緩存中,以有效降低評(píng)估引擎和其他功能部件的通信損耗,提高決策效率。統(tǒng)計(jì)分析模塊34,用于對(duì)審計(jì)服務(wù)單元I的日志信息進(jìn)行分析,利用統(tǒng)計(jì)分析得到的屬性、XACML策略和請(qǐng)求及對(duì)應(yīng)結(jié)果的調(diào)用頻率,實(shí)時(shí)、動(dòng)態(tài)更新緩存內(nèi)容,調(diào)整XACML策略的規(guī)則順序,保證多級(jí)緩存模塊33中存儲(chǔ)的內(nèi)容都是頻繁使用的,保證調(diào)用最頻繁的規(guī)則排在XACML策略的最前面,以提高XACML策略匹配速度。(四)策略持久化服務(wù)單元4參照?qǐng)D5,策略持久化服務(wù)4包括:策略持久化存儲(chǔ)模塊41和策略檢索模塊42。該單元的策略持久化存儲(chǔ)模塊41,用于存儲(chǔ)策略管理服務(wù)單元2創(chuàng)建的XACML策略文件,支持多種XACML策略存儲(chǔ)方式及XACML策略庫(kù)的動(dòng)態(tài)添加和注銷。策略檢索模塊42,用于響應(yīng)來(lái)自策略管理服務(wù)單元2和策略決策服務(wù)單元3的XACML策略檢索請(qǐng)求,并將查找到的XACML策略的內(nèi)容返回給策略管理服務(wù)單元2和策略決策服務(wù)單元3。(五)屬性斷言服務(wù)單元5參照?qǐng)D6,屬性斷言服務(wù)5包括:屬性存儲(chǔ)模塊51和屬性檢索模塊52。該單元的屬性存儲(chǔ)模塊51,用于存儲(chǔ)用戶屬性和資源屬性,支持多種屬性存儲(chǔ)方式及屬性庫(kù)的動(dòng)態(tài)添加和注銷。屬性檢索模塊52,響應(yīng)來(lái)自策略決策服務(wù)單元3的屬性檢索請(qǐng)求,并將查找到的屬性以SAML斷言格式返回給策略決策服務(wù)單元3。參照?qǐng)D7,本發(fā)明基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng)的完整評(píng)估決策流程如下:(I)用戶發(fā)出訪問(wèn)請(qǐng)求,請(qǐng)求中包含用戶身份標(biāo)識(shí)、資源標(biāo)識(shí)和執(zhí)行的操作信息,策略決策服務(wù)單元3中的上下文處理器模塊31將用戶的原始請(qǐng)求轉(zhuǎn)換為XACML格式的訪問(wèn)請(qǐng)求并發(fā)給評(píng)估引擎模塊32進(jìn)行決策。(2)評(píng)估引擎模塊32對(duì)XACML格式的訪問(wèn)請(qǐng)求進(jìn)行處理,根據(jù)請(qǐng)求和此次會(huì)話標(biāo)識(shí)ID在請(qǐng)求及對(duì)應(yīng)結(jié)果緩存模塊332中檢索是否有關(guān)于該請(qǐng)求對(duì)應(yīng)的判定結(jié)果,若請(qǐng)求及對(duì)應(yīng)結(jié)果緩存模塊332中存在判定結(jié)果,則評(píng)估引擎模塊32直接將其封裝為XACML格式的響應(yīng)返回給上下文處理器模塊31 ;若沒(méi)有檢索到判定結(jié)果,則評(píng)估引擎模塊32首先判斷屬性緩存模塊331中是否有該用戶的相關(guān)屬性;若有該用戶的相關(guān)屬性,則直接返回給評(píng)估引擎模塊32 ;若沒(méi)有檢索到該用戶的相關(guān)屬性,則從屬性斷言服務(wù)單元5檢索用戶的屬性;若檢索到用戶的屬性,則把檢索到的用戶屬性返回給評(píng)估引擎模塊32;若沒(méi)有檢索到該用戶的相關(guān)屬性,則提示非法訪問(wèn)。(3)得到用戶的屬性信息后,評(píng)估引擎模塊32先根據(jù)訪問(wèn)請(qǐng)求中的資源標(biāo)識(shí)作為策略緩存機(jī)制的一級(jí)索引主鍵在策略緩存模塊333中檢索用來(lái)保護(hù)該資源的策略列表,然后將訪問(wèn)請(qǐng)求中資源屬性和動(dòng)作屬性的笛卡爾乘積作為策略緩存機(jī)制的二級(jí)索引的主鍵在這些策略列表中檢索對(duì)應(yīng)的用戶屬性集。(4)從保護(hù)該資源的XACML策略文件中得到用戶屬性集后,評(píng)估引擎模塊32將這些屬性集與從屬性緩存331或?qū)傩詳嘌苑?wù)單元5中得到的該用戶的屬性集進(jìn)行匹配,若兩個(gè)屬性集相同,則匹配成功,允許用戶訪問(wèn);若兩個(gè)屬性集不相同,則匹配不成功,拒絕用戶訪問(wèn)。評(píng)估引擎模塊32根據(jù)匹配結(jié)果得到對(duì)應(yīng)的授權(quán)決策結(jié)果,并將授權(quán)決策結(jié)果轉(zhuǎn)換為XACML格式的響應(yīng)返回給上下文處理器模塊31,上下文處理器模塊31將請(qǐng)求響應(yīng)返回給用戶。為了提高XACML策略評(píng)估引擎系統(tǒng)的評(píng)估效率,本發(fā)明提供了統(tǒng)計(jì)分析模塊34,系統(tǒng)管理員利用統(tǒng)計(jì)分析得到的屬性、XACML策略和請(qǐng)求及對(duì)應(yīng)結(jié)果的調(diào)用頻率,實(shí)時(shí)、動(dòng)態(tài)更新緩存內(nèi)容,調(diào)整XACML策略的規(guī)則順序,保證多級(jí)緩存模塊33中存儲(chǔ)的內(nèi)容都是頻繁使用的,保證調(diào)用最頻繁的規(guī)則排在XACML策略的最前面,以減少XACML策略的匹配運(yùn)算量,提高XACML策略匹配速度,達(dá)到提高XACML策略評(píng)估引擎系統(tǒng)評(píng)估效率的目的。術(shù)語(yǔ)解釋:XACML為可擴(kuò)展的訪問(wèn)控制標(biāo)記語(yǔ)言,英文全稱是extensible Access ControlMarkup Language,它是用于決定請(qǐng)求/響應(yīng)的通用訪問(wèn)控制策略語(yǔ)言,SAML 為安全斷言標(biāo)記語(yǔ)言,英文全稱是 Security Assertion Markup Language,它是用于在不同的安全域之間交換認(rèn)證和授權(quán)數(shù)據(jù)的標(biāo)準(zhǔn)語(yǔ)言,SunXACML PDP 為開源商業(yè) XACML 引擎,AXESCON XACML 為開源商業(yè) XACML 引擎,Enterprise XACML 為開源商業(yè) XACML 引擎,會(huì)話標(biāo)識(shí)為訪問(wèn)請(qǐng)求期內(nèi)用戶激活的訪問(wèn)會(huì)話的標(biāo)識(shí)。
權(quán)利要求
1.一種基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),包括: 審計(jì)服務(wù)單元(1),用于記錄系統(tǒng)的訪問(wèn)請(qǐng)求、請(qǐng)求響應(yīng)、策略集屬性的調(diào)用信息,為策略決策服務(wù)單元(3)中的統(tǒng)計(jì)分析模塊(34)提供最準(zhǔn)確的原始數(shù)據(jù); 策略管理服務(wù)單元(2),用于提供一個(gè)集中式的圖形化XACML策略管理平臺(tái),完成XACML策略的基本操作、動(dòng)態(tài)XACML策略精化、XACML策略的數(shù)值化; 策略決策服務(wù)單元(3),用于根據(jù)從屬性斷言服務(wù)單元(5)和策略持久化服務(wù)單元(4)中獲取的相關(guān)信息對(duì)用戶的訪問(wèn)請(qǐng)求進(jìn)行授權(quán)決策; 策略持久化服務(wù)單元(4),用于存儲(chǔ)策略管理服務(wù)單元(2)創(chuàng)建的XACML策略、支持多種XACML策略存儲(chǔ)方式及XACML策略庫(kù)的動(dòng)態(tài)添加和注銷,并對(duì)策略決策服務(wù)單元(3)提供XACML策略檢索服務(wù); 屬性斷言服務(wù)單元(5),用于提供屬性斷言存儲(chǔ)和發(fā)布服務(wù),為策略決策服務(wù)單元(3)提供屬性檢索功能; 所述的策略決策服務(wù)單元(3),包括: 上下文處理器模塊(31),用于將原始用戶資源訪問(wèn)請(qǐng)求解析為XACML請(qǐng)求并發(fā)送給評(píng)估引擎模塊(32),并將評(píng)估引擎模塊(32)返回的判斷結(jié)果封裝為XACML響應(yīng)格式發(fā)給用戶; 評(píng)估引擎模塊(32),用于從多級(jí)緩存模塊(33)中獲取屬性、請(qǐng)求及對(duì)應(yīng)結(jié)果、XACML策略信息,并將獲取的相關(guān)信息 與用戶訪問(wèn)請(qǐng)求中指定的實(shí)體信息進(jìn)行匹配,根據(jù)匹配結(jié)果對(duì)訪問(wèn)請(qǐng)求執(zhí)行授權(quán)決策,并將決策結(jié)果返回給上下文處理器模塊(31); 多級(jí)緩存模塊(33),用于將頻繁調(diào)用的屬性、XACML策略和請(qǐng)求及對(duì)應(yīng)結(jié)果信息存儲(chǔ)在緩存中,以有效降低評(píng)估引擎模塊(32)和其他功能部件的通信損耗,提高決策效率;統(tǒng)計(jì)分析模塊(34),用于對(duì)審計(jì)服務(wù)單元I的日志信息進(jìn)行分析,利用統(tǒng)計(jì)分析得到的屬性、XACML策略和請(qǐng)求及對(duì)應(yīng)結(jié)果的調(diào)用頻率,實(shí)時(shí)、動(dòng)態(tài)更新緩存內(nèi)容,調(diào)整XACML策略的規(guī)則順序,保證多級(jí)緩存模塊(33)中存儲(chǔ)的內(nèi)容都是頻率使用的,保證調(diào)用最頻繁的規(guī)則排在XACML策略的最前面,以提高XACML策略匹配速度。
2.根據(jù)權(quán)利要求1所述的基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),其特征在于策略管理服務(wù)單元(2),包括: XACML策略基本操作模塊(21),用于提供創(chuàng)建、修改、刪除和更新XACML策略的圖形化操作界面; 動(dòng)態(tài)XACML策略精化模塊(22),用于實(shí)現(xiàn)XACML策略匹配的前期優(yōu)化; 策略數(shù)值化模塊(23),用于將文本的XACML策略轉(zhuǎn)化為數(shù)值化的XACML策略,使評(píng)估引擎使用高效的整數(shù)比較,而不再是低效的字符串匹配; 策略持久化服務(wù)遠(yuǎn)程過(guò)程調(diào)用模塊(24),用于為策略管理服務(wù)單元(2)和策略持久化服務(wù)單元(4)提供交互接口。
3.根據(jù)權(quán)利要求1所述的基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),其特征在于策略持久化服務(wù)單元(4),包括: 策略持久化存儲(chǔ)模塊(41 ),用于存儲(chǔ)系統(tǒng)中的XACML策略文件,支持多種XACML策略存儲(chǔ)方式及XACML策略庫(kù)的動(dòng)態(tài)添加和注銷; 策略檢索模塊(42),用于響應(yīng)來(lái)自策略決策服務(wù)單元(3)的XACML策略檢索請(qǐng)求,并將查找到的XACML策略的內(nèi)容返回給策略決策服務(wù)單元(3)。
4.根據(jù)權(quán)利要求1所述的基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),其特征在于屬性斷言服務(wù)單元(5),包括: 屬性存儲(chǔ)模塊(51),用于存儲(chǔ)用戶屬性和資源屬性,支持多種屬性存儲(chǔ)方式及屬性庫(kù)的動(dòng)態(tài)添加和注銷; 屬性檢索模塊(52),用于響應(yīng)來(lái)自策略決策服務(wù)單元(3)的屬性檢索請(qǐng)求,并將查找到的屬性以SAML斷言格式返回給策略決策服務(wù)單元(3)。
5.根據(jù)權(quán)利要求2所述的基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),其特征在于動(dòng)態(tài)XACML策略精化模塊(22),包括: 冗余規(guī)則分析模塊(221),用于利用狀態(tài)覆蓋法,檢測(cè)XACML策略中不產(chǎn)生實(shí)際判定影響的冗余規(guī)則,并將冗余規(guī)則刪除來(lái)縮減XACML策略的規(guī)模; 規(guī)則重排序模塊(222),用于從統(tǒng)計(jì)分析模塊(34)獲取XACML策略規(guī)則的調(diào)用頻率,并根據(jù)調(diào)用頻率由高到低調(diào)整規(guī)則順序。
6.根據(jù)權(quán)利要求1所述的基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),其特征在于多級(jí)緩存模塊(33),包括: 屬性緩存模塊(331),用于保存頻繁檢索的屬性信息,以減少導(dǎo)致系統(tǒng)響應(yīng)延遲的頻繁屬性檢索操作,提高評(píng)估引擎的效率; 請(qǐng)求及對(duì)應(yīng)結(jié)果緩存模塊(332),用于保存頻繁的訪問(wèn)請(qǐng)求及對(duì)應(yīng)響應(yīng)結(jié)果,當(dāng)再次訪問(wèn)時(shí),不必觸發(fā)屬性檢索、策略 檢索及策略匹配等導(dǎo)致系統(tǒng)響應(yīng)延遲的復(fù)雜流程,提高評(píng)估引擎的效率; 策略緩存模塊(333),用于保存頻繁檢索的XACML策略文件,以減少導(dǎo)致系統(tǒng)響應(yīng)延遲的頻繁XACML策略檢索操作,提高評(píng)估引擎的效率。
全文摘要
本發(fā)明提出了一種基于多種優(yōu)化機(jī)制的XACML策略評(píng)估引擎系統(tǒng),解決現(xiàn)有XACML策略評(píng)估引擎系統(tǒng)不能為海量用戶同時(shí)發(fā)出的訪問(wèn)請(qǐng)求及時(shí)做出正確決策的問(wèn)題。該系統(tǒng)包括審計(jì)服務(wù)(1)、策略管理服務(wù)(2)、策略決策服務(wù)(3)、策略持久化服務(wù)(4)和屬性斷言服務(wù)(5);審計(jì)服務(wù)(1)記錄系統(tǒng)的交互信息;策略管理服務(wù)(2)提供集中式的圖形化策略管理平臺(tái);策略決策服務(wù)(3)對(duì)用戶請(qǐng)求進(jìn)行決策;策略持久化服務(wù)(4)提供策略存儲(chǔ)和策略檢索功能;屬性斷言服務(wù)(5)提供屬性存儲(chǔ)和屬性檢索功能。本發(fā)明具有評(píng)估效率高,匹配運(yùn)算量小,匹配速率快和易于集成的優(yōu)點(diǎn),可用于分布式環(huán)境下為海量用戶的訪問(wèn)請(qǐng)求及時(shí)做出正確決策。
文檔編號(hào)G06Q10/04GK103198361SQ20131007501
公開日2013年7月10日 申請(qǐng)日期2013年3月9日 優(yōu)先權(quán)日2013年3月9日
發(fā)明者牛德華, 馬建峰, 馬卓, 王蕾, 李辰楠 申請(qǐng)人:西安電子科技大學(xué)