详解http和https原理及区别

详解http和https原理及区别

http和https都是解决客服端和服务端交互的问题,

http原理

http是文明协议,其实http是没有什么原理的 ,就只是简单的客服端访问服务端 服务端给响应的过程

http安全问题

http在传输信息的时候 别人是能看到通信内容的 所以面临的危险有:

1.窃听风险:黑客可以获知通信内容

2.篡改风险:黑客可以修改通信内容

3.冒充风险:黑客可以冒充他人的身份参与通信

https原理

https相对于http来说 就是多了一个ssl (安全性) 就是对通信内容的加密 防止http安全问题的产生

加密的方案有
对称加密:

产生一个秘钥 这个秘钥既能锁密 也能解密

在这里插入图片描述

但此种方式的缺点是:
(1)不同的客户端、服务器数量庞大,所以双方都需要维护大量的密钥,维护成本很高。
(2)因每个客户端、服务器的安全级别不同,密钥极易泄露
(3)而且秘钥黑客也会被黑客截取,那我们的加密也没什么用了
在这里插入图片描述

在这里插入图片描述

常用算法:DES ,3DES ,AES ,Blowfish等

非对称加密:

产生一对秘钥,一个公钥 一个私钥 , 公钥可以传输 给别人,一个用于加密 一个用于解密
在这里插入图片描述

既然使用对称加密时,密钥维护这么繁琐,那我们就用非对称加密试试。非对称加密只需要维护一套公私钥就可以了。

公钥是公开的(也就是黑客也会有公钥),所以私钥加密的信息,如果被黑客截获,其可以使用公钥进行解密,获取其中的内容
在这里插入图片描述

常用算法:RSA,Elgamal,Rabin,DH,ECC等

对称加密和非对称加密联合使用

非对称加密既然也有缺陷,那我们就将对称加密,非对称加密两者结合起来,发挥两者的各自的优势
在这里插入图片描述
在这里插入图片描述

(1)客户端说:这段话用公钥进行加密,然后传给服务器(解释:相当于客户端与服务端每次通讯前先约定一个秘钥,而这个秘钥是用服务器给的公钥加密过的。)
(2)服务器收到信息后,用私钥解密,提取出对称加密算法和对称密钥后,服务器说:对称密钥加密
(3)后续两者之间信息的传输就可以使用对称加密的方式了

这种方式还是有问题
(1)第一步是使用服务器给的公钥对后续约定的私钥进行加密,但是这里怎么获取服务器给的公钥呢?你如何确定你访问的服务器不是黑客返回给你的呢?

非对称+签名:

验签的时候依然不行,因为没有验签的秘钥。
但是无论采用哪种加密方式,我们都没法保障秘钥在传输过程的中的安全性,所以考虑内置一个第三方的秘钥,这个第三方我们叫(CA)证书机构,其他网站会先用自己的公钥去找证书机构,采用证书机构的私钥进行加密,生成证书。客户端用系统内置的证书机构的公钥进行解密,能解开,说明证书没有确实是第三方生成的。但问题在于第三方机构会给很多公司都生产证书,如果黑客也去申请一张证书,实际上你本机的公钥是可以解开的,那么就考虑在证书中再写上服务器的域名,同时为了避免黑客修改证书换成自己的域名再对证书进行签名,同时对这个签名再使用第三方的私钥加密一次。所以一张证书实际上包含了三个主要的东西

1.域名
2.服务器公钥
3.证书签名后的加密串

浏览器验证证书的步骤

客户端在接受到服务端发来的SSL证书时,会对证书的真伪进行校验,以浏览器为例说明如下:
(1)首先浏览器读取证书中的证书所有者、有效期等信息进行一一校验
(2)浏览器开始查找操作系统中已内置的受信任的证书发布机构CA,与服务器发来的证书中的颁发者CA比对,用于校验证书是否为合法机构颁发
(3)如果找不到,浏览器就会报错,说明服务器发来的证书是不可信任的。
(4)如果找到,那么浏览器就会从操作系统中取出 颁发者CA 的公钥,然后对服务器发来的证书里面的签名进行解密
(5)浏览器使用相同的hash算法计算出服务器发来的证书的hash值,将这个计算的hash值与证书中签名做对比
(6)对比结果一致,则证明服务器发来的证书合法,没有被冒充
(7)此时浏览器就可以读取证书中的公钥,用于后续加密了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值