跳至內容

代理重加密

維基百科,自由的百科全書
愛麗絲(委託者)通過第三方代理向鮑勃(受委託者)傳遞消息。

代理重加密(英語:Proxy re-encryption)是由馬特·布拉澤英語Matt Blaze等人提出的一種密碼體制[1]。其目標是安全地將密文從一個密鑰重新加密到另一個密鑰,而無需依賴可信任的第三方。

具體來說,其允許半可信第三方(代理伺服器),將委託者公鑰加密的密文轉換為受委託者公鑰加密的另一密文,使其可以被受委託者解密。同時不會向代理伺服器泄露加密消息或委託者/受委託者的私鑰

歷史

1998年:馬特·布拉澤英語Matt Blaze等人提出了首個雙向、多跳代理重加密方案[1]。該方案基於ElGamal算法,並在離散對數困難假設下證明其選擇明文攻擊(CPA)安全性。然而,該方案無法抵抗合謀攻擊英語Collision attack,即代理和重加密後的密文接收者可以聯合獲取原始密文擁有者的私鑰

2003年:提出了一種基於密鑰共享機制的單向代理重加密方案[2],將用戶的私鑰分成兩部分,一部分交給代理,另一部分交給重加密後的密文接收者。儘管解決了代理獨立分配解密授權的問題,但該方案未能實現密鑰優化和抗合謀攻擊英語Collision attack

2005年:首次形式化了代理重加密及其安全模型,並使用雙線性對構造了一個單向代理重加密方案,實現了主密鑰安全並能夠抵抗合謀攻擊英語Collision attack[3]。然而,該方案只能實現CPA安全,無法滿足實際應用需求。

2008年:提出了首個在標準模型下證明RCCA安全的一向代理重加密方案[4]。同年,一個獨立於雙線性對且CCA安全的雙向代理重加密方案被提出[5],解決了冉·卡內蒂英語Ran Canetti提出的公開問題 [note 1]

2010年:提出了無證書環境下的代理重加密概念,並構造了相應方案[6]

2013年:首次在標準模型下基於格問題英語Lattice problem(LWE)構造了K-PRE方案[7],能夠應對量子計算威脅。

2018年:首次提出了PRE+概念[8],並構造了具體方案。該方案通過主體生成重加密密鑰的操作,實現了基於消息級別的細粒度委託和不可轉移屬性。

組成

代理重加密方案一般劃分為五個算法部分,分別為密鑰生成算法、重加密密鑰生成算法、重加密算法、加密算法、解密算法[9]

涉及三種對象,即委託者,第三方代理,受委託者[2]

分類

根據代理重加密密鑰的性質,代理重加密分為雙向和單向兩種[2]。在雙向代理重加密中,代理伺服器利用重加密代理鑰[note 2]可以將委託者的密文轉換成針對受委託者的密文,也可以將受委託者的密文轉換成針對委託者的密文, 但這需要委託者和受委託者的私鑰;在單向代理重加密中,代理伺服器利用重加密密鑰只能將委託者的密文轉換成針對受委託者的密文,只需委託者的私鑰,但無法進行反向轉換[9]

根據密文是否可以被多次轉換,代理重加密還分為多跳和單跳兩種[10]。多跳代理重加密允許密文被多次轉換,而單跳代理重加密只允許密文被轉換一次。

使用場景

代理重加密可以用於多種場景,如數據內容共享、加密電子郵件轉發、分佈式文件系統雲計算[11]

雲端數據內容共享

假設數據所有者(如愛麗絲)打算將存儲在雲中的敏感數據共享給另一個授權用戶(如鮑勃)。理想情況下,除了鮑勃之外,任何人都無法訪問請求的數據。

愛麗絲可以在上傳共享數據到半信任的雲伺服器之前,用她自己的公鑰加密敏感數據。在收到鮑勃的數據共享請求後,愛麗絲使用自己的私鑰和鮑勃的公鑰生成一個代理重加密密鑰,並將該密鑰發送給半信任的雲伺服器。有了這個代理重加密密鑰,雲伺服器可以將用愛麗絲公鑰加密的密文轉換成用鮑勃公鑰加密的密文。轉換後的密文只能由鮑勃解密,而雲伺服器無法得知明文或愛麗絲和鮑勃的私鑰。最終,鮑勃可以使用自己的私鑰下載並解密請求的數據。[9]

加密電子郵件系統

在一般的郵件加密中,發送給用戶的電子郵件都會用用戶的公鑰加密,要閱讀郵件必須先用用戶的私鑰解密。假設用戶愛麗絲要出差一段時間,她希望秘書鮑勃在此期間幫助處理解密郵件。直接將愛麗絲的私鑰交給鮑勃顯然不是一個好的辦法。

通過使用代理重加密技術,愛麗絲可以將代理重加密密鑰交給郵件伺服器。這樣,郵件伺服器在無法獲知愛麗絲郵件內容的情況下,可以將這些郵件轉換為針對鮑勃加密的郵件。鮑勃收到這些郵件後,只需使用他自己的私鑰即可解密,從而幫助愛麗絲處理郵件[12]

