Public-Key
具有特權訪問的公鑰加密:可能嗎?
假設是 Alice、Bob 和 David 三個人。它們都有公鑰密碼系統:私鑰和公鑰。
在某些已知的密碼系統(RSA、橢圓曲線等)中,有什麼方法可以滿足以下三個條件:
- Alice、Bob、David 不知道任何人的私鑰
- 大衛可以看到所有來自愛麗絲的加密資訊
- 大衛是唯一一個有能力做上一項的人
我正在考慮某種組織,其中大衛是老闆並希望控制他們組織的資訊。所以大衛需要查看所有來自愛麗絲的加密消息,並確保他就是那個人。
在可能的情況下,愛麗絲和大衛的公鑰和私鑰之間是否存在任何條件?
這可以通過基於屬性的加密來實現。根據連結中的描述,定義屬性域 $ {A, B, D} $ ,讓 Alice 得到一個帶屬性的密鑰 $ A $ , Bob 一個帶屬性的鍵 $ B $ , 和 David 一個帶屬性的鍵 $ {A, D} $ . 要加密給 Alice、Bob 或 David,請對消息進行加密 $ A $ , $ B $ , 或者 $ D $ . 然後:
- 對於加密給 Bob 或 David 的消息,他們是唯一擁有具有相應屬性的密鑰的人,因此也是唯一可以解密的人,但是
- 大衛和愛麗絲擁有帶屬性的鑰匙 $ A $ ,所以他們都可以解密任何給Alice 的消息。
這導致了一個輕微的問題——Alice 可以向 Bob 發送 David 無法解密的消息。可以通過稍微修改加密來解決這個問題,即 Alice(或 David 組織中的任何其他人)應該根據策略加密消息 $ C\lor D $ , 在哪裡 $ C $ 是預期的收件人,並且 $ D $ 是對應於大衛的屬性。在這種特殊情況下,Alice 使用屬性加密給 Bob $ B\lor D $ .
請注意,這不需要Bob 與 David 合作 — 系統設置為任何與 Alice“帶內”通信的人(使用屬性加密 $ A $ ) 發送 David 也可以解密的消息。但是有兩個警告:
- Alice 必須合作(如果她根據策略進行加密 $ B $ ,大衛無法解密)。這對大衛來說可能更容易執行,如果愛麗絲行為不端,威脅要解僱她。
- ABE 作為 IBE 的一種更強大的形式,受到 Rogaway 對 IBE 的批評(在密碼學工作的道德特徵中)。即,受信任的第三方必須生成所有密鑰。特別是,這意味著 Bob 不能獨立於 David 生成他的密鑰,因此必須相信 David 他的密鑰是誠實生成的(或者 Bob 和 David 都必須信任某個獨立的第三方)。可以用 MPC 計算代替這個獨立的第三方是合理的,但我不知道細節。