密码讲堂 | 第10讲 什么是ACME?什么是国密ACME?
2023年5月4日

点击 这里 阅读PDF版本(有全球信任和全球法律效力的数字签名和时间戳,版权所有,抄袭违法必究!转载请注明:转载自零信CEO博客)

首先,祝大家节日快乐!上一期我们讲了SSL证书是如何可靠地生产出来的,整个Web PKI生态是如何通过浏览器的可信根认证计划和证书透明计划来保障SSL证书的安全可靠供给的。产品生产出来当然是为了应用,SSL证书主要用于https加密,其整个使用过程是这样:

  • 用户向CA申请SSL证书,注册账户、下单付款等
  • 在Web服务器或者在CA系统在线生成证书签名请求文件(CSR),并把CSR粘贴到在线申请页面中
  • 选择以下三种方式验证域名控制权:
    a) 文件验证方式:把CA提供的验证文件上传到Web服务器的指定目录中(/.well-known/pki-validation/)中
    b) DNS验证方式:把CA 提供的验证码配置到待验证的域名CNAME记录中
    c) 邮箱验证方式:选择5个专用域名管理员邮箱收取CA系统发送的验证码,收到后把验证码粘贴到验证页面上提交验证
  • 完成以上之一的验证后,等待CA系统自动签发(DV SSL)或人工签发(IV/OV/EV)SSL证书
  • 证书签发后下载并按照各种Web服务器的要求配置好证书链后安装部署SSL证书
  • 如果部署国密SSL证书,还得安装国密算法支持模块,才能启用国密SSL证书

只有经过了以上5个或6个步骤后才能启用https加密或国密https加密服务。经测试,工程师完成以上步骤至少需要1-3个小时,这是指DV SSL证书,如果是其他类型的证书则需要的时间更长。但这只是一个网站域名,如果是10个网站?100个网站?1千甚至1万个网站?相信读者在了解了申请和部署SSL证书的过程也就不能理解目前SSL证书市场的两个怪现象:

  • 为何用户喜欢部署通配多域证书?因为多个域名和各种子域名的网站只需申请一次证书就能用这一张证书搞定,解决证书申请过程难的问题。但是,这是非常不安全的证书部署方式,因为一旦一台服务器被黑而需要吊销这张SSL证书,会导致所有服务器的证书都需要重新部署!这种方式同时也大大增加了SSL证书私钥泄露而带来的安全风险。
  • 为何那么多的政府网站都没有部署SSL证书,因为一个省的政务云平台要管理几千甚至几万个网站,人工部署SSL证书根本是不可能做到的事情!不是不想部署SSL证书,而且这个过程太难了。绝对不是经费的问题,是部署难的问题!

所以,要想普及使用SSL证书实现https加密,人工申请和部署SSL证书是做不到的,特别是现在大量的物联网设备也需要部署SSL证书。怎么办?ACME就闪亮登场了!

英文单词“acme”是“顶峰、顶点、最高点”的意思。而在计算机网络界则是一个非常有名的国际标准协议的名称,“ACME”是Automated Certificate Management Environment (自动化证书管理环境)的缩写。这是一个RFC 8555国际标准,用于自动化申请、部署和续期SSL证书,包括ACME客户端和ACME服务端。目前,全球已经在谷歌证书透明日志系统备案的SSL证书总量高达92亿张,其中自动化申请和部署的总量已达81亿张,占比达到88%,可见自动化部署SSL证书已经在全球范围成为了常态方式,不仅是用户需要简单易用地实现https加密,而且大量的物联网设备https加密用的SSL证书只能是自动化申请和部署。这大概也是证书自动化管理协议作者为何把这个协议命名为“acme”的原因,因为他们相信这是SSL证书管理的终极解决方案,彻底摆脱人工手动申请和部署SSL证书的繁琐,彻底消除因忘了续期SSL证书而造成业务系统瘫痪的巨大安全隐患!

那么,ACME是如何做到的?简单地讲,ACME就是把以上的5个步骤全部实现了自动化当然是用一个程序来实现,那就是ACME客户端软件,由这个软件来实现SSL证书的在线申请、生成CSR文件、提交CSR文件到CA系统、在Web服务器上准备好验证文件后通知CA系统来验证(文件验证方式)、CA系统完成验证后签发证书给ACME客户端,ACME客户端拿到证书后把SSL证书和私钥文件放置到Web服务器要求的位置即可。整个过程都是由ACME客户端同CA系统的ACME服务端直接对话自动化完成,这个自动化流程遵循ACME国际标准RFC8555,需要CA系统改造支持ACME协议,提供ACME API服务。

这就是ACME,一个只用了3年时间就成功把欧美网站的SSL证书部署率从40%提升到80%的大功臣!当然,这个技术也已经开始在我国快速普及中,现在包括清华大学的很多高校官网都已经启用了ACME服务来实现自动化证书申请和部署。但是,这个非常好的技术无法用于国密SSL证书的自动化部署,这一条普及SSL证书的阳关大道只能通向RSA算法的https加密!

要通向普及国密SSL证书实现国密算法的https加密的阳关大道,就需要国密ACME!国密ACME系统由零信技术全球率先鼎力打造闪亮登场。这不仅仅是一个自动化证书管理 环境(Environment),而是一个支持国密算法的自动化证书管理 生态(Ecosystem),因为现有的Web服务器不支持国密算法,浏览器不支持国密算法,CDN/WAF不支持国密算法,保障SSL证书自身安全的证书透明日志系统不支持国密算法和国密SSL证书,要实现国密https加密的自动化,需要现有的基于RSA密码体系的整个生态系统都支持国密算法。所以,国密ACME的 E 是 Ecosystem(生态系统)的第一个字母,而不是Environment(环境)的第一个字母。这就是国密ACME同国际ACME的最关键的不同!

还有两个不同之处:一是国密ACME实现的是自动化申请和部署国密SSL证书和国际SSL证书,双算法双SSL证书,而不是单国际算法SSL证书,因为目前的https加密应用环境还需要双SSL证书来实现自适应加密算法的https加密,使得用户无论是否使用国密浏览器都可以无缝地实现https加密。二是国密ACME不是仅仅提供一个ACME客户端就能搞定,而是需要同时提供国密算法支持模块。而且还需要提供更多的选择让一些无法安装客户端软件和国密支持模块的Web服务器也能实现国密https加密。

目前国密ACME解决方案主要有三种可选的方案:一是在Web服务器上安装国密ACME客户端软件;二是在Web服务器前面部署国密HTTPS加密自动化网关,原Web服务器无需安装ACME客户端软件,零改造实现国密https加密;三是启用国密HTTPS加密云服务,原Web服务器也无需安装ACME客户端软件,只需做3次域名解析,完成CDN/WAF设置即可零改造实现国密https加密。这三个解决方案当然需要国密CA系统提供国密ACME服务,为客户端软件、网关和云服务提供自动化证书申请和签发服务。

ACME服务系统

谷歌在3月3日提出了缩短SSL证书有效期为90天的计划,明确指出了这是为了进一步推动ACME技术的普及应用,促进和提高整个Web PKI生态系统的敏捷性、安全性、稳定性和简单性,为下一步轻松过渡到抗量子算法做准备。由此可见,ACME有多重要,因为用户根本不可能每90天就要手动为网站申请和部署SSL证书,特别是有多个网站需要部署SSL证书的单位!当然,也由此可见推广和普及应用国密ACME非常紧迫,这是唯一一个能实现普及应用国密SSL证书的技术手段!

关于需要验证身份的IV/OV/EV SSL证书的自动化申请和部署,目前的RFC8555标准是建议用户采用绑定CA系统账户的方式来实现的。而最新计划更新ACME国际标准的ARI扩展项(ACME证书续期信息)不仅可以实现更加灵活地实现证书续期和证书吊销,更是可以用于自动化申请和部署IV/OV/EV SSL证书,用户在自动化获取DV SSL证书后,CA系统可以在完成了用户的身份认证后通知ACME客户端来重新申请OV SSL证书或EV SSL证书,使得OV/EV SSL证书一样可以分两步实现自动化!

下一讲内容预告|第11讲 什么是CDN?什么是WAF?
本讲将讲解CDN和WAF在提升Web服务性能上的重要作用,当然离不开SSL证书,离不开https加密,这两个已经普及应用的网络服务将在“90天证书革命”中发挥新的重要作用。