屬性基加密(ABE)基礎知識


屬性基加密(ABE)的分類

屬性基加密(ABE)的思想來源於模糊身份基加密(FIBE),屬性基加密的思想是讓密文和密鑰與屬性集合和訪問結構產生關聯,當且僅當屬性集合滿足訪問結構的時候,方能解密成功。那么根據這其中兩兩的對應關系,又可以將屬性基加密分為兩類,即密鑰策略屬性基加密(KP-ABE)密文策略屬性基加密(CP-ABE)

  • KP-ABE: 用戶的密鑰中蘊含訪問結構(訪問策略),密文中對應着一系列屬性集合,當且僅當密文的屬性集合滿足用戶密鑰的訪問結構時,用戶才能解密成功。細想下來,用戶是主體,只有特定的密文才能與之匹配,從而解密。

  • CP-ABE: 用戶的密鑰對應着一系列屬性的集合,密文中蘊含着訪問結構(策略),當且僅當用戶的屬性集合滿足密文的訪問結構時,用戶才能解密成功。細想下來,密文是主體,只有特定的密鑰才能與之匹配,從而解密。
    image

二者對比可以發現,CP-ABE中數據擁有者(加密明文得到密文的人)可以根據自己的需求,定義合適的訪問結構,讓他所期待的一群用戶能夠解密,這正好適合構建雲環境或者霧環境中數據的安全共享方案,描述的是一對多、多對多的數據共享場景。

ABE的優點是降低公鑰管理難度;一次加密、多人共享;一對多、多對多;知道接收群組的規模與總體用戶的身份信息即可,無需知道接收方的具體身份信息。
當然,ABE的缺點其實也是顯而易見的,只要主密鑰泄露,系統也就被完全攻破了。
image

ABE之所以采用主密鑰+屬性密鑰的形式,是為了方便外包以及撤銷;而撤銷是為了是為了設置有效期,實現訪問控制。

雙線性映射

雙線性映射是基於Diffie-Hellman難題構建屬性基加密算法的數學基礎,此處的模糊身份基加密也用到了該數學基礎。

\(\mathbb{G}_1,\mathbb{G}_2\)為兩個階為\(p\)的乘法循環群,\(g\)\(\mathbb{G}_1\)的生成元,一個從\(\mathbb{G}_1\)\(\mathbb{G}_2\)的映射\(e:\mathbb{G}_1 \times \mathbb{G}_1\rightarrow \mathbb{G}_2\)是雙線性的,當其滿足以下三點:

  • 雙線性:\(\forall g, h \in \mathbb{G}_1\)\(a,b \in \mathbb{Z}_p\)\(e\left ( g^a, h^b \right ) = e\left ( g, h \right )^{ab}\)
  • 非退化性:\(e\left ( g, h \right ) \neq 1\)
  • 可計算性:\(\forall g, h \in \mathbb{G}_1\),存在有效的算法計算\(e\left ( g, h \right ) \in \mathbb{G}_2\)

相關概念:image

合數階群雙線性映射

image

素數階群雙線性映射

image

補充

  • \(G_1 \neq G_2\),稱該映射為 非對稱雙線性映射
  • \(G_1 = G_2\),稱該映射為 對稱雙線性映射

單調訪問結構

\(\left \{ P_1,P_2,…,P_n \right \}\)為一系列參與者的集合(屬性基加密里邊指的是屬性),一個集合\(\mathbb{A} \subseteq 2^ { \left \{ P_1,P_2,…,P_n \right \}}\)是單調的,當其滿足:\(\forall B,C\),如果\(B\in \mathbb{A}\)\(B\subseteq C\),則\(C\in \mathbb{A}\)。一個訪問結構(單調訪問結構)是\(\left \{ P_1,P_2,…,P_n \right \}\)的冪集的非空子集,即\(\mathbb{A} \subseteq 2^ { \left \{ P_1,P_2,…,P_n \right \} \setminus \left \{\varnothing \right \}}\),在\(\mathbb{A}\)中的集合為授權集合,不在\(\mathbb{A}\)的集合為非授權集合。

例如:假設有用戶\(\left\{1,2,3,4\right\}\),只有 \((1,2)\) 合作,或者 \((3,4)\) 合作可以恢復秘密,\((1,3,4)\) 當然也可以恢復秘密,但是 \((1,3,4)\) 不是 \(((1,2),(3,4))\) 的超集。

可以理解為在包含所需要的屬性的基礎上,包含的屬性更多,也依然符合這一訪問結構。(即為授權集合)

與門訪問結構(And-Gate)

訪問控制樹(Access Tree)

線性秘密共享(LSSS)

