数字签名证书初识

  假设有一家银行持有大量客户资金,允许用户通过其网站onebank.com转账。现在一个黑客连接到公共wifi,并使用虚假的DHCP服务告诉WiFi上的其他用户:我是网关,让我转发你的互联网流量。这使所有用户名和密码等信息都会经过他的服务,可能出现泄露。这些信息用户虽然会使用TLS加密,但如果黑客得了颁发的证书,然后部署了一个虚假服务器并告诉用户,这个假onebank.com网站就是银行网站,这样就可以获得用户的信息。这里出现泄露问题的重点在于证书,客户信任了假服务器提供的证书。证书的作用即是证明持有者是真实、有效值得信任的。
  一个常见的误解是,只有证书颁发机构才能颁发证书。事实上,任何人都可以颁发证书。可以自己创建根证书,并向任何域颁发证书。可以有许多证书,但客户端必须只信任有效的证书。什么样的证书是可以信任的有效证书?即由权威证书颁发机构 (CA) 颁发的证书。证书涉及三方:客户端、CA和网站,是相互关联的,每个参与者都有自己的职责。他们的关系是:

  • 客户端信任 CA。
  • CA 向网站颁发证书。
  • 当客户访问网站时,该网站会出示其证书。由于客户端信任 CA,因此它也信任 CA颁发的证书。
    为什么CA值得信任?证书颁发机构 (CA) 有三个主要职责:
    1.对网站:当有人申请证书时,必须验证申请人的身份。如果申请者没有得到申请域名的回应,将无法向他们颁发证书。
    2.对自己:保护其根证书的私钥。
    3.对客户:获得信任。一切的基础是客户必须信任 CA。对所有其他证书的信任源于对 CA 根证书的信任。建立信任是一个漫长的过程。

  CA不能向错误的人颁发证书,因为这将允许证书持有人冒充他人。因此,对于所有申请人,必须确保他们在颁发证书之前确实拥有对域名的控制权。这意味着要验证申请人的身份,常有的验证方式:
1)使用ACME方式,要向我(CA)证明你是你,你需要让指定URL返回特定文本来表明你对域的控制权,之后将向你颁发证书。大致流程是CA向你的 ACME 客户端提供一个令牌,然后你的 ACME 客户端将在你 Web 服务器指定路径上放置令牌文件。 该文件包含令牌以及帐户密钥的指纹。一旦你的 ACME 客户端告诉CA文件已准备就绪,CA会尝试获取它(可能从多个地点进行多次尝试)。 如果验证机制在你的 Web 服务器上找到了放置于正确地点的正确文件,则该验证被视为成功,你可以继续申请颁发证书。
2)另一种方法,例如 DNS TXT记录。此验证方式要求你在该域名下的 TXT 记录中放置特定值来证明你控制域名的 DNS 系统。 需要在域名的DNS解析服务商手动修改域名的DNS解析记录,在解析记录中添加一条用于验证的记录。CA验证添加的记录能被解析,则表示验证通过,可以颁发证书。
  CA 必须保护他们的私钥,将其通过多种安全措施存储。因为如果它被泄露,他就无法再履行其职责。持有泄露密钥的人可以随意颁发证书。这对于 CA来说将是灾难性的问题。CA颁发的所有证书都需要被吊销,网站需要重新部署新证书,如果客户端不及时吊销的被泄露的CA证书,他们可能面临访问欺诈性服务器的风险。为了应对泄露问题,根证书通常不会直接颁发网站证书。 因为需要证书的网站众多(包括过期时重新颁发),CA从安全存储库中访问证书的私钥效率非常低。为了解决这个问题,它颁发中间证书,然后用于向网站颁发证书。
  为了完成上面的工作,提出了信任链,既如果客户端信任 CA,则客户端应信任 CA 颁发的证书,并且应信任这些证书颁发的证书,依此类推。这是否意味着任何人都可以利用 CA 的可信度来颁发证书。例如使用CA颁发给我的证

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值