前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅析HTTPS原理及理论基础

浅析HTTPS原理及理论基础

作者头像
用户7146828
发布2021-08-09 15:01:56
3380
发布2021-08-09 15:01:56
举报
文章被收录于专栏:旧云博客旧云博客

随着互联网高速发展,网络安全也越来越被人重视,而传统的HTTP协议是明文传输,若HTTP请求被骇客截取,就能轻松获取其中内容,存在极大安全隐患。为了解决这个问题,Netscape 公司制定了HTTPS协议,HTTPS可以将数据加密传输,也就是传输的是密文,即便黑客在传输过程中拦截到数据也无法破译,这就保证了网络通信的安全。 际上包含了两次HTTP传输,可以细分为8步:

客户端向服务器发起HTTPS请求,连接到服务器的443端口 服务器端有一个密钥对,即公钥和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,不能将其泄露,公钥可以发送给任何人。 服务器将自己的公钥发送给客户端。 客户端收到服务器端的公钥之后,会对公钥进行检查,验证其合法性,如果发现发现公钥有问题,那么HTTPS传输就无法继续。严格的说,这里应该是验证服务器发送的数字证书的合法性,关于客户端如何验证数字证书的合法性,下文会进行说明。如果公钥合格,那么客户端会生成一个随机值,这个随机值就是用于进行对称加密的密钥,我们将该密钥称之为client key,即客户端密钥,这样在概念上和服务器端的密钥容易进行区分。然后用服务器的公钥对客户端密钥进行非对称加密,这样客户端密钥就变成密文了,至此,HTTPS中的第一次HTTP请求结束。 客户端会发起HTTPS中的第二个HTTP请求,将加密之后的客户端密钥发送给服务器。 服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文。

然后服务器将加密后的密文发送给客户端。 客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。这样HTTPS中的第二个HTTP请求结束,整个HTTPS传输完成。 整个过程如下图

1.png
1.png

总结 HTTPS = HTTP + TLS/SSL,既对HTTP传输过程进行加密,保障数据安全。 HTTPS同时使用了非对称加密和对成加密 非对称加密:客户端发起HTTPS请求 -> 服务端返回公钥给客户端 -> 客户端生成一个随机值并使用公钥进行加密 -> 服务端收到加密内容后使用私钥解密得到客户端随机值 对称加密:服务端使用随机值对传输内容加密 -> 客户端收到加密内容用之前生成的随机值解密

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021年05月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档