当客户端向服务器发送请求时,他们会就加密算法达成一致,并通过 TLS(传输层安全性)交换安全参数,以确保安全通信。这样做是为了确保 CIA 三要素,即机密性、完整性和身份验证。机密性是为了确保对手无法窃听客户端和服务器之间交换的消息。完整性是为了防止对手更改原始消息。身份验证是为了验证发送者的身份。根据 Kerckhoff 原理,所有加密算法都是公开的,只有它们的密钥是私有的。假设 A 想要向 B 发送一条消息 m 。首先,A 和 B 将使用密钥交换机制(稍后将详细讨论)来共享对称密钥 k enc (加密密钥)和 k auth (身份验证密钥)。然后 A 将使用对称加密算法,
主要关键词