Authenticated-Encryption

如何使用對稱加密檢查通過郵件收到的密鑰的完整性?

  • December 24, 2015

我想通過雲服務提供商提供對加密數據的訪問,使用即用即付模式。這意味著我們有時需要撤銷使用者對數據的訪問權限。為了限制被撤銷使用者的訪問,CSP 將重新加密數據並僅通過郵件將新密鑰發送給有效使用者。

然而,在使用他們通過郵件收到的新密鑰之前,使用者可能需要某種方式來驗證其完整性和真實性。如果可能的話,我想只使用對稱加密(如 AES)而不是非對稱加密(如 RSA)來實現這一點。這可能嗎?如果可以,怎麼做?

不幸的是,對稱加密提供完整性和數字簽名功能。這是因為對稱加密使用相同的密鑰進行加密和解密。這意味著任何擁有解密密鑰的人都可以更改數據,並且沒有人會注意到數據被更改,因為相同的密鑰用於加密。

這意味著只能通過使用非對稱加密來提供數據完整性。

嗯,是的,這是可能的,但並非沒有初始設置階段。您可以在伺服器上使用身份驗證密鑰。然後,您使用某種客戶端 ID 為每個客戶端分配*一個派生密鑰。*該密鑰需要以安全的方式分發給客戶端(這是設置階段)。

當您更改數據加密密鑰時,您會為加密密鑰創建一個身份驗證標籤/MAC(例如使用 HMAC)。你甚至可以用客戶端使用的密鑰包裝加密密鑰,這樣客戶端就不能在沒有驗證的情況下使用密鑰(例如,通過使用 GCM 或 SIV 模式加密)。好吧,從技術上講,他們可以簡單地忽略驗證,但這需要付出努力。

請注意,對稱方案比基於非對稱加密的方案要脆弱得多。

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