从2017年1月(Chrome56)开始, Google Chrome56将强制http标识为不安全 ,知乎上@车小胖 同学用一个汽车拉苹果的例子,很形象的说清楚了https与http的区别。虽然https很安全,但也不是绝对可靠。

https和http有什么区别

记得小时候,敞篷卡车从果园拉着一车车的苹果,运到码头上,然后再装载到万吨货轮上运往上海。但运往码头的最后一公里,道路坑坑洼洼,卡车会放慢速度,这时就会有一些青少年爬上货车,从袋子里拿苹果吃,每次都会有一袋或几袋被开包,为此运输公司非常苦恼。

后来为了减少损失,运输公司使用了封闭的集装箱,装载好苹果再将车厢锁起来,到达目的地再打开,这样即使有人想从车厢里拿苹果,也无从下手。

以上敞篷卡车所对应的就是 TCP ,苹果对应的是 HTTP ,由于敞篷卡车无法保证在传输路途上,苹果是否被窃取、调包、所以最终有多少货物到达目的地,那完全要看坏小子的心情,如果坏小子只是插入一些广告,用户的浏览器最多弹出一些广告页面。

更甚一步,窃取用户cookie,登录用户账户做非法的勾当。还可以通过明文http植入木马,可以远程控制用户电脑,窃取用户敏感信息。

集装箱代表 TCP + TLS(Transport Layer Security) ,从果园运输的十吨苹果能够原封不动地到达目的地,既不会多也不会少。

明文HTTP让坏人有机可乘

为了实现网络的高度安全,需要很多环节协同工作,只要有一个环节有漏洞,就有可能被利用,而为了提高网络的相对安全性,最高优先级就应该从HTTP下手,因为这个用户使用的最频繁。

目前几乎所有的个人电脑都处于路由器NAT保护之下,如果用户不主动访问Internet,别人无从对NAT后个人电脑下手。

一旦用户主动访问Internet,就相当于在NAT城门上啄了一个小洞,这个小洞就是一个NAT映射表,如果没有流量刷新,300秒之后小洞就会关闭。

在 小洞存活的300秒以内,允许外部主机来访问个人电脑,而明文的HTTP就是最好的载体。 一旦个人电脑被植入了木马,木马程序就会主动周期性发消息给Internet的控制终端,这样NAT小洞会一直敞开大门,给远程控制提供了便利。

HTTPS提供了端到端的安全加密

不仅提供数据机密性,还提供数据完整性保护、防重放,这样坏小子就很难下手,没有session key 很难去偷窥并篡改用户的数据,更无法依赖HTTPS这个载体植入木马。

一定有同学会有疑问,为何明文传输的HTTP可以被劫持,篡改网页内容,而加密传输的HTTPS却不可以?

那是因为HTTP被劫持篡改页面,重新计算TCP checksum,用户电脑是无法判别是否被篡改,只好被动接收。

而加密传输之后,有了HMAC保护,任何篡改页面的尝试,由于没有session key,无法计算出和篡改网页一致的HMAC,所以 数据接收端的SSL/TLS会轻易地识别出网页已被篡改,然后丢弃 ,既然无法劫持,也就没有篡改的冲动了,所以HTTPS可以很好地对付网页劫持。

HTTPS并不是100%绝对可靠 证书是个办法

斯诺登暴露出,针对IPsec,TLS的密钥交换所依赖的Diffie-Hellman算法攻击,即通过离线的超级计算机预先计算出海量的公钥、私钥对,一旦尝试出私钥就会得到Master Key,进而推导出session key,这样历史数据、现在、将来的数据全可以解密。

以上是被动攻击方式,针对数字证书欺骗则属于主动攻击,可以实时地解密用户数据。但种种主、被动攻击难度都很高,往往是以国家意志为源动力,而不是一些小团体所能完成的。

有读者肯定会心生疑惑,既然HTTPS不是绝对可靠,那依靠HTTPS工作的网银安全吗?安全,请放心使用,因为银行这个场子是国家开的,自然不会自己砸自己的场子。

电脑网银用户一般都有一个USB Token,里面有 用户数字证书私钥(Private Key) ,网银转账一定要有用户 数字证书私钥 签名的转账确认,而这个私钥只有用户的Token唯一拥有,而银行拥有用户 数字证书公钥(Public Key),可以成功解密出用户私钥(Private Key)签名的转账确认,以此确信 转账指令 是由拥有USB Token的用户发出来的,这样会进一步提高网银的安全性。

手机银行一般都是APP,可以强制使用 (Public Key Pinning ) 特定根证书作为证书信任链的顶端,可以避免伪造证书,所以APP不会与假的服务器建立TLS连接,只会与真正的服务器建立安全隧道,一旦隧道成功建立,通信就是安全的,即使转账也是安全的。当然如果转账之前通过手机短消息确认,那安全性基本上就无懈可击了。

原文发布时间:2017年3月24日

本文由:安全加 发布,版权归属于原作者

原文链接:http://toutiao.secjia.com/what-difference-https-and-http

