SSL简介
密码技术常常用于提供机密性、数据完整性和端点鉴别;
对于一个TCP连接的加密过程,TCP 的这种强化版本通常被称为安全套接字层 Secure Socket Layer, SSL; SSL协议版本3以上修改的版本被称为运输层安全性 Transport Layer Security, TLS
SSL协议通过采用机密性、数据完整性、服务器鉴别和客户鉴别来强化TCP,从而强化HTTP2连接,来解决一些服务器上的应用安全问题;它是一个套接字接口API,当需要使用时,在应用层编程后作用于TCP;
SSL加密过程
简单来说它具有三个阶段,握手、密钥导出和数据传输。需要用到对称密钥算法,公钥算法,散列算法。
以客户端和服务器为例:
1、握手
在握手阶段,客户端需要做的事:
1、建立与服务器的Tcp连接;三次握手实现;
2、验证服务器是否是真实的发送对象;客户端发送包括客户端的序列号,三种密钥算法;服务器返回CA证书和它的序列号;然后发送hello报文,
3、发送给服务器一个密钥;客户端首先进行产生密钥,然后用证书中的公钥加密密钥并发给服务器,服务器用私钥进行解密;
2、密钥导出
由握手阶段,得出了一个客户端产生的密钥和一对证书中的公私钥;
这一步主要是做的产生剩下步骤需要的密钥,两个加密数据的密钥,两个验证数据完整性的密钥;
1、服务端用