1、非对称加密:
非对称加密使用一对密钥,即私钥 (private key, pek) 和公钥 (public key, pck)。私钥用于加密和数字签名,而公钥用于解密和验证签名。您的描述是正确的,私钥加密的内容可以用公钥解密,反之亦然。
CA 结构:
2、CA(Certificate Authority)是一个可信任的第三方机构,负责颁发和管理数字证书,以保证通信双方的身份。在 HTTPS 中,客户端通过 CA 验证服务器的身份,从而建立安全的通信。
请求和证书下发:
3、https通讯流程:
(1)客户端向服务器请求建立安全连接,服务器会下发包含其公钥和其他信息的数字证书。
(2)证书验证:
- 客户端通过查询 CA 链或 CA 证书颁发服务器来验证该证书的有效性。CA 在证书颁发时会用其私钥对证书内容进行数字签名。
- 客户端使用 CA 的公钥(pck)解密证书的数字签名,得到哈希值(h1)。
- 客户端对证书内的个人信息和其他信息(不包括签名部分)使用相同的哈希算法计算出另一个哈希值(h2)。
- 如果 h1 和 h2 的值一致,则表示证书内容没有被篡改。
(3)验证证书有效期:
- 客户端还需检查证书的有效期,以确保其仍然有效。
(4)对称加密秘钥的生成和使用:
- 客户端生成对称加密秘钥(ck),使用其公钥 (pck) 进行加密,并将其发送给服务器。
- 一旦服务器接收到 ck,之后的通信即使用这一对称加密密钥进行加密和解密。