運算實例

愛麗絲想將消息通過代理重加密方式傳遞給鮑勃,如下是一個基於ElGamal加密算法的代理重加密方案:

流程圖

初始設置

根據公鑰()和私鑰()生成規則:

假設愛麗絲和鮑勃已經生成了他們自己的密鑰對, 是該橢圓曲線的生成元; 是一個大質數,同時也是 的階。

  • 愛麗絲創建其私鑰與公鑰:
  • 鮑勃創建其其私鑰與公鑰:

創建重加密密鑰

愛麗絲使用鮑勃的公鑰創建重加密密鑰

其中, 是一個哈希函數 是鮑勃的公鑰, 是愛麗絲的私鑰。

因此,我們有:

愛麗絲加密消息

愛麗絲將消息 進行加密的得到密文,密文是: 其中 是一個隨機數。

代理進行重加密

代理使用重加密密鑰 進行重加密:

鮑勃解密過程

  • 鮑勃使用他的私鑰 解密:

計算

  • 提取消息:

由此,鮑勃成功解密了原始消息

註釋

  1. ^ Ran Canetti 在ACM CCS 2007 上提出了一個重要的公開性問題:如何構建一個無需雙線性配對的 CCA 安全代理重加密方案?
  2. ^ 即代理重加密密鑰,意為第三方代理對委託者密文進行再次加密的密鑰。

參考

  1. ^ 1.0 1.1 Matt Blaze; Gerrit Bleumer & Martin Strauss. Divertible protocols and atomic proxy cryptography. Advances in Cryptology – EUROCRYPT '98. 1998 [2024-06-10]. ISBN 978-3-540-64518-4. doi:10.1007/BFb0054122. (原始內容存檔於2024-03-02). 
  2. ^ 2.0 2.1 2.2 Anca Ivan; Yevgeniy Dodis. Proxy Cryptography Revisited. 10th Symposium on Network and Distributed System Security, NDSS 2003. 2003 [2024-06-10]. ISBN 1891562169. (原始內容存檔於2024-06-10). 
  3. ^ Improved proxy re-encryption schemes with applications to secure distributed storage. ACM Transactions on Information and System Security. 2006-02, 9 (1): 1–30. doi:10.1145/1127345.1127346. 
  4. ^ Unidirectional Chosen-Ciphertext Secure Proxy Re-Encryption. IEEE Transactions on Information Theory. 2011-03, 57 (3): 1786–1802 [2024-06-17]. doi:10.1109/TIT.2011.2104470. (原始內容存檔於2024-06-15). 
  5. ^ Chosen-Ciphertext Secure Proxy Re-encryption without Pairings. Cryptology and Network Security. 2008, 5339: 1–17. doi:10.1007/978-3-540-89641-8_1. 
  6. ^ Chul Sur. Chosen-Ciphertext Secure Certificateless Proxy Re-Encryption. Communications and Multimedia Security. 2010, 6109: 214–232 [2024-06-17]. doi:10.1007/978-3-642-13241-4_20. (原始內容存檔於2024-06-17). 
  7. ^ Key-Private Proxy Re-encryption under LWE. Progress in Cryptology – INDOCRYPT 2013. 2013, 8250: 1–18. doi:10.1007/978-3-319-03515-4_1. 
  8. ^ Wang, Xu An; Xhafa, Fatos; Ma, Jianfeng; Barolli, Leonard; Ge, Yunlong. PRE+: dual of proxy re-encryption for secure cloud data sharing service. International Journal of Web and Grid Services. 2018, 14 (1): 44. doi:10.1504/IJWGS.2018.088394. 
  9. ^ 9.0 9.1 9.2 Zhiguang Qin; Hu Xiong; Shikun Wu; Jennifer Batamuliza. A Survey of Proxy Re-Encryption for Secure Data Sharing in Cloud Computing. IEEE Transactions on Services Computing. 2016 [2024-06-10]. doi:10.1109/TSC.2016.2551238. (原始內容存檔於2024-04-18). 
  10. ^ Zachary Scott. Re-encryption (PDF). Lecture 17: Re-encryption (技術報告) (600.641 Special Topics in Theoretical Cryptography). [2024-06-13]. 
  11. ^ David Nuñez; Isaac Agudo, Javier Lopez. Proxy Re-Encryption: Analysis of constructions and its application to secure access delegation. Journal of Network and Computer Applications. 2017 [2024-06-10]. doi:10.1016/j.jnca.2017.03.005. 
  12. ^ Bharat S. Rawal. A proxy re-encryption-based webmail and file sharing system for collaboration in cloud computing environment. 2018 International Conference on Computational Techniques, Electronics and Mechanical Systems (CTEMS). 2019 [2024-06-10]. ISBN 978-1-5386-7709-4. doi:10.1109/CTEMS.2018.8769164. (原始內容存檔於2024-05-08). 

綜合參考