详解99.9%的网站没必要用https;http与https涉及的名誉问题;https安全吗?

王志勇 发表于 2018年09月28日 15:55

简述:连CCTV、php.net的官网都还只支持http,国内还有很多大网站都以http为主,谷歌浏览器就贸然将所有的http网站标为“不安全”,会让人误以为有病毒。https只是提高了安全级别,http并非不安全。(2018-09-29 07:28更新)

前几天用最新版的谷歌浏览器(Chrome),测试自己的站点。发现所有的HTTP网址,已经被打上了灰色的“不安全”,会让人误以为有病毒,如下图:

Google之前宣布,这一举措从2018年7月开始实施。再过些时间,这个灰色的“不安全”(英文浏览器显示:Not secure),将会变成红色。

多年来,我对Google一直很崇敬,但由于这个事件,对Google的崇敬跌到了谷底这一次是Google向所有的HTTP网站开炮,一刀切,所有的HTTP网站标为不安全

HTTPS安全吗?安全是相对的,没有任何技术是绝对永久安全的。所不同的是,被攻破的机率不同。

用户访问一个HTTP、HTTPS网页,过程都是:客户端(浏览器)A→路由服务器B→路由服务器C→路由服务器D……网页服务器E→路由服务器F、路由服务器G……客户端A。

上述的这些过程,用A、B、C、D表示,其中A就是我们的任意浏览器,E是网页的服务器,这些路由服务器都是运营商的服务器。HTTPS,主要是从A开始产生、发送密文hash数据,此hash数据经过的所有路由服务器,必然是处于加密的hash数据,无法被逆向还原;网页服务器E,收到的数据,必须有与相应的SSL证书的数据,才可以将这hash数据还原,网页服务器必须将这些hash数据还原,否则将无法工作──用户看到的全是乱码。

HTTP也可以模拟HTTPS的这个过程,甚至产生类似的hash数据。

上述的过程中,所有的路由服务器,如B、C、D、F、G,假设HTTP在遇到不安全的拦截时,这个不安全理论上是在路由服务器当中产生,也就是骨干线路的路由设备。

客户端(浏览器),在发送和接收时显示的明文数据,安全性是一样的。也就是说,万一电脑中了专项的病毒、木马,无论是HTTPS还是HTTP,安全性是一样的,都有可能被获取,它是针对本机电脑。即使用了HTTPS,往远程发送hash数据,但是在产生hash数据之前的明文数据已被截获,这种情况下,无论是HTTPS,还是将来更加安全的协议,都并非完全安全。

HTTPS另一个不安全的场景,在于网页服务器E。由于网页服务器E必须根据SSL证书,将hash数据还原,才能将用户发送的内容进行处理,否则全是乱码,在网页服务器端,同样万一被后门漏洞截取,那么HTTPS仍然是不安全的,此时它的安全级别与HTTP相同。
后门漏洞通常与网页程序类型无关,而是用户使用别人开发的第三方插件、或者如博客主题的php文件里隐藏着后门程序,这种后门程序容易编写,却较难察觉,无任何病毒提示,因为它本身是标准的程序。

HTTPS,比HTTP安全的地方在于,如果在客户端、网页服务器端没有被截获,那么在所有的路由服务器当中万一被截获,也无法还原,因为没有SSL证书的信息作为钥匙。

因此,只要骨干线路没有被攻击,那么HTTP和HTTPS的是一样安全的。如果电脑中了病毒,HTTPS和HTTP同样可能不安全。

经过上述的这些对比,能够看出是否有必要使用HTTPS,因为HTTPS架设较为繁琐。在这个过程中:
客户端(浏览器)A→路由服务器N个→……网页服务器E→路由服务器N个……客户端A

理论上,只要在网页服务器事先产生一个SSL证书即可完成上述的安全加密功能,通过shell命令直接安装SSL,即自签名证书,也能正常工作,然而访问时首先会出现下列的页面:

或者这样的页面:

上述2个截图是现在国内的最顶级的电视台网站的截图,这是正确地安装了SSL,仍然出现严重的警告提示:此连接不受信任,立即离开/我已充分了解可能的风险。

上述的这个截图这六、七年中常常看到,多年来一直以为网站可能有病毒,或者存在着大风险。但由于是重要的网站,还是经常会点击“我已充分了解可能的风险”。

前段时间,在尝试安装SSL时,发现出现这一提示,并非是由于网站存在风险、或者病毒,而仅仅是因为SSL未经第三方认证(第三方认证本身是多余的,后面会谈到)。第三方认证的SSL是收费的,我们看一下国内外的SSL收费情况:

