为什么TLS证书的过期时间被设定为398天?

7

苹果最近宣布计划将TLS证书的有效期限降低至398天,这一变化随后被谷歌Firefox效仿。

我理解减少TLS证书到期时间限制的所有合理原因。由于CA机构历史上在吊销被盗证书方面表现不佳,因此有了像Let's Encrypt这样的工具,您现在可以每个月免费自动旋转证书并使用cronjob,频繁更换TLS证书意味着试图解密已记录的HTTPS流量的攻击者只有一个有限的信息窗口(如果成功),而他发现的密钥在那个有限的窗口之外是无用的(增加计算资源来破解HTTPS)等。

但是,我不明白为什么398天成为了协商达成的TLS证书期限。为什么不是365天?为什么不是400天?398天基于什么?


2
我不打算阅读这个长帖子,但你可以看看。 - President James K. Polk
3
这段话的意思是:选择397天代表“13个月”的最大合理解释;它是从366天(考虑闰年)和一个31天的月份计算出来的。这只留下了一个问题,为什么不是398而是397,但是苹果实际上建议最多使用397天,同时要求最多使用398天——可能只是为了在所有时区的事情上保险起见。 - Steffen Ullrich
1个回答

10

366+31+1 = 398天

这相当于一个闰年 + 一个月 + "留出一点时间来处理日期上的混乱"

在2017年,Ballot 185最初提出了一个新的限制为12个月,然后将其扩展到13个月,即398天。

jeremy.rowley at digicert.com:

我喜欢较短有效期的概念,但我建议使用13个月的有效期,而不是12个月。这样,订阅者可以每年续订一个月的缓冲期。

andrew at sslmate.com:

为了避免到期日期每年漂移,更新证书的 notAfter 日期必须恰好比当前证书的 notAfter 日期晚一年。由于有一个12个月的限制,CA只能在当前证书过期时恰好发行更新的证书,这显然是不可行的,因为它不允许切换的时间。相反,13个月的限制将使CA能够在当前证书到期前一个月发行更新的证书,并根据需要设置12到13个月的有效期,以使到期日期同步。这更加友好。
"pzb at amzn.com:" 人们正在起草选票,您是否可以考虑指定以天为间隔并在间隔的最大情况下使用(假设闰年、长月、闰秒、四舍五入等)?例如,如果您想指定13个月,请考虑使用366 + 31 + 1 = 398天。

sleevi at google.com

- 根据https://cabforum.org/pipermail/public/2017-February/009449.html的建议,将12个月更改为398天。

有一些关于琐事的讨论,关于投票185是否应该将限制设为398天还是400天。 投票185失败,相反,825天的限制投票193通过。在2019年,398天的限制在Ballot SC22中被重新提出。

谷歌公司的sleevi

- 397天的选择代表了“十三个月”期间的最大合法解释; 它是从366天(考虑闰年)以及31天的月份计算得出,在证书使用的日历中,这是最长的月份。 cspann at apple.com
- Apple支持此提议,并将在实现说明或其他解决部分日期歧义问题的方式中附加一些澄清内容。 sleevi at google.com
我一直在思考如何使内容更加清晰,我很好奇以下方法是否能解决问题:
- 将最大有效期限定为398天,而不是397天
- 改变关于有效期的要求,规定CA不应颁发有效期大于34300800秒(即86,400秒的397天)的证书,并且必须不颁发有效期大于34387200秒(即86,400秒的398天)的证书。
- 这试图用秒数明确定义有效期
- 但是,为了允许闰秒、时区变化和“合理”的错误,将MUST NOT设置为398天。任何正确使用397天实现其系统的CA都很难违反MUST NOT,但这给了一些处理日期混乱的余地。

https://github.com/cabforum/documents/pull/138/commits/b74a038cc492e1ba4f087e7db94494e99f609070

根据Apple的反馈更新BRs

* 通过定义秒数来避免日期的歧义
* 将398天作为MUST NOT,397天作为SHOULD NOT,以希望指导CAs正确实现

Ballot SC22 failed,但被Apple采纳为new requirement

自2020年9月1日00:00 GMT/UTC起发布的TLS服务器证书的有效期不得超过398天。

  • 398天等于86400秒。任何大于此时间的都表示有额外的有效期。
  • 我们建议证书的最大有效期为397天。
那个398天的要求和397天的建议随后被包含在Ballot SC31中,经过巨大的, 巨大的, 努力之后,最终通过

2020年9月1日或之后发放的订阅证书,其有效期不应超过397天,并且其有效期不得超过398天。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接