我們在
區塊鏈技術的基礎上定義了一個分布式訪問控制系統。其基本思想是代表區塊鏈中主題的訪問權限,以便在訪問請求時輕松實施。通過利用區塊鏈優勢,我們可以向訪問控制系統添加新的期望屬性,例如可審計性。為證明可行性并驗證所提出的方法,我們開發了概念驗證實施并進行了一些相關實驗。
區塊鏈是一種分布式的,始終可用的,不可逆的,防篡改的公共數據庫,其中對數據及其演變的控制分布在可變集合中。
區塊鏈技術不需要系統用戶之間存在信任關系。因此,它采用分布式一致性算法,允許用戶在不需要與可信第三方進行交互的情況下,就不可變和可審計的僅追加操作達成一致。我們對存儲在區塊鏈中的數據的可審計性感興趣,因為區塊鏈可以用作數據在其保存時存在的公開驗證證據。
訪問控制系統旨在規范對關鍵或有價值資源的訪問。已經定義了幾種訪問控制模型,即定義表示主體訪問資源權限的策略的方式,這里我們將重點放在基于屬性的訪問控制(ABAC)策略上。
ABAC策略結合了一組規則,這些規則表達了與主題配對的屬性集合,資源或環境的條件。
我們建議利用區塊鏈技術作為我們構建ABAC系統的基礎框架。定義我們基于分布式區塊鏈的訪問控制系統的第一步是將訪問控制策略存儲在區塊鏈中。根據底層區塊鏈,可以采用不同的技術解決方案。如果區塊鏈允許任意數據存儲,那么我們可以直接在其進行保存策略。相反,如果底層區塊鏈具有嚴格的空間限制,比如
比特幣,我們應該采用更復雜的解決方案,比如將鏈接存儲在鏈中的策略中,而完整的策略存儲在別處(例如,分布式哈希表格(DHT))。只要存儲系統保持防篡改并保證數據可用性,并且與策略的鏈接也是唯一且防篡改的。另一種選擇是
以太坊blockchain提供的選項,它允許智能合約被表示和運行。在這種情況下,可以利用這些智能合約以可執行格式正確編碼策略本身。
我們方法的下一步是定義策略執行體系結構,即定義在訪問請求時執行針對當前訪問上下文的策略評估所需的組件。如果策略沒有以可執行格式存儲在區塊鏈中,則強制系統的體系結構與XACML參考文獻類似。
例如,在文獻中,我們描述了基于區塊鏈的訪問控制系統的初步原型,該系統利用比特幣區塊鏈和XACML策略。在這種情況下,由于比特幣不是用來存儲任意數據的,我們定義了一個自定義策略來壓縮XACML策略,我們利用OP_RETURN腳本操作代碼和MULTISIG事務將它們存儲在鏈中。可以從傳統屬性提供者(例如,輕量級目錄訪問協議(LDAP)服務)檢索在訪問請求時執行策略評估所需的屬性。但是,我們設想可以利用區塊鏈存儲和管理屬性。如果政策以可執行格式(即通過智能合約)存儲在區塊鏈中,則大多數策略實施架構都嵌入在區塊鏈本身中。這些智能合約代表了自我評估策略,可以在訪問請求時直接和透明地查詢。評估政策所需的屬性也作為智能合約在區塊鏈中進行編碼。我們在以太坊區塊鏈上開發了這種方法的概念驗證實施,證明了我們提案的可行性。
基于區塊鏈的訪問控制策略的評估可以由資源所有者或請求主體不信任的一方執行,而不是由惡意或錯誤的策略評估所保證的。 例如,評估政策并執行結果的一方可能會惡意地強制系統拒絕訪問,盡管政策會授予該政策。
區塊鏈技術也可以用來解決這個問題。實際上,通過區塊鏈公開可用的策略和屬性,可以讓任何用戶隨時了解適用于其訪問請求和相關訪問上下文的策略。 這允許分布式可審計性,發現欺騙性地更改可執行策略授予的權利的各方。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。