Https协议和Http协议

1.什么是Https协议和Http协议

Https全称就是Hyper Text Transfer Protocol over SecureSocket Layer

Http是一种在因特网上传输数据的协议,当我们在上网时,大多数都是使用Http协议,但这个协议它是不安全的。而 Https协议是安全的。

2.Http不安全的原因

1.使用明文进传输,没有加密功能

2.不会验证通信双方的身份信息。任何客户端都可以去访问服务器(不知道你是哪里来的)

3.无法证明报文的完整性,可能存在被篡改的危险。(使用数字签名算法解决这个问题,如果说这中间数据出现了问题,那么数字签名会发生变化)

现在一些流行的抓包工具(wireshark)可以获取Http请求和响应的内容。

所以说我们思考问题的出发点在于 不是让别人看不到,而是要让别人看不懂

但是http协议本身不具备加密功能。所以我们需要借助外部力量。

我们可以使用一些安全传输协议,例如我们的SSL TLS(传输层安全协议)

Http+SSL = Https = Http+加密+认证+保护内容完整性

3.为什么Http不安全还要去使用它

在使用Https的时候,涉及到加解密,所以会导致处理速度比较慢,一般在一些敏感的请求中,我们才会使用Https,对于其他普通请求,我们使用Http请求即可。

4.SSL

传输层的安全协议,它可以解决上面三个棘手几问题。

对称加密和非对称加密

对称加密:

  • 就是要通信双方要约定一个相同的密钥,客户端把密钥和数据存放在传输的内容里面。服务端拿到密钥进行解密,就可以拿到数据。但是这样存在一个问题,在传输的过程中,密钥很有可能被监听。从而让别人获取到我们的数据。

非对称加密:

  • 非对称加密涉及到2把密钥。一把称之为公钥 用于加密,另一把称之为私钥
    用来解密,它是只有服务器才知道的。公钥进行加密,私钥进行解密。这个时候我们使用了公钥对数据进行加密,那即是黑客拿到了数据,他也解密不了,因为它没有那个私钥。服务器有私钥,那么他就可以获取到里面的数据。

客户端如何拿到这个公钥:

  1. 数字认证机构,他是介于我们的服务器和客户端之间一个可信赖的机构。例如
    versign。首先服务器向这个数字认证机构提出一个公开密钥的申请。这个时候,数字认证机构会去核实服务器的身份,会将你申请的一个公钥进行一个数字签名。然后把你的数字签名和这个公钥一起放到一个证书里面去。
  2. 服务器向客户端发送一个数字证书,客户端这个时候时候无法明确服务器的身份(还有可能是伪造的服务器),他要到数字认证机构进行一个认证。核实一下这个数字签名是否一致,如果是真的,就能表明服务器的是真的。从这个证书中取出公钥进行一个数据的加密传输。 服务器在收到数据的时候,会对数据进行一个校验,查看数字签名的值是否发生变化,如果发生变化,则说明数据被篡改过了
    在这里插入图片描述
    如果错误,欢迎及时纠正。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值