HTTPS 安全传输加密过程

我们知道,超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,但HTTP协议以明文方式发送内容,不提供任何方式的数据加密。

为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

今天,我们就来说一说HTTPS的加密过程。

1.https的作用是什么?

解决http传输数据的安全问题,对数据进行加密

2.http为啥不安全?

网络传输过程只是两个人之间说悄悄话吗?显然不是的,数据传递需要经过路由、运营商等多次的传递才能完成,传递过程中任何一个有坏心思的中间商都可以拦截你的数据。

3.https也是网络传输,为啥他是安全的?

回答这个问题我们要先弄懂签名、摘要、证书、对称加密和非对称加密是什么,下面我们来一一进行介绍:

(1)对称加密和非对称加密

对称加密和非对称加密的区别在于加密和解密的算法是否相同

  • 对称加密:用同样的密钥进行加密和解密
  • 非对称加密:用不同的密钥进行加密和解密。例如,私钥加密公钥解密、公钥加密私钥解密。

注意:私钥只有一个,公钥想有几个有几个

(2)摘要

摘要的意义就是防篡改,举个例子,你有一篇文章《我的男朋友,彭于晏》,然后呢有人把内容改成了宋小宝,这显然和题目不符合,也就意味着被篡改了,也就是说摘要决定了内容是什么,一段数据,我们通过一系列算法,拿出它的摘要,那么它的内容就定死了,不能再修改了,当内容被篡改后,那么生成的生成的摘要很大程度上会不同,这部分可以理解成hash。总的来说,摘要起到了防篡改的作用。

利用摘要防篡改的过程:

发送端:发送①数据②这段数据的摘要③密钥(即预订好的摘要算法)
接收端:接收到数据后,根据发送端传递的密钥重新运算数据得到摘要,并将此摘要与发送端的摘要进行比对

那么现在出现了一个新的问题,如果有个大坏蛋把内容和摘要全改了怎么办,这时候就使用到了非对称加密+摘要的方式,也就是签名。

(3)签名

签名的意义也就是防伪

一端的私钥对摘要进行加密(私钥只有一个),另一端用公钥进行解密,拿出摘要,再进行对比,防止中间商连皮带肉全部替换。

那它究竟是怎么就安全了呢?

想象伪造的场景,客户端用私钥对一段摘要进行了加密,这时候我们分析一下中间商有什么能力

1.能看吗
刚刚说到,客户端用私钥进行加密,另一端用公钥进行解密,也就是说如果中间商有客户端私钥所对应的公钥就可以进行解密,能解密也就意味着能看,那是否意味着能篡改呢?

注意:能看≠能改。

2.能改吗
两端在进行传输前肯定商量好了用哪对私公钥,因为私钥只有一个,所有中间商没有私钥,也就是说中间商没有加密的能力,所以说中间商只能看而不能改。

再往下走,我们知道公钥也是在网络上传输的,那么如果说中间商在商量的时候动了手脚怎么办呢。假如说有个中间商在两端商量的时候动了手脚,本来客户端想给服务端自己的公钥,然后大坏蛋扣留这个公钥,然后用自己的私钥生成的公钥交给服务端呢,是不是就达到了伪装客户端的目的(伪装服务端也是一样的道理,无非就是服务端下发公钥的时候扣留,然后给客户端一份假的公钥),解决这个问题就引入了第三方机构。

(4)解决下发假公钥的问题

我们先不想CA第三方机构,如果让我们自己解决怎么解决这个问题呢,我们把密钥拷到U盘里不就稳稳当当了,中间商没有我的公钥,首先不能看,而且呢我们两端商量好就用这对公私钥,私底下商量好,不经过网络就能解决一切问题。

然后不可能说你任何时候都可以去这么做的,限制太大了。

(5)第三方机构 CA证书

我们找一个可信的第三方,第三方会给我们的操作系统内置根证书,服务器申请该证书,然后服务端传递的数据前先发送一个证书,里面有自己的公钥、签名算法、指纹、指纹算法、证书颁发机构、过期时间等等(当然,这是需要费用的),进而客户端对证书进行验证。

那这样究竟安不安全呢》下面,我们来分析HTTPS的传输过程。

4.https传输的过程

1.浏览器输入地址,客户端发送请求
2.服务端接受请求,下发证书
3.客户端验证证书合法性
4.客户端生成对称加密密钥,并用证书里的公钥进行加密,传递给服务端
5.使用这个对称密钥进行数据传输

我们对其安全否在3个方面进行分析

1.能被监听吗
数据是对称加密的密钥来加密的,这个密钥使用服务端的公钥来加密的,那么谁能解这个密钥呢,只有服务端的私钥可以解,所以中间商拿不到对称加密的密钥

2.能被篡改吗
中间商有对称加密的密钥吗,显然它是拿不到的,没有他怎么篡改,只有对称加密的密钥可以解码和编码数据

3.能伪装吗
中间人伪装客户端和服务端能实现吗,第三机构的下发证书并不是随便下发的,需要一个组织首先提出申请,第三方机构对组织进行评审,都过了你还得交钱才能用人家的证书,所以说中间商想要伪装服务端的成本非常高,伪装时相互的一个过程,伪装不了服务端就伪装不了客户端。

与「码匠联盟」一起成长
码匠联盟

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值