999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于屬性訪問控制策略管理方法

2022-03-21 10:34:04潘瑞杰王高才黃珩逸
計算機工程與設計 2022年3期
關鍵詞:控制策略策略方法

潘瑞杰,王高才,黃珩逸

(廣西大學 計算機與電子信息學院,廣西 南寧 530004)

0 引 言

隨著云計算應用的迅速普及,云計算已經滲透到金融、教育、醫療、交通等各個領域[1]。傳統訪問控制,例如,強制訪問控制(MAC)[2]、自由訪問控制(DAC)和基于角色的訪問控制(RBAC)已經不再適用于動態變化的訪問場景,基于屬性的訪問控制(ABAC)[3,4]因為具有細粒度、匿名性和動態適應性而備受青睞。

有效的檢索ABAC策略對于實時響應用戶的訪問控制請求至關重要。文獻[5]提出了一種基于圖的XACML策略評估方法,該方法對匹配樹和合并樹這兩個策略評估數據結構進行優化,該方法與傳統的策略檢索方法相比,確實提高了檢索效率,但是不支持多值屬性。文獻[6]提出了一種基于前綴標記運算的策略檢索方法,該方法根據策略屬性添加前綴來縮小策略檢索的范圍。這種檢索方法確實提高了檢索效率,但是,在訪問控制策略與訪問請求屬性名匹配的情況下,這種前綴計算反而造成了時間上的浪費。針對這個問題,文獻[7]在此基礎上,引入策略決策樹來提高檢索效率。然而該方法不能應用于策略屬性比較多的情況。文獻[8]在文獻[6]的基礎上進行改進,根據策略前3個主體屬性值進行分組來提高檢索效率。

基于屬性訪問控制的研究存在兩方面的問題。一方面,以上提到的基于屬性訪問控制策略的檢索效率的確有所提高,但仍然存在一定的局限性。另一方面,完全信任策略管理員對策略的管理是不明智的,一旦策略管理員惡意修改策略將會給資源擁有者帶來巨大的災難。假定策略管理員是完全可信的,這是不合理的。針對這些問題,本文提出一種基于MPT和Bloom Filter的屬性訪問控制策略管理方法。

1 基于屬性訪問控制策略管理方法相關理論

1.1 ABAC模型相關理論

訪問控制策略明確規定用戶可以對客體資源進行哪些操作。可表示為 (permit,deny)←(Attr(S),Attr(O),Attr(E),Attr(P))。 其中Attr(S),Attr(O),Attr(E),Attr(P)分別表示主體、客體、環境、權限屬性的取值范圍。

根據上述ABAC策略模型的定義,我們構建如表1的策略集。

表1 ABAC策略集

基于屬性的訪問請求(attributed-based access control request,AAR)。表示主體希望對客體進行何種操作,一般包括:主體屬性、客體屬性、權限屬性等 AAR={aar1,aar2,…,aarn}。

1.2 MPT

MPT[9]是以太坊中的一種加密認證的數據結構,它結合了帕特里夏樹和默克爾樹的優點,可以用來存儲所有的(key,value)鍵值對。以太坊區塊的頭部包括一個區塊頭,一個交易的列表和一個uncle區塊的列表。在區塊頭部包括了交易的hash樹根,用來校驗交易的列表。

2 基于屬性訪問控制策略管理方法

ABAC策略由第三方進行管理,如果策略管理員為使某個用戶獲得敏感資源而對策略內容進行修改,這將使資源處于危險之中,且現有的訪問控制策略檢索存在效率低的問題。針對這種情況,我們對原有的訪問控制模型進行擴展,增加策略管理站點(PAP)對策略進行MPT建模模塊(2.1節)、Bloom Filter策略管理模塊(2.2節)和策略決策站點(PDP)對根hash值進行驗證的模塊,以增強策略的安全性。

2.1 策略建模

