https的理解

https的理解

 

上一篇简单的了解了http的过程,那https的实现过程又是怎样的呢?

其实上网找了很多的资料,其实之前一直对这些协议的实现一点都不懂,只是单纯的在网上找教程,下个证书直接服务器配置一下,然后可以用了就好。

 

https数据过程中是怎么做到加密的呢?

从字面上意思去理解,就是https传输过程中,所有数据是加密过的,就算被他人非法获取,由于第三方不知道秘钥和加密方式而破解不了。那客户端和服务器怎么约定这个秘钥的呢。

 

这个时候需要知道客户端和服务器端怎么去约定和交换秘钥,如果在网络上直接以明文交换,这是很不安全的。这个时候引入了CA证书,一个第三方机构颁发证书。这个证书是一个非对称加密方式,会有一个公钥和私钥。公钥用来发送给客户端,私钥用来对客户端数据解密。

 

服务器部署https,需要去第三方申请证书,这个证书在客户端和服务器交换秘钥起到作用。一下过程:

前提客户端和服务器已经完成http的三次握手

  1. 服务器会发送一个证书(公钥)给客户端
  2. 客户端判断证书中内容(比如,证书的签名是否跟请求的服务器一致,这部分有浏览器的TSL去分析证书)。如果证书没问题,就用证书对客户端随机生成的一串字符进行加密(以后数据交流用的秘钥)。
  3. 服务器的拿到数据,用私钥解密得到客户端发来的秘钥,这样客户端和服务器就安全的约定好了数据交换的秘钥了。第三方没有这个秘钥,就算截取到数据也是破解不了的。
     
    这里涉及到一个问题,客户端和服务器端,为什么最后约定的秘钥是一个对称加密的方式,而不用非对称加密方式。原因是非对称加密比对称加密在计算时比较消耗资源。
     
    这里写的太粗糙了,有一篇文章讲的非常详细。https://blog.csdn.net/cout__waht/article/details/80859369
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值