專利名稱::一種基于風險的分布式訪問控制方法
技術(shù)領域:
:本發(fā)明涉及計算機安全領域,具體涉及一種基于風險的分布式訪問控制方法。
背景技術(shù):
:隨著網(wǎng)絡以及相關技術(shù)的發(fā)展,分布式環(huán)境下的跨域的資源訪問已經(jīng)不僅是一種可能,而且成為了一種必須。這種跨域訪問的需求存在于大量的應用中,例如電子政務和電子商務。然而,這些應用的發(fā)展帶來了極大便利的同時,也造成了許多安全隱患。其中,分布式訪問控制即是最為重要的問題之一。分布式訪問控制不同于傳統(tǒng)的集中式環(huán)境下的訪問控制;在分布式系統(tǒng)中,存在著大量的實體,這些實體之間通常并不互相認識,并且沒有一個中心認證機構(gòu)能夠確認實體的身份。因此,基于實體身份的傳統(tǒng)的訪問控制模型難于解決分布式環(huán)境下的訪問控制問題。但是,現(xiàn)有系統(tǒng)已經(jīng)構(gòu)建了一套訪問控制機制,不能為了實現(xiàn)分布式訪問控制而完全摒棄原有機制另外重新建立一套新機制。一種可行的方法即是在傳統(tǒng)的訪問控制模型的基礎上,提出適于分布式環(huán)境的訪問控制方法?,F(xiàn)有的解決辦法主要有兩種。第一種是單純依靠建立域間角色映射,這種方法雖然能夠支持一定的分布式訪問控制要求,但是不能夠適應自治域的動態(tài)性要求,例如域中用戶的行為具有不確定性。第二種是將信任引入域間訪問,這種方法在一定程度上適應系統(tǒng)的動態(tài)性。然而,基于信任的方式,沒有能夠區(qū)分系統(tǒng)中不同資源的重要性程度,將所有資源以及各種不同的訪問模式一概論之,缺乏靈活性。
發(fā)明內(nèi)容本發(fā)明的目的是提供一種基于風險的多自治域安全互操作的方法,在保持安全性的基礎上既具有一定的動態(tài)性又具有較好的靈活性。一種基于風險的分布式訪問控制方法,其特征在于,外域^中的外域用戶C/按照以下步驟訪問本域A:步驟l.外域用戶f/向本域4c請求登錄;步驟2.本域^接收登陸請求以及外域用戶t/的屬性證書;步驟3.本域A利用公密鑰機制驗證屬性證書的真?zhèn)?,若證書為偽造,則結(jié)束;否則,從屬性證書獲取用戶域名和用戶外域角色信息,進入步驟4;步驟4.本域^根據(jù)本外域訪問關系、用戶域名和用戶外域角色信息,構(gòu)建外域用戶的本域角色集合及;步驟5.外域用戶t/請求本域4r的某一權(quán)限4;步驟6.本域A根據(jù)本域當前風險預警級別和外域用戶t/風險值,對本域角色集合A進行調(diào)整;步驟7.本域A判斷本域角色集合及中是否存在角色,其對應權(quán)限A,若不存在,進入步驟ll;否則,進入步驟8;步驟8.外域用戶C/通過執(zhí)行權(quán)限i^對本域4進行訪問;步驟9.本域義對外域用戶t/的訪問行為進行風險評價,根據(jù)評價結(jié)果計算得到外域用戶f/風險值記錄集合;構(gòu)建外域角色r風險值記錄集合和外域冉風險值記錄集合,準備對外域用戶t/風險值進行更新;步驟IO.根據(jù)外域角色r風險值記錄集合和外域^風險值記錄集合,更新外域角色r風險值和外域^風險值;根據(jù)外域用戶t/風險值記錄集合,計算外域用戶C/風險評估值的平均值,將其與更新后的外域角色r風險值和外域冉風險值作比較,取最大值為外域用戶t/風險值;步驟ll.本域A判斷外域用戶C/是否結(jié)束本次登錄操作,若是,則結(jié)束;否則,轉(zhuǎn)入步驟5。至此,訪問步驟結(jié)束。本發(fā)明涉及多自治域安全互操作的建立、維護和實行全過程。該方法依據(jù)自治域互操作需求建立多域間的安全互訪關系,通過監(jiān)控用戶的風險情況,動態(tài)調(diào)整訪問行為,并做出相應的訪問控制決策。本發(fā)明可以實現(xiàn)多自治域間的安全互操作。具體而言,本發(fā)明具有如下優(yōu)點(1)安全性本發(fā)明的安全性主要是通過域間互訪關系建立、風險監(jiān)控以及審計機制來達到的。在本方法中,本外域訪問關系是根據(jù)域的互訪需求建立的,通過域間角色映射保證用戶的跨域訪問的合法性;同時,為了加強對某些敏感資源的保護,以及為了適應不同用戶行為的差異性,用戶的跨域訪問權(quán)限根據(jù)風險值而實時變化,使得非法訪問的可能性降低。(2)合理性互操作環(huán)境中各域以及其中用戶行為的差異性較大,使用風險能夠準確衡量出外域及其用戶對于本域資源所構(gòu)成的威脅;更為重要的是,風險能夠較好地體現(xiàn)出本域中不同的權(quán)限具有不同的風險屬性。(3)靈活性設置了本域權(quán)限風險預警值以及本域風險預警級別,因此能夠根據(jù)具體的應用背景更新風險值以適應背景的變化。根據(jù)用戶自身.的風險值,本方法能夠做出相應的調(diào)整。圖1為本發(fā)明建立本外域訪問關系建立流程圖;圖2為外域用戶訪問本域流程圖。具體實施例方式下面結(jié)合附圖和實例對本發(fā)明作進一步詳細的說明。本發(fā)明將分布式環(huán)境按照域的概念進行劃分,分布式環(huán)境就可以視為多域互操作環(huán)境。通過這種方式,將分布式訪問控制問題簡化為多域安全互操作問題。域是擁有資源并能夠自治管理資源安全策略的實體集合。本發(fā)明建立在基于角色的訪問控制模型基礎上,即互操作環(huán)境中每個域都使用基于角色的訪問控制模型,多域安全互操作問題是一個關鍵問題。本發(fā)明將風險引入訪問控制機制中,依據(jù)自治域互訪需求建立域間的安全互訪關系,通過監(jiān)控外域用戶的風險情況,動態(tài)調(diào)整用戶訪問行為,并做出相應的訪問控制決策。首先給出本發(fā)明中的幾個概念基于角色的訪問控制模型RBAC(Role-basedAccessControl):RBAC模型中,在用戶和權(quán)限之間引入角色的概念,用戶對應特定的一個或多個角色,角色對應一個或多個權(quán)限,用戶通過擔任角色享用其對應的權(quán)限。RBAC模型包括七個組成元素用戶、角色、權(quán)限、用戶-角色關系、角色層次關系、角色-權(quán)限關系和約束。在本發(fā)明中,權(quán)限表示為二元組(資源,訪問模式)。安全策略域通過對RBAC模型中七個元素的定義,規(guī)定用戶所擔任角色從而確定能夠執(zhí)行的權(quán)限。其中,角色層次關系定義了兩個角色之間的繼承與被繼承關系,這種關系是可以傳遞的。例如,若o繼承G,^繼承^,那么斷言"O繼承O"是成立的。本域互操作環(huán)境中被訪問的域;外域互操作環(huán)境中請求訪問本域資源的域;外域用戶外域中請求訪問本域資源的用戶;外域用戶具有兩個屬性,一個是域名,表明外域用戶來自于哪個外域,另一個是外域角色,表明外域用戶在其所屬外域中擔任的角色。外域用戶的本域角色集合該集合中的元素表示外域用戶在本域可以擔任的角色,外域用戶能夠享有這些角色對應的權(quán)限;該角色集合由本域根據(jù)本外域訪問關系確定。本域權(quán)限風險預警值由本域管理員為本域中每一權(quán)限設定一個風險值。設定本域權(quán)限的風險預警值的標準是權(quán)限中資源的重要性和訪問模式對破壞資源安全性的程度。如果擁有某權(quán)限的用戶的風險值大于或等于此權(quán)限的風險預警值,用戶不再擁有該權(quán)限;本域風險預警級別包括兩方面含義一是本域管理員設置的訪問本域資源的用戶所需要滿足的風險條件;二是本域管理員設置的本域?qū)τ陲L險的敏感程度。本域風險預警級別規(guī)定了本域共享于外域的權(quán)限的風險預警值所需要滿足的條件。本發(fā)明中,互操作環(huán)境包括W個域,分別記為域^,域A,...,域A。下面以域^中的用戶t/訪問A為例,x,;^[l,2,…,"]且;^;;,詳細說明本發(fā)明。在域^中的用戶t/訪問A過程中,記4為本域,4為外域,"為來自外域冉的外域用戶。一.構(gòu)造外域與本域Jx間的訪問基礎環(huán)境。在外域用戶訪問本域前,必須搭建好本外域訪問基礎環(huán)境,使得跨域訪問成為可能。1.建立本外域訪問關系,即建立本域A與外域4之間的域間角色映射。圖1給出了本外域訪問關系的建立過程。(1.1)設置共享策略S尸(4)-A,表示本域A提供給外域^享用的權(quán)限,A為本域A權(quán)限集合的一個子集。(1.2)本域^接收外域冉建立互操作關系的請求?;ゲ僮髡埱笮畔⑹且粋€三元組(A,r,尸2),指明外域冉的外域角色r請求獲得本域4的權(quán)限集合A,其一中A為本域權(quán)限集合的子集。(1.3)本域^讀取信息(A,n尸2)。(1.4)本域4利用公密鑰機制判斷該信息是否為域冉發(fā)出。若不是域冉發(fā)出,則此請求為非法請求,返回外域出錯信息,步驟一結(jié)束;否則,進入步驟(1.5)。(1.5)根據(jù)共享策略判斷A^0是否成立。若成立,則此請求為非法請求,返回外域出錯信息,結(jié)束;否則,進入步驟(1.6)。(1.6)本域^解析本域安全策略以及共享策略。在共享策略中,讀取本域A共享于外域^的權(quán)限集合A。將權(quán)限集合A與權(quán)限集合S做交集操作,記該交集為權(quán)限集合G。令角色集合A為空集。根據(jù)本域安全策略中的角色-權(quán)限關系,提取權(quán)限集合G中每一個權(quán)限對應的角色,將其并入角色集合W。抽取與W中角色相關的角色層次關系,以及與/中角色相關的約束,分別記為集合iZ/和集合C。(1.7)建立本域^與外域^間的角色映射。利用已經(jīng)解析的本域安全策略和共享策略,建立域間角色映射,使得外域^中擔任某一個特定角色的用戶可以在本域A獲得合法的角色集合,以最終獲得相應訪問權(quán)限。本域安全策略中,約束c為集合C的元素,其語法表示為c—kA,...,;}^,其語義為同一用戶不可獲得本域角色集合k,…,d中/個或/個以上的角色。也就是說,不可映射k,&…,d中f個或/個以上的本域角色給同一個外域角色。因此,首先需要根據(jù)G、i和及H建立域間角色映射,然后根據(jù)i//和C過濾映射集合。算法如下接收集合G、i、i^和C;(1.7.1)根據(jù)肌,提取肌中層次最高的角色,記這犖角色的集合為S及;令角色映射集合及M為空集;(1.7.2)按照方式I,遍歷集合Si中的每個角色,從而構(gòu)造角色映射集合iM。方式I:選取集合Si中一個角色r',并從集合朋中刪除r,若r的權(quán)限集合是G的子集,則將r'記入及M;否則,根據(jù)本域安全策略中的角色層次關系,提取iW中,的直接子角色集合DJ及,將直接子角色集合A漢并入集合67;(1.7.3)判斷角色映射集合及M是否為空,若為空,返回"互操作建立失敗"信息,結(jié)束;否則,進入(1.7.4);(1.7.4)定義^及(及M)二(re及'l3r'e及M:(r',r)e及i^為通過映射集合JM可以激活的角色集合;對于集合C中每一約束c=〈{n,。,",r},0,重復如下操作記J及(及M)與k,r2,…,i;)交集為77,若77的勢A大于或等于"選取77中"-7個角色,記為集合C77,將AM更新為;(1.7.5)判斷角色映射集合AM是否為空,若為空,返回"互操作建立失敗"信息,結(jié)束;否則,進入(1.8);(1.8)本域A返回角色映射集合皿于外域冉。2.管理本域風險策略,即設置本域權(quán)限風險預警值和本域風險預警級別。本域風險策略管理為保證域間訪問的安全性提供了基礎,也是本發(fā)明的特點之一。權(quán)限風險預警值規(guī)定,擁有某權(quán)限的用戶其風險值必須低于該權(quán)限對應的風險預警值。權(quán)限風險預警值取值范圍為之間的實數(shù)。首先從本域安全策略中提取出本域A的權(quán)限信息,顯示為二元組(資源,訪問模式)。對于某一權(quán)限(資源,訪問模式),根據(jù)資源的重要性以及訪問模式造成對資源非法訪問的可能性,管理員為權(quán)限關聯(lián)一個風險預警值。權(quán)限的風險預警值越接近于o,則擁有該權(quán)限的用戶其風險越低。設置本域風險預警級別包括(l)定義本域風險預警級別及其語義。(2)設定本域當前風險預警級別。例如,本域整體的風險級別可以分為"綠色"、"黃色"和"紅色"三個級別;級別"紅色"的語義表示風險預警值低于0.9的權(quán)限不可共享。管理員可以定義任意個風險預警級別,但是這些風險級別的語義必須符合一定的要求。下面說明如何定義風險預警級別集合。定義風險預警級別集合為z-m…/J,風險預警級別的語義表示為S(/,),其中/,e丄。假設滿足風險預警級別語義S("的用戶的集合為C/(/,),其中/,,/」eZ。風險預警級別的語義定義必須使Z存在一個全序關系,即其中,(/,W」aSZ。風險預警級別的語義定義規(guī)則為其中,2'為子區(qū)間集合。規(guī)則(gra"^/,//》表示若權(quán)限/的風險值n^:fe)滿足r^(;)e/n,則權(quán)限p可共享;相反,規(guī)貝lj(&m'ed,//2)則表示若權(quán)限;的風險值^^fe)滿足nWp)e/,2,則權(quán)限;?不可共享。例如,(&mW,)表示預警值低于0.9的權(quán)限不共享。管理風險預警級別需滿足以下幾個要求*添加新的本域風險預警級別信息時,需要判斷新加入的風險預警級別及其語義是否與已有的級別信息構(gòu)成全序關系,若不構(gòu)成,則返回錯誤提示;*刪除本域風險預警級別信息時,若所刪除級別/,為本域當前風險預警級別,則調(diào)整本域當前預警風險級別為—其中"sL)a化W,),且使得/,/,成立;修改本域風險預警級別信息時,需要測試風險預警級別集合上的全序關系,若測試不通過,則返回錯誤提示。本域當前風險預警級別由管理員從集合丄=",/2,../}中選取。至此,操作基礎環(huán)境已構(gòu)造完畢。在此基礎上,用戶可以進行合法的跨域訪問。二.外域用戶訪問本域^ic。訪問流程圖如圖2所示步驟l.外域用戶f/向本域A請求登錄;步驟2.本域^接收登錄請求,并接收域用戶t/的屬性證書。在登錄本域^前,外域用戶從所屬外域^獲得一個屬性證書,屬性證書含有兩個信息用戶域名和外域角色信息,用戶域名表明外域用戶t/來自于哪一個域,外域角色信息表明外域用戶t/在用戶域名代表的域中擔任的角色;步驟3.本域^利用公密鑰機制驗證外域用戶提交的屬性證書的真?zhèn)?;若證書為偽造,則拒絕用戶登錄請求,結(jié)束處理;否則,從屬性證書中,獲取用戶域名和用戶外域角色,進入步驟4;步驟4.本域4根據(jù)本外域訪問關系、用戶域名以及用戶外域角色信息,構(gòu)建外域用戶的本域角色集合,記為i;步驟5.外域用戶t/根據(jù)需求請求本域4的某一權(quán)限^;步驟6.本域4根據(jù)本域當前風險預警級別和外域用戶t/風險值,對本域角色集合i進行調(diào)整;步驟7.本域4判斷用戶本域角色集合/中是否存在域角色,其對應權(quán)限《,。若不存在,則拒絕用戶t/訪問,進入步驟(11),否則,進入步驟8;步驟8.外域用戶t/通過執(zhí)行權(quán)限^對本域A進行訪問;步驟9.本域義對外域用戶C/的訪問行為進行風險評價,根據(jù)評價結(jié)果計算得到外域用戶f/風險值記錄集合;獲取外域角色r風險值記錄集合和外域^風險值記錄集合,準備對外域用戶t/風險值進行更新;步驟10.根據(jù)外域角色r風險值記錄集合和外域A風險值記錄集合,更新外域角色r風險值和外域^風險值;根據(jù)外域用戶f/風險值記錄集合,計算外域用戶t/風險評估值的平均值,將其與更新后的外域角色r風險值和外域冉風險值作比較,取最大值為外域用戶t/風險值。步驟ll.本域4判斷用戶f/是否結(jié)束本次登錄本域操作,若是,則結(jié)束;否則,轉(zhuǎn)入步驟5。步驟1至步驟4完成了外域用戶登錄及授權(quán)過程。外域用戶C/來自外域^,且具有外域角色r,本域A為外域冉中角色r建立的角色映射集合為iM,則可將iM中的本域角色集合授予外域用戶(/。步驟6至步驟10為本發(fā)明的重點內(nèi)容,主要完成根據(jù)風險調(diào)整外域用戶在本域4的角色集合的過程以及本域A的風險調(diào)控管理。下面進一步詳細說明步驟6至步驟10。步驟6依照如下方法完成對本域角色集合i的調(diào)整(6.1)本域^獲取外域用戶t/的本域角色集合/;(6.2)若及為空集,進入步驟(7);如果/不為空集,進入(6.3);(6.3)本域^獲取本域風險預警級別及其語義定義規(guī)則,記規(guī)則集合為Q;(6.4)按照方式II遍歷W中的每個本域角色;方式II:令本域角色^ei,若々滿足下式,A=(c/ewzW,A)a(graced,/2)(6.5)(6.6)(6.7)6>,則將&從本域角色集合/中移除,其中,函數(shù)PS(^)返回本域角色^在本域?qū)臋?quán)限集合,函數(shù)n^(pj返回權(quán)限凡的風險預警值;本域^取得外域用戶"風險值,記為f/^:若外域用戶首次登錄本域,則由于該外域用戶未曾在本域?qū)嵤┤魏涡袨?,故而無法評判其風險值,故而使用外域用戶的外域角色風險值和外域用戶所屬外域的風險值二者中的最大值作為外域用戶風險值;若外域用戶非首次登錄,則該外域用戶必因其歷史行為而存在一個對應的風險值。若本域角色集合及為空集,進入(7);否則,進入(6.7);對于每一本域角色^ei,若3aePS(V):^^W^/0,則將本域角色V從本域角色集合及中移除。步驟7判斷是否允許訪問,若允許用戶訪問,則進入步驟8,即用戶實施具體的訪問,待用戶完成操作以后,步驟9對用戶的行為進行評估,步驟10對用戶的風險值做出必要的調(diào)整;若禁止用戶訪問,則進入步驟ll,等待用戶下一次的訪問請求或者用戶結(jié)束登錄。步驟9主要通過本域管理員以人工方式評價用戶的訪問行為來實施。風險評價依靠定義一套用戶行為級別及風險值偏移函數(shù)。定義用戶行為級別集合f/z,表示評價用戶行為時可選的級別。并定義函數(shù)r:w^/將用戶行為級別集合映射到的實數(shù)集合。該函數(shù)表示了符合某個級別的用戶的行為所導致的用戶風險值的偏移。管理員對外域用戶f/的行為進行風險評價,記錄評價結(jié)果C/^^t/^+r("/),C/^為外域用戶C/風險值,"/為外域用戶行為級別。將由評價結(jié)果組成的集合稱為用戶f/風險值記錄集合。例如,管理員定義w:={gooi/,"wwfl/》"(i},r(go。d)=—0.02,r(r(kO=o.i,設定外域用戶的當前風險值為0.5。上述定義表示,用戶的行為分為三個級別"goW、""W廳/"和"6W;若管理員將外域用戶行為評級為goW,則表示用戶風險值的偏移為-0.02,若評級為6^/,則表示用戶風值的偏移為0.1。若某一用戶連續(xù)四次的行為評級為6W,goM,6W,M山則相應需要連續(xù)記錄四次外域用戶的評估結(jié)果0.5+0.1=0.6、0.5-0.02=0.48、0.5+0.1=0.6、0.5+0.1=0.6;則該用戶風險值記錄集合為(0.6、0.48、0.6、0.6}。類似地,外域角色擁有外域角色風險值記錄值集合;外域擁有外域風險值記錄值集合。外域角色r風險值記錄值集合是在外域中擔任角色r的所有用戶的風險值記錄集合的并集;外域冉風險值記錄值集合是屬于域^的所有角色的風險值記錄集合的并集。步驟10按如下方法更新外域用戶的外域角色風險值、外域用戶所屬外域的風險值和外域用戶風險值。對于外域角色n其風險值由擔任該角色的所有屬于外域^的用戶的風險值共同決定;任一擔任外域角色r的用戶都可能導致r的風險值變化,r的風險值具有一定的波動性。記外域角色r的風險值為Q,以及外域角色12r風險值記錄集合^,^…,^,其中^,^…,^記錄了外域角色r風險值的前K個記錄結(jié)果。定義外域角色r的風險值平均變化率^00為①樸叫(z'"外^當O,(AT)超出許可范圍時,需要改變角色r的風險值令r風險值的第《+l個記錄值為&+1,若《^(《+i),其中《為外域角色r的風險值平均變化率的閾值,則修改r的風險值,將^更新為i::》,/w+i)。而對于外域vv其風險值將由所有屬于該域的外域用戶的風險值共同決定;來自于外域4的任何用戶均可以導致外域^的風險值變化。因此,外域^的風險值具有一定的波動性。設定其風險值為A>,以及外域jy風險值記錄值集合fw-,^,其中^^,…,^記錄了外域A的風險值的前J個記錄。定義外域^的風險值平均變化率o^(j)為令外域^的風險值的第J+1個記錄值為仏,,若M°4(J+1),其中,&為外域冉的風險值的平均變化率的閾值,則修改外域^的風險值,將4一,4更新為1:;;、/0/+1)。外域用戶f/風險值的變化受兩個因素影響一是用戶本身的行為導致的風險值的變化;二是外域用戶f/所屬的外域的風險值變化或者外域用戶t/所具有的外域角色風險值的變化間接導致的。設定外域用戶t/當前的風險值為CZ^。設定外域用戶"風險值記錄值集合為^A,外域用戶C7所屬外域的風險值為^—^,外域用戶C/所具有的外域角色的風險值為^,則外域用戶的風險值更新為至此,一個基于風險的分布式訪問控制方法具體實施過程結(jié)束。下面通過一個例子來說明本發(fā)明。設定將分布式環(huán)境分為j、5、C三個域構(gòu)成,并設定」為本域,B為外域,C為互操作環(huán)境中的其他的域。^域管理員設定本域^的安全策略為-■本域用戶集合{"7,"2}■本域角色集合{。,O乃,,r6}■本地權(quán)限集合(^,P2,/j,A(,P5,/^,/^■用戶-角色關系{(";,。),("力)}■角色層次關系{(0乃),■角色國權(quán)限關系0*2,/2),03,a),Ov,Ar),Oj,刃),0"j^6),0^7)}■約束3〉,〈{rl,r5},2〉}爿域設定的共享策略為《S尸("—pl,p2,p3,;74,;75,/^SP(C)={//7}}。完成共享策略的設置之后,^域等待外域的建立互訪關系的請求。假設本域^接收到外域^發(fā)出與J建立互訪關系的請求CB,r,{^,",內(nèi),A,A,化P。本域^首先利用公密鑰機制驗證該請求是否為域5發(fā)出;若驗證通過,由于Si^5^0,本域^根據(jù)共享策略和安全策略建立域間角色映射集合為h,O,W。之后,本域^將建立的角色映射集合返回于外域5,表明外域萬中具有角色r的用戶可以在^域擁有映射集合中的角色。設定本域^的風險策略管理員首先設置本域權(quán)限的風險預警值,然后定義本域風險預警級別及其語義。如表1所示,管理員設置^域的權(quán)限的風險預警值。<table>tableseeoriginaldocumentpage14</column></row><table>表1本域j權(quán)限的風險預警值管理員設置本域^的風險預警級別為(G7^sv、ra:zzo『、i^Z)},其語義如表2所示。<table>tableseeoriginaldocumentpage14</column></row><table>表2本域^的風險預警級別及其語義很明顯,這個風險預警級別集合符合本發(fā)明方法的要求,因為存在全序關系、raXZ6W、。假設本域」的管理員指定本域^當前的風險預警級別為Gi^;五iv,表示風險預警值低于O.l的權(quán)限不共享。至此,本域^與外域B間的訪問基礎環(huán)境構(gòu)造完成。假設,外域^中一個具有角色r的用戶"請求訪問本域^,那么外域B為"頒發(fā)一個屬性證書,證明w是屬于外域i5的用戶,在外域萬中具有角色r。本域^接收到外域用戶"的登錄請求后,從"處獲得外域S為其頒發(fā)的屬性證書,并通過公密鑰機制驗證證書真?zhèn)巍H糇C書為偽造,則拒絕外域用戶"的登錄請求;否則,提取出證書中外域用戶"的域名及其外域角色這兩個屬性值。如前文所述,本域」與外域B己經(jīng)建立了互操作關系,又由于外域用戶w具有外域角色r,故而外域用戶W的本域角色集合r2,^}。至此,外域用戶"的登錄及授權(quán)過程結(jié)束。當外域用戶w請求執(zhí)行權(quán)限^,本域」需要根據(jù)外域用戶"的當前風險值調(diào)整外域用戶w的本域角色集合A。由于外域用戶w首次登錄,并且本域^中不存在外域S及外域角色r的風險值,故將外域用戶w的風險值設置為0。因此,調(diào)整后的外域用戶"的本域角色集合為iHo,o,W。調(diào)整后7中存在角色^,o的權(quán)限集合包含被請求的權(quán)限^,因此允許用戶w執(zhí)行權(quán)限A。假設本域^的管理員定義用戶行為級別為W:—goW,"om"/,6—,函數(shù)r(goW卜-0.02,r(wO/7mz/)=0,r(6ac/)=0.1。在外域用戶w完成權(quán)限/;的操作之后,管理員對外域用戶"的行為進行評估,假設評估結(jié)果為^A則記錄外域用戶"的此次評估結(jié)果為0+0.1=0.1。假設域^定義的外域角色r的風險值的平均變化率的閾值《為0.1,則在此次評估結(jié)束之后,外域角色r的風險值變?yōu)镺.l。假設外域B的風險值的平均變化率的閾值&為0.2,則此時,外域B的風險值不變,仍為0。因此,外域用戶"的風險值變?yōu)镺.l。假設此時外域用戶"繼續(xù)請求權(quán)限;^。外域用戶w當前的風險值為0.1。在本域角色。的權(quán)限集合中,權(quán)限A的風險值為O.l,因此外域用戶w不再擁有本域角色。,調(diào)整外域用戶"的本域角色集合為/={。,r3}。調(diào)整后A中存在角色O,^的權(quán)限集合包含權(quán)限化,因此允許外域用戶W的請求。假設此次外域用戶"的行為評價繼續(xù)為6W,則風險值的記錄值為0.1+0.1=0.2。此時,外域角色r的風險值將更新為0.2,外域B的風險值更新為0.3,因此外域用戶"的風險值更新為0.3。假設,此時外域用戶"請求執(zhí)行權(quán)限A。根據(jù)外域用戶"當前的風險值0.3,將外域用戶"的本域角色集合及調(diào)整為化3)。由于本域角色集合i中不存在某一本域角色,使得A屬于該角色的權(quán)限集合,因此拒絕外域用戶m的請求。假設本域^當前的風險預警級別變更為ZEXZO『。此時,無論外域用戶"的風險值為何值,當外域用戶"請求執(zhí)行權(quán)限^或者p2時,請求都將遭到拒絕。因為根據(jù)風險預警級別y五/zo『的定義,所有風險預警值低于0.3的權(quán)限不共享,而j^和A的風險預警值分別為0.1和0.2,所以外域用戶w調(diào)整后的本域角色集合及必為{^}的子集。權(quán)利要求1、一種基于風險的分布式訪問控制方法,其特征在于,具體步驟如下步驟(1).外域用戶U向本域Ax請求登錄;步驟(2).本域Ax接收登錄請求以及外域用戶U的屬性證書;步驟(3).本域Ax利用公密鑰機制驗證屬性證書的真?zhèn)?,若證書為偽造,則結(jié)束;否則,從屬性證書獲取用戶域名和用戶外域角色信息,進入步驟4;步驟(4).本域Ax根據(jù)本外域訪問關系、用戶域名和用戶外域角色信息,構(gòu)建外域用戶的本域角色集合R;步驟(5).外域用戶U請求本域Ax的某一權(quán)限Pm;步驟(6).本域Ax根據(jù)本域當前風險預警級別和外域用戶U風險值,對本域角色集合R進行調(diào)整;步驟(7).本域Ax判斷本域角色集合R中是否存在角色,其對應權(quán)限Pm,若不存在,進入步驟(11);否則,進入步驟(8);步驟(8).外域用戶U通過執(zhí)行權(quán)限Pm對本域Ax進行訪問;步驟(9).本域Ax對外域用戶U的訪問行為進行風險評價,根據(jù)評價結(jié)果計算得到外域用戶U風險值記錄集合;構(gòu)建外域角色r風險值記錄集合和外域Ay風險值記錄集合,準備對外域用戶U風險值進行更新;步驟(10).根據(jù)外域角色r風險值記錄集合和外域Ay風險值記錄集合,更新外域角色r風險值和外域Ay風險值;根據(jù)外域用戶U風險值記錄集合,計算外域用戶U風險評價值的平均值,將其與更新后的外域角色r風險值和外域Ay風險值作比較,取最大值為外域用戶U風險值;步驟(11).本域Ax判斷外域用戶U是否結(jié)束本次登錄操作,若是,則結(jié)束;否則,轉(zhuǎn)入步驟(5)。全文摘要本發(fā)明提出一種基于風險的分布式訪問控制方法,應用于計算機安全領域。本發(fā)明將風險引入訪問控制機制中,依據(jù)自治域互訪需求建立域間安全互訪關系,通過監(jiān)控外域用戶的風險情況,動態(tài)調(diào)整用戶訪問行為,并做出相應的訪問控制決策。本發(fā)明在保證分布式訪問安全性基礎上,既有一定的動態(tài)性又有較好的靈活性。文檔編號H04L29/06GK101106458SQ20071005298公開日2008年1月16日申請日期2007年8月17日優(yōu)先權(quán)日2007年8月17日發(fā)明者盧正鼎,卓唐,開李,李瑞軒,胡勁緯,魯劍鋒申請人:華中科技大學