每个SSL证书都有一个有效期。现在,假设某个站点的证书在一小时前或一天前过期。默认情况下,所有软件都将拒绝连接到站点或发出安全警告。

这最近发生在Windows Azure Storage上,并且由于依赖服务中的大多数软件默认都拒绝连接很多服务经历了严重的退化。

现在这里的逻辑是什么?我的意思是一天前该证书有效,每个人都乐于使用。现在一天之后,它正式过期了,没人再喜欢了。

我已经阅读了这个答案,但对于这种特殊情况,我并不认为这令人信服。每个安全模型都有一个威胁模型。

这里的威胁模型是什么?从现在到前一天,如果证书被视为无法使用,以至于我们甚至拒绝连接到该站点,该怎么办?

评论

您想从售完日期仅两天后从一盒牛奶中喝吗?

@Shadur:从未听说过被SSL证书中毒。

@Shadur当然可以,但是首先您要闻牛奶以检查牛奶是否掉​​了。如果没有,那么您就试尝一下。如果牛奶没有掉下来,那么您可以使用牛奶。
@Shadur当然,更多的人应该-在这个星球上浪费了太多完美的食物。

@ Smalltown2k我怀疑是否有一种臭味测试可以证明一种折衷的证书与酸牛奶证书一样可靠。

#1 楼

证书过期后,将不再发布其吊销状态。也就是说,该证书可能早已被吊销,但是将不再包含在CRL中。证书到期日期是包含CRL的截止日期。这就是证书过期的正式原因:保持CRL的大小有限。

(非正式的原因是让证书所有者支付年费。)

所以您不能信任证书过期,因为您无法检查其吊销状态。它可能在几个月前已被撤销,您将不知道。

评论


您的非官方原因与必须过期的自签名(免费)证书不符!

– F. Hauri
13年2月25日在13:10

好吧,我现在正在更新免费的SSL证书,这太麻烦了,以至于我正在认真考虑切换到非免费的CA。我怀疑StartSSL是故意这样做的(免费证书是广告,以引起注意)。

–托马斯·波宁(Thomas Pornin)
13 Feb 25 '13:46

您正在使用ou,您是否已经尝试过OpenSSL套件?

– F. Hauri
13年2月25日在16:10

@ThomasPornin-是的,我个人很喜欢StartSSL,但我也使用了经过2级验证的选项。仍然是我能找到的最便宜的通配符证书。此外,请注意,他们实际上将基于客户端证书的身份验证系统用于其帐户。

– AJ亨德森
2013年2月25日在18:46



@ThomasPornin然后,让我们推出自己的非商业性CA-二十一点和妓女

– Tobias Kienzler
2013年2月25日在20:23



#2 楼

一个好问题。最简单的答案是,拥有到期日期可确保您经常进行“审核”。如果没有到期日期,并且有人停止使用证书(并保护私钥),那么没人会知道。但是,通过确定有效期,您可以确保用户返回出售SSL证书的公司,并向他们支付更多的金钱err(我的意思是说)已经过审核,并已重新验证为他们声称的服务对象是(我将尽量避免对当前的Internet安全模型提出质疑)。

然后问题就变成了:如果您要在宽限期内忽略过期的证书,能持续多久?一天?一周?一个月?在某些时候,您只需要停止信任证书即可;如果您在到期后第二天提出这一点,您仍然可以问自己:“今天和昨天之间会发生什么?”而且您陷入了一个循环。

本质上来说,您是对的:人们不会在到期日期一到就立即魔术般地停止保护其私钥(否则他们可能很长一段时间就停止保护它们了)之前,没有人知道,因为他们没有撤消它们,并且它们还没有过期。到期日期对证书的安全性没有任何影响,但是,如果没有截止日期,您将永远不会知道证书可能会被遗忘,而对于证书,您至少知道那么多。

评论


