借助 AWS CloudHSM 进行 SSL/TLS 分载的工作原理
要建立 HTTPS 连接,您的 Web 服务器将执行与客户端的握手过程。在此过程中,服务器会将一些加密处理分载到 AWS CloudHSM 集群中的 HSM,如下图所示。下图解释了此过程的每个步骤。
注意
下面的图和过程假定 RSA 用于服务器验证和密钥交换。当使用的是 Diffie–Hellman 而不是 RSA 时,此过程稍有不同。
-
客户端将 hello 消息发送给服务器。
-
服务器响应 hello 消息并发送服务器的证书。
-
客户端将执行以下操作:
-
验证 SSL/TLS 服务器证书是否由客户端信任的根证书签名。
-
从服务器证书中提取公有密钥。
-
生成预主密钥并使用服务器的公有密钥为它加密。
-
将加密的预主密钥发送给服务器。
-
-
为解密客户端的预主密钥,服务器会将此密钥发送给 HSM。HSM 使用 HSM 中的私有密钥解密此预主密钥,然后它将预主密钥发送给服务器。客户端和服务器将独立使用此预主密钥和 hello 消息中的一些信息来计算主密钥。
-
握手过程结束。在余下的会话中,客户端和服务器之间发送的所有消息将使用主密钥的派生密钥进行加密。
要了解如何配置借助 AWS CloudHSM 进行的 SSL/TLS 分载,请参阅以下主题之一: