趙慧
關鍵詞:區(qū)塊鏈;策略分級;等級評估;訪問控制模型
我國訪問控制方法及技術(shù)在信息網(wǎng)絡技術(shù)的支持下衍生出很多先進的訪問控制模型,對信息安全管理等起到了積極作用。傳統(tǒng)的訪問控制方法主要包括自主訪問控制(DAC)和強訪問控制技術(shù)(MAC),這兩種方法都需要在特定非開放環(huán)境中才能進行訪問,所制定的訪問控制策略粒度也比較粗放,無法滿足數(shù)據(jù)共享要求。
DAC和MAC都存在很多不足,因此,很多訪問控制技術(shù)人員都在不斷優(yōu)化、創(chuàng)新訪問控制技術(shù),而基于區(qū)塊鏈、策略分級構(gòu)建的訪問控制模型BP-ABAC則能夠彌補以上兩種傳統(tǒng)訪問控制技術(shù)的不足,并根據(jù)自身屬性、環(huán)境屬性對用戶進行動態(tài)授權(quán),從而實現(xiàn)數(shù)據(jù)共享與訪問控制。本文先簡單概述了基于區(qū)塊鏈和策略分級構(gòu)建訪問控制模型時需要預備的知識,然后分析了如何構(gòu)建訪問控制模型,最后分析其實驗仿真及安全性。
1概述
1.1區(qū)塊鏈系統(tǒng)
區(qū)塊鏈技術(shù)具有很強的綜合性及結(jié)構(gòu)復雜性,對應的區(qū)塊鏈系統(tǒng)由多個子系統(tǒng)組成,包括數(shù)據(jù)層子系統(tǒng)、網(wǎng)絡層子系統(tǒng)、共識層子系統(tǒng)、激勵層子系統(tǒng)、合約層子系統(tǒng)和應用層子系統(tǒng)。區(qū)塊鏈技術(shù)不僅涉及P2P網(wǎng)絡技術(shù)及密碼學技術(shù)的應用,還涉及共識機制及智能合約等技術(shù)的應用,其中智能合約是策略分級的關鍵。
1.2策略分級
策略分級主要依靠“智能合約”來實現(xiàn)。智能合約實質(zhì)上就是先將合約內(nèi)容轉(zhuǎn)變?yōu)閿?shù)字,然后依照相關實現(xiàn)承諾、合約規(guī)定內(nèi)容執(zhí)行承諾的協(xié)議,最后進行策略分級。策略分級的前提和基礎是構(gòu)建區(qū)塊鏈系統(tǒng),利用區(qū)塊鏈系統(tǒng)的分布式網(wǎng)絡節(jié)點自動分級,并在滿足合同協(xié)議條款及交易要求的前提下,由第三方信任平臺監(jiān)督用戶。在策略分級中還需要注意安全自動化操作及相關條款的執(zhí)行,必須按照智能合約將相關數(shù)據(jù)信息寫入?yún)^(qū)塊鏈中,最后結(jié)合區(qū)塊鏈的共識算法構(gòu)建狀態(tài)機系統(tǒng),為訪問控制模型的構(gòu)建奠定基礎。
1.3訪問控制模型(ABAC模型)
訪問控制模型簡稱“ABAC模型”,不僅能夠有效控制用戶對資源的訪問請求,還能夠?qū)徍擞脩粜畔?,確保信息安全?;趨^(qū)塊鏈及策略分級的訪問控制模型具有很強的表達能力,而且表達聚合度高、靈活性高、可擴展性高。訪問控制模型有主體、客體、操作、環(huán)境四大屬性,其中主體和客體都可通過屬性集表達,而屬性集則通過對應的屬性值表達。
2基于區(qū)塊鏈和策略分級的訪問控制模型設計
基于區(qū)塊鏈和策略分級的訪問控制模型簡稱“BP-ABAC模型”.具體設計及實現(xiàn)如下。
2.1BP.ABAC模型總體框架
BP-ABAC模型是在ABAC模型基礎上結(jié)合區(qū)塊鏈及智能合約技術(shù)設計而成,不僅能夠?qū)τ脩暨M行等級劃分及策略分級,還能夠?qū)Ω鞣N數(shù)據(jù)資源進行安全訪問及有效控制。BP-ABAC模型在前期可根據(jù)屬性收集和屬性間關系描述、整合和管理區(qū)塊鏈事,并發(fā)布、更新、執(zhí)行、撤銷訪問控制策略。
BP-ABAC模型包括策略信息點、策略管理點、策略決策點、策略執(zhí)行點四大功能模塊,其中策略信息點功能模塊可獲取資源請求者實體屬性機信息、資源實體屬性及信息、資源發(fā)布者實體屬性及信息,然后設置資源訪問控制權(quán)限:策略管理點功能模塊主要作用在于管理和維護資源擁有者發(fā)布的策略及整個策略集:策略決策點功能模塊的主要作用在于根據(jù)用戶等級確定相關訪問權(quán)限,并根據(jù)用戶實體屬性集權(quán)限確定訪問控制策略及系統(tǒng)授權(quán)決定:策略執(zhí)行點功能模塊的作用在于接收資源請求者訪問請求、資源請求者決策等。
2.2BP-ABAC模型設計
其包括基于區(qū)塊鏈的BP-ABAC智能合約設計及策略分級設計,具體如下。
2.2.1基于區(qū)塊鏈的BP-ABAC智能合約設計
BP-ABAC智能合約系統(tǒng)不僅有合約參與者模塊及合約事務集合模塊,還有合約資源集合模塊、自動狀態(tài)機模塊,其運行原理在于通過事件形式將數(shù)據(jù)信息描述出來,并發(fā)送到事件集合及處理系統(tǒng)中,最后將處理后的事件數(shù)據(jù)信息存到區(qū)塊鏈系統(tǒng)指定的數(shù)據(jù)庫中。不同模塊的設計如下。
(1)合約參與者模塊設計:可根據(jù)AddUser()函數(shù)及DeleteUser()函數(shù)進行設計,其中AddUser()函數(shù)可用來添加用戶身份屬性、用戶信息,并保存到區(qū)塊鏈上,以便于PIP合約對用戶屬性的調(diào)用;DeleteUser()函數(shù)可用來撤銷用戶訪問控制權(quán)限、刪除用戶信息及用戶屬性。
(2)合約資源集合模塊設計:可根據(jù)AddResource()函數(shù)及DeleteResource()函數(shù)進行設計,其中AddResource()函數(shù)可發(fā)送、共享數(shù)據(jù),并設置訪問控制權(quán)限、保存訪問控制策略。DeleteResource()函數(shù)則能夠控制、收回訪問控制權(quán)限,并刪除相關數(shù)據(jù)信息、撤銷共享權(quán)限策略。
(3)自動狀態(tài)機模塊設計:可根據(jù)JudgeLevel()函數(shù)、PolicySet()函數(shù)進行設計,其中JudgeLevel()函數(shù)能判定資源請求者實體屬性及用戶等級,并查詢、匹配相應等級的策略;PolicySet()函數(shù)則能夠控制訪問控制屬性信息、調(diào)整訪問控制策略等。
(4)合約事務集集合模塊設計:可根據(jù)ComparePolicy()函數(shù)、GetPermission()函數(shù)、ExecuteRequest()函數(shù)進行設計,其中ComparePolicy()函數(shù)的作用是對比資源請求者、資源發(fā)布者訪問控制策略的實體屬性,然后判斷性是否能獲得訪問控制權(quán)限;GetPermission()函數(shù)的作用是授予資源請求者的資源訪問權(quán)限、交易權(quán)限等;ExecuteRequest()函數(shù)的作用在于執(zhí)行訪問操作。
2.2.2策略分級設計
每條策略對應的實體屬性及可信值不同,訪問請求、系統(tǒng)交互等都會影響可信值,出現(xiàn)惡意訪問時策略可信值會降低,當可信值降低到一定數(shù)值時就會映射到不同可信等級,因此策略可信值成為了策略分級的主要依據(jù)。策略主體屬性、客體屬性集操作行為對應的環(huán)境安全關聯(lián)度分別用R(s,e),R(o,e),R(a,e)表示,可根據(jù)關聯(lián)度計算出策略初始可信值,并將策略可信值設為“CurrentT”。
策略可信值并不是一成不變的,會隨著訪問授權(quán)次數(shù)的增加而不斷改變,發(fā)生變化前的可信值統(tǒng)稱為“策略歷史可信值”,發(fā)生變化后的可信值設為History:r,可通過以下公式計算:
最終可信值越高則可信等級越高,可信強度也就越強。
3仿真實驗
為測試BP-ABAC模型的可行性、安全性及效率,本文選用XACML提供的標準策略測試包對BP-ABAC模型進行測試,并將BP-ABAC模型與傳統(tǒng)訪問控制的判決結(jié)果成功率作對比。對比結(jié)果顯示,BP-ABAC模型和傳統(tǒng)訪問控制的判決結(jié)果成功率及準確率都在可控制范圍內(nèi)。
本文設計的BP-ABAC模型在準確率上略低于傳統(tǒng)訪問控制,還需要不斷優(yōu)化、調(diào)整。導致BP-ABAC模型準確率不如傳統(tǒng)訪問控制的主要原因有以下幾點。首先,BP-ABAC模型的共識機制很容易受到外部因素影響,如外部信號干擾、共識系統(tǒng)技術(shù)缺陷等,都會威脅到共識機制的安全,雖然區(qū)塊鏈本身的抗攻擊性能夠規(guī)避部分風險,但在實際運行中依然會遇到各種信息安全問題及惡意訪問問題,如區(qū)塊鏈在接收到攻擊性或者惡意的訪問時,就會在可信鏈與惡意節(jié)點處產(chǎn)生攻擊鏈,從而威脅共識機制安全。其次,區(qū)塊鏈系統(tǒng)中惡意節(jié)點的增加或者攻擊鏈長度過長,都會直接威脅到區(qū)塊鏈的安全,從而降低BP-ABAC模型的訪問控制策略判決準確性。
另外,惡意節(jié)點與可信節(jié)點的區(qū)塊差也直接影響B(tài)P-ABAC模型的策略判決成功率,以及BP-ABAC模型惡意節(jié)點與可信節(jié)點的區(qū)塊差、區(qū)塊成功率的關系。
區(qū)塊差與BP-ABAC模型的區(qū)塊篡改成功率呈正相關關系,即區(qū)塊差越大,則篡改成功率越大,反之則越小。而區(qū)塊篡改成功率與BP-ABAC模型的策略判決成功率呈正相關關系,所以區(qū)塊差與BP-ABAC模型的策略判決成功率也呈正相關關系,這意味著區(qū)塊差越大,則BP-ABAC模型的策略判決成功率越高。當區(qū)塊差g≥0.5時,BP-ABAC模型的策略判決成功率超過90%,對應的區(qū)塊篡改成功率為100%,此時的BP-ABAC模型安全性最高,很難被惡意區(qū)塊鏈攻擊;區(qū)塊差q<0.5時,BP-ABAC模型的策略判決成功率、區(qū)塊篡改成功率都呈逐漸下降的趨勢且容易受到惡意區(qū)塊鏈的攻擊,所以必須將區(qū)塊差控制在g≥0.5的范圍,以幫助區(qū)塊鏈在訪問控制過程中取得良好的安全性。
4結(jié)束語
BP-ABAC模型是以ABAC模型為基礎,然后基于區(qū)塊鏈及策略分級構(gòu)建而成的一種訪問控制模型。該模型不僅在區(qū)塊鏈的支持下去中心化,還具有不可篡改、擺脫傳統(tǒng)第三方信任機制限制、訪問控制可靠性高、安全性高等特點,實現(xiàn)了訪問控制授權(quán)過程自動化。智能合約、用戶等級評判和策略分級都能夠保證資源請求者的合法性,還能夠有效防止過度授權(quán)、越權(quán)訪問等不良現(xiàn)象的發(fā)生,從而提高訪問控制過程的安全,并實現(xiàn)數(shù)據(jù)共享。區(qū)塊鏈及策略分級還能夠增強訪問控制模型的加密屬性,對交易隱私數(shù)據(jù)、交易敏感數(shù)據(jù)、用戶隱私信息等進行加密及保護,有效解決數(shù)據(jù)及信息隱私泄露等安全問題。所以,基于區(qū)塊鏈及策略分級構(gòu)建訪問控制模型是非常必要和重要的,應引起重視及關注。本文基于對ABAC模型、區(qū)塊鏈、智能合約及策略分級等的了解,分析了基于區(qū)塊鏈及策略分級的訪問控制模型,并通過實驗仿真來檢驗模型。