麒麟臂不服不行

# 蓝月登峰
SLOW MAKES BETTER
  1. 首页
  2. 网络
  3. 正文

为什么要用HTTPS?

2022年6月10日 2074点热度 0人点赞 1条评论

HTTPS是什么?

HTTPS在原来的HTTP协议的基础上多了一个安全嵌套层,简单的说就是在TCP三次握手完成之后会多加一个SSL/TLS的握手(SSL和TLS可以被认为是同一个东西),来验明网站的正身并保证后续报文传输的安全。接下来会展开讲一讲HTTPS是如何保证这2点的。


CA证书保证网站的可信

黑客可以用DNS被劫持/污染等手段,让我们通过域名的访问到他们伪造的网站,从而窃取用户的重要信息。对于这种伪造网站,我们无法完全通过技术手段来排查,于是引进了有公信力的第三方。域名真实的拥有者通过像第三方申请,由第三方对身份进行验证后颁发证书(就像我们通过公证处公证后获得了公证文件),客户端通过认证证书就能验证网站是否被伪造。

这里可能会产生一个问题,黑客如果伪造一个证书是不是就可以骗过客户端了?实际上只有通过WebTrust认证的机构颁发的证书才会进入到主流客户端的受信任证书列表,简单的说就是客户端维护着一份受信任的颁发机构,这些机构是通过了WebTrust的认证,之后这些机构颁发的证书才被客户端所信任。所以自签名的证书是不会受到保护的!


报文传输加密的安全

再保证网站本身不会被伪造后,还需要保证报文在传输过程中的安全。黑客可以通过中间代理等手段截取客户端与服务端之间的通信数据.

如何保证通信数据的安全呢?当然是加密啦!
HTTPS协议在这里使用了两种加密方式:
1. 非对称加密
优点:
安全性高,加密算法复杂
缺点:
性能稍差(相对于对称加密),公钥容易被黑客利用

2. 对称加密
优点:
算法公开、加密速度快、加密效率高
缺点:
需要妥善管理秘钥

首先我们要知道,签发的CA证书里包含公钥,而私钥是需要自己保管的不能公开,当客户端第一次访问服务端时,服务端会把证书返回给客户端,客户端验证过证书后,会用公钥将对称算法的秘钥进行加密,再发送给服务端,服务端用私钥解密后拿到对称算法的秘钥,这样后续便可以使用对称加密算法进行通讯了,详细过程如下图

可以再聊聊,为什么这里要用两种加密方式?
只用对称加密肯定是会被man-in-middle攻击的,那只用非对称加密可以吗?
答案是不可以

  1. 非对称加密的公钥是公开的,攻击者可以拿到公钥解密出服务端返回的报文
  2. 非对称加密的性能不如对称加密,拖累了传输速度
标签: CA HTTPS 安全 对称加密 非对称加密
最后更新:2022年7月15日

mysens

Keep Code Simple

点赞
< 上一篇
下一篇 >
订阅评论
提醒
guest

guest

1 评论
最旧
最新 最多投票
内联反馈
查看所有评论
find
find
2 年 前

这个和三次握手什么关系?

1
wpdiscuz   wpDiscuz

mysens

Keep Code Simple

最新 热点 随机
最新 热点 随机
istio环境下mysql连接失败问题 常见的docker hub mirror镜像仓库 wordpress使用云服务实现图片上传自动添加水印 jdk8默认开启UseAdaptiveSizePolicy造成的fullgc CPU伪共享的浅析 docker + nginx + wordpress建站
istio环境下mysql连接失败问题
磁盘空间没有释放的问题 CPU伪共享的浅析 为什么要用HTTPS? jdk8默认开启UseAdaptiveSizePolicy造成的fullgc istio环境下mysql连接失败问题 常见的docker hub mirror镜像仓库
标签聚合
证书 CPU HTTPS CA 建站 对称加密 非对称加密 安全

COPYRIGHT © 2022 麒麟臂不服不行. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备18005036号

鄂公网安备 42010602004698号

wpDiscuz