CA如何确定实体是否值得信任

时间:2010-01-07 15:15:47

标签: java security encryption certificate x509

我目前正在为一个uni类编程一个证书颁发机构,我目前正在努力创建证书的概念。

CA通常如何决定是否应该向实体提供证书,是否足以通过使用私钥签署证书请求来证明该实体是公钥的所有者?

如果不是,CA通常如何决定该实体是否值得信任?

感谢,

5 个答案:

答案 0 :(得分:4)

CA是一项业务。它通过销售认证赚钱。它出售的证书越多,它所赚的钱就越多。 如果CA没有明智地验证这些实体,它将失去它的声誉,并且没有人愿意付钱以获得它的认证。

通常情况下,CA在这两种相反的力量的张力下运作

答案 1 :(得分:4)

我担心你的问题表明存在严重的误解。

  

是否足以通过使用私钥签署证书请求来证明该实体是公钥的所有者?

肯定不足以让实体用私钥签名。 CA如何知道使用哪个公钥来验证签名?它必须信任实体提供它。所以任何人都可以联系CA并说:

  

“我是microsoft.com,在这里,我用私钥对此进行了签名。您甚至可以使用我的公钥进行检查。现在,您是否可以证明此公钥属于microsoft.com,请?我付你1000美元!“

(事实上,这一步是必要的,但还不够。如果我没有使用私钥签名,那么我可以将任何公钥 - 甚至微软 - 发送给CA和请他们证明它是我的。然后我可以声称微软签署的东西(也许是专利申请)实际上是由我签名的!所以CA肯定会检查我有相应的私钥,然后再认证公钥。证书。)

所以问题是,CA可以做些什么来验证申请证书的人的身份? CA之前没有人听说过这个实体!

一个简单的选项,可以在CA端完全自动化,是实体提供电子邮件地址。 CA将向该电子邮件地址发送质询(例如CA网站上包含长随机数的特殊URL)。如果有人通过该URL向服务器发出请求,那么可能是拥有或有权访问该电子邮件地址的人。

如果您前往Verisign并申请免费试用SSL证书,您可以亲自试用。

此限制是此证书可以证明的关系是在公钥和电子邮件地址之间。对某些人来说这可能已经足够了,但对每个人来说都不够。

如果我想确信特定证书(或其中的公钥)属于Elbonia的XYZ Inc,因为我要向他们发送一些敏感的商业细节,我想要的不仅仅是电子邮件地址。我想确保CA已经做了一些严肃的探索。 CA应该收到信头上的请求。他们应该使用电话簿中的电话号码与公司联系。 (冒名顶替者也必须欺骗电话人员。)CA应与商业名称登记办公室核实,以检查XYZ Inc是否已在此地址注册。他们应该将一份文件(带有一个长随机数)张贴到注册地址。 (这意味着冒名顶替者也必须拦截邮件。)CA可以实际参加该组织业务的注册办公室,以确认该请求已经完成。

所有这些身份检查都非常耗时且昂贵。 CA将向实体收取此类服务的费用。但是,如果该实体希望为其客户提供高度自信,即该公钥真正属于XYZ Inc,那么就必须这样做。

正如Iain Collins所说,CA可以为那些只需要少量身份验证的人提供廉价服务,为其他人提供昂贵的服务。 CA提供的证书将包含已发生的身份验证级别的指示。考虑使用证书进行交易的人可以查看CA的证书实践声明,以了解此级别的含义以及已执行的身份检查的类型。

最后,CA没有对实体的可信赖性做出任何断言。请记住,证书是公钥和身份之间的链接。 CA执行的检查只是确保公钥确实与该特定实体相关,而不是模仿该实体的人。该实体可能非常邪恶!

总之,在颁发证书之后,您无法使用公钥加密来确定某人的身份。证书表明CA已使用某种其他形式的身份检查,并允许其他人依赖该检查。

答案 2 :(得分:1)

确定实体的身份对于被认证的实体类型是非常主观的。根据我的经验,在申请域名证书时,例如www.stackoverflow.com,CA通常会联系whois中提到的技术联系人。

或者,CA可以向可信实体提供PKCS#9密码短语以在CSR中提供。然后,CA可以针对列表检查密码,并确定所请求的实体是否对该实体合法。

答案 3 :(得分:1)

不同类型的证书存在不同级别的信任。

基本SSL证书:

例如,

网站的基本SSL证书通常是一个自动过程 - 通过发送一个唯一的过期URL(或必须在在线表单中输入的代码)验证与域WHOIS相关的电子邮件地址记录。

对于扩展验证:

为了更强大的验证(例如在SSL'扩展验证'的情况下,您在现代浏览器中看到绿色地址栏),通常的做法是通过关联多个信息源来确定所有者的合法性,例如作为申请公用事业账单/公司注册证书/注册公司详细信息(例如Dun and Bradstreet / Companies House Registration(英国)或同等机构)和域名信息,以确保它们完全匹配相同的地址和公司名称。

如果是个人证书,通常需要带有照片或护照的驾驶执照复印件。

通常的做法是通过已识别的电话回叫以确认订单是合法的。电话号码的合法性通常基于WHOIS信息中的一个,或者是公用事业公司提供的电话帐单上列出的号码。

扩展验证证书的过程通常非常相似,如果与代码签名证书的过程不同(用作记录的电子邮件联系人的域通常被视为您必须控制WHOIS信息的域)对)。

从注册商到注册商略有不同,有时可能有点非正式和临时(因为一些小公司很容易提供的东西很难在大公司中掌握,反之亦然他们倾向于接受多种替代方法。

答案 4 :(得分:1)

恕我直言,实践中最重要的事情是CA的用户(即那些正在验证证书的用户)了解CA正在做什么,这样他们就可以对证书进行适当的信任,并且证书永远不会重新发布与两个不同实体具有相同的身份。

如果证书中的名称是客观的,则审核用户的身份非常重要。例如,应包含特定域/主机名的Web服务器证书(例如www.example.com),应确保证书的所有者拥有域名。