本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

用汽车拉苹果的例子来说HTTPS的安全性很容易理解 但HTTPS并不是绝对可靠的相关推荐

  1. JavaScript下拉菜单的例子

    原文地址:http://www.cnblogs.com/yes123/p/3944046.html JavaScript下拉菜单的例子分享 css+js下拉菜单 完整代码:  <!DOCTYPE ...

  2. 一文读懂Https的安全性原理、数字证书、单项认证、双项认证等

    为什么80%的码农都做不了架构师?>>>    本文引用了作者Smily(博客:blog.csdn.net/qq_20521573)的文章内容,感谢无私分享. 1.前言 目前苹果公司 ...

  3. TLS握手协议分析与理解——某HTTPS请求流量包分析

    https://xz.aliyun.com/t/1039 HTTPS简介 HTTPS,是一种网络安全传输协议,在HTTP的基础上利用SSL/TLS来对数据包进行加密,以提供对网络服务器的身份认证,保护 ...

  4. HTTPS 为什么会出现 ?HTTPS 解决了 HTTP 的什么问题?HTTPS 和 HTTP 的关系是什么?TLS 和 SSL 是什么?

    看完这篇 HTTPS,和面试官扯皮就没问题了 HTTPS 为什么会出现 一个新技术的出现必定是为了解决某种问题的,那么 HTTPS 解决了 HTTP 的什么问题呢? HTTPS 解决了什么问题 一个简 ...

  5. Android Https相关完全解析 当OkHttp遇到Https

    http://blog.csdn.net/lmj623565791/article/details/48129405: 本文出自:[张鸿洋的博客] 1. 概述 其实这篇文章理论上不限于okhttp去访 ...

  6. python交互式编程入门先学什么_为什么 Python 对于编程入门学习来说,是一门很棒的语言...

    在这篇文章里,我会来阐述下为什么我觉得 Python 对于计算机编程入门教学来说是一门很棒的编程语言(对基础编程课程更多观点可以查看这篇文章).这也是从我针对初学者Python 编程教学过程中获得并总 ...

  7. 说说你对http、https、http2.0的理解【前端每日一题-25】

    说说你对http.https.http2.0的理解? HTTP的基本优化 影响一个HTTP网络请求的因素主要有两个:带宽和延迟. 带宽 如果说我们还停留在拨号上网的阶段,带宽可能会成为一个比较严重影响 ...

  8. 如何成为一个合格的算法工程师?这对你来说也许并不是很困难

    基础 算法.数据结构 这俩是基础中的基础,作为一个合格的算法工程师,你可以写不出来红黑树,也可以不懂网络流,但是最基础的排序.递归.动态规划.树.堆栈.队列等算法和数据结构是一定要会的,并且还需要有一 ...

  9. HTTP与HTTPS的安全性讨论

    转载文章:http://blog.csdn.net/xifeijian/article/details/54667989 1.http为什么不安全? http协议属于明文传输协议,交互过程以及数据传输 ...

最新文章

  1. maya骨骼显示_干货 | 如何删除maya中绑定好的骨骼,只留下一个干净的模型
  2. 数据流通实现“可用不可见”?腾讯巧夺“天工”
  3. java_有返回值线程_提前加载例子
  4. 机械师怎么打开计算机管理,机械师创物者-R笔记本智能控制中心使用教程
  5. Android通用开发笔记和高性能安卓开发框架源码
  6. 比较全面的MySQL优化参考
  7. ADO学习(七)ADOX相关知识
  8. horizontal center and vertical middle in CSS
  9. SpannableString 给TextView添加不同的显示样式
  10. python自动交易 缠论_缠论自动交易系统实现了
  11. 【UE4笔记】Collision碰撞
  12. 7教程统计意义_极少人知道的SPSS数据拆分技巧——「杏花开生物医药统计」
  13. 一篇文章,带你详细了解华为认证体系证书(1)
  14. 公众号要如何排版?这几个必备公众号排版技巧千万不要错过哦
  15. 如何利用python爬取豆瓣250排行电影
  16. [转载]Html 特殊符号 让版权符号更美观_几何途行_新浪博客
  17. RFT 控件类型关系
  18. 【高等数学】二重积分交换积分次序,反三角函数主值区间选择
  19. 历史库存sap_SAP 常用的库存表
  20. 精灵图(雪碧图)的好处

热门文章

  1. tpc-c 测试结果 tpc-c
  2. 鞭炮游戏 甲、乙,丙三人同时开始放第一个鞭炮
  3. Centos7.5安装Chrome浏览器
  4. [ATF] ARM Trusted firmware 构建选项
  5. 国外的码农是什么状态?硅谷程序员:不加班,不穿女装
  6. D-Link DCS系列监控账号密码信息泄露
  7. java实现table斜线,网页画个表,td、tr的,然后左上方第一个表格要求斜线格
  8. 学习书籍与视频的选择
  9. C语言代码覆盖率测试软件,代码覆盖率检测工具GCOV
  10. 从零开始学习HTML