现今社会最离不开的就是“安全”,不止于生命、财产的安全,网络数据的安全也再越来越被重视。HTTP协议作为无法加密数据,是让所有通信数据在网络中明文“裸奔”的存在,能够解决HTTP明文协议缺陷的是HTTPS,而要升级到HTTPS的必备之物就是SSL证书。那么如此关键的SSL证书,到底有哪些作用呢?
一、身份认证
信息传输前需要通过数字证书来确认对方身份,这里涉及到一个名词:数字证书。数字证书分为公钥和私钥,CA厂商会用自己的私钥来给证书申请者签发一套包含私钥和公钥的客户证书,客户的公钥证书谁都可以获取,里面包含了客户站点和证书的基本信息,用来确保访问者访问的就是他想要访问的站点。
二、数据保密
数据保密包括对话秘钥传输时候的保密和数据的加密传送。在建立 HTTPS 链接的过程中,刚开始是有一些明文出现的,不过想要根据这些已知的明文推算出“对话秘钥”却非常困难。对话加密是指客户端和服务端协商并成功获取到对话秘钥后就开始用对话秘钥进行对称加密会话。非对称加密虽然安全性比较高,但是效率比较低,速度比较慢,所以一般只使用它们来交换一下对话秘钥,后面的对话加密则使用速度更快,效率更高的对称加密。
三、数据完整
身份认证成功后,到了数据加密传输的阶段,所有数据都以明文(HTTP)收发,只不过收发的是加密后的明文。这时候也遇到了一个问题,虽然中间人很难破解加密后的数据,但是如果他对数据进行了篡改,那该怎么办?此时加密套件验证数据一致性的哈希算法就派上用场了,这样就使得任何的数据更改都会导致通信双方在校验时发现问题,进而发出警报并采取相应的措施。