详解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):新发现

9条评论:
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,用了十多年了。

7   C-R 2020-11-12 01:22
主要还是防止运营商劫(隔开)持植入广告,18年的时候家里用的广电宽带,自己的独立博客,首页不显示,进入内页/后台就有广告。找他们就装傻,找人上门看,电话里讲的明明白白让客服找他们后台的技术,别叫人来,就装听不懂,来回几次负责上门检修的人都烦了。看网上说投诉到工(隔开)(隔开)部有用,填写完内容提交时要填写个人信息,应该是因为当时未成年,身份证号字段显示有误无法提交。另外,当时的宽带Ping Github,解析到的是个北京的IP,不过修改hosts后可以打开。这些运营商真的相当流氓。
另一方面是考虑到用户本身使用了不安全的网络,比如黑(隔开)客创建的WiFi,用HTTP明文传输可以被直接抓取,如果是HTTPS难度相对会大一些。
个人博客这类展示性的网站感觉确实没必要,也不需要用户提交密码什么的有被窃取的价值的数据,不考虑运营商劫(隔开)持,上HTTPS就很鸡肋了。
8   wys.me 2021-01-26 12:22
林海草原说的情况我也遇到过,手机浏览器一旦弹出那种低下内容的推送框,就再也关闭不了了。我的解决办法,是把手机强制关机;再开机,安装火绒或其他杀毒软件,清理后,再使用浏览器。

抱歉,评论已关闭。

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

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

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

Blog存档 Archives

2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +

2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2024 auiou.com All rights reserved.
此Blog程序由王志勇编写