Encryption

是否應該使用其他方式驗證發件人的身份,還是 MAC 就足夠了?

  • February 28, 2018

這個問題旨在澄清與消息認證碼(MAC)相關的資訊。

維基百科的消息驗證程式碼文章指出:

在密碼學中,消息驗證碼 (MAC),有時稱為標籤,是用於驗證消息的一小段資訊——換句話說,確認消息 來自指定的發送者(其真實性)並且沒有被改變了。MAC 值通過允許驗證者(也擁有密鑰)檢測對消息內容的任何更改來保護消息的數據完整性及其真實性。

(強調我的)

說 MAC 不僅提供與數據本身相關的完整性資訊,而且還驗證發起者的身份是否正確?或者使用額外的加密手段來驗證/驗證發件人的身份是否有意義——可能類似於發件人辨識碼、發起人驗證碼或類似的東西?

不一樣的問:

是否應該使用其他方式驗證發件人的身份,還是 MAC 就足夠了?

這是一個反復出現的話題:身份究竟是什麼以及如何證明它?但與您的問題有關:MAC(正確實施)證明消息的作者擁有密鑰(如果您可以驗證它,就像您一樣)。現在,根據您想到的應用程序,這是一個足夠好的身份代理,或者不是。

換句話說,MAC 假設您相信只有正確的實體才知道密鑰(您包括在內),然後證明該消息只能由這些實體之一簽名。那麼正確的實體是否知道密鑰的問題是另一個問題。

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