HTTPS 解决的问题

HTTP 通信存在的问题

CA证书与https讲解

  • 被监听
    • http通信都是明文,数据在客户端与服务器通信过程中,任何一点都可能被劫持
    • 比如,发送了银行卡号和密码,hacker劫取到数据,就能看到卡号和密码,这是很危险的
  • 被伪装
    • http通信时,无法保证通行双方是合法的,通信方可能是伪装的
    • 比如你请求www.taobao.com,你怎么知道返回的数据就是来自淘宝,中间人可能返回数据伪装成淘宝
  • 被篡改
    • hacker中间篡改数据后,接收方并不知道数据已经被更改

HTTPS 解决的问题

https不是一种新的协议,它是http+SSL(TLS)的结合体,SSL是一种独立协议
https改变了通信方式,它由以前的http—–>tcp,改为http——>SSL—–>tcp
https采用了共享密钥加密+公开密钥加密的方式

  • 防监听
    • 数据是加密的,所以监听得到的数据是密文,hacker看不懂
  • 防伪装
    • 伪装分为客户端伪装和服务器伪装,通信双方携带证书,证书相当于身份证,有证书就认为合法,没有证书就认为非法,证书由第三方颁布,很难伪造
  • 防篡改
    • https对数据做了摘要,篡改数据会被感知到。hacker即使从中改了数据也白搭

HTTPS 工作原理

中转站

SSL/TLS协议

客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤:

(1)客户使用 HTTP 的URL访问Web服务器,要求与Web服务器建立SSL连接。

(2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

(3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

(4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

(5)Web服务器利用自己的私钥解密出会话密钥。

(6)Web服务器利用会话密钥加密与客户端之间的通信。

共享密钥加密和公开密钥加密

  • 共享密钥的加密密钥和解密密钥是相同的,所以又称为对称密钥
  • 公开密钥的加密加密算法是公开的,密钥是保密的
  • 公开密钥分为 私有密钥和公有密钥,公有密钥是公开的,任何人(客户端)都可以获取
    • 客户端使用公有密钥加密数据,服务端用私有密钥解密数据
  • 异同
    • 共享密钥加密与公开密钥加密相比,加解密处理速度快,但公开密钥更适应互联网下使用

CA证书

参考链接

【区别】摘要、数字签名、数字证书

整个过程

  • 服务器向CA机构获取证书(假设这个证书伪造不了),当浏览器首次请求服务器的时候,服务器返回证书给浏览器。(证书包含:公钥+申请者与颁发者的相关信息+签名)
  • 浏览器得到证书后,开始验证证书的相关信息,证书有效(没过期等)。(验证过程,比较复杂,详见上文)
  • 验证完证书后,如果证书有效,客户端是生成一个随机数,然后用证书中的公钥进行加密,加密后,发送给服务器,服务器用私钥进行解密,得到随机数。之后双方便开始用该随机数作为钥匙,对要传递的数据进行加密、解密

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值