我們以上文提到的4條訪問控制策略為例對策略集合進行MPT[9]建模。以訪問控制策略的策略序號為key,因為策略序號具有唯一性,所以可以保證策略路徑的唯一性,并且不會引起沖突,便于根據關鍵字作為路徑對策略內容進行檢索。以策略內容的RLP編碼為value構建基于MPT的策略樹。首先,把key轉換成十六進制為(Student001,0x53747564656e743031),(Teacher012,0x54656163686572303132),(Teacher122,0x54656163686572313232),(Adminstrator089,0x41646d696e6973747261746472303839),用p1,p2,p3,p4分別表示上述4條策略內容,其鍵值對可表示為(0x53747564656e743031,RLP(p1)),(0x54656163686572303132,RLP(p2)),(0x54656163686572313232,RLP(p3)),(0x41646d696e6973747261746472303,RLP(p4))構建如圖1的MPT策略樹。

圖1 MPT策略樹

為了保證樹的加密安全,每個節點都通過下層節點的hash值被引用,而非32 bit或者64 bit的內存地址。把ABAC策略建成如圖1所示的策略樹后,對根節點再次取hash得到一個根hash值,該hash值就成了整棵樹的hash簽名。一旦根hash值公開,無論是對該樹的節點修改、添加或刪除都會對根hash值產生影響,會導致PDP驗證失敗。以此對策略管理員是否修改ABAC策略的行為起到一個監督作用。

更新節點偽代碼如下所示:

輸入:列表形式的節點或者空節點

輸出:一個新的節點node

(1)node_type ← get_node_type(node)

(2)if (node_type==NODE_TYPE_BLANK) //判斷是否為空節點

(3)return

[Key _nibbles_to_bytes(key,add_terminator← True),value]

(4)else if(node_type==NODE_TYPE_BRANCH) { //是否為分支節點

(5) if (!key)

(6) node[-1] ← value

else:

(7) new_node← update_and_delete_storage(

decode_to_node(node[key[0]]),

key[1:], value)

(8) node[key[0]] ← _encode_node(new_node)

(9) return node

(10) }

(11)else if (is_key_value_type(node_type))

(12) update_kv_node(node,key,value)//對節點進行更新

2.2 策略檢索

屬性是ABAC的核心部分。根據屬性的作用不同又可以把屬性分為類別屬性和非類別屬性[11]。非類別屬性主要指的是描述主體、客體、環境、權限信息的屬性,如{role,age}。類別屬性指的是策略中允許或拒絕主體訪問客體的屬性,一般包括{permit,deny}。為提高策略檢索效率,對ABAC策略的非類別屬性采用Bloom Filter[10]的數據結構進行存儲。Bloom Filter里包含m位二進制比特向量BF={b0,b1,b2,…,bm-1} 和k個相互獨立的哈希函數H(x)={h0(x),h1(x),h2(x),…,hk-1(x)}, 首先,把BF的b0,b1,b2,…,bm-1的比特位都置為0。然后,把策略集合中的元素policyset={p1,p2,p3,…,pn-1} 通過hash運算映射到Bloom Filter中的對應位置。在此過程中,策略集合中的每條策略都需要和H(x)集合中的每一個hash函數運算。因此,對于策略集合 (policyset={p1,p2,p3,…,pn-1}) 需要進行k*n次hash運算 (h0(p1),h1(p2),…,hk-1(pn-1)), 要盡可能的使hash值均勻分布在Bloom Filter的b0,b1,b2,bm-1比特位,最后,根據計算的hash值把對應的BF位置 (bh0(p1),bh1(p1),…,bhk-1(pn-1)) 分別置為1,完成策略檢索前的構建工作。當有AAR時,需要判斷策略集合中是否存在滿足aari的策略,其檢索過程如下:首先對aari進行H(x)運算,即計算 {h0(aari),h1(aari),h2(aari),…,hk-1(aari)}, 再查看 {h0(aari),h1(aari),h2(aari),…,hk-1(aari)} 在BF中b(h0(aari)),b(h1(aari)),b(h2(aari)),…,b(hk-1(aari))對應的位置是否全為1,若全為1則說明該策略集合包含符合aari屬性要求的策略。若至少有一個不為1,則該策略集合不包含符合aari屬性要求的策略。通過圖2來說明基于MPT和Bloom Filter策略管理方法的構建和檢索過程。