万网:
GeoTrust:保护1个域名 ¥2191元/年起,保护5个域名 ¥4250元/年起
Symantec:保护1个域名 ¥4250元/年起,保护5个域名 ¥21250元/年起
GMO GlobalSign:保护1个域名 ¥11090.8元/年
中国金融认证中心(CFCA)证书:保护1个域名 ¥3400.00元/年起

西部数据west.cn:
Symantec 企业型(OV):保护1个域名 ¥3880/年
GeoTrust 企业型(OV):保护1个域名 ¥2137/年
TrustAsia 域名型(DV):保护1个域名 ¥8/年

国内的SSL销售价格,大致相似。国外的SSL价格,我搜索了一下,比国内低很多,但仍然价格不菲,大约是国内的1/5~1/2。上述这些,是现行的SSL主流在售价格。

如果你有多个域名、多个二级域名,SSL将是很大的一笔开支,已经是服务器费用的10倍以上;一个大的站点,如果有多个二级域名,本来1000多~2000元的总成本,如果全部加上SSL,一年就是几万元

博客大家现在普遍用免费SSL,我还没有尝试。

绕了一圈,再回到HTTPS安全与否的问题。HTTPS主要涉及密码问题,最高安全级别的密码,是网银、支付平台、域名登录后台、电子邮件,等等。除此之外,大多数的网站,并不需要涉及到这样的安全级别(HTTPS)。也就是说,99.99%的网站,如果仍然像过去一样使用HTTP,并不会发生想象中的安全事故,如果想提升安全级别,只需自行开发相应的加密技术,发送数据前,<input>一定要放在<form></form>,经过用JavaScript加密,或者开发如支付宝安全控件这样的插件,将加密后的数据传给<form></form>里的一个隐藏的<input>,这样,即使是用HTTP发送,被破解的机率也无限接近于0,其安全级别也和HTTPS一样。

国内外SSL如此高的费用,其本身并不需要多少的硬件、开发投入。难道是相关部门在收取高额认证费?

再说到这个第三方认证。国外对SSL的认证,记得在2004年左右,我就见过Verisign的带有一个勾的认证,那就是SSL认证、可信网站认证,在很多年前就有这种认证。国内与SSL相关的,现在也是各式各样的可信网站认证,各种眼花缭乱的“权威”名词

其实这个可信网站认证,只是买了他的SSL,给他交钱了,于是你的网站瞬间变成可信网站

由上述的对比,SSL的作用,只是为了解析hash数据成为网页服务器上可读的明文数据,防止在路由服务器、骨干线路被获取明文数据。可信网站与SSL,本来并无联系,如今SSL成了收取保护费的新形式,只要你交了保护费,就是可信网站。
恶意的网站,购买了SSL,同样会显示安全、可信网站。

HTTP并非不安全,HTTPS并非很安全。安全与否,取决于用户电脑系统的安全,以及网站程序的安全设计。Google这次强行给所有HTTP网站打上“不安全”的标签,是很不妥的做法,重大失误,也许会影响很多HTTP网站的名誉。

国外很多大网站确实已经全面使用HTTPS。但是国内很多大网站、门户网站,包括顶级的电视台网站,各电视台网站,现在网站内部仍然有很多HTTP。有很多首页是https,但是二级域名是http。

明文传送的隐私问题
HTTPS由于是hash密文传输,经过的路由无法获取实际数据。但是由于互联网数据庞大,如果所有的HTTP数据,都被拦截下来读取,那是永远读不完的,没有人会闲到去拦截。我们发布的博客、论坛、微博等等,最终都以明文呈现在相应的平台,对于这些在网页上本身是明文显示的,用加密传输本身意义不大。除非是需要登录之后才能看到的重要机密内容,这时,加密传输有一定的重要意义,但是通常很少会用到。

密码终极安全方法
无论是任何平台,不太重要的网站,设置一个密码,重要的网银密码、支付密码、电子邮件密码,使用另外不同的密码。不能在某些网站平台的密码,设置和电子邮件密码相同,会引起自己的域名被盗。

更新:
详解99.9%的网站没必要用https(续2):新发现

