SSL/TLS协议
一、使用SSL/TLS的好处 不使用加密的网络通信有三大风险: 1.窃听风险:第三方可以获取通信内容 2.篡改风险:第三方可以修改通信内容 3.冒充风险:第三方可以冒充他人身份参与通信 SSL/TLS可以做到: 1.所有的信息都是加密传播,第三方无法窃听 2.具有校验机制,一旦被篡改,通信双方会立即发现 3.配备身份证书,防止身份冒充 二、SSL/TLS的运行过程 1. 客户端向服务端索要并验证公钥 2. 双方协商生成会话密钥 3.双方采用会话密钥进行加密通信 其中,第一二步称为握手阶段,握手阶段时使用的是非对称加密。握手结束后生成一个对话密钥,然后 在整个传输过程使用对称加密进行传输。 三、SSL/TLS握手详解 握手阶段涉及四次通信。 1. 客户端发出请求(ClientHello),并提供一下信息 a)支持的SSL/TLS协议版本 b)支持的加密算法 c)支持的压缩算法 d)产生的一个随机数random_C 2.接受到客户端请求后,服务端回应信息 a)确定使用的SSL/TLS协议版本 b)确定使用的加密算法 c)确定使用的压缩算法 d)产生的一个随机数random_S e)服务端的证书 f)如果要验证客户端,还有要求客户端证书的请求