圖2 基于Bloom Filter的屬性訪問控制策略管理

采用基于MPT和Bloom Filter的屬性訪問控制方法進行管理,卻存在一個不足,就是誤報率(false positive)的問題。例如,訪問控制請求aari能在策略集合中找到對應的策略,訪問控制請求aarj在策略集合中不能找到對應的策略,即 (aari?policyset, aarj∈policyset, aari≠aarj), 但是由于hash碰撞,會存在著b(h0(aari))=b(h1(aarj))情況,原本不應該獲得訪問權限的訪問控制請求可能會判斷為符合策略而得到訪問的權限。但是,由于hash值的計算具有不可預測性,很難人為的去構造hash碰撞。也就是說,用戶不可能去構造策略集合中策略映射的hash值。因此,在使用基于MPT和Bloom Filter策略管理方法時必須盡量的降低誤報率,在低誤報率的情況下提高策略檢索效率。

設k表示策略集合中所用的相互獨立的hash函數個數,n表示策略集合中策略的總數,m表示Bloom Filter中二進制的位數。必須滿足:k*n

(1)

最優hash函數個數如下

(2)

在不超過期望的錯誤率ε的情況下,Bloom Filter的最少位數為

(3)

尋找最小位數組和最優hash數目的偽代碼:

輸入:k_max為允許的hash函數的最大個數,num_policy為策略總數

輸出:最優的hash個數Optimal_k,最小位數組個數min_m

