HTTPS协议初识

来源:互联网 发布:建筑电气设计师知乎 编辑:程序博客网 时间:2024/05/23 20:25

昨天晚上做了一家公司的笔试题,里面有关于网络协议部分的内容,之前有认真的看过HTTP协议,关于HTTPS协议只是见过这个名词,具体内容一无所知。所以今天就认真的看了下HTTPS协议的基本内容,希望对正在和我一样学习计算机网络知识的同学们会有帮助。下面是具体的内容:


一. 什么是HTTPS协议

HTTPS的英文全称是:Hyper Text Transfer Protocol Secure,可以看出他就是在HTTP协议的基础上加上了信息的安全机制。信息的安全传输又是有SSL(Secure Socket Layer)协议支持的,它支持信息的加密传输,和客户端服务器的身份认证。所以可以得出结论:HTTPS协议是由HTTP+SSL协议构建的可进行加密传输、身份认证的网络安全协议,比HTTP安全。

二. HTTPS协议的安全体现

(1)在发送数据前会对用户和服务器进行认证,确保数据发送到正确的正确的客户机和服务器;
(2)会对数据进行加密,防止数据在发送途中被窃取,如果进行了加密计算被窃取,数据也是用不了的;
(3)维护数据的完整性,确保数据在传输过程中不被改变。

三. 如何实现客户端认证和数据安全传输

要实现数据的安全传输,加密肯定是必不可少的,加密分为两种,有公钥加密(非对称加密)和对称加密,下来简单看下,这两种加密:

  • (1)公钥加密(非对称加密)

在公钥加密中,利用公钥加密的数据只能用私钥解密,用私钥加密的数据中能用公钥解密,至于加密的原理不是这里讨论的重点,重要的是理解SSL是如何工作的;

  • (2)对称加密

对称加密就是,发送端和接收端都使用同一个秘钥,发送端用这个秘钥结合一种算法对数据进行加密,接收用这个秘钥结合一种算法对数据进行解密。

下面是我自己画的一张图,说明了SSL协议是如何工作的(客户端认证如何实现的),如下:

这里写图片描述

在上图中,是一个服务器认证客服端,并由客户端生成以后要传输数据所需的加密秘钥的过程,也被叫做四次握手。

(1)第一次握手:客户端向服务器发一个连接请求,意思就是“我要和你建立连接,你发公钥给我吧!”,发送公钥的原因是公钥在服务器端保存。

(2)第二次握手:服务器端用自己的秘钥对客户端想要的公钥进行加密,然后将加密后的公钥返回给客户端;

(3)第三次握手:客户端用相应的公钥(权威机构认证的公钥,存在用户的电脑中,只有权威机构才能注册获得公钥)对服务器发来的公钥进行解密,然后用解密后的公钥对要传输的秘钥进行加密,生成在以后传输数据时要用的秘钥,并传给服务器端;

(4)第四次握手:服务器端告诉浏览器我收到了你的秘钥,以后传输数据就用这个秘钥了。至此秘钥生成,握手结束。

从上面的过程可以看出:这四次握手就是为了生成传输数据时要用到的秘钥,以及完成客户端和服务器相互的身份认证。这个握手过程用的是公钥加密,生成的秘钥在数据交互时对数据加密,对数据加密用的是对称加密。


以上是我对HTTPS协议的一个大致了解,可以看出HTTPS协议,就是在网络应用层和传输层加了一层SSL协议,来对数据进行加密传输。在四次握手结束后,才会去建立TCP连接。

1 0