本發(fā)明涉及信息安全技術(shù)領(lǐng)域,具體地說是一種面向云的角色訪問控制方法
背景技術(shù):
訪問控制方面不斷發(fā)展,從傳統(tǒng)的自主和強(qiáng)制訪問控制模型到之后隨著網(wǎng)絡(luò)和計算機(jī)技術(shù)發(fā)展而出現(xiàn)的基于角色的訪問控制模型、基于任務(wù)的訪問控制模型、面向分布式和跨域的訪問控制模型、與時空相關(guān)的訪問控制模型、基于安全屬性的訪問控制方式等。
傳統(tǒng)的訪問控制模型有自主訪問控制和強(qiáng)制訪問控制兩種,但這兩種訪問控制模型都存在管理困難的問題。隨著計算機(jī)系統(tǒng)的不斷發(fā)展,在云計算環(huán)境下,用戶需要訪問的資源越來越多,出現(xiàn)了對靈活性好、適應(yīng)性強(qiáng)的訪問控制模型的需求?;诮巧脑L問控制模型,它在用戶和訪問權(quán)限之間引入角色的概念,這樣保證將用戶和權(quán)限之間進(jìn)行了分離,從而進(jìn)一步的可以保證用戶和訪問權(quán)限的安全,提高了用戶訪問的靈活性。但此模型不適合在分布式的系統(tǒng)中應(yīng)用。
在云環(huán)境下,目前研究得相對較多的是通過密碼學(xué)的方法實(shí)現(xiàn)訪問控制,但是計算量較大,同時權(quán)限變更和撤銷復(fù)雜。因此,設(shè)計一種適用于云存儲環(huán)境下該系統(tǒng)的基于可信度和屬性的角色訪問控制方法勢在必行。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。
為此,本發(fā)明的目的在于,通過設(shè)計一種角色訪問控制方法,使用角色的概念來進(jìn)行用戶訪問管理,具有明晰的角色層次管理,以及高擴(kuò)展性和適應(yīng)性?;诮巧脑L問控制模型的優(yōu)點(diǎn)如下:方便授權(quán)管理、便于根據(jù)工作需要分級、方便實(shí)現(xiàn)最小特權(quán)、方便分擔(dān)任務(wù)、方便對文件實(shí)現(xiàn)分級管理、容易大規(guī)模實(shí)現(xiàn)。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種角色訪問控制方法,包括以下步驟:
s1,用戶輸入用戶名和密碼登錄系統(tǒng)提出訪問請求,系統(tǒng)對用戶進(jìn)行身份認(rèn)證,同時在認(rèn)證過程中搜集用戶相關(guān)信息;
s2,后臺服務(wù)器對所述用戶進(jìn)行綜合可信度的計算;
s3,查詢用戶屬性可激活的角色和權(quán)限;
s4,根據(jù)用戶的屬性分配角色,并通過用戶屬性關(guān)鍵值進(jìn)行匹配,得到用戶所屬角色域;
s5,根據(jù)用戶可信度和角色可信度進(jìn)行比較,判斷所述用戶是否滿足激活角色的條件;
s6,查詢用戶關(guān)系數(shù)據(jù)庫,確定用戶對資源對象的可執(zhí)行權(quán)限;
s7,反饋授權(quán)結(jié)果信息至用戶。
更進(jìn)一步的,所述系統(tǒng)對用戶進(jìn)行身份認(rèn)證具體為:根據(jù)用戶輸入的用戶名和密碼進(jìn)行匹配,若匹配正確,則進(jìn)入下一步;若匹配失敗,則拒絕登錄。
具體的,所述綜合可信度通過如下公式計算:
t=a*at+b*bt;
其中at表示用戶基本可信度,bt表示用戶行為可信度,a和b分別表示用戶基本可信度和用戶行為可信度的權(quán)重參數(shù),且a+b=1。
更具體的,所述所述用戶基本可信度at通過如下公式計算:
at=w1*t+w2*(m1÷n1)+w3*(m2÷n2)+w4*(m3÷n3)+w5*(m4÷n4);
其中,n1、n2、n3、n4分別表示可信平臺、系統(tǒng)、安全設(shè)備、應(yīng)用程序四類操作數(shù)的數(shù)目,m1、m2、m3、m4分別表示可信平臺、系統(tǒng)、安全設(shè)備、應(yīng)用程序中可信操作的數(shù)目,其中t為靜態(tài)可信度。
更具體的,所述用戶行為可信度bt通過如下公式計算:
bt=∑vi÷∑|vi|;
其中,vi表示訪問事件的敏感度。
更進(jìn)一步的,所屬用戶屬性關(guān)鍵值表示用戶的權(quán)限大小。
優(yōu)選的,角色可信度表示系統(tǒng)預(yù)先設(shè)定的激活某個角色所需的最小可信度值。
優(yōu)選的,所述根據(jù)用戶可信度和角色可信度進(jìn)行比較,判斷所述用戶是否滿足激活角色的條件具體為:
若用戶可信度大于等于角色可信度,則判斷滿足激活角色條件,進(jìn)行下一步;若用戶可信度小于角色可信度,則判斷不滿足激活角色條件,向用戶反饋拒絕操作信息。
優(yōu)選的,所述用戶相關(guān)信息為靜態(tài)屬性、平臺環(huán)境、行為信息。
通過本發(fā)明的技術(shù)方案,在用戶訪問時,進(jìn)行用戶可信度的計算,并判斷是否符合用戶訪問的激活條件,保證了系統(tǒng)的安全性能,使用角色的概念來進(jìn)行用戶訪問管理,具有明晰的角色層次管理,以及高擴(kuò)展性和適應(yīng)性,可以適用于各種云存儲的環(huán)境。
附圖說明
圖1示出了本發(fā)明一種角色訪問控制方法的流程圖。
圖2示出了角色訪問控制框圖。
具體實(shí)施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請的實(shí)施例及實(shí)施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
圖1示出了本發(fā)明一種角色訪問控制方法的流程圖。
如圖1所述,一種角色訪問控制方法,包括以下步驟:
s1,用戶輸入用戶名和密碼登錄系統(tǒng)提出訪問請求,系統(tǒng)對用戶進(jìn)行身份認(rèn)證,同時在認(rèn)證過程中搜集用戶相關(guān)信息;
s2,后臺服務(wù)器對所述用戶進(jìn)行綜合可信度的計算;
s3,查詢用戶屬性可激活的角色和權(quán)限;
s4,根據(jù)用戶的屬性分配角色,并通過用戶屬性關(guān)鍵值進(jìn)行匹配,得到用戶所屬角色域;
s5,根據(jù)用戶可信度和角色可信度進(jìn)行比較,判斷所述用戶是否滿足激活角色的條件;
s6,查詢用戶關(guān)系數(shù)據(jù)庫,確定用戶對資源對象的可執(zhí)行權(quán)限;
s7,反饋授權(quán)結(jié)果信息至用戶。
更進(jìn)一步的,所述系統(tǒng)對用戶進(jìn)行身份認(rèn)證具體為:根據(jù)用戶輸入的用戶名和密碼進(jìn)行匹配,若匹配正確,則進(jìn)入下一步;若匹配失敗,則拒絕登錄。
綜合可信度從兩方面度量用戶的可信度:一是基于用戶身份及環(huán)境信息的可信度,相當(dāng)于信任管理概念中的直接信任,將其定義為基本可信度at,用戶的基本可信度通過系統(tǒng)安全策略和規(guī)則來確定。二是計算用戶行為可信度,根據(jù)它訪問系統(tǒng)的行為歷史,反饋其行為記錄對可信度的影響?;究尚哦取⑿袨榭尚哦染赱0,1]之間取值,用戶的總體可信度是它們按照預(yù)設(shè)的權(quán)重加權(quán)計算而得。綜合可信度表示系統(tǒng)綜合評估用戶的身份、平臺和行為的信息以后得到的可信度值。用[0,1]上的任意實(shí)數(shù)表示,數(shù)值越大表示用戶可信度越高。角色可信度表示系統(tǒng)事先設(shè)定的激活某個角色所需的最小可信度值。
具體的,所述綜合可信度通過如下公式計算:
t=a*at+b*bt;
其中at表示用戶基本可信度,bt表示用戶行為可信度,a和b分別表示用戶基本可信度和用戶行為可信度的權(quán)重參數(shù),且a+b=1。
影響用戶可信度的因子,主要有五個:靜態(tài)的屬性、可信平臺、系統(tǒng)、安全設(shè)備以及應(yīng)用軟件。
更具體的,所述所述用戶基本可信度at通過如下公式計算:
at=w1*t+w2*(m1÷n1)+w3*(m2÷n2)+w4*(m3÷n3)+w5*(m4÷n4);
其中,n1、n2、n3、n4分別表示可信平臺、系統(tǒng)、安全設(shè)備、應(yīng)用程序四類操作數(shù)的數(shù)目,m1、m2、m3、m4分別表示可信平臺、系統(tǒng)、安全設(shè)備、應(yīng)用程序中可信操作的數(shù)目,其中t為靜態(tài)可信度(由系統(tǒng)設(shè)定)。
更具體的,所述用戶行為可信度bt通過如下公式計算:
bt=∑vi÷∑|vi|;
其中,vi表示訪問事件的敏感度。
將良性訪問事件的敏感值定為vi=1,惡意訪問事件vi=-2,以體現(xiàn)可信度的慢增驟降原則。其敏感值可以通過系統(tǒng)的歷史記錄和用戶的歷史訪問確定,也可以直接通過用戶目前訪問的行為目的和其權(quán)限度進(jìn)行確定。
更進(jìn)一步的,所屬用戶屬性關(guān)鍵值表示用戶的權(quán)限大小。
優(yōu)選的,角色可信度表示系統(tǒng)預(yù)先設(shè)定的激活某個角色所需的最小可信度值。
優(yōu)選的,所述根據(jù)用戶可信度和角色可信度進(jìn)行比較,判斷所述用戶是否滿足激活角色的條件具體為:
若用戶可信度大于等于角色可信度,則判斷滿足激活角色條件,進(jìn)行下一步;若用戶可信度小于角色可信度,則判斷不滿足激活角色條件,向用戶反饋拒絕操作信息。
優(yōu)選的,所述用戶相關(guān)信息為靜態(tài)屬性、平臺環(huán)境、行為信息。
所屬用戶屬性關(guān)鍵值表示用戶的權(quán)限大小。例如,用戶屬性關(guān)鍵值等于1表示全網(wǎng)角色,用戶屬性關(guān)鍵值等于2表示微網(wǎng)角色。全網(wǎng)角色表明此用戶可以對全網(wǎng)的參數(shù)進(jìn)行設(shè)置或者修改,微網(wǎng)角色表明對全網(wǎng)中的某個微網(wǎng)進(jìn)行設(shè)置或者修改。
其中,查詢用戶關(guān)系數(shù)據(jù)庫,確定用戶對資源對象的可執(zhí)行權(quán)限。數(shù)據(jù)庫中存儲有用戶關(guān)系數(shù)據(jù),其中具體包括用戶對資源對象的權(quán)限。例如,存儲某用戶可修改油價、用戶訂單信息等的權(quán)限。
其中,上述步驟s2-s7均在后臺服務(wù)器中執(zhí)行。
下面結(jié)合一具體的實(shí)施例對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)解釋。
圖2示出了角色訪問控制框圖。
如圖2所示的角色訪問控制框圖。其是對傳統(tǒng)的基于角色的訪問控制模型進(jìn)行擴(kuò)展,在授權(quán)過程中添加可信度因子,可信度越高則實(shí)體獲得的權(quán)限也越高,同時監(jiān)控實(shí)體在角色中承擔(dān)任務(wù)的完成情況,并將其反饋到實(shí)體當(dāng)前的可信度中,通過動態(tài)角色激活進(jìn)行帶反饋的動態(tài)授權(quán)。其中訪問控制組件對用戶的可信度進(jìn)行計算,并且與角色激活可信度進(jìn)行比較判斷,以決定訪問用戶是否滿足激活的條件,其中角色激活可信度為上述提及的角色可信度,其是通過系統(tǒng)預(yù)先設(shè)定的激活某個角色所需的最小可信度值。例如,可取此最小可信度值為0.6。
合法用戶a的訪問控制過程
用戶a登錄系統(tǒng),首先向系統(tǒng)發(fā)起請求執(zhí)行修改云存儲的數(shù)據(jù)信息,步驟如下:
步驟1:系統(tǒng)首先要對用戶a進(jìn)行身份認(rèn)證,同時搜集其他相關(guān)信息。若a經(jīng)身份認(rèn)證匹配成功,進(jìn)入步驟2,否則,拒絕其登陸。
步驟2:根據(jù)捕獲的信息計算用戶可信度,可信報告中記錄了用戶a的270個相關(guān)的操作紀(jì)錄,當(dāng)中分屬可信平臺、系統(tǒng)、安全設(shè)備、應(yīng)用軟件的數(shù)量依次是:40、60、80、90,而分屬可信操作集庫的數(shù)量依次是:36、54、72、81,其靜態(tài)的可信度是0.9。假定采用專家打分法來確定權(quán)重,其值依次是:0.2、0.2、0.3、0.1、0.2。根據(jù)基本可信度計算公式,得出用戶基本可信度為at=0.9。日志中記錄用戶良性行為8,不良行為事件1,根據(jù)用戶行為可信度公式得出bt=0.8。用戶最終可信度值可通過公式計算,根據(jù)專家打分給出權(quán)重均為0.5,t=0.5*0.9+0.5*0.8=0.85。
步驟3:通過對用戶屬性key值進(jìn)行匹配,確定用戶所屬角色域,key=2表示用戶a為微網(wǎng)角色。
步驟4:在數(shù)據(jù)庫中查詢微網(wǎng)角色激活閾值,對比用戶a的可信度,由此來決定進(jìn)行角色激活操作。
步驟6:查詢數(shù)據(jù)庫,確定可執(zhí)行權(quán)限為可修改云存儲數(shù)據(jù)的權(quán)限。
步驟7:允許用戶a進(jìn)行修改操作。
若用戶b冒充用戶a登錄系統(tǒng),請求執(zhí)行修改數(shù)據(jù)操作,可信平臺、系統(tǒng)、安全設(shè)備、應(yīng)用軟件的數(shù)目中可信操作的數(shù)目必然下降,可信報告中包含了b的190個相關(guān)操作紀(jì)錄,里面分屬可信平臺、系統(tǒng)、安全設(shè)備、應(yīng)用軟件的數(shù)量依次是:10、40、60、80,分屬可信操作集庫的數(shù)量依次是:5、20、30、40,給出的其靜態(tài)可信度值是0.5,各因子權(quán)重同上,計算得出其基本可信度值為0.5。日志中記錄用戶良性行為8,不良行為事件1,行為可信度為0.8,用戶綜合可信度為0.65,達(dá)不到角色激活要求,能夠進(jìn)入系統(tǒng),卻不能獲得用戶a的任何權(quán)限。并且其用戶屬性值與要修改的數(shù)據(jù)屬性值比較后,其用戶屬性與修改的對象屬性也無法匹配,因此不能實(shí)現(xiàn)修改操作。
在本說明書的描述中,術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“具體實(shí)施例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或特點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或?qū)嵗?。而且,描述的具體特征、結(jié)構(gòu)、材料或特點(diǎn)可以在任何的一個或多個實(shí)施例或示例中以合適的方式結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。