(1) while (k

(2) {

(3)n1←(-k*num_Policy);

(4)n2←log(1.0,pow(fpp,1.0/k));

(5)c_m←n1/n2;

(6) if (c_m

(7) {

(8)min_m←curr_m;

(9)min_k←k;

(10) }

(11)k++;

(12) }

(13)Optiomal_k←min_k;

(14)optp.table_size←min_m;

最小位數組和最優hash函數個數是根據ABAC策略集合的個數和期望誤報率計算出來的,只需要在訪問控制的準備階段進行計算。在ABAC策略檢索階段是不需要進行再次計算,其策略檢索階段只需要計算所有待檢索的訪問控制請求的k個hash值。因此,基于MPT和Bloom Filter的屬性訪問控制查找的時間復雜度只與hash函數的個數有關,其策略檢索的時間復雜度為O(k)。

2.3 基于屬性訪問控制策略管理流程

本篇文章是對ABAC策略進行管理,參考文獻[4]的基于屬性的訪問控制模型,把基于MPT和Bloom Filter的屬性訪問控制策略管理方法融合到基于屬性的訪問控制模型中,對訪問控制流程進行說明,如圖3所示。

圖3 基于MPT和Bloom Filter的屬性訪問控制策略管理

準備階段:

(1)PIP對所有的主體屬性(SA)、客體屬性(OA)、權限屬性(PA)、環境屬性(EA)信息進行搜集、管理,并把屬性、權限關系進行關聯。

(2)PAP從PIP獲得所需的屬性信息和屬性-權限關系構建ABAC策略。

(3)PAP對ABAC策略進行MPT建模,并在建模的同時生成Bloom Filter。

(4)所有的策略被構建成一棵完整的MPT樹,獲得一個最終的hash根,把該值傳遞給PDP進行保存。

執行階段:

(1)當PEP接收到主體發送的NAR,PEP向PIP請求獲取主體屬性、客體屬性、環境屬性、權限屬性構建AAR。

(2)PDP根據PIP提供的主體屬性信息、客體屬性信息和環境屬性信息等對主體的身份信息進行驗證。

(3)PDP從PAP獲取策略的根hash與已保存的hash值對比,以驗證hash值是否發生改變,若發生改變,則表明策略已被修改,PDP則做出拒絕訪問的決策并結束本次訪問。

(4)若hash驗證通過,PAP從BF檢索符合訪問控制請求的策略并把檢索結果返回給PDP。

(5)PDP對訪問控制請求進行hash運算并判斷Bloom Filter的對應位置是否為1,同時根據判斷做出決策。

(6)PEP執行決策結果,本次訪問結束。

3 實驗結果與分析

3.1 基于屬性訪問控制策略管理方法安全性分析

我們把上文中出現的圖1簡化成merkle樹(圖4)來進一步說明其安全性。

圖4 MPT簡化過后的merkle樹

如圖4所示,如果策略p3被修改,則上圖中hash(p3)會被修改, hash(hash(p2)hash(p3)),hash(hash(p1)hash(hash(p2)hash(p3))) 依次發生改變,從而導致hash(hash(p4)hash(hash(p1)hash(hash(p2)hash(p3)))) 發生變化。根hash值與原來PDP保存的hash值不同,驗證不能通過,所以會導致訪問失敗。如果一個用戶想要驗證某個p3策略是否被修改,只需要向策略管理中心獲取3個hash值,即:hash(p2)、hash(p1)、hash(p4)以及根hash就可以了,而不需要獲取p2,p1,p4策略,根據hash函數的不可逆轉性,用戶不可能根據策略的hash值計算原本的策略內容,因此,保證了策略內容不被泄露。在驗證時,首先,用戶對自己所擁有的p3策略進行哈希運算得到hash(p3),與已獲得的hash(p2)再次取hash便可得到hash(hash(p2)hash(p3)), 用戶再拿自己已獲得hash(p1)與hash(hash(p2)hash(p3)) 再次取hash便可得到hash(hash(p1)hash(hash(p2)hash(p3))), 最后與已獲得hash(p4) 取hash得到hash(hash(p4)hash(hash(p1)hash(hash(p2)hash(p3)))), 與已獲得的根hash作比較,如果這兩個hash值完全相同,則可證明p3策略沒有發生變化,否則,p3策略遭到非法篡改。我們在pycharm中借助pyethereum庫編寫python代碼實現了策略的MPT建模,把策略序號為Teacher122的p3策略的策略內容中的安全等級Security由high變成low,表2是策略改變之前和之后的根hash的變化。這說明策略的變化會引起根hash的變化,對策略進行MPT建模,提高策略的安全性是合理的。

3.2 基于屬性訪問控制策略管理方法檢索效率

為了驗證本文提出的屬性訪問控制策略管理方法的檢

表2 策略變化引起的根hash變化

索效率問題,本文是在win10系統環境下借助Qt Creator工具編寫測試代碼進行實驗。環境配置:CPU:Intel(R)Xeon(R) E5-1603@2.8 GHZ 2.8 GHZ。內存4 GB。Qt Creator 3.3.0(opencesource) Based on Qt 5.4.0(MSVC 2010,32 bit)。使用matlab作為數據分析軟件,matlab版本:8.6.0.267246(R2015b)。分別從以下的4個方面進行測試。為了保證策略建模的唯一性和有效性,這些策略和訪問控制請求都是參考文獻[11]提出的方法進行規范和標準化之后的。

(1)設置不同hash數量對策略檢索正確性的影響。觀察圖5可知,當策略集合的內容、數目不發生變化、Bloom Filter的大小不發生變化時,hash函數的數目從3個逐漸增加到最優hash函數個數10個(可以通過式(2)計算得到)時,隨著hash個數的增多,這3種誤報率都呈下降趨勢,且其誤報率都在0.8%以下,也就是說,其正確率可達99.2%以上,當選擇一個比較優的hash函數數量(最優hash函數的數量為10,相互獨立且分布均勻)可使誤報率降為接近于0,正確率可接近100%。在本組實驗中,其最差情況的誤報率可低至0.1756%,其成功檢索率仍高達99.924%,平均情況下誤報率為0.05629%,其成功檢索率仍高達99.943%。這說明在選擇合適的hash函數和hash函數個數時,本文提到的方法能達到一個比較高的成功檢索率。

圖5 誤報率

(2)Bloom Filter大小對成功檢索率的影響。2.2節提到,由于hash碰撞,原本不符合策略集合的訪問控制請求可能被誤報為符合,成功檢索率就是把原本不符策略集合的訪問控制請求判定為不符合的概率(即正確做出判斷)。本組實驗是在前一次Bloom Filter大小的基礎上壓縮20%,理論成功檢索率根據式(1)計算可得。通過圖6可知,隨著Bloom Filter越來越小,理論成功檢索率和實際成功檢索率先保持比較緩慢的下降趨勢。當Bloom Filter的大小下降到6000 bit時,不管是理論成功檢索率還是實際成功檢索率的下降速度越來越快,直至成功檢索率下降趨于0才又趨于平穩且恒為0。這是因為,在滿足小于期望的誤報率0.001 32時,根據式(3)計算得出其最小的Bloom Filter的大小為大約6126 bit,也就是說,在滿足誤報率小于等于0.0132,Bloom Filter的大小必須大于等于6126 bits。其Bloom Filter壓縮到小于6000 bits時,其成功檢索率得不到保證,也會下降的越來越快。同時,我們也發現,實際成功檢索率隨著Bloom Filter規模越來越小,且一直在理論成功檢索率的上下浮動,說明理論估計存在著合理性,我們能夠通過調控Bloom Filter的大小來在成功檢索率和空間利用率之間尋找平衡。

圖6 成功檢索率

(3)基于MPT和Bloom Filter的屬性訪問控制策略管理方法檢索時間的變化情況。該組實驗是在原有策略基礎上,進行多次對訪問控制請求進行檢索,觀察其訪問時間的最好情況、最差情況和一般情況用以評估基于MPT和Bloom Filter的屬性訪問控制策略管理方法在訪問量增多的情況下,策略檢索時間的變化。通過觀察圖7可知,策略檢索時間的最小值、最大值和平均值都隨訪問控制請求數量的增多,檢索時間也呈逐漸加長的趨勢,且其最差的情況、一般情況、最好的情況的策略檢索時間相差之間并不大且不足0.7 ms,一般情況和最好的情況策略檢索時間相差不足0.25 ms。這說明基于MPT和Bloom Filter的屬性訪問控制策略管理方法的策略檢索時間比較穩定。當檢索數量多達6000條時,其最差的情況下的策略檢索時間不足4 ms,其平均策略檢索時間不足3.5 ms,最好的情況下策略檢索時間不足3 ms,單個訪問控制策略檢索時間不高于0.7 μs,這說明本文提出的策略管理方法更能適應于多用戶高訪問量的場景。

圖7 檢索時間

(4)和其它研究者的檢索效率進行對比。檢索效率是指在相同數量策略的情況下,檢索相同數量的訪問控制請求的時間,其時間越短,檢索效率越高。在本組實驗中,選擇基于前綴標記的策略檢索方法[6]和基于屬性分組的訪問控制策略檢索方法[8]做對比實驗。圖8是在50個訪問控制請求,訪問控制策略數目分別是500,1000,1500,2000,2500的基礎上進行實驗。圖9是保持策略數目3000,訪問控制請求數目分別是50,60,70,80,90進行實驗。由圖8可知,本文提出的策略管理方法,相比其它兩種策略檢索方法,在策略檢索時間上得到了比較大的提升。隨著策略數目的增多,策略檢索時間在0.02 ms~0.08 ms之間波動,其變化幅度比其它兩種檢索方法的變化幅度要小,時間上也更穩定。由圖9可知,當訪問控制策略的數目固定,隨著AAR數量的增多,這3種策略管理方法的策略檢索時間都逐漸加長,但本文提出的策略管理方法策略檢索時間更短,更穩定。這是因為,本文提出的方法進行檢索策略時對AAR的內容取hash,然后判斷Bloom Filter的對應位置是否為1,所以其檢索時間只與hash函數的個數有關,而與Bloom Filter存儲的策略的個數無關,也與訪問控制請求中主體屬性的個數沒有關系,其策略檢索的時間一直比較穩定。本文提出的方法更能縮短策略的檢索時間。

圖8 不同策略規模下策略檢索時間對比

圖9 不同訪問控制請求下的策略檢索時間對比

4 結束語

在云計算環境下,為了保障資源不被非法訪問,管理員制定了大量的訪問控制策略來確保更加細粒度的訪問控制。這些策略由策略管理員進行管理,然而,完全信任策略管理員是不理智的,因為會存在著策略管理員有意或者無意修改訪問控制策略造成一些非法用戶獲得訪問客體資源的敏感權限。此外,現有的策略檢索方法應用在大規模的訪問控制請求下將造成策略檢索效率低下的問題。為此,本文提出了一種策略管理方法,用以對策略管理員是否修改策略起到一個監督作用來提高安全性和通過對ABAC策略集進行映射的方式來提高策略的檢索效率。理論分析和實驗結果表明,本文提出的方法能夠在策略被修改時以改變根hash的方式來使PDP驗證失敗,從而提高資源的安全性。此外,該方法能在合適的Bloom Fiter的大小和最優的hash個數時獲得比較高的成功檢索率。

猜你喜歡
控制策略策略方法
考慮虛擬慣性的VSC-MTDC改進下垂控制策略
能源工程(2020年6期)2021-01-26 00:55:22
例談未知角三角函數值的求解策略
我說你做講策略
工程造價控制策略
山東冶金(2019年3期)2019-07-10 00:54:04
現代企業會計的內部控制策略探討
消費導刊(2018年10期)2018-08-20 02:57:02
高中數學復習的具體策略
數學大世界(2018年1期)2018-04-12 05:39:14
容錯逆變器直接轉矩控制策略
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 成年人视频一区二区| 91小视频在线观看免费版高清| 亚洲首页在线观看| 欧美福利在线观看| 免费不卡视频| 91亚洲精选| 亚洲 成人国产| 国内丰满少妇猛烈精品播 | 男女性色大片免费网站| a毛片免费观看| 亚洲成aⅴ人在线观看| 精品免费在线视频| 国产女人综合久久精品视| 亚洲国产中文精品va在线播放| 99er这里只有精品| 国产不卡网| 色综合狠狠操| 四虎亚洲国产成人久久精品| 欧美www在线观看| 亚洲一区二区视频在线观看| 久久香蕉国产线看精品| 色偷偷一区二区三区| 精品国产一区91在线| 成人毛片免费观看| 丝袜亚洲综合| 国产亚洲一区二区三区在线| 日韩高清一区 | 超清无码一区二区三区| 日韩精品无码免费一区二区三区| 久久综合九色综合97网| 免费a级毛片18以上观看精品| 中文字幕亚洲专区第19页| 久久黄色一级视频| 人妖无码第一页| 一级黄色网站在线免费看| 香蕉国产精品视频| 国产高清在线观看| 亚洲二三区| 欧美在线精品一区二区三区| 99福利视频导航| 色欲色欲久久综合网| 99精品福利视频| 久久久久夜色精品波多野结衣| 亚洲欧洲日韩国产综合在线二区| 亚洲乱码精品久久久久..| 国产精品欧美日本韩免费一区二区三区不卡| 亚洲第一区欧美国产综合| 久久久久亚洲Av片无码观看| 欧美成人日韩| 麻豆AV网站免费进入| 毛片a级毛片免费观看免下载| 国产噜噜噜| 在线观看亚洲人成网站| 天天综合色天天综合网| 99久久国产精品无码| av在线无码浏览| 久久特级毛片| 亚洲天堂网站在线| 亚洲成人在线免费观看| 亚洲天堂久久新| 亚洲欧州色色免费AV| AV无码一区二区三区四区| 日韩成人午夜| 99re视频在线| 亚洲欧美综合另类图片小说区| 亚洲高清无码精品| 午夜福利无码一区二区| 成人午夜视频免费看欧美| 欧美不卡在线视频| 色婷婷在线播放| 国产va在线观看免费| 无码视频国产精品一区二区| 国产人成乱码视频免费观看| 国产黄在线免费观看| 欧美午夜性视频| 国产精品三级专区| 伊人无码视屏| 狠狠色狠狠综合久久| 国产99视频在线| 欧美日韩中文国产va另类| 久久国产乱子伦视频无卡顿| 国产精品美女在线|