Lesson8:HTTPS

目录

 一、HTTPS定义

二、加密是什么

三、HTTPS的工作工程

3.1 引入对称加密

3.2 引入非对称加密

疑问:已经引入非对称加密后,为啥还要有对称加密???

又又又出现了一个新的问题:中间人攻击

3.3 引入证书

3.4 总结


 一、HTTPS定义

HTTPS也是一个应用层协议,是在HTTP的基础上,引入了一个加密层SSL/TLS。

HTTPS和HTTP的报文格式都一样,但是因为HTTP是明文传输的,不安全,HTTPS在HTTP的基础上引入了一个加密层,可以保证用户的信息安全。目前,互联网上越来越多的网站都是采用的是HTTPS协议。

二、加密是什么

明文:要传输的原始的信息

密文:已经经过了一定的规则变化后的内容。只看密文,已经失去了原来的含义。

加密:将明文经过一系列变化变成密文。

解密:密文经过一系列变化变成明文。

在加密和解密的过程中,都需要一个特殊的数据—密钥。

三、HTTPS的工作工程

3.1 引入对称加密

对称加密:加密和解密是同一个密钥

理想情况下:客户端和服务器约定好一个密钥,客户端使用密钥加密,服务器使用密钥解密。由于黑客不知道密钥是啥,即使拿到了数据,也没用。

方案很美好,但存在一个问题:密钥如何约定????

一个服务器,会对应很多客户端,每个客户端,都需要和服务器约定好一个自己的密钥。此时服务器就需要管理很多密钥,并不是一件容易的事情。有一个更好的做法,有客户端连接过来了,就和这个客户端商量出一个密钥,让客户端把生成的密钥告诉服务器就行。即每个客户端在连接之前,先生成一个自己的密钥,把密钥告诉服务器,服务器保存这个密钥。服务器可以通过一个哈希表来保存,key是客户端id,value是密钥。但是,但是,在把密钥告诉服务器这个过程中,可能会经过黑客的路由器,导致密钥泄露。

 引入了加密对称后,虽然让传输的数据被加密了。但是密钥泄露了,数据也就不安全了。

为了保证密钥不泄露,就需要对密钥进行加密。可以使用对称加密对密钥进行加密吗?不可行。会

此时为了让密钥能够密文传输,就需要使用非对称加密对密钥进行处理。

现在假设:使用公钥加密,使用私钥解密。

3.2 引入非对称加密

分为密钥和私钥两个密钥。

可以用公钥加密,私钥解密;也可使用私钥加密,公钥解密。

服务器自己生成一个公钥私钥密钥对。公钥就公开出去了,谁都可以获取,黑客也可以拿到。私钥自己保存,不会告诉别人。

客户端拿到公钥之后,使用公钥,对对称密钥进行加密,把这个加密后的密钥密文通过网络传输给服务器。黑客也可以获得这里的密文,但是黑客只有公钥,没有私钥,没办法解密。此时对称密钥就安全的到达了服务器这边。

后续客户端和服务器之间就可以使用私密密钥进行加密解密。

疑问:已经引入非对称加密后,为啥还要有对称加密???

因为对称加密的成本远远低于非对称加密。在实际中,客户端和服务器之间要传输的数据量很大,如果都使用非对称加密,整体的速度就会很慢。因此,就只使用非对称加密来加密这个密钥。在安全性和效率之间达到了一个平衡。

又又又出现了一个新的问题:中间人攻击

出现中间人攻击的漏洞原因,是因为客户端需要通过网络获取服务器的公钥,但是客户端无法识别这个密钥是否是伪造的。

 解决关键要点:就是证明,当前的公钥是一个服务器公布的正版密钥。

如何证明呢?引入一个第三方的公证机构。

3.3 引入证书

3.4 总结

①对称密钥。客户端生成一个对称密钥,对于传输的数据进行加密。需要将密钥告知浏览器。

②非对称加密。服务器提供一个公钥,客户端使用公钥对对对称密钥进行加密,密文传给服务器。

③中间人攻击。黑客可能劫持了服务器给客户端的公钥,用自己的公钥代替,从而导致对称密钥的泄露。

④引入证书机制。通过第三方公证机构,向网站颁发证书,证书里面就包含公钥。客户端向服务器请求的是证书,拿到证书后去第三方公证机构验证,看看证书是否合法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刘减减

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

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

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

打赏作者

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

抵扣说明:

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

余额充值