详解 Https

什么是https?

https=http+SSL/TLS , SSL/TLS 是介于http层和tcp/udp层之间。

http为什么需要加密?

http以明文传送数据。说白了,就是不安全。

什么是对称加密?

只有一把钥匙,客户端和服务器都有这把钥匙,客户端加密,服务器解密,服务器加密,客户端解密。

里插入图片描述

为什么不能使用对称加密?

如果使用对称加密,意味着客户端和服务器都需要保存一把钥匙。
1 服务器给客户端的时候,容易被劫持。

2 客户端就需要保存世界上所有服务器的地址。

明显不可行。

什么是非对称加密?

非对称加密是一对儿钥匙,一个公匙,一个私匙。规定公匙加密,私匙解密,私匙加密,公匙解密。

在这里插入图片描述

使用非对称加密可行吗?

服务器掌管一套私匙和公匙,服务器将公共钥匙传给客户端,客户端将明文使用公共钥匙加密,然后传回给服务器,服务器使用私密钥匙解密。保证了浏览器到服务器这条路是安全的。使用同样的方法客户端也掌握一套私密钥匙和公共钥匙,也同样能保证服务器到客户端这条道是安全的。 但是这样是需要两套 私密钥匙和公共钥匙。我们都知道非对称加密算法是很耗时的性能操作。这样做的最大问题就是性能问题。

那HTTPS采用的是哪种加密方式呢?

Https采用的是对称加密和非对称加密合作的方式。
1 某网站拥有非对称加密公共钥匙A和私密钥匙A’.
2 浏览器向服务器请求,网站将A发送给客户端。
3 浏览器生成对称加密钥匙X,并且公共钥匙A加密,发送给服务器。
4 服务器使用私密钥匙A’解密该内容得到对称加密钥匙X.
5 客户端和服务器同时拥有对称加密的钥匙X,从此以后两者通讯就可以使用对称加密的方式通讯。

HTTPS是如何修复存在漏洞的?

1 如何保证公有要是A在传递到客户端的时候不被中间人攻击?

该网站需要从CA机构申请数字证书,该证书类似于给网站的公有消失颁发了一个身份证。数字证书里含有证书持有者信息、公钥信息等。

2 如何保证数字证书不被篡改?

数字证书=证书明文+数字签名(证书明文->hash->CA机构的公有钥匙加密->数字签名)

在网络传送过程中,中间人只能去修改证书明文,而不能修改数字签名,因为数字签名使用了CA机构的私有钥匙进行了加密。当到达客户端的时候,客户端会使用CA机构的公有钥匙对数字签名解密,从而得到证书明文hash过的证书明文,然后把数字证书中的证书明文也做hash,将的到内容进行对比,相同则验证通过。

3 如何能够确保数字证书不会被整个替换?

数字证书中包含了证书持有人,公有钥匙等,可以对比自己请求的和证书中提供的服务器地址是否一致,如果不一致就是被替换了。整个时候就被拒绝连接了。

4 数字签名的生成过程

证书明文Z,通过hash算法得到Z’,使用CA机构的私有钥匙加密变成数字签名W,
数字证书=Z+W.

5 为什么制作数字签名的时候需要hash一下?

最显然的是性能问题,前面我们已经说了非对称加密效率较差,证书信息一般较长,比较耗时。而hash后得到的是固定长度的信息(比如用md5算法hash后可以得到固定的128位的值),这样加解密就快很多。

6 怎么证明CA机构的公钥是可信的?

操作系统、浏览器本身会预装一些它们信任的根证书,如果其中会有CA机构的根证书,这样就可以拿到它对应的可信公钥了。

7 每次进行HTTPS请求时都必须在SSL/TLS层进行握手传输密钥吗?

服务器会为每个浏览器(或客户端软件)维护一个session ID,在TLS握手阶段传给浏览器,浏览器生成好密钥传给服务器后,服务器会把该密钥存到相应的session ID下,之后浏览器每次请求都会携带session ID,服务器会根据session ID找到相应的密钥并进行解密加密操作,这样就不必要每次重新制作、传输密钥了!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

肉丸饭团

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

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

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

打赏作者

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

抵扣说明:

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

余额充值