王志勇 发表于 2018年09月28日 15:55
前几天用最新版的谷歌浏览器(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):新发现
自由勇 2018-10-05 11:06
是的,这是https的重要作用之一。:)
之所以做这个梦,还是因为受到https的困扰。对于一个项目,涉及到多个域名、多个二域名,部署https那是相当麻烦的事情,劳民伤财。为了防止密码泄露,可以在用户发送密码前、服务器端都做加密处理,这样能达到https加密的相同安全级别。https只是提高了路由传输的安全级别,其余安全级别和http是一样的,都不能完全防止木马。
SSL本意是hash加密,通过shell命令直接安装SSL的这种自签名证书,较为简便,其安装时间和安装PHP差不多。但是重要的麻烦在于,这种自签名证书的网页,浏览器首先会有一个提示:此连接不受信任,立即离开/我已充分了解可能的风险。这种提示,会让用户误以为网页有病毒,实际与病毒无关。
自签名证书的网页出现这种提示,告诉我们,SSL还有另一个含义,需要使用第三方已经“认证”的证书,此时安装这个已经认证的证书,在shell命令下安装的组件相当多,花的时间相当长,近似于Linux主机下update命令所花的时间。hash加密,原本是几K~十几K之内能完成的程序,却关联了这么多的组件。如果只为一个hash加密,自签名证书足矣,而浏览器却默认屏蔽自签名证书。
http一直在发挥它栋梁般的作用,如今有的浏览器举起大旗让http下岗,让人不得不惊慌。
从这些历史截图里,可以看到国外有知名度的网站约99.5%以上在2014年以前都是http。
虽然本文写完了,本博客还是暂时不使用https,原因是:前文1、前文2。有一定的性能损失,测试了很多次,同一个页面,http比https访问快不少、快很多。
自由勇 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,用了十多年了。
抱歉,评论已关闭。
置顶的文章:
论朋友圈可以发什么?
短信验证开发的方案分享
巡回更新:2018-09-21
速度是永恒的主题
UTF-8、HTTPS原来都是浮云
https安全吗?
独立博客有必要安装https吗?
近期的主题:
夜晚靓歌(10):你没看过的《星雨心愿》
Feedval、Blogval将下线/谈理财和生存
2024.9感言
人生讨论(20):有人借钱怎么办?(2)
人生讨论(19):迄今为止最强的情感频道
数码评测(67):让小米/红米手机的反应提高1~2倍
数码评测(66):无线网卡FW150UH VS FW150UH
数码评测(65):如何快速自制CPU天梯图?
数码评测(64):2024年,你还在用VGA线吗?
人生讨论(18):6年就可以实现财务自由
人生讨论(17):为什么总是受欺负?
人生讨论(16):要钱的最新妙招
创业杂谈(17):什么项目能赢利?
人生讨论(15):有人借钱怎么办?
数码评测(63):高清切换超级神器
数码评测(62):再谈视频的尺寸
数码评测(61):近期数码采购和折腾
人生讨论(14):看穿尊重
数码评测(60):图拉丁-最佳中配工作“免费”手机
创业杂谈(16):博客何时终结?
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +