内容简介:最近Let’s Encrypt新创建了一个CT服务,命名为Oak,从技术角度上看并不是很轰动的事情,但对他来说却意义重大,作为一个CA机构,他的生态系统越来越成熟。CT(证书透明度)对于HTTPS网站非常重要,虽然它不是TLS协议的一部分,但作用非常大,原因其实很简单,证书是HTTPS协议中最薄弱的一个环节(并不是一个技术问题),而CT会监控证书的签发、使用,从而使HTTPS协议更安全。关于CT,在我的书
最近Let’s Encrypt新创建了一个CT服务,命名为Oak,从技术角度上看并不是很轰动的事情,但对他来说却意义重大,作为一个CA机构,他的生态系统越来越成熟。
CT(证书透明度)对于HTTPS网站非常重要,虽然它不是TLS协议的一部分,但作用非常大,原因其实很简单,证书是HTTPS协议中最薄弱的一个环节(并不是一个技术问题),而CT会监控证书的签发、使用,从而使HTTPS协议更安全。
关于CT,在我的书 《深入浅出HTTPS:从原理到实战》 中有详细的介绍,也写过一篇文章专门介绍 《Let’s Encrypt证书支持CT,让你的网站更安全》 ,有兴趣的可以看看。
如果你不想了解太多的技术细节,只想知道开发者针对CT应该做些什么,那我简单描述一下。
历史上因为证书签发出现过很多HTTPS网站安全问题,根本原因就是CA是一个追求盈利的机构,稍有松懈,可能会签发一张证书给非法组织,或者非法组织以受害者的名义申请证书。
一旦存在问题的证书被使用,那么用户就可能处于危险之中,他本以为是在连接一个安全网站,但实际上却在和攻击者在通信,而他一无所知。
根本问题就在于证书的签发没有约束,CA操控着这一切;对于网站拥有者来说,他也不知道谁会以他的名义(网站域名)去申请证书;而对于浏览器这样的客户端来说,没有办法确认某张证书是否被滥用了。
这有点类似于互联网,没有约束,太自由。为了解决这个问题,Google想出了一个办法,他提供了一个CT服务(类似于日志收集器,一个远程服务),任何CA机构或者个人在签发证书的时候可以给CT服务提交一段不可伪造的日志,证明谁谁谁给谁谁谁签发了一张证书,然后CT服务返回SCT这一一个标识符给提交者。
可为啥CA机构要买Google的账的呢?他的大杀器就是Chrome,世界上最大的HTTPS客户端,如果不遵守他的规则,那么你就无法生存。
在HTTPS握手的时候,如果Chrome无法获取到SCT(并异步确认SCT是否正常),代表这张证书可能有问题,从而会中断HTTPS网站的访问。
后来CT越来越成熟了,很多CA机构也创建了CT服务,这样世界上就存在多个CT服务了,这是好事,其实本文就是说明Let’s Encrypt也创建了一个CT服务(Oak)。
有了CT服务,它的日志也是可查询的,出现了很多CT工具,从而任何人(包括网站拥有者)就可以查询自己的网站证书有没有被非法颁发,甚至每次签发证书的时候,可以通过邮件发送通知。
那么网站拥有者要做些什么呢?其实大部分时间什么也不用做,想想看,在HTTPS握手的时候,浏览器必须获取SCT,那么网站拥有者必须提供SCT,有三种方式可以提供。
第一种是最简单也是最好的,那就是证书中直接含有SCT,CA机构在签发证书的时候直接包含SCT,开发者什么也不用做,从 2018年4月30号以后,所有在 Let’s Encrypt 签发或更新的证书将自动包含 SCT。
第二种就是通过OCSP的方式,OCSP服务是有CA机构提供的,也不用开发者做什么,但如果网站拥有者要使用OCSP封套,那么需要多多留心,但但这不是CT的问题,而是OCSP封套的技术问题。
第三种不推荐,那就是TLS协议扩展提供SCT,因为需要网站拥有者自行配置。
对于开发者来说,可以将CA特性作为选择CA机构的一个标准,如果CA不能在证书中直接提供SCT,可以认为他并不专业。
说了很多CT的背景,让我们回到本文的重点,Let’s Encrypt构建Oak的一些背景。
他首先提到CT的重要性,CT能够记录和监控证书的签发,能够改进CA生态系统并提升Web安全性。
其实提到CT服务构建是要成本的,Oak服务部署在AWS,基于 Trillian(Google的一个CT协议框架)开发,用Kubernetes进行容器编排和调度,使用 AWS RDS 存储数据。
考虑到Let’s Encrypt目前规模非常大,所以这是一笔非常大的开销,所幸的是Sectigo(传统CA机构Comodo,最近改名了)赞助了全部费用。
那么Let’s Encrypt为什么一定要构建Oak呢?因为他也可以使用第三方的CA服务,他解释了一些原因。
第一,他认为为互联网提供最高级别的安全性是他的使命,而CT服务是其重要的一环,所以他应该提供这样的服务。
第二,能够掌握自己的命运,什么意思呢?Chrome要求签发的证书必须提交到两个不同的CT服务上,所以希望至少其中一个CT服务是自己的,增加可控性。
第三,Let’s Encrypt每天签发或更新100万张证书,对于 CT 服务的可靠性要求很高,所以他提供了一个高可用的Oak服务,同时也欢迎其他CA机构使用Oak服务。
Let’s Encrypt作为全球最大的免费CA机构,官方每发一篇博客,我都会简单说明下,也算为HTTPS网站的普及做了一点事,另外基于Let’s Encrypt开发的一个自动续期证书的工具(https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au)也颇受好评,大家可以关注下(点击原文连接)。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Structures and Algorithms
Alfred V. Aho、Jeffrey D. Ullman、John E. Hopcroft / Addison Wesley / 1983-1-11 / USD 74.20
The authors' treatment of data structures in Data Structures and Algorithms is unified by an informal notion of "abstract data types," allowing readers to compare different implementations of the same......一起来看看 《Data Structures and Algorithms》 这本书的介绍吧!