用户身份验证证书的合理到期时间是多少?

信息安全 证书颁发机构 点对点 证书吊销
2021-09-09 22:35:39

这个问题是关于一个几乎去中心化的 P2P 系统,它具有一个集中的证书颁发机构,用户可以在其中进行身份验证并在其公钥上接收证书,然后可以使用该证书与对等方进行身份验证 - 独立于证书颁发机构。简而言之,这在道德上相当于使用 cookie 的“让我保持登录”复选框。

如果证书被盗,用户可能会被假冒,直到证书过期,尤其是在证书几乎不可能收回的 P2P 系统中。这是一个使到期时间很短的论点,比如说一个小时。

另一方面,我们有依赖和性能的论点。如果到期时间很长,它会减轻证书颁发机构的压力,并且还可以减少不可用时的影响。

这种“登录”证书的合理到期时间是多少?

3个回答

现实生活中的证书有一个简洁的概念,称为吊销这是一种传播(以安全的方式)信息的方式,即给定的证书虽然显然是合法的和符合犹太教规的并且具有所有正确的签名,但不应再被信任。这是一种“哎呀”功能。X.509中,这使用证书撤销列表OCSP

基本思想是偶尔会发生意外,尤其是钥匙被盗撤销是一种损害遏制程序,当检测到此类问题时会触发该程序。重要的属性是它是一个手动过程:它发生在人类决定它时。因此,它具有固有的、不可避免的延迟。因此,撤销信息不需要“非常新鲜”:例如,每天发布两次的 CRL 就足够了,因为期望对被盗密钥有更好的反应时间是虚幻的。

如果足够短,到期可以代替撤销。如果证书是短暂的,则不需要吊销。“短”有多短?根据上述推理,如果到期时间短于我们选择的 CRL 发布间隔(如果我们必须发布 CRL),则不需要撤销。根据上面的推理,12 小时已经足够短了。

因此,您的身份验证证书可能会在 12 小时后过期。由于人类在晚上睡觉,因此您不能真正期望平均而言,钥匙盗窃的检测速度比这更快。

我认为这个问题很难回答的原因是因为它是错误的问题。您无法独立于受保护的“事物”来评估适当的到期时间。这里没有绝对的。您真正需要确定的是,我们可以接受的最长到期时间是多少,因为它足够长,可以为客户带来最大的便利,但又足够短,以确保可接受的保护。您永远无法获得绝对的安全性——您能做的最好的事情就是在使某些东西足够安全和​​确保它仍然可用之间找到适当的平衡。

首先考虑如果会话数据/cookie 被泄露会造成什么损害。然后考虑这可能是多么容易和可能。难易程度在很大程度上取决于技术和环境。这种可能性将更多地取决于对其他人的感知价值。

一旦你对价值、易用性和可能性有了一些衡量标准,你就可以首先考虑是否需要额外的努力来进一步保护通信以及将工作重点放在哪里。例如,如果数据对其他人具有非常高的价值并且其他人想要它的可能性非常高,您可能会认为“记住我”会话状态的便利性是不合理的,因此您决定只是不提供该功能。或者,您可能会决定在给定环境、价值和可能性级别的情况下,向会话添加一些额外信息可能就足够了,或者您可能只是决定一个到期期限,该期限在某人可以获得的时间/轻松的可接受范围内并使用会话数据和有人想要这样做的可能性。

我意识到这并不能真正回答最佳到期时间的一般问题,但那是因为该问题无法回答,因为它取决于应用程序。事情变得更加困难,因为使用的一些衡量标准,例如“价值”和欲望/可能性几乎没有主观成分。这就是为什么这个东西很难。辩论技术优势/劣势要容易得多,因为它们通常具有一定程度的客观衡量标准。更主观的维度更难评估,因为它们需要对业务流程、经验甚至一点心理学的深入了解!

用户认证证书的到期时间与盗用证书和伪造身份无关。如果攻击者可以窃取您的身份验证证书,则意味着他已经拥有您的电脑,因此他不再需要窃取您的证书,因为他可以使用您的电脑发起任何活动并伪造您的身份。

通常黑客会嗅探您的加密流量并且无法访问您的电脑,因此他无法窃取您的数据。他将对您的加密数据发起暴力攻击,以便实时检索原始数据。

您的证书的有效期应该小于攻击时间,否则它是无用的。例如:

  • 会话密钥的有效时间 = 一次登录
  • 对称密钥,最好为每个会话生成随机密钥
  • RSA 密钥的有效期 = 年