7条评论:
1   自由勇 2018-09-29 22:35
写这篇文章,用了4个多小时。
2   林海草原 2018-10-05 08:18
其实,对于我这个已经用https的人来说,这些我也考虑过。然而,我还是有必要上https。原因并不在博主的叙述中:我们这的联(隔开)通网络,对http的劫持已经到了令人忍无可忍的地步。手机连接由联(隔开)通网络发射的wifi (已排除路由器原因,正规厂家正规渠道),对http的网页,实行无数次弹出道德水准极其低下的网页进行覆盖,同时无数次让你下载道德水准更加低下的app,手机浏览器已经报警,称该网站多次请求下载app。关掉,重新打开浏览器,再次访问http网页,还会弹出,当天可以弹出无数次。移动宽带发射的wifi没有这个问题,顶多显示一个圈,提示宽带绑定的手机号还有多少流量。电信wifi农村没有,我去城里连接时,看到页面下方会弹出“领红包”等劫持页面。联(隔开)通的无耻已经到达令人发指的地步。不过如果上了https这一切都避免了。
我愿意牺牲一点性能,换取访客浏览的便利。

自由勇 2018-10-05 11:06
是的,这是https的重要作用之一。:)

3   自由勇 2018-10-22 08:49
Trackback来自《哪怕做得再好,凡事强迫只会适得其反

之所以做这个梦,还是因为受到https的困扰。对于一个项目,涉及到多个域名、多个二域名,部署https那是相当麻烦的事情,劳民伤财。为了防止密码泄露,可以在用户发送密码前、服务器端都做加密处理,这样能达到https加密的相同安全级别。https只是提高了路由传输的安全级别,其余安全级别和http是一样的,都不能完全防止木马。

SSL本意是hash加密,通过shell命令直接安装SSL的这种自签名证书,较为简便,其安装时间和安装PHP差不多。但是重要的麻烦在于,这种自签名证书的网页,浏览器首先会有一个提示:此连接不受信任,立即离开/我已充分了解可能的风险。这种提示,会让用户误以为网页有病毒,实际与病毒无关。

自签名证书的网页出现这种提示,告诉我们,SSL还有另一个含义,需要使用第三方已经“认证”的证书,此时安装这个已经认证的证书,在shell命令下安装的组件相当多,花的时间相当长,近似于Linux主机下update命令所花的时间。hash加密,原本是几K~十几K之内能完成的程序,却关联了这么多的组件。如果只为一个hash加密,自签名证书足矣,而浏览器却默认屏蔽自签名证书。

http一直在发挥它栋梁般的作用,如今有的浏览器举起大旗让http下岗,让人不得不惊慌。

4   自由勇 2018-10-29 23:06
Trackback来自《历史回顾:独立博客有必要安装https吗?

从这些历史截图里,可以看到国外有知名度的网站约99.5%以上在2014年以前都是http。

5   自由勇 2018-11-03 09:10
Trackback来自《VPS新机安装分享:Let’s Encrypt的https正确安装方法

虽然本文写完了,本博客还是暂时不使用https,原因是:前文1、前文2。有一定的性能损失,测试了很多次,同一个页面,http比https访问快不少、快很多。

6   八戒 2019-10-05 22:33
http比https快不少?并不敢赞同,我的主机也就1M的带宽,启用nginx和Gzip后,那损失的速度也早就忽略不计了。

自由勇 2019-10-11 09:08
可能国内主机http和https的访问速度差不多,最近发现一位博友用国内主机,https很快。(但是他的博客之前有很长一段时间速度有些慢,让我一直感觉可能是问题出在https上。)

如果是用国外主机(如美国),https真的比http要慢很多,主要是响应方面,我每次都是刷新几次测试,https的响应比http慢,很多次都要延迟0.5-2秒,但有时两者差不多。如果没有使用https,http总是很快,没有这个延迟。

http和https各有利弊。去年的时候我发现国外的英文博客大多使用https,最近发现http的英文博客又多了起来。
http速度快,https加强传输安全。
我的站点、二级域名较多,如果都用https,维护起来很麻烦,所以我更喜欢http,用了十多年了。

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

直接发送Trackback到此文章

说明:本评论系统不支持HTML代码。(您的留言需要审核,审核规则请见这里。)

王志勇:1980-09-26 (40周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2020年10月
2020年09月(14)
2020年08月(14)
2020年07月(14)
2020年06月(16)
2020年05月(13)
2020年04月(18)
2020年03月(14)
2020年02月(15)
2020年01月(16)
2019年12月(11)
2019年11月(26)
2019年10月(25)
2019年09月(30)
2019年08月(10)
2019年07月(29)
2019年06月(30)
2019年05月(26)
2019年04月(30)
2019年03月(30)
2019年02月(30)
2019年01月(30)
2018年12月(30)
2018年11月(30)
2018年10月(30)
2018年09月(17)
2016年-2017年(9)
2014年06月-09月(10)
2013年 +

2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2020 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue