10.2.2 加密交互

当客户端获得服务器下发的数字证书后,即可使用数字证书进行加密交互,分别如图10-5和图10-6所示。

figure_0349_0083

图 10-5 客户端请求服务器

客户端请求服务器将按如下步骤进行:

1)由客户端使用公钥对数据加密。

2)由客户端向服务器端发送加密数据。

3)由服务器端使用私钥对数据解密。

读者朋友对这些操作应当不会感到陌生,它与本书之前讲到的基于非对称加密算法的消息传递模型别无二致。

figure_0349_0084

图 10-6 服务器端响应客户端

服务器端完成客户端请求处理后,需经过以下几个步骤完成响应:

1)由服务器端使用私钥对待加密数据签名。

2)由服务器端使用私钥对数据加密。

3)由服务器向客户端回应加密数据和数字签名。

4)由客户端使用公钥对数据解密。

5)由客户端使用公钥和解密数据验证签名。

数字证书的最佳应用环境是在HTTPS安全协议中,使用流程远比上述加密交互流程复杂,但相关操作封装在传输层,对于应用层透明。在HTTPS安全协议中使用非对称加密算法交换密钥,使用对称加密算法对数据进行加密/解密操作,提高加密/解密效率。