https(SSL)证书危机和可行的解决方案
证书危机
20250411,CAB 论坛服务器证书工作组( SCWG )投票通过一项重大提案《 SC-081v3: 引入缩短有效期和数据重复使用期的时间表》,最终决定:从 2026 年起 SSL/TLS 证书的最大有效期将从 398 天逐步缩短至 47 天,并计划在 2029 年全面落实执行。(来源: https://cabforum.org/2025/04/11/ballot-sc081v3-introduce-schedule-of-reducing-validity-and-data-reuse-periods/)
过去十年,SSL/TLS证书的使用寿命显著缩短。
2011年,由国际性电子认证机构(CA)与操作系统、浏览器厂商组成的CA/B论坛(CA / Browser Forum)将证书有效期从最早的8-10年缩短至5年。
2015年,又由5年缩短至3年,到2018年则缩短为2年。
2019年,虽然CA/B论坛会议投票否决了将证书有效期减少至一年的提议,但该措施却依然得到了苹果、谷歌、微软、Mozilla和Opera等浏览器厂商的压倒性支持。而在2020年2月,苹果首次宣布:拒绝在9月1日或之后发布的有效期超过398天的新SSL/TLS证书。从那时起,Google和Mozilla都纷纷效仿。
2020年9月1日起,两年期公共SSL/TLS证书正式告别了行业,在三大浏览器(Apple Safari、 Google Chrome、Mozilla Firefox)的推动下,SSL/TLS证书最长有效期变更为13个月,同时,全球各大证书权威签发机构已停止签发有效期超过1年(398天)的SSL证书。
而在当前(20250530),还能使用的免费证书,无论什么渠道,都只有3个月有效期了。 并且免费证书也逐渐收紧,随时可能消失。
需要注意的是,与https证书越来越收紧的趋势同步的是,各个操作系统,浏览器已经逐步实现了强制要求https的限制。 这意味着数亿的域名,以前可以直接通过http访问的,以后不得不额外支付https证书费用才能用, 而且还是每年都要支付。 无疑,这是一个巨大的市场。
同时,日益增长的意识形态冲突也给使用https证书的网站带来了巨大的风险。
就像万事达信用卡, SWIFT,没事的时候, 是很便利的支付工具。但一旦有冲突,就会沦为战争的工具,瞬间瘫痪一个国家的金融系统。
https 证书目前面临的是比 SWIFT,万事达更大的风险。 因为支付工具除了这些,还有其他的可能性。但是所有的网络访问,目前都被https 证书所限制。 一旦有冲突,证书机构沦为战争工具,那么瞬间全国的网络的应用就会全部崩溃停摆。包括银行、电力、交通、政务等等。 甚至连基础设施平台,如云服务器都逃不了停摆的命运。 且短时间内没有其他的替换机制。 这是悬在所有人头上的达摩利斯之剑。
值得注意的是,很多国内号称自主签署证书的机构,其实都是由国际机构的代理。国内并没有一家真正意义上的顶级证书机构。 这些号称自主实则受控于人的机构,由于提供了虚假的安全幻象,尤为危险。
危机的根本原因
我们之所以需要https证书,是因为安全的需求。 而安全的基础,是建立在信任上的。目前https证书,通过多层的签发机构,来建立了某种程度上的信任。
但是这种信任是非权威的,完全依赖于CA的商业公司和相关利益方组成的联盟(CA/B)。 事实上,当你访问一个https网站,浏览器告诉你这个网站是安全可信的时候,仅仅是因为这个网站给CA公司交了一笔钱。 甚至CA公司都不知道站长是谁,在什么地方。
在全球局势波动,SWIFT可以瞬间封锁一国的前车之鉴下。 这种基于联盟的信任,显然是无法依赖的。
可行的解决方案
通过前面的根因 1分析,可以很容易的得出解决方案: 就是构建可信度等同,甚至超过CA/B的信任机制。 那么就可以通过构建新的信任机制,作为另一种https证书的签发机构, 来实现有选择的余地。
具体来说:
对于政府部门,金融,保险,安全等企事业
这些部门很容易确立一个权威的顶级CA,比如人民银行。 由于自身机构的属性,这个顶级CA的可信度自然是毫无疑问的。 再由这个顶级CA,逐层的向下签发机构证书,直到最终用户证书。这就是一个很自然的过程。
对于大型商业公司
通过自由联盟的形式,构建行业联盟的顶级CA。并且多个不同行业的顶级CA,通过自由竞争,还能确定更好的服务机构。
这里要补充一个例子的就是,比如说域名备案。目前的备案机制天怒人怨,极大地限制了极客自由发挥的空间,但是也确实从严把关了一些网站内容的审核。 单从真实性核查这一点上看,备案机制的责任心要远远超过CA机构交钱就签发的证书。
如果目前的域名备案机制,能加上一个签发https证书的服务,那么不仅能扭转备案制的负面印象,还会吸引更多的站长来主动备案。 属于一举多得的双赢!
对于中小企业和个人
对于中小企业和个人来说,安全的因素不是那么高,便捷性和价格成本往往是更重要的。
这里需要区分下,如果你的用户(潜在用户)是公众,大部分人可能随机访问到你的服务。那么老老实实购买国际CA的证书,是更好的选择。
但如果你的用户是特定的,甚至是收费才能用的。 那么就可以自建一个公司的CA证书,拿这个证书去签发所需的https证书。 因为你的用户是特定的,你有机会和渠道,将公司的CA证书,以用户可信的渠道发给用户。 只要用户安装并信任了你的CA证书,那么你的https证书就是无穷无尽的了。
这里有个特点的约束场景,就是你的用户是特定的,你可以接触到,可以建立信任的。以此确保CA证书的可信度。
否则将CA证书挂在官网上期望匿名访客来信任它,就不大现实了。
本文同步发表在 软件需求探索的https://srs.pub/miscellaneous/certba.html
商业分析中的五十种分析方法和技巧之40-根本原因分析. https://srs.pub/babok/genbenyuanyin-fenxi.html ↩︎
相关文章:
https(SSL)证书危机和可行的解决方案
证书危机 20250411,CAB 论坛服务器证书工作组( SCWG )投票通过一项重大提案《 SC-081v3: 引入缩短有效期和数据重复使用期的时间表》,最终决定:从 2026 年起 SSL/TLS 证书的最大有效期将从 398 天逐步缩短至 47 天,并…...
C#获取磁盘容量:代码实现与应用场景解析
C#获取磁盘容量:代码实现与应用场景解析 在软件开发过程中,尤其是涉及文件存储、数据备份等功能时,获取磁盘容量信息是常见的需求。通过获取磁盘的可用空间和总大小,程序可以更好地进行资源管理、预警提示等操作。在 C# 语言中&a…...
2359. 找到离给定两个节点最近的节点
2359. 找到离给定两个节点最近的节点 题目链接:2359. 找到离给定两个节点最近的节点 代码如下: class Solution { public:int closestMeetingNode(vector<int>& edges, int node1, int node2) {auto calc_dis [&](int x) {vector<in…...
前端导入Excel表格
前端如何在 Vue 3 中导入 Excel 文件(.xls 和 .xlsx)? 在日常开发中,我们经常需要处理 Excel 文件,比如导入数据表格、分析数据等。文章将在 Vue 3 中实现导入 .xls 和 .xlsx 格式的文件,并解析其中的数据…...

AI生态警报:MCP协议风险与应对指南(下)——MCP Host安全
AI生态警报:MCP协议风险与应对指南(上)——架构与供应链风险https://blog.csdn.net/WangsuSecurity/article/details/148335401?sharetypeblogdetail&sharerId148335401&sharereferPC&sharesourceWangsuSecurity&spm1011.24…...

基于VLC的Unity视频播放器(四)
上篇文章中提到的问题 播放某个m3u8地址时会嘎掉,想办法解决了一下,很粗暴的,先SetFormat,再Stop,最后再Play,能用…… if (player ! null && player.GetSize() 0) {player.GetSize((w, h) >…...

pixel刷入Android15 userdebug版本
最近入手一个pixel7,想着刷个userdebug版本,就不用模拟器调试开发了,结果按照网上的教程,每次刷机后都是卡在goole logo界面,卡了一天多我才找到问题所在,想着记录下,给自己做个备份。 1. 前期准备&#x…...
【Go-补充】ioReader + ioWriter + bufio
一、io.Reader 和 io.Writer 接口介绍 在 Go 语言中,io 包定义了两个最基础和最重要的接口:io.Reader 和 io.Writer。它们是 Go 语言中进行输入/输出操作的核心抽象,实现了极大的灵活性和可组合性。 io.Reader 接口 io.Reader 接口定义了一…...
leetcode 3403. 从盒子中找出字典序最大的字符串 I 中等
给你一个字符串 word 和一个整数 numFriends。 Alice 正在为她的 numFriends 位朋友组织一个游戏。游戏分为多个回合,在每一回合中: word 被分割成 numFriends 个 非空 字符串,且该分割方式与之前的任意回合所采用的都 不完全相同 。所有分…...

C# 一个解决方案放一个dll项目,一个dll测试项目 ,调试dll项目的源码
一个解决方案(sln)中放入2个项目(project,通常是一个文件夹),一个dll项目,一个dll测试项目 右键dll测试项目,设为启动项目。 在dll测试项目添加引用 1)右键测试项目 → 添加 → 引用 → 项目…...

【PmHub面试篇】PmHub 整合 TransmittableThreadLocal(TTL)缓存用户数据面试专题解析
你好,欢迎来到本次关于PmHub整合TransmittableThreadLocal (TTL)缓存用户数据的面试系列分享。在这篇文章中,我们将深入探讨这一技术领域的相关面试题预测。若想对相关内容有更透彻的理解,强烈推荐参考之前发布的博文:【PmHub后端…...

unity随机生成未知符号教程
目录 前言方法1方法2脚本后言示例代码 前言 在某些游戏中,有一些让人感到意味不明的未知符号,例如在游戏《巴别塔圣歌》中,就有这样一些能让人在初次就看不懂的未知符号。 或者在其他时候,这些未知符号如果跟粒子系统结合在一起的…...

基于RK3576+FPGA+AI工业控制器的工地防护检测装备解决方案
1.2.1 工地防护检测技术研究现状 在建筑施工的过程中,工人被要求暴露在危险的环境中作业 [2]。因此,防护装备 对于工人的安全与健康具有非常重要的意义[3]。工地工人必须佩戴适当的防护装备, 以降低意外伤害的风险。在过去的几十年里&#x…...

推荐一款PDF压缩的工具
今天一位小伙伴找来,问我有没有办法将PDF变小的办法。 详细了解了一下使用场景: 小伙伴要在某系统上传一个PDF文件,原文件是11.6MB,但是上传时系统做了限制,只能上传小于10MB的文件,如图: 我听…...

混沌映射(Chaotic Map)
一.定义 混沌映射是指一类具有混沌行为的离散时间非线性动力系统,通常由递推公式定义。其数学形式为 ,其中 f 是非线性函数,θ 为参数。它们以简单的数学规则生成复杂的、看似随机的轨迹,是非线性动力学和混沌理论的重要研究对象…...
MySQL对数据库用户的操作
注:‘%’:表示允许远程连接,‘localhost’ :限制本地登陆 – 根据用户名、权限查询用户 SELECT USER FROM mysql.user WHERE USER‘your_name’ AND HOST‘%’; – 彻底删除用户 DROP USER ‘appuser’‘%’; – 刷新使其生效 FL…...

《PyTorch Hub:解锁深度学习模型的百宝箱》
走进 PyTorch Hub 在当今的深度学习领域,模型的复用和共享已成为推动技术飞速发展的关键力量。随着深度学习在计算机视觉、自然语言处理、语音识别等众多领域取得突破性进展,研究人员和开发者们不断探索更高效、更强大的模型架构。然而,从头开始训练一个深度学习模型往往需要…...

数据结构 堆与优先级队列
文章目录 📕1. 堆(Heap)✏️1.1 堆的概念✏️1.2 堆的存储方式✏️1.3 堆的创建✏️1.4 堆的插入✏️1.5 堆的删除 📕2. 优先级队列(PriorityQueue)✏️2.1 堆与优先级队列的关系✏️2.2 优先级队列的构造方法✏️2.3 优先级队列的常用方法 3. Java对象的…...
Leetcode 3569. Maximize Count of Distinct Primes After Split
Leetcode 3569. Maximize Count of Distinct Primes After Split 1. 解题思路2. 代码实现 题目链接:3569. Maximize Count of Distinct Primes After Split 1. 解题思路 这一题的话思路倒是还好,显然,要找出所有distinct的质数的切分&…...

用好 ImageFX,解锁游戏素材生成新姿势:从入门到进阶
用好 ImageFX,解锁游戏素材生成新姿势:从入门到进阶 (备注)大陆ip无法访问到imagefx 地址:https://labs.google/fx/zh/tools/image-fx 对于独立游戏开发者和小型团队而言,美术资源往往是项目推进中的一大痛点。预算有限、专业美术人员缺乏…...
unix/linux,sudo,其基本属性、语法、操作、api
现在我们要深入到sudo的“微观结构”了——它的属性、语法、操作以及是否有传统意义上的“API”。这就像我们从宏观的宇宙现象深入到基本粒子的相互作用一样,充满了探索的乐趣! 一、 sudo 的基本属性 (Fundamental Attributes) 这些属性是sudo作为一款软件和系统工具的核心…...
文本内容变化引起布局尺寸变化 导致的 UI 适配问题
在使用 Flutter 开发应用时,配合 easy_localization 实现多语言切换是一个非常常见的做法。但正如你所说,在不同语言下文字长度差异较大(如英文和中文、阿拉伯语等)会导致界面布局错位、UI 不美观的问题。 这个问题本质上是 文本…...

01-Redis介绍与安装
01-Redis介绍与安装 SQL与NoSQL SQLNoSQL数据结构结构化非结构化数据关联关联的非关联的查询方式SQL查询非SQL事务特性ACIDBASE存储方式磁盘内存拓展性垂直水平使用场景1、数据结构固定2、相关业务对数据安全性、一致性要求较高1、数据结构不固定2、对安全性、一致性要求不高…...
十六、【前端强化篇】完善 TestCase 编辑器:支持 API 结构化定义与断言配置
【前端强化篇】完善 TestCase 编辑器:支持 API 结构化定义与断言配置 前言准备工作第一步:更新前端 `TestCase` 类型定义第二步:改造 `TestCaseEditView.vue` 表单第三步:修改后端代码中的TestCase模型和序列化器第四步:测试强化后的用例编辑器总结前言 在之前的后端文章…...
Kafka broker 写消息的过程
Producer → Kafka Broker → Replication → Consumer|Partition chosen (by key or round-robin)|Message appended to end of log (commit log)上面的流程是kafka 写操作的大体流程。 kafka 不会特意保留message 在内存中,而是直接写入了disk。 那么消费的时候&…...

VR博物馆推动现代数字化科技博物馆
VR博物馆:推动现代数字化科博馆新篇章 随着科技的飞速发展,虚拟现实(Virtual Reality, VR)技术已经逐渐渗透到我们生活的方方面面,其中,VR博物馆作为现代数字化科博馆的重要形式之一,以独特的优…...

Python爬虫之数据提取
本章节主要会去学习在爬虫中的如何去解析数据的方法,要学习的内容有: 响应数据的分类结构化数据如何提取非结构化数据如何提取正则表达式的语法以及使用jsonpath解析嵌套层次比较复杂的json数据XPath语法在Python代码中借助lxml模块使用XPath语法提取非…...

第2讲、Odoo深度介绍:开源ERP的领先者
一、Odoo深度介绍:开源ERP的领先者 Odoo,其前身为OpenERP,是一款在全球范围内广受欢迎的开源企业管理软件套件。它不仅仅是一个ERP系统,更是一个集成了客户关系管理(CRM)、电子商务、网站构建、项目管理、…...

【TCP/IP和OSI模型以及区别——理论汇总】
参考小林code和卡尔哥,感恩! 网络基础篇 面试官您好!OSI和TCP/IP是网络通信中两个关键模型,本质都是分层处理数据传输,但设计理念和应用场景差异很大。 OSI模型是理论上的七层架构,从下到上依次是物理层…...
【HarmonyOS 5】生活与服务开发实践详解以及服务卡片案例
一、金融场景创新实践 智慧银行网点转型 通过统一设备方案整合国产芯片与鸿蒙系统,支持智能柜员机、移动展业终端等设备的弹性硬件组合,降低25%硬件成本。利用元服务框架实现卡片式交互(如客户画像、风险评估一键调取)&a…...