ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 8.6 使用TCP连接安全:SSL 安全套接字层(Secure Socket Layer):采用机密性、数据完整性、服务器鉴别和客户鉴别来强化TCP,例如URL使用HTTPS。 运输层安全性(Transport Layer Security,TLS):SSL版本3的强化。 ![](https://img.kancloud.cn/47/c1/47c1df1cf2aca58befee2975faf205c0_348x190.png) ### 8.6.1 宏观描述 * 握手:建立TCP连接、认证用户真实性、确定一个主密钥MS(对称密钥)。 ![](https://img.kancloud.cn/6e/12/6e12388081b2190b5c04434553a69860_508x323.png) * 密钥导出:从主密钥中提出4个密钥,两个用于加密数据,两个用于验证数据完整性。 * 数据传输:加密“记录+MAC”。 * SSL记录。 ![](https://img.kancloud.cn/b3/9b/b39b2352f11bc006f60dfcc68126fc8c_497x107.png) ### 8.6.2 更完整的描述 **SSL握手**: * 客户发送它支持的密码算法列表,连同一个客户的不重数。 * 从算法列表中,服务器选择一种对称算法、一种公钥算法、一种MAC算法,并将选择好的算法、证书和一个服务器不重数返回给客户。 * 客户验证证书,提取服务器公钥,生成一个前主密钥(Pre-Master Secret,PMS),用服务器公钥加密该PMS并发送给服务器。 * 使用相同的密钥导数函数,客户和服务器独立地从PMS和不重数中计算出主密钥(Master Secret,MS),然后MS被切割成两个MAC密钥。 * 客户发送握手报文的一个MAC。 * 服务器发送握手报文的一个MAC。 **连接关闭**:TCP FIN报文段。