写点什么

HTTPS 证书过期导致的故障

用户头像
焦振清
关注
发布于: 2020 年 08 月 08 日
HTTPS证书过期导致的故障

CASE收集



LinkedIn的HTTPS证书再次过期

https://www.secrss.com/articles/11207



由于证书过期导致Microsoft TEAM故障

http://www.techxue.com/qukuailian/202002/10536.html



爱立信软件证书过期导致O2和软银故障

参考:https://www.bbc.com/news/business-46464730

参考:https://www.pianshen.com/article/9488175349



GlobalSign证书状态出现故障导致多个大型网站受到影响

参考:https://blog.csdn.net/weixin_34417183/article/details/91867349



系统内部的交互如K8s集群的证书过期导致的故障

参考:https://developer.aliyun.com/article/751513



其他未经考证的故障

BATJ这类大厂,都不乏证书过期导致的故障,但因为很多业务并非和支付业务强相关,一旦出现这类问题,直接降级到HTTP协议,因此,BATJ的这类故障,并没有大范围的被外部报道出来



特斯拉证书过期导致车辆无法正常解锁

https://www.sohu.com/a/395110287_205282





原因分析

第一反应

很多人的第一反应,可能会觉得证书过期管理这么个小事情都搞不好,是不是人的问题?但是业界这么多知名厂商都中招,我想不能简单的把问题归因为人不行。这是思维的懒惰啊。或者说,你得出一个人不行的结论,又能怎样呢?对解决这个问题没有任何帮助。

一劳永逸

很多人都不太有安全方面的知识背景,包括我自己在内,因此本文的推导过程并非从SSL证书原理来出发,而是从一个门外汉的角度,看如何快速解决未知领域的问题。



既然证书过期会产生这么大的破坏力,咱们就破财消灾,买一个10年有效期的证书,如果价格可以接受,咱们就买一个永不过期的证书,是不是可以一劳永逸的解决问题?多么完美的解决方案,就这么定了,哥太聪明了。



带着这个问题,我看了下业界各大厂商的HTTPS证书过期时间,如电商公司,支付公司,搜索公司以及OS厂商,他们的HTTPS证书大都也在一年左右。这就不对了,谷歌收购了两家根证书颁发机构——GlobalSign R2和R4,而Apple和微软又是OS厂商,他们完全可以搞一个永不过期的证书,那为什么他们没有这么干呢?微软和苹果在操作系统中放的根证书过期时间可都是几十年啊。看起来,这个路子未必对。那么,接下来,我就确定问题的突破方向了,为什么需要对证书添加过期时间?

算力博弈

数字证书的安全基于它所使用的非对称算法的安全,而算法的安全是相对的安全,是指现在可预见的年月里,如10000年无法破解。但随着时间的推移,技术的进步,它就可以被很快的破解,所以算法的安全是基于时间的。给予数字证书限期是为了更好的保护数据的安全。实际上,SSL证书的使用寿命不得超过27个月。



同时,HTTPS证书的加密算法强度不同,对服务端和用户端加解密的算力要求也不同,因此厂商的证书加密算法也只能是逐步升级。不考虑厂商,仅从用户角度看,咱就是网上玩会而已,你把我电脑跑的呼呼响,也不合适啊。



总结一下:当下最强算力集群 * 破解时间 < 证书过期时间。



解决方案

证书升级

从成本角度讲,只要把当前的证书替换为新的证书即可,无非是一台机器还是一万台机器,使用云服务的话,是在一家云厂商升级,还是在多家云厂商升级。可能会麻烦点,但成本,我个人觉得并不会太高。



从难度看,因为允许新旧证书共存,因此升级期间,并不需要关注证书实时一致性的问题,仅需要保证最终一致性即可,就是最后所有的旧证书都被替换掉了。



也正因为上述两点,升级成本可控,难度较低,大量的厂商才能配合每年来更新一次证书。但也正因为是一年升级一次,如果没有可靠的机制保证,靠人,肯定就废了。

解决方案

对于BATJ量级的公司来讲,主要的问题是部分证书的管理遗漏问题,所以主要有两类解决方案:

  • 化零为整,直接使用一级域名的HTTPS证书,只维护和管理有限数量的证书,从而减少这类问题

  • 收口,证书采购,管理以及HTTPS卸载等相关的工作,都收口到专门的团队



CertManager证书管理闭环



大厂的证书过期时间

汇总

  • https证书过期时间约一年(涵盖电商,支付,搜索,操作系统厂商)

  • Google的http证书过期时间为3个月,目前发现最短的

  • 少数公司的https证书过期时间为两年(paypal/微软)



京东



亚马逊



天猫



Paypal



支付宝



财付通



工商银行



Google



百度



微软



苹果

根证书

参考:

file:///System/Library/Security/Certificates.bundle/Contents/Resources/TrustStore.html





发布于: 2020 年 08 月 08 日阅读数: 207
用户头像

焦振清

关注

让运维因我们而不同! 2018.12.04 加入

架构师

评论

发布
暂无评论
HTTPS证书过期导致的故障