\(\mathbb{P}=\left \{ P_1,P_2,…,P_n \right \}\) 為一系列參與者的集合,\(\mathbb{P}\) 上的一個秘密共享方案 \(\prod\) 是線性的,當且僅當滿足如下兩個條件:

  • 每個參與者關於秘密值 \(s\) 的份額構成 \(\mathbb{Z}_{p}\) 上的一給向量;
  • 存在一個秘密共享方案 \(\prod\) 的分享生成矩陣 \(M \in \mathbb{Z}_{p} ^ {l \times \theta}\),函數 \(\rho \left ( i \right )\) 將矩陣的第 \(i\) 行映射到一個 \(U\) 上的屬性,即 \(\rho \left ( i \right ) \in U, \forall i \in \left [ l \right ]\)。給定一個列向量 \(\overrightarrow{v}=\left ( s,r_2,…,r_{\theta} \right )\),其中 \(s \in \mathbb{Z}_{p}\)是需要共享的秘密值,\(r_2,…,r_{\theta}\)\(\mathbb{Z}_{p}\)上隨機選取,\(M\overrightarrow{v}\)向量是根據秘密共享方案\(\prod\)\(l\)份份額,第\(i\)份份額\(\delta _i = \left ( Mv \right )_i\)是屬於屬性\(\rho \left ( i \right )\),即為\(M\)\(\overrightarrow{v}\)的內積。

線性秘密共享方案具有線性重構的特性。假設一個線性秘密共享方案\(\prod\)代表一個訪問結構,令\(A \in \mathbb{A}\)表示一個授權的屬性集合,索引集合\(I \subset \left \{ 1,…,l \right \}\)定義為\(I=\left \{ i:\rho \left ( i \right ) \in A \right \}\)。根據線性重構的性質,則存在一系列常數的集合\(\left \{ \omega_i \in \mathbb{Z}_p \right \}_{i \in I}\),使得\(s=\sum _{i \in I} \omega _i\delta _i\)。而且這些常數能在多項式時間內找到。對於任何非授權的集合,找不到滿足條件的一組常數。

本質還是矩陣運算。

離散對數難題

\(\alpha \in \mathbb{Z}_{p}\)\(G\)為一個乘法循環群,群的階數為\(p\),群的一個生成元為\(g\),離散對數難題說的是:給定\(g,g^a \in G\),對於任何多項式時間的攻擊者,其計算出指數\(a\)的概率是可忽略的,即由\(g,g^a \in G\)計算出\(a\)是困難的。

拉格朗日插值法

image
任意給定\(k\)階多項式函數,已知給定\(k+1\)個取值點(互不重復):\(\left ( x_0,y_0 \right ),\left ( x_1,y_1 \right ),…,\left ( x_k,y_k \right )\),其中\(i \neq j\)\(x_i \neq x_j\)。可以通過以下插值方式恢復多項式:
其中\(l_j\left ( x \right )\)為拉格朗日系數:

\[l_j\left ( x \right )=\prod _{i=0,i\neq j}^k \frac{x-x_i}{x_j-x_i}= \frac{x-x_0}{x_j-x_0}...\frac{x-x_{j-1}}{x_j-x_{j-1}}\cdot \frac{x-x_{j+1}}{x_j-x_{j+1}}...\frac{x-x_k}{x_j-x_k} \]

任意多於\(k+1\)個取值點都能復原多項式。

輔助理解:視頻

安全模型(安全游戲/挑戰)

  • 按照攻擊者能力划分:選擇明文攻擊、選擇密文攻擊、適應性/非適應性選擇密文攻擊

  • 按照安全目標划分:單向安全性、不可區分安全性、非延展安全性
    模糊身份基加密中是選擇身份模型(selective-ID),而屬性基加密中是選擇集合模型(selective-set)。而且上述模型有兩個地方需要注意:

  • 在CP-ABE模型沒有Init階段(在模糊身份基加密的模型中有init階段),稱之為選擇明文攻擊下不可區分安全(IND-CPA)。如果在Init階段攻擊者聲明想要挑戰的訪問結構,則稱之為選擇安全模型。很顯然,選擇安全模型描述的安全性弱一些。

  • 若是在Phase 1階段還適應性地查詢密文,則稱之為適應性選擇密文攻擊安全模型1(CCA1),若是繼續在Phase 2階段還適應性地查詢密文,則稱之為適應性選擇密文攻擊安全模型2(CCA2)。很顯然,就安全性而言,IND-CPA、CCA1、CCA2依次增強。

安全性證明

密碼學中構建方案,通常將方案的安全性規約到某個數學困難問題,用反證法的思想,當難題是困難的,那么攻破方案就是困難的。FIBE方案是在選擇身份模型下將方案規約到MBDH問題。(除此之外還有DL、BDH、DBDH等安全假設)。

Waters論文中詳細介紹了三種具體方案的構造,但是前兩種被學者們“開發”的多,因此在這里着重介紹前兩種。第一種基於Decisional q-PBDHE困難假設,第二種基於BDHE假設。無論是哪一種構造,方案的安全模型是和CP-ABE里邊的安全模型是一樣的。這些實現都將線性秘密共享(LSSS) 作為訪問結構,進而依賴特定的難題,完成安全性的規約證明。

詳細請看:關於ABE中的安全性證明

可證明安全理論

  • 計算安全性
  • 可證明安全性
  • 無條件安全性


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM