为什么我们信任SSL证书?

时间:2009-02-25 08:17:35

标签: ssl-certificate

我的一位朋友问我,为什么我们为SSL证书支付这么多,如果理论上每个人都可以发一个。为什么呢?我们如何判断浏览器中的小锁是否真的值得信赖?

10 个答案:

答案 0 :(得分:24)

证书由称为证书颁发机构(CA)的内容加密签名,每个浏览器都有一个它隐含信任的CA列表。这些CA是具有一组加密密钥的实体,可用于签署任何证书,通常是收费的。由受信任列表中的CA签名的任何证书都会锁定浏览器,因为它已被证明是“受信任的”并且属于该域。

可以自我签署证书,但浏览器会通过在允许您进入之前显示一个大错误框或显示一个损坏的锁定图标来警告您签名者不受信任。

此外,即使是受信任的证书,如果用于错误的域,也会产生错误,或者被修改为包含其他域。这是有效的,因为证书包含允许用于的域,并且还具有加密校验和/指纹,以确保其完整性。

目前这不是100%安全,因为有可能伪造使用MD5的CA证书,请参阅此链接:http://www.phreedom.org/research/rogue-ca/。虽然必须注意这一点非常困难,因为它们利用了已经存在的CA的弱点,现在可能已经或可能没有关闭。

从本质上讲,我们信任证书,因为我们相信我们的浏览器提供商知道如何选择“适当的”CA.这些CA只能凭借其声誉受到信任,因为如果检测到单个失误,理论上会对其可信度造成沉重打击。

答案 1 :(得分:11)

整个CA业务都很棒。我从rapidssl.com购买了几张证书,他们要求的所有“证明”是:

  1. 我可以收到域名邮件。
  2. 我可以接听电话。
  3. 就是这样。请记住,当信任浏览器中的小锁时。

答案 2 :(得分:6)

首先,关于强公钥/私钥加密的一些背景知识,SSL基于:

密钥有两部分,私有部分和公共部分。公钥可用于加密需要私钥解密的资料。这允许使用开放的通信渠道进行安全通信。

公钥/私钥加密的一个重要方面是私钥可用于对可以使用公钥验证的消息进行数字签名。这使得消息的接收者能够具体地验证他们收到的消息是由发送者(密钥持有者)发送的。

SSL证书的关键是加密密钥本身可以进行数字签名。

“证书”由私钥/公钥对以及数字签名数据组成。当有人购买SSL证书时,他们会生成私钥/公钥,并将公钥提交给要签名的证书颁发机构(CA)。 CA对SSL证书的买方执行适当的尽职调查,并使用其私钥对证书进行签名。 SSL证书将绑定到特定网站或一组网站,并且本质上是CA,表明他们信任证书私钥的所有者是这些网站的正确所有者。

默认情况下,主要出货浏览器和操作系统中包含受信任CA的根证书(公钥和其他元数据)(在Windows中,在运行提示符中键入“certmgr.msc”以查看证书管理器)。当您使用SSL连接到Web服务器时,服务器将向您发送其SSL证书,包括公钥和其他元数据,所有这些都由CA签名。您的浏览器可以通过签名和预加载的根证书来验证证书的有效性。这会在CA和您要连接的Web服务器之间创建一个信任链。

答案 3 :(得分:3)

因为我们必须相信某人。

受信任的SSL证书具有受信任机构的签名。例如,VeriSign与Microsoft达成协议,即他们的证书是在您的浏览器中构建的。因此,您可以信任具有VeriSign可信证书的每个页面。

这张图片真的很重要:

PKI

  • RA =注册机构
  • CA =证书颁发机构
  • VA =验证机构
  

粗略轮廓:用户申请a   证书与他的公钥在   登记机关(RA)。该   后者确认用户的身份   认证机构(CA)   然后颁发证书。该   用户然后可以数字签名   使用他的新证书签订合同。   然后由他检查他的身份   缔约方进行验证   权威(VA)再次收到   有关已颁发证书的信息   由认证机构。

答案 4 :(得分:2)

如果您没有使用其中一个接受的CA,当访问该网站时,人们会收到一个消息框,内容是关于不受信任的证书。这无助于为网站带来流量。

锁只意味着网站所有者向CA展示了某种证据,证明他确实是他声称的那个人。如果您信任该人/网站,您必须自己判断。

就像一个向你展示带照片的陌生人。你更信任他,因为你肯定知道他的名字是John Doe吗?可能不是。

但是当你信任的人告诉你:“John Doe”是个好人。证明你面前的那个人实际上是“John Doe”,而你也可能选择信任他。

答案 5 :(得分:2)

为什么呢?因为你付出的代价是为了保证别人的声誉.......

所有关于谁证实你声称自己是谁。尽管我最近观看了一些纪录片,以及经济衰退,但当我向他证实你的身份时,我更有可能相信美国企业,而不是我是俄罗斯的黑手党。即使两者都可以轻松颁发证书。

您支付的金额基本上只是(确保声誉和/或抑制任何安全漏洞需要花费多少钱)+(无论他们能够承担多大的利润来将市场作为保证金百分比)。

现在进入的门槛相当高,因此获得这种信任真的很贵,所以并不是很多竞争。因此,除非索尼或通用电气等决定参与其中,否则价格不会很快下降。

答案 6 :(得分:1)

您支付证书的费用,以便当您使用HTTPS(您应该对任何有点敏感的事情)时,您的客户不会收到大的警告,并致电您的支持人员说您已经感染了他们&人...

很少安全,很多FUD。

如果您有可能直接向您的客户提供自己的证书,请执行此操作。但这是一种罕见的情况。

答案 7 :(得分:0)

证书建立在信任链上,如果让任何人成为签约机构,我们就会隐含地信任每个人。今天有点可怕,因为有超过200个所谓的“受信任的权威机构”,其证书已内置到您的浏览器中!

我知道有一个免费的CA:StartCom。他们发布免费的SSL证书,但它们只在Firefox中被接受,而不是IE。 (不确定Safari或Opera)。

答案 8 :(得分:0)

让我们创建一个攻击方案。

假设 DNS已损坏,并且https://facebook.com/指向攻击者的IP。

您坐在PC上并打开Facebook,以进行无意义的滚动,从而放松了几分钟。然后,在您的屏幕上显示Certificate invalid错误。攻击者使用自己的证书对https://facebook.com/进行了签名,以确保没有人会从其复制的Facebook页面中逃脱,因为该页面未经加密。如果浏览器无法检查证书的权限,则攻击者可能会使用其证书对损坏的页面进行签名,并且您不会知道您连接的IP错误。

因此,攻击者可以选择2个选项:

  1. 使用他的证书对损坏的Facebook页面进行签名,以便用户看到错误。
  2. 请勿在损坏的页面上使用http。

答案 9 :(得分:-1)

其他答案解释了CA系统。透视项目旨在部署新的SSL方法,您可以选择信任的人:http://perspectives-project.org/