+1表示“如果您要有一个宽限期,在此宽限期内您将忽略过期的证书,那么证书将持续多长时间?”。我相信,这就是宽限期永远无法使用的真正原因:它只是人为地延长了有效期,这意味着您也可以使用更长的有效期作为开始。所有软件将以相同方式实施。

–用户
2013年2月25日在9:45



记住,“很多钱”有点夸张; Rapidssl收取两年证书的费用不超过一百美元。

– Shadur
13年2月25日在10:43

还值得注意的是,证书颁发机构正在运行基础结构来验证您​​的证书,该基础结构具有运行成本,因此让人们经常更新证书对他们的业务有利,并使一切保持正常运行。

– NULLZ
13年2月25日在12:05

@LarsH假设您正在查看计算机到计算机的通信(例如Web服务,电子邮件传输等),而不是用户到计算机的通信(也许但不一定是Web浏览)。警告应放在何处才能生效?

–用户
2013年2月25日14:42



@Michael Right-如果以超过100 km / h的速度行驶10 km / h的速度被挥舞掉,那么每个人都会开车110并抱怨他们在113时获得的罚单,因为他们“只有3个路过”。相同的通货膨胀适用。

–user13695
13年2月25日在16:14

#3 楼

如果有一个通用的五天宽限期,那么直到五天之后,没人会注意到证书的到期时间,这给您带来了完全相同的实际效果,可以立即拒绝过期的证书。这是SSL连接停止工作的事实,这产生了压力。

我怀疑SSL客户端应用程序大声警告即将到期的证书会更有效,以便那些应用程序的用户可能会承受压力提前联系他们的服务提供商。

评论


+1可使客户端应用程序在证书到期之前发出警告,而不考虑某些正式宽限期协议。 (当然可以关闭!)

– LarsH
2013年2月25日14:04



+1用于监视,但仅在消息到达某个人时才起作用,并且仍然需要注意记录在日志中的警告。 nagios会监控我们所有的Web服务器证书的有效期限,红色文本引起了大量关注。无论如何,签发证书颁发机构可能会以60/30/15/7/1天的间隔向某人发送电子邮件。

– jqa
13年2月25日在15:39

@james Kudos感谢您观看您的证书和也警告的CA,但我认为我要说的是-如果客户开始抱怨,那么对事情不太了解的服务提供商将有一些外部压力,要求他们在麻烦开始之前共同行动。

– Zigg
13年2月25日在15:43

直到事情崩溃并停止工作,我怀疑客户中只有很少一部分会说什么。单击“忽略”,或者假设管理员正在处理该问题,则在一两天内返回,这比尝试弄清楚如何联系站点管理员报告问题的工作要少得多。

–丹在火光中摆弄
13年2月25日在16:29

可能有一个每天运行的定期任务,该任务会遍历证书存储并为即将到期的所有证书生成警告。

–卡兹
13年2月25日在16:39

#4 楼

我同意当前的系统不是最佳系统。

更好的证书系统可能会对即将到期的证书具有“黄色”状态期(“绿色”为有效证书,“红色”为有效证书)证书过期),有效期为1个月。每个N年证书将在N年+ 1个月后过期,尽管理想情况下,它们将在N年内进行更新。但是,在过去的一个月中,每个使用证书的应用程序都应该向用户显示轻微的警告提示。对于网络浏览,您可以执行以下操作,例如将URL的颜色改为黄色而不是绿色-带有悬停/点击消息,效果如下:


该网站的证书将于3月25日到期, 2013年,域名所有者应在过期之前对其进行更新。该证书仍然是完全有效的,并且应该在此时被完全信任,但是,如果该证书当时未更新,则依赖此证书的应用程序将在2013年3月25日停止工作。


这会完美吗?可能不是,因为某些应用程序可能不会将这些消息传递给用户,并且到期日期仍然会到。另外,必须在标准中约定将证书更新的日期提前多久(一天,一周,两周,一个月?)。但这肯定是一种进步。

(当然,我同意Microsoft在他们的Azure证书过期时确实放弃了这–这表明该平台试图支持企业的能力不足应用程序)。

