Signature

ECIES 是否意味著真實性?

  • December 4, 2020

認為:

  • Alice 和 Bob 都生成單獨的 EC 密鑰對
  • Alice 獲得 Bob 的公鑰,並與她的私鑰一起創建一個共享密鑰
  • Alice 使用共享密鑰和某種認證加密模式(例如 AES-GCM)加密消息
  • Bob 使用他的私鑰和 Alice 的公鑰生成相同的共享密鑰
  • Bob解密消息,注意auth-tag是否有效

我的問題是;如果 Bob 確信 Alice 的公鑰確實屬於 Alice,那麼他能確信是 Alice 加密了消息嗎?或者換一種說法,在這種情況下,auth-tag 是否有效地用作使用公鑰創建的簽名?直覺上我想說是的,但我只是想確保我沒有忽略任何事情。

這取決於您要詢問的協議。

ECIES 的設計無法向 Bob 保證該消息確實來自 Alice。

也就是說,在標準 ECIES 中,Alice 不使用她的私鑰——相反,Alice 所做的一切(使用 Bob 的公鑰加密)都可以由其他人同樣完成——因此,Bob 沒有加密保證消息確實來自愛麗絲。

請記住,ECIES 被設計成一個公鑰加密系統;這正是它所做的,公鑰加密並不一定意味著發件人身份驗證。

另一方面,您聲明“Alice 獲得 Bob 的公鑰,並與她的私鑰一起創建共享密鑰”;這可能意味著您不使用標準的 ECIES;而不是隨機數,她使用她的 ECIES 私鑰。

通過這種修改,事實證明該協議仍然是安全的,並且實際上確實提供了源身份驗證;從 Alice 到 Bob 的消息可以由 Alice 或 Bob 生成,但沒有 Alice 或 Bob 的私鑰,其他人都無法生成。此外,在 IES 中,是否使用 nonce 加入 KDF 是可選的——通過此修改,強烈建議使用它——否則,Alice 和 Bob 之間的任何消息都將使用相同的對稱密鑰,這是值得避免的.

引用自:https://crypto.stackexchange.com/questions/16412