案例库 · 软件与 IT · 技术决策 · 2015–2019
ACME将证书签发变成机器协议,HTTPS因此实现自动化
IETF的ACME协议(RFC 8555)让服务器证明域名控制权并自动续期HTTPS证书,无需人工步骤;Let's Encrypt基于该协议构建了其CA。
IETF · 互联网安全研究小组(Let's Encrypt)
解法
在ACME之前,获取HTTPS证书需要人工验证域名控制权——填写表单、电子邮件、电话——然后手动安装并在到期前重新申请。IETF的RFC 8555于2019年3月作为拟议标准发布,定义了自动证书管理环境:一个协议,让证书颁发机构和申请者能够自动化验证、签发和撤销。
该设计把验证变成机器挑战。客户端生成账户密钥,向CA询问为证明域名控制需要做什么,完成自动化挑战,然后获得证书——全程无需人工干预。续期和撤销也通过同一协议进行,因此服务器可以按计划保持证书最新。
Let's Encrypt明确目标:通过在网络服务器上运行ACME客户端,实现自动获得浏览器信任的证书,无需任何人工干预。这个想要HTTPS普及的免费CA整个服务都基于该协议。
生效的原因
- 验证变成服务器可应答的自动化挑战,不再是人工表单。
- 账户密钥让客户端证明身份,无需每个用户登录流程。
- 协议与CA无关,任何颁发机构都可实现相同客户端。
- 自动续期消除了手动重新申请导致的证书过期故障。
取得的成效将验证做成协议,而不是表单聪明
可借鉴之处
将证明域名所有权这一痛苦步骤标准化为机器可读协议,整个工作流程即可自动化;瓶颈是流程,而非价格。
后续进展
借助ACME,Let's Encrypt的免费服务让获取浏览器信任的证书无需人工步骤,RFC 8555为每个CA提供了提供相同自动化的标准方式。证书续期从日历琐事变成自动运行的后台任务。
资料来源
发现哪里写错了?告诉我们。