Authentication
RFC 5652 認證數據如何確認來源和數據完整性?
我對 RFC 5652 Authenticated-Data 的閱讀並沒有讓接收者對消息的發起者有信心,因此不能提供數據完整性的確定性。
發起人流程為:
1. generate random message key 2. encrypt message key for (each) receiver 3. generate message MAC using message key 4. send to receiver
為什麼攻擊者不能這樣做?
1. intercept message 2. modify message (since it is not encrypted) 3. generate a new random message key 4. encrypt message key for receiver using receiver public key 5. generate a new MAC 6. send to receiver
接收者如何知道它不是來自發起者?接收者如何知道消息已更改?
接收者如何知道它不是來自發起者?
收件人不知道使用此方案的發件人。可以是任何人。
為什麼?發送過程中不涉及發件人獨有的秘密,因此任何人都可以創建這樣的消息,正如您已經指出的那樣。
為什麼攻擊者不能這樣做?
他可以。然而,這看起來更像是其他方案的建構塊,因此這些方案可以實現高級發送者身份驗證機制,以防止此類攻擊。
接收者如何知道消息已更改?
接收者總是知道消息相對於發送者沒有改變,因為 MAC 是有效的。該方案未涵蓋發送者可能更改的事實(事實上,攻擊者確實通過明顯的攻擊將發送者更改為他自己)。