使用 CP-ABE 的分層訪問控制
是否可以使用 CP-ABE 提供分層(分層)組織?
例如,如果我有 100 條記錄,我將使用某些屬性加密要解密的前 10 條記錄(最低級別)。例如,下一個級別可以解密多達 20 條記錄。
加密取決於秘密 $ s $ 對於前 10 條記錄,對於接下來的 10 條記錄使用不同的 secret s’。我怎樣才能給組織中的更高級別一個可以解密所有 20 條記錄的密鑰?
我試圖避免給高層的人提供低層的秘密。
我可以在這裡辨別兩種情況:
- 嚴格的等級制度
- 部分層次結構
使用 1,“分層訪問控制”作為與加密一起使用的術語意味著一些使用者比其他使用者擁有更多的解密能力。特別是在訪問控制建模中,層次結構通常是“嚴格的”。這意味著如果 A > B(A“更高”,並且比 B 具有“更多”解密能力),則 A 可以解密 B 可以解密的所有內容。如果有 B 可以解密而 A 不能解密的項目,則 A 和 B 在層次結構樹中將不在同一路徑上(即 A 和 B 在這種情況下總是可比較的)。
使用 2,層次結構不會很嚴格:會出現 A 和 B 不可比較的情況,但在大多數情況下,可以說明是 A > B 還是 B < A。
對於案例 1,CP-ABE 提供了一種稱為“委託”的功能。在 CP-ABE 術語中,這是相對簡單的:如果 A > B,則 B 的秘密(屬性)密鑰集將是 A 的子集。(但請記住,現實生活中的屬性到方案訪問結構可能並不簡單)。因此,創建嚴格的層次結構應該很容易。
此外,單調 CP-ABE 具有以下特性:對於任意方案支持的使用者集,始終可以建構層次結構(可能通過添加虛擬使用者)。
但是,如果您只想使用密碼學來實現嚴格的訪問控制層次結構,那麼基於身份的分層加密(HIBE,例如https://eprint.iacr.org/2005/015.pdf)在概念上會更簡單,而且可能更多高效的)。
情況 2 似乎不是密碼方案的問題,而是實際訪問控制策略的問題。如果策略不包含否定語句,大多數 CP-ABE 方案將能夠支持它(每個加密)。
另一個完全的問題是,通常只能通過內容加密來強制執行什麼樣的訪問控制功能(Blu-Ray IPR 是的,在某種程度上,但不是例如一般的工作流程)。
好吧,我建議的一種方法是使用限制性更強的樹策略加密敏感記錄,獲取密碼 C 和 C’,將密碼與不太敏感的記錄連接起來,使用限制性較小的樹策略對連接進行加密等等…. 如果您希望每次都使用不同的秘密,則可以使用新的 MK 完成每一級加密。但是您當然可以重複使用相同的 s,這可能會導致發生衝突。
從這個意義上說,擁有所有需要屬性的使用者將能夠解密文本直到最深的密碼級別。
但請記住,CP-ABE 在計算上比 KP-ABE 更昂貴,這意味著速度將是一個問題。
也許您可能想看看 Fuzzy IBE 作為實現該技術的替代方案,因為與 CP-ABE 相比,它在計算上更加友好(這裡有一個簡單的解釋https://eprint.iacr.org/2004 /086.pdf)。在此方法中,您可以使用相同的 s或不使用相同的 s,但此版本的不同之處在於密鑰的門檻值,而不是滿足 CP-ABE 策略樹的節點數cipher,將是由加密 a 的人明確設置的值,在這種情況下,記錄。
重複上述加密記錄的相同過程,同時將每個級別的門檻值設置為小於前一個級別。
希望這可以幫助。