HTTP——是应用层的协议,主要用于在互联网上传输数据,属于Web协议族的一种。
HTTPS——全称是HTTP OVER SSL。直接点就是HTTPS=HTTP+SSL/TLS。
所以,HTTP与HTTPS的区别就是HTTPS多了一层SSL/TLS协议,这也是HTTPS协议比HTTP更安全的原因。
首先第一个问题,什么是SSL,什么是TLS,它们之间有什么联系?
SSL协议的全称是Secure Socket Layer,安全套接字层。用以保障在Internet上数据传输之安全,利用数据加密技术,可确保数据在网络上之即使被截取也无法被破解。已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。
TLS协议的全称是Transport Layer Security,传输层安全协议。是IETF(Internet工程任务组)制定的一种新的协议,建立在SSL 3.0协议规范之上。
因此TLS协议可以看作是SSL协议的增强版,目的是为了保证SSL协议更加安全。
SSL的怎么加密?
既然要加密,那么常用的加密方法有对称加密和非对称加密,那么SSL是对称加密还是非对称加密呢?非对称加密时计算量大,不适合大批量数据加密,对称加密速度快,但是要解决密钥交换的问题,因此先采用非对称加密交换密钥,再采用对称加密加密数据。
SSL加密过程:
1、客户端给出协议版本号、一个随机数和客户端支持的加密算法。
2、服务端确认通信使用的加密算法,并给自己的出数字证书、以及一个新的的随机数。
3、客户端确认数字证书有效,然后再产生一个新的随机数,并使用数字证书中的公钥,加密这个随机数,发给服务端。
4、服务端使用自己的私钥解密信息获取随机数。
5、客户端和服务端根据商量好的加密算法,使用产生的三个随机数,生成"对话密钥",用来加密接下来的整个对话过程。
客户端如何确认证书有效
数字证书的有效性是通过受信任的第三机构(CA)来确认的。CA(Certificate Authority)负责办法证书,并确认证书的有效性,承担了承担公钥体系中公钥的合法性检验的责任。