一種云環(huán)境下的多模式訪問控制策略制定和執(zhí)行方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計算機(jī)存儲技術(shù)領(lǐng)域,主要涉及一種云環(huán)境下的多模式訪問控制策略 制定和執(zhí)行方法。
【背景技術(shù)】
[0002] 與傳統(tǒng)的存儲環(huán)境相比,云存儲環(huán)境具有多態(tài)性、復(fù)雜性和動態(tài)性等特點。多態(tài)性 主要表現(xiàn)在用戶群體分散廣、背景層次差別大、相互之間黏度低及其需求多元化和多樣性 等方面;復(fù)雜性主要表現(xiàn)在用戶在不同的場景下具有不同的特征信息,且用戶的特征信息 往往是不可預(yù)測的,因此在不同的場景下用戶的權(quán)限也應(yīng)不盡相同;動態(tài)性則主要表現(xiàn)在 用戶的特征信息通常是有時效性的,在不同的時間段內(nèi)可能會出現(xiàn)完全不同的特征信息, 此外為適應(yīng)云環(huán)境的復(fù)雜多變性,數(shù)據(jù)的訪問策略也應(yīng)不定期的進(jìn)行更新。因此,日趨多樣 性和多元化的云服務(wù)必將給云中數(shù)據(jù)安全帶來新的挑戰(zhàn)。
[0003] 面對云環(huán)境下海量用戶的情形,無論從用戶權(quán)限設(shè)定的簡潔性還是從制定訪問控 制列表或訪問矩陣的復(fù)雜度而言,基于身份的訪問控制都將無法適應(yīng);廣泛應(yīng)用于傳統(tǒng)領(lǐng) 域的基于角色訪問控制,角色的制定困難、適應(yīng)性和擴(kuò)展性差等問題,使其無法適應(yīng)云環(huán)境 開放的特點;目前針對云環(huán)境下訪問控制,學(xué)術(shù)界公認(rèn)基于屬性的訪問控制將是最佳的解 決方案之一,而傳統(tǒng)的基于屬性的訪問控制雖然可以很好的實現(xiàn)云環(huán)境下高效、可擴(kuò)展的 訪問控制需求,但無法適用于用戶權(quán)限頻繁變更或?qū)傩灾底儎宇l繁的情況。
【發(fā)明內(nèi)容】
[0004] 針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種云環(huán)境下的多模式訪問 控制策略制定和執(zhí)行方法,其目的在于,通過三種不同訪問控制方法的協(xié)同工作,實現(xiàn)云環(huán) 境下數(shù)據(jù)的安全訪問控制機(jī)制,從而解決現(xiàn)有方法中存在的無法適用于用戶權(quán)限頻繁變更 或?qū)傩灾底儎宇l繁的技術(shù)問題。
[0005] 為實現(xiàn)上述目的,按照本發(fā)明的一個方面,提供了一種云環(huán)境下的多模式訪問控 制策略制定方法,包括以下步驟:
[0006] (1)客戶端根據(jù)待上傳的數(shù)據(jù)對象選擇需要制定的訪問控制策略類型,如果是 IBAC,則進(jìn)入步驟(2),如果是ABAC,則進(jìn)入步驟(3),如果是DABAC,則進(jìn)入步驟(5);
[0007] (2)客戶端將可以訪問該數(shù)據(jù)對象的用戶納入白名單,將不能訪問該數(shù)據(jù)對象的 用戶納入黑名單,然后轉(zhuǎn)步驟(7);
[0008] ⑶客戶端建立多個靜態(tài)屬性二元組Sstatlcattl= {attr _e:attrvalue},其中attrnane 表示屬性名稱,attrvalue表示屬性值;
[0009] (4)客戶端將建立的多個靜態(tài)屬性二元組進(jìn)行邏輯組合,以生成訪問控制策略,然 后轉(zhuǎn)步驟(7)。
[0010] (5)客戶端建立多個動態(tài)屬性二元組 Sdynanic attr= {attr nane: (attr valuel, attrvalue2. · · ),attrweight},其中 attr_e表不屬性名勒、,attrvalue表不屬性值,attrweight表不 屬性權(quán)重;
[0011] (6)客戶端將建立的多個動態(tài)屬性二元組進(jìn)行組合,以生成訪問控制策略;
[0012] (7)將策略封裝為xml格式文本,過程結(jié)束。
[0013] 優(yōu)選地,步驟(6)中動態(tài)屬性二元組的組合包括邏輯組合、以及動態(tài)屬性二元組 集合。
[0014] 按照本發(fā)明的另一方面,提供了一種云環(huán)境下的多模式訪問控制策略執(zhí)行方法, 包括以下步驟:
[0015] (1)接收來自用戶的訪問請求,并查找與該訪問請求的對象所對應(yīng)的訪問控制策 略,如果是IBAC,則轉(zhuǎn)入步驟(2),如果是ABAC,則轉(zhuǎn)入步驟(4),如果是DABAC,則轉(zhuǎn)入步驟 (5);
[0016] (2)判斷用戶是否存在于該訪問控制策略的黑名單中,如果是則表示該用戶沒有 訪問權(quán)限,過程結(jié)束,否則轉(zhuǎn)入步驟(3);
[0017] (3)判斷用戶是否存在于該訪問控制策略的白名單中,如果是則轉(zhuǎn)入步驟(7),否 則過程結(jié)束;
[0018] (4)獲取ABAC訪問控制策略,并根據(jù)二叉樹生成算法將該策略轉(zhuǎn)化為訪問控制二 叉樹,由此二叉樹判斷用戶的訪問權(quán)限,若合法則轉(zhuǎn)步驟(7),否則過程結(jié)束;
[0019] (5)獲取DABAC訪問控制策略,并根據(jù)多叉樹生成算法將該策略轉(zhuǎn)化為多叉樹,并 根據(jù)該多叉樹判斷用戶的訪問權(quán)限,若合法則轉(zhuǎn)步驟(6),否則不執(zhí)行跳轉(zhuǎn);
[0020] (6)向用戶返回TAG標(biāo)簽,用于對用戶的動態(tài)屬性值進(jìn)行反饋修正(該步驟可選, 并非所有動態(tài)屬性都需要反饋機(jī)制);
[0021] (7)對用戶訪問請求進(jìn)行響應(yīng),過程結(jié)束。
[0022] 優(yōu)選地,根據(jù)二叉樹判斷用戶的訪問權(quán)限包括:
[0023] 4-1)由二叉樹生成算法獲取訪問控制二叉樹的根節(jié)點;
[0024] 4-2)判斷根節(jié)點是否有左右子樹,若沒有左右子樹,則跳轉(zhuǎn)至步驟4-7),否則不 跳轉(zhuǎn);
[0025] 4-3)獲取根節(jié)點的邏輯詞,按照AND、0R、N0T分別采取不同的處理方法,并獲取其 左右子樹,其中若其左子樹是葉子節(jié)點,則跳轉(zhuǎn)至步驟4-7),否則不跳轉(zhuǎn),若其右子樹是葉 子節(jié)點,則跳轉(zhuǎn)至步驟4-7),否則跳轉(zhuǎn)至步驟4-5)。
[0026] 4-4)以左子樹的根節(jié)點作為新的根節(jié)點,然后返回步驟4-2);
[0027] 4-5)以右子樹的根節(jié)點作為新的根節(jié)點,然后返回步驟4-2);
[0028] 4-6)返回到整個訪問控制二叉樹的根節(jié)點,并判斷是否有匹配成功信息,如果有 則跳轉(zhuǎn)至步驟4-8),否則表示匹配失敗,過程結(jié)束;
[0029] 4-7)對葉子節(jié)點進(jìn)行處理,處理規(guī)則如下:若葉子節(jié)點所擁有的靜態(tài)屬性在用戶 屬性集內(nèi),且用戶屬性值滿足葉子節(jié)點的表達(dá)式要求,則表示該節(jié)點匹配成功,返回匹配成 功信息,否則返回匹配失敗信息;
[0030] 4-8)用戶屬性滿足該訪問控制要求,權(quán)限判斷過程結(jié)束。
[0031] 優(yōu)選地,步驟(5)中在進(jìn)行權(quán)限判斷時,遇到in關(guān)鍵詞應(yīng)該按照如下規(guī)則對in關(guān) 鍵詞進(jìn)行處理:
[0032] 1)將in表達(dá)式分解為:權(quán)重表達(dá)式+子限制條件
[0033] 2)當(dāng)遇到根節(jié)點不是邏輯連接詞,而是權(quán)重表達(dá)式時,遍歷所有子限制條件項,判 斷用戶動態(tài)屬性集是否滿足子限制條件規(guī)則要求,并計算權(quán)重值;
[0034] 3)比較計算的權(quán)重值是否滿足權(quán)重表達(dá)式,若滿足則表示該節(jié)點匹配成功,否則 匹配失敗。
[0035] 總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有 益效果:
[0036] (1)本發(fā)明適用于用戶權(quán)限頻繁變更或?qū)傩灾底儎宇l繁的情況:策略制定部分, 由于采用了步驟(2)、步驟(3)和步驟(5),使用戶可以根據(jù)自己的需要選擇相應(yīng)的訪問控 制方案,可以實現(xiàn)細(xì)粒度以用戶為單位的身份訪問控制、在大用戶基數(shù)下實現(xiàn)快速便捷的 屬性訪問控制和實現(xiàn)自適應(yīng)的動態(tài)屬性訪問控制,并且滿足了云環(huán)境下的多樣化需求。
[0037] (2)本發(fā)明簡化了不同場景下訪問策略的制定和權(quán)限判斷:本發(fā)明中的訪問策 略描述語言采用標(biāo)簽式策略描述,在策略制定部分,由于采用了步驟(4)和步驟(6),使得 ABAC中邏輯表達(dá)的訪問策略更加清晰和便于解析,結(jié)合對應(yīng)的權(quán)限判斷算法,相較于傳統(tǒng) 的XACML而言,簡化了訪問策略的制定和權(quán)限判斷的復(fù)雜度;
[0038] (3)本發(fā)明在現(xiàn)有屬性訪問控制基礎(chǔ)上,引入動態(tài)屬性的概念,通過用戶的訪問行 為動態(tài)修正用戶的屬性集合,相較于傳統(tǒng)的靜態(tài)屬性訪問控制而言,一方面擴(kuò)充了屬性的 應(yīng)用范疇,將不可量化和瞬時動態(tài)的屬性納入訪問策略的條件判斷之中,增強(qiáng)了訪問策略 的自適應(yīng)性和擴(kuò)展性;另一方面在策略執(zhí)行部分,由于步驟(6)通過動態(tài)修正用戶的屬性 集合,可以為用戶提供個性化的服務(wù)需求。
【附圖說明】
[0039] 圖1是本發(fā)明涉及的多模式安全訪問控制模型;
[0040] 圖2是本發(fā)明涉及的訪問策略制定流程圖;
[0041] 圖3是本發(fā)明涉及的權(quán)限判斷流程圖。
【具體實施方式】
[0042] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要 彼此之間未構(gòu)成沖突就可以相互組合。
[0043] 以下首先對本發(fā)明的相關(guān)技術(shù)術(shù)語進(jìn)行解釋和說明:
[0044] 域(Area):又稱空間。域是指系統(tǒng)中存儲數(shù)據(jù)區(qū)域的邏輯劃分。域可分為個人域 (Secret Area,簡稱 SA)、群組域(Group Area,簡稱 GA)和公共域(public Area,簡稱 PA)。
[0045] 個人域(SA):又指用戶私人空間,用于存放用戶個人數(shù)據(jù)的存儲區(qū)域,通常一個 用戶(User)對應(yīng)一個SA ;
[0046] 群組域(GA):又指組空間,用于存放組內(nèi)數(shù)據(jù)共享的存儲區(qū)域。通常一個組 (Group)對應(yīng)一個 GA ;
[0047] 公共域(PA):又指公共空間,用于存放面向所有用戶數(shù)據(jù)共享的存儲區(qū)域。
[0048] 屬性(Attribute,簡稱attr):屬性是用戶的特征描述,一般是由屬性名和屬性值 構(gòu)成的二元組來描述。屬性又分為靜態(tài)屬性和動態(tài)屬性。
[0049] 靜態(tài)屬性(Static Attr):靜態(tài)屬性是指在一定時間范圍內(nèi)屬性值相對固定或較 少變動的一類屬性。如,性別一般是固定不變的、職業(yè)是相對穩(wěn)定的,較少變動的如住址,這 些都可以劃分為靜態(tài)屬性的范疇。靜態(tài)屬性元組由[靜態(tài)屬性名:靜態(tài)屬性值]構(gòu)成,描述 如下:
[0050]