评论


这应该是选定的答案。

–起搏器
15年5月23日在12:32



#5 楼

答案就像企业一样简单:“不付账单”

证书颁发机构在不同的时间段内声称此证书有效。
但是,这与证书颁发机构的信任度以及证书所有者进行的过程并没有多大关系。

#6 楼

这与感知和适当的安全实践有关。

当您创建一个有效期为一年的证书时,您基本上是在说:“我们不能保证证书的完整性一年,因此我们将在此之前推出新证书。“

因此,证书过期的网站表明管理员没有遵守他们在设定的时间内更新的承诺。对自己来说,这意味着不良的安全做法。

,这是同样的原因,即使您的汽车似乎运转良好,也错过了一次汽车检查,或者为什么产品有销售截止日期。

评论


1)通过使用非前向安全密码套件,即使在证书过期后,也需要确保私钥的保密性。2)妥协是随机发生的,因此您不能说“我可以将密钥保持一年的安全性”。因此,您的易腐商品比较不适合。

– CodesInChaos
2013年2月25日在16:41

#7 楼

保质期对于某些产品可能是一件有趣的事情:制造商声明,它保证该产品在一定时间内将是有效的,但他不能保证如果您在该时间段之后消费该产品,则将具有原始属性。

一张证书具有相同的含义:它具有一定的期限,在该期限内颁发者声明该证书有效。在此期间,证书应该没问题。如果不是这样,将会引起一些回想:发行者的吊销列表将告诉全世界“不要再信任该证书,因为它可能会受到损害”。

到期后,发行人将不再跟踪该证书:它已经通过了有效日期,因此任何仍然信任该证书的人都应该仅基于他的信念,而不是发行人(或其他任何人) )。

有效期结束后,证书不会变质,破损,有臭味……只是不再保证已被吊销。为什么我们不信任最近过期的SSL证书,是因为我们需要安全性,并且我们使用证书来担保某些事情。如果我们不能确定它是否已被撤销,则不能确定它是否已受到损害,并且使用它也没有任何安全性...

#8 楼

除了已经提到的事情(优良作法是定期更改此类密钥,CA希望获得报酬,重新审核身份等),还有一个技术原因。浏览器会通知您,他们无法验证证书的有效性。

证书可以被吊销,即,如果它们的密钥被盗用,则标记为无效,CA会通知它们被错误颁发,等等。该吊销信息保证在有效期内提供,但不能在以后提供。这样可以使CRL(证书吊销列表)的大小保持较小。尽管如今在基于浏览器的SSL中很少使用CRL,但这也可能会影响其他检查有效性的方法。

因此,强制执行有效日期具有技术意义,而并非仅仅因为“证书应该更新以确保重新审核”和“ CA希望获得报酬”。

评论


这个答案与Thomas Pornin的答案相比又增加了什么?

–用户
2013年2月25日14:45



#9 楼

设置证书的到期日期的原因与您应该不时更改密码并具有使用户不时更改密码的策略相同。并非总是需要,但有时可能会派上用场。

例如,您的前雇员拥有您的工作(内部),CA可能会在他的网上诱骗网站上签名,并且您不会发现他的网站与您的网站之间存在任何差异银行网站(包括您的浏览器说该连接是安全的)。

您仍然可以说“我不在乎”,并将证书日期设置为例如: 2300(如果您是CA的所有者)。当然,商业上,外部机构可能希望让您将其设置为许可证的有效期限;-)。

#10 楼

这取决于您要保护的内容。比较安全。这相当于零日攻击,处于中间攻击状态。攻击者必须知道证书已过期,知道您使用该证书,然后在几天之内将自己插入到您和服务器之间。如果您在保护核秘密,那么信任就太冒险了。如果您发送信用卡号,几天或几周就可以了(无论如何也不承担任何责任)。如果您在伊朗写博客关于独裁者,而在伊朗,则冒着生命危险,这可能不值得冒险。