關於基於屬性的加密中的數字比較
第一個 CP-ABE 方案 $$ BSW07 $$給出了一個範例,如何將數字比較(例如,a<11)呈現給布爾訪問樹。但似乎這個功能沒有在Charm中實現。
在本文中,訪問策略 a<11 表示為:
("0***" OR ("*0**" AND ("**0*" OR "***0")))
並且一個屬性 a=9 被拆分為 4 個屬性進行加密:
"1***", "*0**", "**0*" and "***1".
我的問題是:
- 訪問策略是否只使用“0”位字元串?
"*0**"
如果是,那麼使用 2 個屬性和"**0*"
(即,"1***"
不需要"***1"
)加密消息是否足夠安全?- 您知道描述如何選擇門的參考嗎?
- 訪問策略是否只使用“0”位字元串?
*0**
如果是,那麼使用 2 個屬性和**0*
(即,1***
不需要***1
)加密消息是否足夠安全?首先,一個數字屬性,例如
*0**
無非就是 ASCII 字元串“0*”,然後對其進行雜湊處理。以下是使用者的密鑰:
$$ \text{SK}=\left(D=g^{\left(\alpha +r\right)/\beta}, \forall j\in S:D_j=g^r\cdot H\left(j\right)^{r_j}, D^{’}_j=g^{r_j}\right) $$ 全部 $ r $ 和 $ r_j $ 是隨機且獨立地選擇的,這意味著屬性 ( $ D_j $ 和 $ D^{’}_j $ ) 的密鑰不以任何方式連結在一起。
**使用者可以或屬性機構可以安全地刪除多個屬性,而不會使整個密鑰失效。**其餘屬性仍可用於解密密文,前提是其餘屬性滿足訪問策略。這對於(幾乎?)所有使用單調訪問結構的方案都是如此,就像 BSW-ABE 的情況一樣。
然而,對於使用非單調訪問結構的方案來說,情況並非如此。這種訪問結構可用於對屬性的否定建模。在這樣的方案中,所有屬性都連結在一起。如果它們不是,那麼它就有可能用於刪除否定屬性並能夠解密更多密文。
1***
並且***1
不需要滿足策略:a<11。但是,如果屬性權限刪除了所有包含 a 的屬性1
,那麼它將限制訪問策略的表達性。1
此外,可以減少包含帶有 a 的屬性的訪問策略,以提高策略評估性能。
- 您知道描述如何選擇門的參考嗎?
這是題外話。我不知道對此的自然語言描述,但您當然可以嘗試通過查看程式碼來推斷算法。cpabe具有 C 語言的原始實現,而JCPABE具有 Java 的擴展實現。