HTTPS工作原理

HTTP原理

 HTTP(超文本传输协议),HTTP是tcp/ip组中的协议之一,也是互联网上应用最为广泛的协议之一,所有的WWW(万维网)文件都必须遵循这个标准。而设计HTTP协议的最终目的是用来在互联网上传输HTML文件。

  HTTP协议的应用非常的广泛,但是却在一些领域存在着很大的安全缺陷,因为HTTP协议在文件的传输过程中是以明文的方式传输的,并且不会验证消息的完整性,这就决定了HTTP协议不能用来传输一些隐私的信息,比如密码,信用卡账号等。

对称密码

 对称加密:有一段秘钥,能通过它来加密一段信息,形成一段密文,而这段密文是不能读取的,想要读取这段密文就需要通过加密它的秘钥来解密,还原成原始信息。就是一个门只能用一把钥匙来反锁和打开。

用对称加密能解决消息传输中的安全问题吗?很显然是不能的,因为对称加密进行加密和解密需要用到相同的秘钥,而这把秘钥无论是由客户端产生,还是由服务器产生都需要将这把秘钥传送给对方,这样对方才能解密你所传输的密文,但是,秘钥是需要传送给对方的,也就是说秘钥同样在传输的过程中是能够被拦截的,除非能够直接把秘钥送到对方而不经过网络传输,很显然这样是不现实的,所以对称加密并不能解决数据传输中的安全问题。那我们再来看看非对称加密。

非对称加密

有一个公钥和与之配对的私钥,用公钥加密的数据只能用私钥来进行解密,使用私钥加密的数据只能通过公钥进行解密。

  那使用非对称加密能解决数据传输过程中的安全问题吗?很显然也是不行的,与对称加密一样,产生秘钥的一方需要将公钥传给对方,双方才能以这个秘钥为基础来进行通信,那在传输的过程中黑客仍然能够截取到所传输的公钥,客户端通过公钥加密数据发送给服务器,而通过公钥加密的数据只能用私钥解密,但黑客只有公钥,所以从客户端发送给服务器的消息可以认为是安全的,它不会被轻易读取,但是服务器用私钥加密传送给客户端的消息就不够安全了,因为黑客和客户端都拥有公钥,都可以对服务器发送的消息进行解密。所以用对称加密的方法只能解决单向的数据加密问题,并且消息仍是没有验证其完整性和真实性的,黑客仍然可以通过中间人攻击,所以非对称加密也不够安全。

对称加密+非对称加密:问题解决。

Https原理

要实现网站的https访问,就必须使用SSL证书

SSL证书的主要作用就是身份认证和传输加密,https工作原理主要如下:

客户端在使用https方式与Web服务器通信时有以下几个步骤:

1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

5)Web服务器利用自己的私钥解密出会话密钥。

6)Web服务器利用会话密钥加密与客户端之间的通信。

以上过程如下图所示:

其它

数字签名

1)数字签名有两种功能:
能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。
数字签名能确定消息的完整性,证明数据是否未被篡改过。
2)数字签名如何生成

将要发送的数据先用Hash算法(摘要算法、散列算法)生成消息摘要,然后用发送者的私钥加密生成数字签名,与原文一起传送给接收者。
接下来就是接收者校验数字签名的流程了。

3)校验数字签名流程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茫茫人海一粒沙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值