我們仍使用SJacky Li與Policy1進行說明。SJacky Li集合中沒有“參與X課題”這一屬性,故其無法滿足策略的前半部分;而策略的後半部分,要求“資訊保安學院”、“A大學”、“教授”這三個屬性同時出現,而SJacky Li同時包含了這三個屬性,所以屬性集合匹配策略後半部分,由於策略前後兩部分是or的關係,故屬性集合SJacky Li能夠滿足策略Policy1,我們稱之為屬性集合與策略匹配成功。
倘若此時另一個使用者Johnson,他的屬性集合是SJohnson= {計算機學院,A大學,教授},顯然SJohnson無法滿足Policy1,此時屬性集合與策略匹配失敗。
什麼是ABE?
清楚了ABE中的屬性及策略的概念,我們開始解釋什麼是ABE。拋開嚴謹的定義,用一句話說明ABE加密演算法其實就是看屬性集合與策略是否相匹配的一個公鑰加密“遊戲”。
簡單解釋下這句話,首先ABE是一個公鑰加密演算法,既然是公鑰加密演算法,就有公鑰和私鑰的概念,每一名參與ABE系統的使用者都有一個屬於自己的私鑰,而加密方在加密資料時使用的則是公鑰,在ABE中我們弱化公鑰這一概念,稱之為公共引數(public parameter)。
其次,在傳統公鑰加密中,使用者會使用其私鑰嘗試解密密文,ABE也不例外。
與傳統方法不同的是,設計者將屬性集合與策略嵌入到了使用者私鑰與密文中,這樣一來,私鑰與密文輸入解密演算法嘗試解密的過程,實際也就是屬性集合與策略相匹配的過程,倘若能夠匹配成功,則演算法順利完成解密操作,使用者可成功恢復出明文資料。倘若匹配失敗,則使用者無法恢復明文,解密失敗。
KP-ABE與CP-ABE
在這裡還有兩個概念需要說明,即KP-ABE與CP-ABE。
KP-ABE,Key-Policy ABE,翻譯過來即是金鑰策略ABE,什麼是金鑰策略?上文中提到了ABE的解密過程中需要進行策略與屬性集合匹配的操作,但實際我們並沒有說清楚策略和屬性集合分別在哪。Key-Policy指的是策略嵌入使用者金鑰中,屬性集合嵌入於密文中,在解密的過程中,使用者將嵌入策略的金鑰與嵌入屬性集合的密文輸入解密演算法,透過這種方式,實現策略與屬性集合的匹配。
而CP-ABE(Ciphertext-Policy ABE,密文策略ABE)呢?自然是策略嵌入在密文中啊!它與KP-ABE在結構上是一種對偶關係,這也就是為什麼往往學者們在提出一個新的CP-ABE方案時,會在同一篇論文中同時再提出一個KP-ABE方案。同樣條件與假設下,兩類演算法的密文金鑰結構設計比較好類比與遷移。
需要注意的一點是,這種相似性僅存在於結構上,CP-ABE與KP-ABE在應用場景方面有著極大的不同。
CP-ABE由於策略嵌入密文中,這就意味著,資料擁有者可以透過設定策略去決定擁有哪些屬性的人能夠訪問這份密文,也就相當於對這份資料做了一個粒度可以細化到屬性級別的加密訪問控制。
CP-ABE的應用場景一般是公有云上的資料加密儲存與細粒度共享,而KP-ABE的應用場景則更加偏向於付費影片網站、日誌加密管理等等(由於篇幅的關係,具體場景會在後續文章中繼續討論)。
ABE的優勢是什麼?
我們以CP-ABE為例,舉一個簡單的例子說明ABE相較傳統公鑰加密演算法的優勢。
一個資料擁有者需要將一份明文檔案,加密傳送給N個不同的使用者,倘若使用傳統公鑰加密演算法,資料擁有者需要首先儲存這N個使用者的公鑰(不考慮公鑰證書的情況下),利用這N個不同公鑰,使用該份明文檔案,加密N次,形成N份不同的密文,分別傳送給這個N個使用者。
若使用ABE來完成這項任務則會輕鬆很多。此時,資料擁有者只需要制定一條僅有這N個使用者才能滿足的訪問策略,接著輸入公共引數PP、該條策略以及明文檔案至ABE加密演算法,進行加密一次,形成唯一一份密文。得到密文後,資料擁有者將該份密文分別傳送給這N個不同使用者。
從加密計算開銷與儲存開銷的角度來看,ABE在該場景下(資料加密共享場景)相較於傳統公鑰加密演算法,有著肉眼可見的效能優勢,此處便不再贅述。
結語
在本文最後,給出維基百科對於ABE的定義[3],是不是發現你能明白這段文字在說什麼了?
ABE從06年正式被提出到現在,已經經歷了十二個年頭。在這十二年裡,ABE領域都是公鑰密碼學研究中的一個重要方向。
隨著ETSI新型加密標準的提出,相信ABE會越來越多地進入產業界的視野,逐漸成為一項可以落地的技術。在後續的文章中,我們還將對ABE的更多問題以及ETSI釋出的標準進行更深入地討論,敬請期待!
引用
[1] 百度百科
https://baike.baidu.com/item/%E5%B1%9E%E6%80%A7/1405051?fr=aladdin
[2]百度相簿
http://u6.gg/f4QMa
[3] 維基百科
https://en.wikipedia.org/wiki/Attribute-based_encryption
轉自:公眾號(TRIAS)
更多區塊鏈資訊:www.qukuaiwang.com.cn/news