一、https介绍:
- https协议就是加密后的http协议。
- https经常使用的端口:443;http:80。
二、https的加密方式:
- 数据在网络中传输是容易被劫持的,因此需要对传输的数据进行加密,同时接收端在对数据进行解密。从而保持数据传输的安全性。
1. 对称加密算法:
(1)加密算法与解密算法想同。
(2)加密算法的优点:加密解密的效率很高;
(3)加密算法的缺点:容易被劫持,使用时间稍长就会被中间劫持,根据数据规率找破解出加密算法。
(3)解决方案:可以每次通信都动态协商一个加密算法,但还是有可能被劫持掉。
2. 非对称加密算法:
(1)加密算法:加密和解密的算法不同。—服务器生成一对公钥和私钥;将公钥传给客户端,客户端用公钥进行加密,服务端使用私钥解密。
(2)公钥和私钥:通过加密算法—RSA算法,得到一对密钥(就是两串字符),公钥用于对数据加密 ,私钥用于对数据解密。因为加密和解密的方式不同,因此很难被破解。就算公钥被劫持,但客户端使用公钥加密的数据只能用私钥解密。
(3)优点:安全性高,不容易被破解。
(4)缺点:解密效率比较低。
(5)对称加密算法和非对称加密算法结合起来:①将客户端与服务端动态协商对称算法过程用非对称算法加密起来;②使用协商的对称加密算法对数据通信过程进行加密,这样既保证了安全,也提高了效率。
(6)存在的问题:若中间黑客劫持了服务器发送给客户端的公钥,然后将自己的公钥发送给客户端,因为客户端不知道服务端的身份,所以就出现数据被劫持。若客户端能够知道服务无端身份,就不怕劫持了,所以又引进了:签名证书。
3. 签名证书(CA):
(1)签名证书:进行身份验证;并且传送公钥信息,公司生成一对密钥之后,拿到权威机构处生成一个签名证书,证书包含:公钥信息,权威机构信息,公司机构信息,有效时间等。
(2)SSl加密过程:在通信的时候,连接建立之后,服务器先向客户端传送证书,客户端通过证书的信息进行验证:①若身份验证不通过,则可以直接断开连接,若身份验证通过,然后用证书中的公钥加密对称算法的协商过程,最终利用协商好的对称加密算法对数据通信进行加密。