This article is an automated machine-translation of an article in English. We know the translation isn't perfect, but we hope it's useful for people who don't read English.

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

Filed Under: Featured, Privacy, Security threats

前几天,我的同事切斯特写了一篇文章,没有冲头拉标题土耳其证书颁发机构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的世界,这应该是我们所有的好。

You might like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

About the author

Paul Ducklin is a passionate security proselytiser. (That's like an evangelist, but more so!) He lives and breathes computer security, and would be happy for you to do so, too. Paul won the inaugural AusCERT Director's Award for Individual Excellence in Computer Security in 2009. Follow him on Twitter: @duckblog