HTTPS

一.HTTPS

HTTPS也是一个应用层协议,是在HTTP协议的基础上引入了加密层.
HTTP协议内容是按照文本的方式明文传输的,这就导致在传输过程中出现一些被篡改的情况.

二.HTTP和HTTPS的比较

相对来说,HTTPS是HTTP网络传输的加强版本,因为HTTP是明文传输的,本来要传的啥,实际传的就是啥.一旦传输过程中,数据被第三方获取到了,可能就会造成一些重要信息的泄露.

HTTPS就是在HTTP的基础上,引入了一个加密层(SSL/TLS).比如HTTP的Referer是运营商劫持的重要手段..

三.加密

加密就是把明文(要传输的信息)进行一系列变换,生产密文.解密就是把密文再进行一系列变换还原成原文.
在这个加密和解密的过程中,往往需要一个或者多个中间的数据,辅助进行这个过程,这样的数据称为:"密钥".

四.HTTP的工作过程

既然要保证数据安全,就需要进行"加密",网络传输 中不再直接传输明文了.而是加密之后的密文.
加密的方式有很多,整体分为两大类:对称加密和非对称加密.

1.对称加密

通过同一个密钥,把明文加密成密文,并且也能够把密文解密成明文。

引入对称加密之后,即使数据被截获,由于黑客不知道密钥是啥,因此就无法进行解密,也就不知道请求的真实内容是啥。

但服务器同一时刻其实给很多客户端提供服务的,这么多客户端,每个人的密钥都必须不同(如果密钥相同那密钥就太容易扩散,黑客就也能拿得到了。因此服务器就需要 维护每个客户端和每个密钥之间的关联关系。

比较理想的做法,就是能在客户端和服务器建立连接的时候,双方协商确定这么密钥是啥。

但是,密钥也是通过网络来进行传输的,而密钥被黑客知道了,那么传输的密文也是会被黑客知道的,因此密钥的传输也必须加密传输,引入了非对称加密.

2.非对称加密

非对称加密要用两个密钥,一个叫做公钥,一个叫私钥.公钥只能用来加密,私钥只能用来解密.

因此为了网络安全,具体步骤是先在客户端传给服务器公钥,先使用非对称加密,再非对称加密的基础上,给对称密钥加密.即使在公钥被黑客拿到后,他也无法解密对称公钥.因此待服务器拿到公钥后,接下来的都是进行对称加密来进行网络传输.

为什么使用了非对称加密后要选择使用对称加密而不是非对称加密?
对称加密的成本是比较低的(机器资源消耗少),解密的速度快.非对称加密的成本比较高(机器资源消耗多),解密的速度慢.

服务器是如何获得公钥的?
服务器获取公钥的方式是通过客户端进行网络传输获取的,并且没有加密,因此容易被黑客调换.

具体情况:客户端向服务器发送公钥,发送的过程中被黑客劫持的,就知道公钥是啥了,只知道公钥没有对应的私钥是没办法解决的.因此,黑客就自定义一个公钥和私钥,将客户端本来传输的公钥替换成自己定义的公钥.服务器就利用该公钥进行加密,将加密后的数据返回给客户端,黑客也是可以劫持的,因为服务器用的是自己定义的公钥,自己也有对应的私钥,因此可以解密,就知道了里面的内容,解密后再用原本客户端传给服务器的公钥进行加密后返回给客户端.客户端仍然可以解密,殊不知传输的内容被黑客窃取了.这样称为中间人攻击.

 

解决方案:引入证书

3.证书 

在客户端和服务器刚一建立连接的时候,服务器给客户端返回一个证书.这个证书包含了刚才的公钥,也包含了网站的身份信息.

这个证书好比人的身份证,作为这个网站的身份标识,搭建一个HTTPS网站要CA机构先申请一个证书.类似于公安局办个身份证.

这个证书标识自己生成的,而且第三方机构发的,等到客户端到证书之后,就可以根据证书上提供的信息,去第三方机构认证.来校验证书是否合法.证书合法,就可以信任其中的公钥.一般来说,黑客要复制相同的证书是会付出 很高的成本,并且一般人做不 了

 对于证书,假设校验不通过,浏览器会有错误提示,提示网站证书非法,继续访问就会存在风险.但是浏览器上面还有一个按钮继续访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值