













本栏目的内容和观点是基于实际的程序开发逻辑。本期讨论的话题包含:为什么SSL证书的有效期越来越短、技术上的定向安全方案设计、密钥的过期时间与安全、免费SSL证书能用到什么时候/SSL是否会全面收费、网页数据交互传输的3种途径get/post/json、网银的数字证书、网银的金额和转账帐号如何防篡隔开改。
http的便利性本来是多方位优于https,但资本为了快速推广SSL证书、实现利益收隔开割,直接将http打上“不安全”的标签。技术上的安全防护,本质上都是基于定向安全,http和https都是基于定向安全,所以 http=不安全 是编造的商业策略。
为什么SSL证书的有效期越来越短?
按照计划,Let’s Encrypt的有效期将在2029年缩短到47天。对个人的影响不大,因为个人大多是使用自动续期。SSL证书的有效期越来越短,本质上很可能与安全无关,安全性是包装,这次的目标很可能是迫使更多的企业网站放弃免费SSL。因为免费SSL的有效期短,更容易过期,出现安全警告,老板和网站开发团队中的领导对此更敏感,所以他们有的人会逐渐放弃免费SSL。
相对的,个人博客、个人网站因为免费SSL证书过期,出现安全警告,对个人的影响不太大,因此没有像企业网站那样在意。
因为防止密阴泄露,浏览器把SSL的信任时间定为47天,理由是否成立?因为互联网的传输,一般是在几十毫秒~3秒内返回所有的HTML、CSS、.js数据,密钥内部参数的有效期,可以设定为10秒,最长不超过30秒,做一个内部验证6~8位的动态参数(每次都随机生成),就类似常见的6位数短信验证码,再加上1~2个算法参数,且加密方式不公布,即使有人获得这2~3个参数,也无法在10秒钟内完成一个需要20年以上的破解工作。
这一次,浏览器对外宣称是防止密钥泄露,产生安全问题,所以进一步缩短SSL证书的有效期。这说明:
1. 这与宣称的安全是自相矛盾的。SSL证书如此安全,怎么可能密钥泄露?
2. 这说明任何安全产品,安全都是相对的,没有100%安全的产品。既然SSL存在这种密钥泄露的隐患,那么更说明把http强行打上“不安全”,是不公正的,属于欺行霸市。因为http潜在的隐患,都可以修复,不一定需要使用https这种方式。
而2018年刚推出http“不安全”标签的时候,如果这家浏览器把http页都做上页面拦截,询问是否继续,那么这家浏览器可能就在2018年的时候就会倒下、淡出市场,因为2018年的时候,国内外大部分的网站、官方网站绝大部分都是http模式。
如果当时这家浏览器在2018年没有给http打上“不安全”,那么今天2026年,https的市场占有率仍然很低,进展十分缓慢。到了2026年如果开始2018年时的策略,那么完全是把这8年的历史,向后推8年
──也就是如果2026年,开始给http打上“不安全”,https的占有率会逐年快速上升;但如果在2026年强行给http做页面拦截,这家浏览器会在2026年倒下。
所以这是一个“必然”经历的商业闭环、因果逻辑。
页面拦截,就是像访问自签名SSL那样,或者SSL证书过期后(会自动转成自签名SSL),会出现安全提示,询问是否继续,圈内称为“红信”,前几年,口粮级的网站12306,就是使用自签名SSL,很多人顶着红信也得访问12306。
3. 如上述的6~8位的动态参数、再加1~2个算法参数,把动态参数的有效期设定为10秒,如果SSL的密钥采用类似的动态方式,不存在SSL证书的有效期为47天、90天、200天、398天的安全问题,无论有效期有多长都没问题,哪怕是10年、20年,因为内部的有效期是10秒。
如果SSL连这样基础的动态验证的方法都想不到,说白了,就是现在很多人说的本质“不是蠢,就是坏”。如果不是坏,那么浏览器的开发团队,基础的安全开发能力不健全,对于浏览器这件事应该是“不是坏,就是蠢”,显然浏览器厂商是极致聪明的。
所以不要低估当时SSL证书开发者的思维,一切安全问题他们都想到了。SSL证书的有效期,可以与安全有关,但这种安全设计连基础的内部过期校验都不做,就是所谓的密钥泄露隐患。
SSL证书的有效期,也可以与安全无关,可以做更复杂的内部过期校验。如果做了这项工作,那么SSL证书的有效期的作用,过去是1年,便于1年收费,就像域名收费一样。
如果将来的商业版SSL证书也大幅度缩短有效期,一是说明技术防护确实做得不到位,二是市场被迫的,是由于3家浏览器厂商在竞争,谁率先做出变革,谁就是老大,谁就有话语权、有更高的市场份额,这是商业版SSL证书的有效期也越来越短的核心原因。
技术上的定向安全方案设计
这就像很多软件、操作系统,需要发布软件补丁、安全补丁,这些补丁是针对特定程序。安全的本质就是防止、抵御某种情形的发生,例如在微信扫码支付的时候,程序设计必须在服务器的程序端,做一个防止重复支付的功能,当付款完成后,再次扫码支付,服务器端会根据这个订单号来判断,如果此订单支付过,则扫码时不再扣款。
对应到Web的安全,目前主要防监隔开听、防篡隔开改。防篡隔开改主要是应用于网银、网络支付、手机支付,比如支付时,对应的ID、付款金额这类重大敏感的数据,这类数据完全可以做加密,以及类似上述的5秒、10秒过期的动态内部参数。
无论是https,还是http都可以做这种10秒、5秒内有效期的动态加密,处于几乎相同的安全级别。
在https推广以前,网银、网银的数字证书、Paypal,可能都是做相关、或者类似的动态加密。
定向安全,就是只针对某一功能专门做的程序防护。这种定向安全,如果程序设计的逻辑足够缜密,那么无论什么环境,都能确保安全,可以达到“几乎不可能被破解”的程度,因为10秒内钟不可能完成20年以上的破解工作,而且使用何种加密方式,也不会公布。
免费SSL证书能用到什么时候/SSL证书是否会全面收费?
是由民意和市场决定,民意又是靠主办方散布的谎言来改变,这类谎言在中外历史上十分常见。目前似乎看不出SSL证书全面收费的迹象。因为假如Let's Encrypt不再运营,CA们或者浏览器厂商,可能会立刻上线另一个免费SSL的组织,或者超低价SSL,给个人用户使用。
可见,免费SSL、超低价SSL,是在引流。
SSL证书全面收费,当然是CA和浏览器的目标,但很难实现。在市场还没有全面成熟的阶段,一旦全面收费,如果国外有不少网站开始带头回退到http,那么SSL证书的商业意图会被发现,到时候SSL证书会很快破产,这就是SSL证书很难实现全面收费的原因之一。
与其说是回退,不如说http才是更符合Web生态标准,http速度更快,https安装和维护十分繁琐,http的速度现在大约是https的16倍,如前文测试。网页的传输方式,目前只有http和https这2种。
商业版SSL证书计费有一个很大的诟病,二级域名也需要单独另外收费。
比如现在国内某一线老牌域名注册商新×,SSL证书的价格为单域名1299元/10年,通配符(即主域名+二级域名)为649元/6个月,这就是将来一旦SSL证书全面收费之后的主流价格,也可能优惠一半。
SSL证书作恶(强买强卖、垄断、欺行霸市),是国外的浏览器、国外的CA在作恶,和国内无关,国内大多数销售商他们也不知道怎么回事,只是像卖域名一样,在卖一个普通的网络产品而已。
网页数据交互传输的3种途径
主要是get、post、json这3种途径。对于网络支付的重大安全页面,或者需要防止数据篡改的安全页面,可以设计数据加密,http模式也可以上述的做这种过期加密。
浏览器垄断的本质
主要是中国可能尚未有一款和Firefox类似的安全浏览器,现在中国急需这种浏览器,打破国外的垄断。因为在早期,大约2004年~2006年,中国的很多网站通过VBScript传播病毒,IE浏览器无法拦截这种病毒,通过VBScript传播的病毒,会感染电脑,使电脑中毒。
当时这种电脑病毒,并不是下载了.exe软件才中毒,而是网页里直接使电脑中毒,当时泛滥了好几年。
中毒的过程是,使用搜索引擎日常搜索信息,一些网页里含有这种VBScript病毒。只要有一个网页有病毒,电脑就是处于不安全状态。
当时的Firefox能拦截所有的这些病毒,可以正常使用搜索引擎访问所有的网站。
这些浏览器,原本是为用户提供上网的便捷服务,但近几年,这些浏览器是如何快速成为“三巨头”的?
这三巨头,分别是C××、S××、Firefox。
Firefox本来应该是浏览器真正的老大,但由于近几年,他作恶最晚,已经被另外两家甩在后面。现在是浏览器谁先作恶,谁就是老大──垄断。
重要的网络参考资料
由于SSL证书的有效期越来越短,已经开始有人警觉,发现纯粹是为了利益,这类警觉的观点,目前在国内是十分罕见的。
为什么现在SSL证书有效期越来越短? (回复中很多人说得很好)
https://www.zhihu.com/question/440618262
SSL证书有效期缩短至47天:安全幌子下的技术霸隔开权与利益收隔开割 (深度好文)
https://zhuanlan.zhihu.com/p/1896560200737076845
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。