美文网首页
https 建立连接过程

https 建立连接过程

作者: 六指禅 | 来源:发表于2017-10-20 15:37 被阅读42次

思考问题的顺序

学技术时,总是会问什么?这里也不例外,https为什么会存在,它有什么优点,又有什么缺点?为什么网站有的用http,有的用https?如果不能很好的回答,就往下看吧。

http通信存在的问题

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

后续内容的需要,这里插播一段共享密钥加密和公开密钥加密

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

https很好的解决了http的三个缺点(被监听、被篡改、被伪装),https不是一种新的协议,它是http+SSL(TLS)的结合体,SSL是一种独立协议,所以其它协议比如smtp等也可以跟ssl结合。https改变了通信方式,它由以前的http—–>tcp,改为http——>SSL—–>tcp;https采用了共享密钥加密+公开密钥加密的方式

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

服务器端需要认证的通信过程

这里写图片描述

客户端发送请求到服务器端
服务器端返回证书和公开密钥,公开密钥作为证书的一部分而存在
客户端验证证书和公开密钥的有效性,如果有效,则生成共享密钥并使用公开密钥加密发送到服务器端
服务器端使用私有密钥解密数据,并使用收到的共享密钥加密数据,发送到客户端
客户端使用共享密钥解密数据
SSL加密建立………
客户端认证的通信的过程

客户端需要认证的过程跟服务器端需要认证的过程基本相同,并且少了最开始的两步。这种情况都是证书存储在客户端,并且应用场景比较少,一般金融才使用,比如支付宝、银行客户端都需要安装证书
后续的问题

怎样保证公开密钥的有效性
你也许会想到,怎么保证客户端收到的公开密钥是合法的,不是伪造的,证书很好的完成了这个任务。证书由权威的第三方机构颁发,并且对公开密钥做了签名。
https的缺点
https保证了通信的安全,但带来了加密解密消耗计算机cpu资源的问题 ,不过,有专门的https加解密硬件服务器
各大互联网公司,百度、淘宝、支付宝、知乎都使用https协议,为什么?
支付宝涉及到金融,所以出于安全考虑采用https这个,可以理解,为什么百度、知乎等也采用这种方式?为了防止运营商劫持!http通信时,运营商在数据中插入各种广告,用户看到后,怒火发到互联网公司,其实这些坏事都是运营商(移动、联通、电信)干的,用了https,运营商就没法插播广告篡改数据了。
以上内容,来自个人对《图解HTTP》一书中https通信部分的理解,加上知乎牛人解答的理解,汇总而成

相关文章

  • Https连接建立过程

    Https的全称是Http over SSL,而SSL是在TCP协议之上的保密层,但是它也是属于传输层的,如果直接...

  • Https连接建立过程

    Https的全称是Http over SSL,而SSL是在TCP协议之上的保密层,但是它也是属于传输层的,如果直接...

  • HTTPS连接建立过程

    在面试的过程中经常会被问到http和https相关的问题,包括https连接建立过程,所以就把相关的内容整理下放在...

  • https 建立连接过程

    思考问题的顺序 学技术时,总是会问什么?这里也不例外,https为什么会存在,它有什么优点,又有什么缺点?为什么网...

  • https建立连接过程

    一、背景 现在大多数的网站都升级为https协议了,包括百度、知乎等,当然还包括对安全性要求高的支付业务和银行业务...

  • TCP、HTTPS连接建立过程

    综述SSL、TLS、CA TCP连接建立 用信鸽来解释HTTPS HTTPS连接建立 综述 理解一个抽象概念,可以...

  • HTTPS建立连接过程

    最近有同事问关于HTTPS连接建立的过程,前段时间看过不少别人的解读,现在把自己的一点理解写下来,请大家多指教交流...

  • HTTPS建立连接过程

    为什么需要HTTPS为了安全,HTTP虽然效率更快,但是他是明文传输的,这就意味着可能会泄露信息,或者被中间人攻击...

  • HTTPS 建立连接的详细过程

    HTTPS是在HTTP的基础上和ssl/tls证书结合起来的一种协议,保证了传输过程中的安全性,减少了被恶意劫持的...

  • HTTPS 建立连接的详细过程

    简介 HTTPS是在HTTP的基础上和ssl/tls证书结合起来的一种协议,保证了传输过程中的安全性,减少了被恶意...

网友评论

      本文标题:https 建立连接过程

      本文链接:https://www.haomeiwen.com/subject/wqsvuxtx.html