Https为什么比Http安全?

Https是在Http之上做了一层加密和认证; 主要的区别是Https在TLS层对常规的Http请求和响应进行加密,同时对这些请求和响应进行数字签名。

Http请求的样式: 明文传输,通过抓包工具可以抓到

GET /hello.txt HTTP/1.1
User-Agent: curl/7.63.0 libcurl/7.63.0 OpenSSL/1.1.l zlib/1.2.11
Host: www.example.com
Accept-Language: en 

Https的请求样式:

t8Fw6T8UV81pQfyhDkhebbz7+oiwldr1j2gHBB3L3RFTRsQCpaSnSBZ78Vme+DpDVJPvZdZUZHpzbbcqmSW1+3xXGsERHg9YDmpYk0VVDiRvw1H5miNieJeJ/FNUjgH0BmVRWII6+T4MnDwmCMZUI/orxP3HGwYCSIvyzS3MpmmSe4iaWKCOHQ== 

通过抓包工具抓到了也不知道什么含义。

Http的风险?

  • 数据明文传输,可被嗅探
  • 可被中间人工具,网络劫持

Https的工作原理?

Https使用了对称加密,非对称加密,以及认证。 HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段,关于证书的认证,首次下载服务器证书的时候会像第三方机构进行认证,后续使用本地已经认证好的证书。

1、客户端发起Https请求,服务器返回自身的https证书和公钥;

2、客户端验证证书是否有效,证书一般有颁发机构,如果能认证颁发机构认证的证书有效即认为有效证书。

3、客户端随机生成公钥私钥对,然后再生成一个随机数;

4、客户端通过服务器的公钥再进行加密;

5、服务端收到了客户端用自己的公钥加密的内容,使用私钥解密;拿到随机数。

6、后续的数据传输都使用随机数进行加解密;

后续服务端使用客户端的公钥加密,客户端使用自己的私钥解密; 客户端使用服务器的公钥加密,服务器使用自己的私钥解密; 同时传输的内容也通过了随机数进行加密;

Q&A

Q: **HTTPS 为什么安全?**A: 因为 HTTPS 保证了传输安全,防止传输过程被监听、防止数据被窃取,可以确认网站的真实性。Q: **HTTPS 的传输过程是怎样的?**A: 客户端发起 HTTPS 请求,服务端返回证书,客户端对证书进行验证,验证通过后本地生成用于改造对称加密算法的随机数,通过证书中的公钥对随机数进行加密传输到服务端,服务端接收后通过私钥解密得到随机数,之后的数据交互通过对称加密算法进行加解密。Q: **为什么需要证书?**A: 防止”中间人“攻击,同时可以为网站提供身份证明。Q: **使用 HTTPS 会被抓包吗?**A: 会被抓包,HTTPS 只防止用户在不知情的情况下通信被监听,如果用户主动授信,是可以构建“中间人”网络,代理软件可以对传输内容进行解密。

网安零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值