自学内容网 自学内容网

【网络】HTTPS协议

一.HTTPS协议

HTTPS是在HTTP的基础上,引入了一个加密层(SSL),相比于HTTP的明文传输,会更加安全。

1.运营商劫持

由于我们通过⽹络传输的任何的数据包都会经过运营商的⽹络设备(路由器, 交换机等), 那么运营商的⽹络设备就可以解析出你传输的数据内容, 并进⾏篡改.
在这里插入图片描述
不⽌运营商可以劫持, 其他的 ⿊客 也可以⽤类似的⼿段进⾏劫持, 来窃取⽤⼾隐私信息, 或者篡改内容.

试想⼀下, 如果⿊客在⽤⼾登陆⽀付宝的时候获取到⽤⼾账⼾余额, 甚⾄获取到⽤⼾的⽀付密码…

在互联⽹上, 明⽂传输是⽐较危险的事情!!!
HTTPS 就是在 HTTP 的基础上进⾏了加密, 进⼀步的来保证⽤⼾的信息安全~

2. HTTPS的工作过程

既然要保证数据安全, 就需要进⾏ “加密”. ⽹络传输中不再直接传输明⽂了, ⽽是加密之后的 “密⽂”. 加密的⽅式有很多, 但是整体可以分成两⼤类: 对称加密非对称加密.

2.1 引入对称加密

对称加密其实就是通过同⼀个 “密钥” , 把明⽂加密成密⽂, 并且也能把密⽂解密成明⽂.
在这里插入图片描述
引入对称密钥后,由于黑客没办法解密,就不知道真实内容是什么;但是服务器本身并不会维护每个客户端跟每个密钥之间的关联关系,而是在每次建立连接的时候,双方协商确定这次的密钥是什么,这个过程中,就存在着密钥被泄露的风险。
在这里插入图片描述
要想解决这个问题,就需要引入非对称加密的内容。

2.2 引入非对称加密

⾮对称加密要⽤到两个密钥, ⼀个叫做 “公钥”, ⼀个叫做 “私钥”.“公钥”是公开的,“私钥“仅服务器持有.
用公钥加密的数据可以用私钥解密,反过来,用私钥加密的数据也可以通过公钥解密.(但是公钥加密的数据不能用公钥解密,私钥加密的数据也不能用私钥解密)
公钥和私钥是配对的. 最⼤的缺点就是运算速度⾮常慢,⽐对称加密要慢很多. 所以不适合大规模运用,其主要用于加密对称密钥,

在这里插入图片描述
看似已经解决问题了,黑客现在没办法获取到对称密钥了。但其实问题仍然存在,这就要说到中间人攻击了。

2.3 引入证书

中间人攻击

所谓中间人攻击,就是黑客也可以自己创建出一对公钥和私钥,对服务器伪装自己是客户端,对客户端伪装自己是服务器.
在这里插入图片描述
此时黑客就可以加密出对称密钥,就能对后续要发送的数据进行解密。

那针对以上问题,该如何解决呢。这就需要客户端拿到公钥以后,能够验证真伪。这就需要引入证书。

引入证书

服务端在使⽤HTTPS前,需要向CA机构申领⼀份数字证书,数字证书⾥含有证书申请者信息、公钥信息等。服务器把证书传输给浏览器,浏览器从证书⾥获取公钥就⾏了,证书就如⾝份证,证明服务端公钥的权威性。
在这里插入图片描述
在这里插入图片描述
那问题又来了,黑客能不能篡改证书或者自己去申请证书呢,答案是可以,但会被发现,我们依次来讨论这几种情况:

  1. 中间人篡改证书:这种情况下,由于黑客没有CA机构的私钥,就无法对自己篡改后的数据进行加密生成签名。客户端拿到证书后,用公钥解密签名得到一个校验和,并对证书内容计算得到一个校验和,若黑客篡改了证书,两个校验和就会不相等,此时客户端就可以发现证书被篡改了;
  2. 中间人掉包证书:证书中包含了域名等服务端的信息,如果整个掉包,就相当于把”伪造“写在脸上,客户端很容易识别出来。

接下来在思考一个问题:为什么摘要内容在网络传输的时候一定要加密形成签名?

反过来想,如果没有这个签名,客户端就无法知道黑客是否篡改了证书的内容。

经过对称密钥,不对称密钥加密对称密钥,证书保证不对称密钥的真实性,就堵死了黑客窃取/监听数据的可能性。
在这里插入图片描述

总结

HTTPS ⼯作过程中涉及到的密钥有三组:
第⼀组(⾮对称加密): ⽤于校验证书是否被篡改. 服务器持有私钥(私钥在注册证书时获得), 客⼾端持有公钥(操作系统包含了可信任的 CA 认证机构有哪些, 同时持有对应的公钥). 服务器使⽤这个私钥对证书的签名进⾏加密. 客⼾端通过这个公钥解密获取到证书的签名, 从⽽校验证书内容是否是篡改过.

第二组(⾮对称加密): ⽤于协商⽣成对称加密的密钥. 服务器⽣成这组 私钥-公钥 对, 然后通过证书把公钥传递给客⼾端. 然后客⼾端⽤这个公钥给⽣成的对称加密的密钥加密, 传输给服务器, 服务器通过私钥解密获取到对称加密密钥.

第三组(对称加密): 客⼾端和服务器后续传输的数据都通过这个对称密钥加密解密.

第二组⾮对称加密的密钥是为了让客⼾端把这个对称密钥传给服务器.
第⼀组⾮对称加密的密钥是为了让客⼾端拿到第⼆组⾮对称加密的公钥.


原文地址:https://blog.csdn.net/telasi2004/article/details/143030121

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!