一種云環(huán)境下的動(dòng)態(tài)屬性訪問(wèn)控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)存儲(chǔ)安全技術(shù)領(lǐng)域,具體涉及一種云環(huán)境下的動(dòng)態(tài)屬性訪問(wèn)控制方法。
【背景技術(shù)】
[0002]近年來(lái),云存儲(chǔ)的廣泛應(yīng)用使用戶隨時(shí)隨地存取數(shù)據(jù)成為了可能。基于靜態(tài)屬性的訪問(wèn)控制方法,其身份、角色、靜態(tài)屬性都需要預(yù)先制定好,不能根據(jù)云環(huán)境中用戶的訪問(wèn)行為及其一些實(shí)時(shí)變化的屬性來(lái)動(dòng)態(tài)調(diào)整其訪問(wèn)權(quán)限,因此無(wú)法體現(xiàn)云用戶多元化需求的變化,無(wú)法很好的適應(yīng)用戶的動(dòng)態(tài)性。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)現(xiàn)有技術(shù)中存在上述缺陷,提供一種云環(huán)境下的動(dòng)態(tài)屬性訪問(wèn)控制方法,其目的在于通過(guò)分析用戶的歷史訪問(wèn)行為獲取用戶的動(dòng)態(tài)屬性,實(shí)現(xiàn)云環(huán)境下數(shù)據(jù)的動(dòng)態(tài)安全訪問(wèn)控制,從而解決現(xiàn)有方法中因用戶的歷史訪問(wèn)行為的變化而引起用戶權(quán)限的變更這一技術(shù)問(wèn)題。
[0004]根據(jù)本發(fā)明,提供了一種云環(huán)境下的動(dòng)態(tài)屬性訪問(wèn)控制方法,包括:
[0005]客戶端向代理服務(wù)器發(fā)起用戶請(qǐng)求;
[0006]若代理服務(wù)器判斷用戶請(qǐng)求是登錄請(qǐng)求,則代理服務(wù)器將該請(qǐng)求轉(zhuǎn)發(fā)到認(rèn)證服務(wù)器,認(rèn)證服務(wù)器在判斷用戶請(qǐng)求中包含的用戶登錄信息正確的情況下生成用戶的身份標(biāo)識(shí),而且認(rèn)證服務(wù)器將身份標(biāo)識(shí)返回給用戶,并且將身份標(biāo)識(shí)緩存到緩存服務(wù)器;
[0007]若代理服務(wù)器判斷用戶請(qǐng)求是對(duì)象操作請(qǐng)求,則在緩存服務(wù)器中判斷用戶的身份標(biāo)識(shí)是否合法;而且若判斷用戶的身份標(biāo)識(shí)合法,則定位所請(qǐng)求對(duì)象的位置,然后將相應(yīng)的對(duì)象操作請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的存儲(chǔ)節(jié)點(diǎn)以便在存儲(chǔ)節(jié)點(diǎn)執(zhí)行用戶的權(quán)限判斷。
[0008]優(yōu)選地,在存儲(chǔ)節(jié)點(diǎn)執(zhí)行用戶的權(quán)限判斷時(shí),首先從用戶的操作請(qǐng)求中提取出用戶的屬性;隨后在存儲(chǔ)節(jié)點(diǎn)獲取所請(qǐng)求對(duì)象的訪問(wèn)控制策略,與用戶的屬性進(jìn)行匹配,如果用戶的屬性滿足訪問(wèn)控制策略要求,則響應(yīng)用戶的對(duì)象操作請(qǐng)求。
[0009]優(yōu)選地,所述的云環(huán)境下的動(dòng)態(tài)屬性訪問(wèn)控制方法還包括:認(rèn)證服務(wù)器通過(guò)分析用戶的歷史訪問(wèn)行為,賦予用戶動(dòng)態(tài)屬性,并且將賦予的用戶動(dòng)態(tài)屬性反饋到存儲(chǔ)節(jié)點(diǎn)進(jìn)行保存以更新用戶的屬性。
[0010]優(yōu)選地,用戶的身份標(biāo)識(shí)是全局唯一的。
[0011 ] 優(yōu)選地,用戶的身份標(biāo)識(shí)具有預(yù)定時(shí)限。
[0012]優(yōu)選地,判斷用戶的身份標(biāo)識(shí)是否合法包括判斷用戶的身份標(biāo)識(shí)是否存在并具有時(shí)效。
【附圖說(shuō)明】
[0013]結(jié)合附圖,并通過(guò)參考下面的詳細(xì)描述,將會(huì)更容易地對(duì)本發(fā)明有更完整的理解并且更容易地理解其伴隨的優(yōu)點(diǎn)和特征,其中:
[0014]圖1示意性地示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的系統(tǒng)訪問(wèn)控制流程示意圖。
[0015]圖2示意性地示出了傳統(tǒng)訪問(wèn)控制樹結(jié)構(gòu)。
[0016]圖3示意性地示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的動(dòng)態(tài)屬性訪問(wèn)控制樹結(jié)構(gòu)。
[0017]需要說(shuō)明的是,附圖用于說(shuō)明本發(fā)明,而非限制本發(fā)明。注意,表示結(jié)構(gòu)的附圖可能并非按比例繪制。并且,附圖中,相同或者類似的元件標(biāo)有相同或者類似的標(biāo)號(hào)。
【具體實(shí)施方式】
[0018]為了使本發(fā)明的內(nèi)容更加清楚和易懂,下面結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明的內(nèi)容進(jìn)行詳細(xì)描述。
[0019]針對(duì)云環(huán)境中用戶屬性并非一成不變,有些屬性會(huì)隨時(shí)間動(dòng)態(tài)變化的現(xiàn)象,本發(fā)明引入動(dòng)態(tài)屬性的概念以更好地適應(yīng)云環(huán)境中因用戶特征的動(dòng)態(tài)變化引起的權(quán)限變更,并對(duì)動(dòng)態(tài)屬性進(jìn)行了描述和相應(yīng)訪問(wèn)控制策略的制定,以及用戶權(quán)限的判斷方法。在訪問(wèn)控制策略制定中,對(duì)傳統(tǒng)的訪問(wèn)控制樹結(jié)構(gòu)進(jìn)行了一定的改造與優(yōu)化,以期能提高其訪問(wèn)控制效率及靈活性。
[0020]按照本發(fā)明,設(shè)計(jì)了一種云環(huán)境下的動(dòng)態(tài)屬性訪問(wèn)控制方法,該方法主要包括用戶登錄認(rèn)證和權(quán)限判斷兩個(gè)步驟。
[0021](1)用戶登錄認(rèn)證處理:例如,所設(shè)計(jì)的用戶登錄口令為“用戶名+密碼”(用戶登錄信息)的形式??蛻舳讼虼矸?wù)器發(fā)起用戶請(qǐng)求,代理服務(wù)器首先對(duì)用戶請(qǐng)求進(jìn)行處理,若用戶請(qǐng)求是登錄請(qǐng)求,則將該請(qǐng)求轉(zhuǎn)發(fā)到認(rèn)證服務(wù)器,在認(rèn)證服務(wù)器中判斷用戶登錄信息是否正確,若正確則生成用戶的身份標(biāo)識(shí)Auth token (例如,如圖1所示),該標(biāo)識(shí)是全局唯一的,但具有一定的時(shí)限(即在預(yù)定時(shí)限內(nèi)有效),一方面通過(guò)認(rèn)證服務(wù)器將身份標(biāo)識(shí)返回給用戶,另一方面將身份標(biāo)識(shí)緩存到緩存服務(wù)器,提高用戶合法性判斷的效率;若代理服務(wù)器判斷用戶請(qǐng)求是對(duì)象操作請(qǐng)求,則在緩存服務(wù)器中判斷用戶的身份標(biāo)識(shí)Auth token是否合法(具體地,可以判斷用戶的身份標(biāo)識(shí)Auth token是否存在并具有時(shí)效),若判斷合法,則定位所請(qǐng)求對(duì)象的位置,然后將相應(yīng)的對(duì)象操作請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的存儲(chǔ)節(jié)點(diǎn),若用戶的身份標(biāo)識(shí)Auth token不合法,則拒絕用戶的操作請(qǐng)求,返回對(duì)應(yīng)的錯(cuò)誤碼(例如,如圖1所示的錯(cuò)誤碼“401Error”)。
[0022](2)權(quán)限判斷處理:若“(1)用戶登錄認(rèn)證處理”的用戶登錄認(rèn)證通過(guò),而且判斷用戶的身份標(biāo)識(shí)Auth token合法,則將對(duì)象操作請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)存儲(chǔ)節(jié)點(diǎn),然后在存儲(chǔ)節(jié)點(diǎn)執(zhí)行用戶的權(quán)限判斷。在這一步中,首先需要從用戶的操作請(qǐng)求中提取出用戶的屬性(本發(fā)明涉及了用戶的動(dòng)態(tài)屬性,即從服務(wù)器中獲取用戶的歷史訪問(wèn)記錄,分析其歷史訪問(wèn)行為,從而得出用戶的動(dòng)態(tài)屬性;這將在后文詳細(xì)描述)。
[0023]進(jìn)一步地,在存儲(chǔ)節(jié)點(diǎn)獲取所請(qǐng)求對(duì)象的訪問(wèn)控制策略,與用戶的屬性進(jìn)行匹配,如果用戶的屬性滿足訪問(wèn)控制策略要求,則響應(yīng)用戶的對(duì)象操作請(qǐng)求,否則拒絕操作請(qǐng)求,并返回相應(yīng)的錯(cuò)誤碼(例如,如圖1所示的錯(cuò)誤碼“403Error”)。
[0024]認(rèn)證服務(wù)器(服務(wù)器端)通過(guò)分析用戶的歷史訪問(wèn)行為,賦予用戶動(dòng)態(tài)屬性(可以采用諸如協(xié)同過(guò)濾等算法分析出用戶特征,然后進(jìn)行屬性賦予),并且將賦予的用戶動(dòng)態(tài)屬性反饋到存儲(chǔ)節(jié)點(diǎn)(用戶端)進(jìn)行保存以更新用戶的屬性。具體地,用戶一開始并不具有這種用戶動(dòng)態(tài)屬性,或者該用戶動(dòng)態(tài)屬性的屬性值并不滿足系統(tǒng)要求,但根據(jù)用戶的歷史訪問(wèn)行為,賦予用戶該用戶動(dòng)態(tài)屬性或者動(dòng)態(tài)修正該用戶動(dòng)態(tài)屬性的屬性值,使用戶具有該用戶動(dòng)態(tài)屬性所對(duì)應(yīng)的權(quán)限,這種“從無(wú)到有”的過(guò)程很好的體現(xiàn)了動(dòng)態(tài)屬性的“動(dòng)態(tài)”性。
[0025]傳統(tǒng)的訪問(wèn)控制所建立的數(shù)據(jù)結(jié)構(gòu)呈現(xiàn)的都是二叉樹型結(jié)構(gòu),而在基于屬性的訪問(wèn)控制(ABAC)中,一般采用的也是這種樹形結(jié)構(gòu),葉子節(jié)點(diǎn)代表各個(gè)獨(dú)立的屬性,中間節(jié)點(diǎn)代表邏輯連接詞(and、or、not)。由于動(dòng)態(tài)屬性訪問(wèn)控制(DABAC)中引入了權(quán)重因子,且動(dòng)態(tài)屬性葉子節(jié)點(diǎn)滿足條件較為豐富,因此不同于ABAC的二叉樹訪問(wèn)結(jié)構(gòu),DABAC需要采用多叉樹結(jié)構(gòu)。
[0026]以下將對(duì)本發(fā)明的相關(guān)技術(shù)術(shù)語(yǔ)進(jìn)行解釋和說(shuō)明:
[0027](1)靜態(tài)屬性static_attr:本發(fā)明中,靜態(tài)屬性是指屬性值基本保持不變的一類屬性,或者屬性值存在變化,但在一定時(shí)間范圍內(nèi)相對(duì)固定。例如,一個(gè)人的身份證號(hào)、性另IJ,電腦MAC地址等屬性一經(jīng)確定往往不再改變,而諸如企業(yè)地址,用戶年齡、職業(yè)等屬性在一定時(shí)間范圍內(nèi)也是保持不變的。靜態(tài)屬性集可以表示為若干個(gè)靜態(tài)屬性元組[靜態(tài)屬性名:靜態(tài)屬性值]所構(gòu)成的集合,描述如下:
[0028]Sstatic attr — {[static_attrl nallle.static_attrlvajue],
[0029][static_attr2name: static_attr2value],......}
[0030](2)動(dòng)態(tài)屬性dynamic_attr:顧名思義,是與用戶行為相關(guān)的隨時(shí)間動(dòng)態(tài)變化的屬性。包括非量化的動(dòng)態(tài)屬性和可量化的動(dòng)態(tài)屬性。非量化的動(dòng)態(tài)屬性往往很難通過(guò)一個(gè)值來(lái)描述,例如用戶對(duì)某類事物的喜好程度,對(duì)一種編程語(yǔ)言(例如Java、C++等)的精通程度,用戶在某論壇的活躍度等等;量化的動(dòng)態(tài)屬性則可以用一個(gè)確定的值或者區(qū)間來(lái)表示,例如用戶的地理位置信息,行車的實(shí)時(shí)速度(往往是一個(gè)區(qū)間范圍),商家舉辦某活動(dòng)的日期時(shí)間等等。非量化的動(dòng)態(tài)屬性比較難以描述,而且需要一套和屬性相關(guān)的完整評(píng)估系統(tǒng)。動(dòng)態(tài)屬性集可以表示為若干個(gè)動(dòng)態(tài)屬性元組[動(dòng)態(tài)屬性名:動(dòng)態(tài)屬性值,動(dòng)態(tài)屬性所占權(quán)重]的集合,描述如下:
[0031]Sdynamic—attr= {[dynamic_attrl name: dynamic_attrlvalue, dynamic_attrlweight],
[0032][dynamic_attr2name: dynamic_attr2value, dynamic_attr2weight],......}
[0033]其中,動(dòng)態(tài)屬性權(quán)重因子we