TURKTRUST SSL证书惨败 – 什么真的发生了,和接下来会发生什么呢?

前几天,我的同事切斯特写了一篇文章,没有冲头拉标题土耳其证书颁发机构screwup导致尝试谷歌模仿

自那时以来,网上讨论和夹层发生了什么-或者,更准确地说,只要有人可能会告诉发生了什么-已展开 ,似乎已经达到了一个结论-或更准确地说,是一个可以接受的假说。

让我简要地概括为我敢尝试。

SSL和信任的层次结构

我将使用一些非正式的术语,这可能会得罪SSL专家无处不在,运行混乱的情况,过于简单​​化的风险。

但在这里不用。

,好了, 证书是一个普通的旧的SSL证书。 Supersimplified,这是一个公共密钥的人可以用它来加密您网站的流量,将其标识为您的数字签名结合。

证书颁发机构 (CA)是一家添加到您的证书的数字签名,,据称后,在某种程度上,你是谁,你算得上是验证。

中间生成数字签名证书上所使用的CA 证书的SSL仪器,使人们可以看到谁为你担保。

根证书是仪器所使用的CA信任的顶级添加数字签名,用于在未来的信任程度下降,当您的证书被签名的中间证书。这意味着人们可以看到谁担保的公司,为你担保。

你是不是预计的手,谁担保谁在这个层次的信任验证。这一切发生时,您的浏览器会自动建立一个安全的连接。

CAS的公共根证书的信任程度真的是树的根。他们的证书是在您的浏览器中预加载,并自动赋予的信任向下。

证书内置-500

所以,如果你有一个SSL证书签署的证书,比如说,从GOOD4NE1的名称EXAMPLE.ORG,如果他们的证书签名的证书,比如说,从TURKTRUST,并如果TURKTRUST的证书信任的您的客户的浏览器…

然后你的客户的浏览器(和您的客户)会自动信任你的服务器(因此绝对信任你)。

你为自己担保。GOOD4NE1先天不足,你。TURKTRUST先天不足,为GOOD4NE1。您的浏览器厂商先天不足,的TURKTRUST。

TURKTRUST的操作失误

怎么可能去错了吗?

TURKTRUST情况下,这里就是:

1。早在2011年,TURKTRUST介绍了一个有缺陷的业务流程,使人们有可能对公司产生和船舶的中级证书错误,当被要求定期验证。

2。在2012年年底,TURKTRUST这样的错误,并派了两个组织曾要求定期证书的中级证书。该组织的EGO ,公安交通管理局在安卡拉,土耳其。

3。 EGO,至少部分地实现了错误,并返回其中一个证书。TURKTRUST撤消。出于某种原因,,EGO保持其他证书。

这是什么意思是,EGO现在有能力,如果觉得这样的倾向,它选择的任何域名的SSL证书签署,显然与出版许可TURKTRUST。

EGO在这种方式签订的任何证书,会毫无怨言地接受几乎在世界的每一个浏览器,因为TURKTRUST的根证书是在每一个浏览器的列表,拟定好CAS的意思是什么。

接下来发生了什么事,现在看来,是该的EGO决定实施安全扫描的HTTPS流量的网络。

扫描加密的流量

可以很容易地通过代理扫描HTTP流量,,但HTTPS流量是很难进去看看,因为内容应该是加密的终端到终端。

通常的做法是执行一个人在中间攻击(MITM)在自己的交通。的营销名称keybridging解密- recrypt,但它实际上只是一个中间人。

您可以创建两个SSL会话 – 一个从浏览器到代理和其他代理的最终目的地。

您解密里面的代理,检查的内容,然后重新加密为余下的旅程。

→Keybridging的攻击,如果你这样做你自己的公司的对外交通,但你应该让你的用户知道。它违背了神圣的终端到终端的加密您希望在一个SSL连接。

业务疼痛keybridging是,用户获得证书的警告每次他们做一个安全的连接到一个新的网站。这是因为他们的SSL连接终止您的代理,而不是真正的网站,他们打算访问。

解决这个问题的通常的方法是创建您自己的私有根证书,把它上传到你的keybridging代理,让代理自动生成,签名和证书,以你自己的用户提供占位符。

添加您的私人根证书到您的网络内的所有计算机,抑制证书警告,因为你自己的浏览器都信任自己的代理的CA。这意味着您的浏览器悄悄地容忍的占位符由代理生成的证书。

这是有点不纯的和丑陋的,但它的实用性,它的工作原理。

与外界的麻烦

事情变得非常麻烦,你可以想像,当你有一个带上自己的设备(BYOD)的政策,或者如果你让承包商到您的网络,并希望(希望与他们的知识和同意)扫描他们的SSL流量沿为普通用户。

直到他们下载并安装您的私人根证书在他们的浏览器中,从而接受你作为一个顶级CA,他们将获得证书警告。

因此,那些谁不按照指示服务台将继续获得证书警告,并会不断打电话给服务台。洗涤,漂洗,重复。

除非,幸运的是,你碰巧有一个中间由一个已经在全球受信任的根CA证书签名,你可以使用你的中间人。

但是,这当然是永远不会发生的,并非最不重要的,因为任何有信誉的根CA的业务流程会阻止它,无意中向您用于这一目的的中间证书…

,你可以知道这是怎么回事。

SSL公钥钉扎

拍马开始的TURKTRUST,现在看来,当一个人的的EGO网络,使用谷歌的Chrome浏览器的用户,收到一个警告,一个意想不到的证书,声称代表一个google.com的网页内容。

这是因为浏览器的功能,称为公共密钥钉扎 ,在浏览器不仅配备拟定好根CA的列表,还与已知良好谷歌SSL证书的列表。

所以,即使假定的良好CA的突然开始签名证书自称是从*。google.com时,浏览器会抱怨。

这有助于防止根CA的妥协,反对草率的业务流程和错误行为的根CA的根CA,或者,在这种情况下,对故意躲闪的行为。

你会注意到,我说“在这种情况下,反对草率的业务流程。”

尽管有阴谋论,我倾向于接受,这是一个浮躁的危机的方便,而不是企图在秘密监视:

  • TURKTRUST不应该发出错误类型的证书。
  • 本来应该更积极追查曾是第一个被报道的第二个证书TURKTRUST。
  • EGO不应该把错发的中间证书的使用它。

从这里在哪里?

接下来会发生什么呢?

根据谷歌的奔劳, 评论切斯特以前的文章,其中的一部分的答案是证书的透明度

证书透明度

我会为自己的建议总结:

我们的目标是做一个证书颁发机构颁发的证书,没有它,可见该域名的所有者为一个域,它不可能(或至少是非常困难的)。第二个目标是尽可能地保护用户从错误签发的证书。它也适用的解决方案应该是向后兼容现有的浏览器和其他客户端。

这是通过创建一些加密的放心,公开审计,只能附加日志的证书。每个证书都将伴随着一个或多个日志,这些日志中,声称该证书已被列入的签名。浏览器,核数师及显示器合作,以确保该日志是诚实的。域名拥有者和其他有关方面将监控日志管理信息系统颁发的证书。

简单地说,这样做是为了保持社区警力的列表,让你区分,都应该是流通中的证书和证书已产生的不称职或不可告人的目的。

当然,证书的透明度将增加另一层的复杂性已经复杂的过程,这是一个担心。

但是,它也将注入层强迫的诚信,问责制和监督到SSL的世界,这应该是我们所有的好。