Http(Hyper Text Transfer Protocol),即超文本传输协议。它是在Web上进行数据交换的基础,是一种“客户端-服务器端”协议。简单来说,就是用来规范浏览器与服务器之间通信行为的。HTTP 是应用层协议,它以 TCP(传输层)作为底层协议,默认端口为 80。
2.什么是HTTPS?Https(Hyper Text Transfer Protocol Secure), 即安全的超文本传输协议,在HTTP的基础上使用了SSL/TLS协议进行数据加密和安全认证。简单来说,可以理解为HTTPS = HTTP + SSL/TLS。默认端口号为443.
主要区别总结:
(1)HTTP协议的数据都是未加密的,明文的,不安全。HTTPS则是具有安全性的SSL/TLS加密传输协议。
(2)HTTP的默认端口号为80,HTTPS的默认端口号为443、
(3)HTTP是无状态的。HTTPS协议是可提供数据加密传输,身份认证的网络协议,要比HTTP协议安全。
HTTP与HTTPS的区别总结为一句话就是HTTPS在HTTP的基础上考虑了安全问题,提供了更高的数据安全性。
3.SSL/TSL的工作原理以及握手过程 首先简要说明SSL和TSL的区别,SSL和TSL区别不大,现在主要用的是TSL协议,TSL协议可以理解为高版本的SSL。说明SSL/TLS之前先要理解对称加密和非对称加密。3.1 对称加密
对称加密是指在加密和解密时使用同一密钥的加密方式。
优点 :对称加密加密与解密使用的是同样的密钥,所以速度快。
缺点:需要将密钥在网络传输(可能被第三方截获),所以安全性不高。
3.2 非对称加密即密钥是成对存在的,公开密钥与私有密钥是一对,如果是用公密对数据进行加密,只有用对应的私钥才能解密;同理,如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以称为非对称加密方式。
优点:非对称加密使用了一对密钥,公钥与私钥,所以安全性高。
缺点:加密与解密速度慢。
3.3 SSL/TSL的工作原理对称加密与非对称加密都有自己的优缺点,对称加密安全性低但速度快,非对称加密安全性高但速度慢,那么如何有效的利用两种加密方式?SSL/TSL就是将这两种加密方式合理的整合起来,其基本工作原理总结为一句话为:先用非对称加密方式传递对称加密密钥,再用对称加密方式处理交互的数据。
3.4 SSL/TSL的握手过程SSL/TSL握手过程可以理解为客户端和服务器协商一个密钥的过程。(这个密钥将被用于后面数据交流的对称加密解密过程,即这个密钥是一个对称加密密钥)。握手过程如图所示:
整个步骤总共可以分解为8个步骤:
step1:客服端送自己支持的TSL版本,加密套件(支持哪些加密算法),并生成一个随机数(第一个随机数)发送过去,为了方便描述,这里称为第一个随机数。
step2:服务端发送自己支持的TSL版本,加密套件(支持哪些加密算法),并生成一个随机数发送过去(第二个随机数)。
注意:step1和step2可以理解为客户端和服务器端正在相互商量,确定用哪个加密算法,用哪个TSL版本,统一一下。确认后,客户端开始确认服务器端的身份的可靠性。
step3:服务端发送自己的证书给客户端用于核对。
step4: 客户端核对没有问题后,服务端再发送自己的公钥给客户端。
step5:服务端发送server hello done代表发送完毕。
step6:客户端再次生成一个随机数(第三个随机数,也被称为预主密钥),并用step4发送过来的公钥进行加密。生成一个密文,发送给服务端。
step7:服务端收到密文后,用自己的私钥进行非对称解密将第三个随机数取出,这个时候,服务端一共有三个随机数,分别是(1)step1客户端发送过来的。(2)step2自己生成的。(3)step6 解密后得到的。服务端将三个数用特定的算法整合,生成一个会话密钥。并将之前的密文发回(代表自己已经知晓会话密钥,协商完成)。与此同时,客服端同样知晓这个三个随机数是多少,因为这个三个随机数,分别是(1)step1自己生成的。(2)step服务端发送过来。(3)step6自己生成的。正好与服务器的一一对应,也就是说,用同样的特定的算法,客户端也可以计算出会话密钥。(会话密钥在客户端和服务器端均由三个随机数计算得到,没有经过网络传输)。
step8:利用协商好的密钥进行数据加密解密并传输。
总结:这样做不仅安全性高。体现在(1)每个会话的会话密钥都不一样。(2)第三方无法知晓会话密钥(会话密钥没有经过网络传输,且即使特定的算法被第三方知晓,第三也方无法得知第三个随机数是多少,从而无法推断出会话密钥)。
传输速度快:只有在协商会话密钥的时候采用了非对称密钥,正式进行数据传输时采用的对称加密方式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)