各种 TLS 版本的开发是什么时候开始的?

信息安全 tls 历史的
2021-09-03 22:16:08

我在寻找什么

我正在寻找每个 TLS 或 SSL 版本的开发开始日期的近似值因此是开发开始日期)。所以我不想知道第一个 RFC 的发布日期,而是人们开始研究 RFC 的日期(这可能类似于初稿,或者电子邮件列表中的某些帖子)。日期可以精确到一年或四分之一年,不必非常具体。

为什么?

我正在制作一个时间表来说明 TLS 和 SSL 版本的历史。由于最新的 TLS 版本(TLS 1.3)仍在开发中,我想将此版本显示为“开发中”。为了使我的时间表更加一致,我也想将开发中的部分添加到其他版本中。由于时间尺度主要是一个说明,一个近似值或轶事参考就足够了。

我知道什么

我确实知道以下数据:

我查看了以下来源:

有人知道有关这些协议历史的更多信息吗?

2个回答

Tldr

这就是我所做的小研究能够找到的。这些日期中的大多数都是您可以在较长版本中阅读的,基于各自协议的首次提交草案,而不是第一次被谈论。我希望这对您的工作有所帮助,并且在进行进一步研究时可能会有所帮助。

  • SSLv1 - 1993 年 11 月/12 月。
  • SSLv2 - 1994 年年底,11 月 29 日之前。
  • SSLv3 - 1995 年 12 月 5 日。
  • TLS1.0 - 1996 年11月 26 日。
  • TLS1.1 - 2002 年 2 月 19 日。
  • TLS1.2 - 2006 年 2 月。
  • TLS1.3 - 2014 年 4 月 17 日。

这绝不是一个完整的“100%”列表,我希望有人愿意接受我所做的小研究并进一步扩展它。

更长、更历史的版本

正如 StackzOfZtuff 还指出的那样,IETF Datatracker是用于追溯RFC 历史的宝贵工具,并且将成为您其余挖掘工作的好伙伴。

网景

SSLv1

1993 年美国国家超级计算应用中心 (NCSA) 发布 Mosaic 1.0 - 第一个流行的 Web 浏览器后不久,Netscape Communications 开始开发 SSL 协议。八个月后,即 1994 年年中,Netscape Communications 已经完成了 SSL 的设计版本 1 (SSL 1.0)

SSL 和 TLS:Rolf Oppliger 的理论与实践

Mosaic 的第 1 版于 199311 月 11 日在 Windows 平台上发布。(最初有 NCSA Mosaic....)。然后我们可以猜测 SSLv1 是在 1995 年 7 月左右完成的。

版本 1 从未公开发布。Rolf Oppliger 在SSL 和 TLS中讲述了为什么:理论与实践

[SSL v1] 仅在内部(即 Netscape Communications 内部)传播,因为它有几个缺点和缺陷。例如,它没有提供数据完整性保护。结合使用流密码 RC4 进行数据加密,这允许攻击者对明文消息进行可预测的更改。此外,SSL 1.0 没有使用序列号,因此容易受到重放攻击。后来,SSL 1.0 的设计者添加了序列号和校验和,但仍然使用过于简单的循环冗余校验 (CRC),而不是单向和抗冲突的加密强哈希函数。

SSLv2(也称为 SSL 0.2)

Netscape Communications 在 1994 年底提出了 SSL 版本 2. (SSL 2.0),以解决 SSL 1 中提到的问题。SSL 和 TLS:理论与实践 作者:Rolf Oppliger

tools.ietf.org/html/draft-hickman-netscape-ssl-00.txt

SSL 2.0 草案的镜像位于Mozilla 的档案中,但没有草稿最初开始或提交的日期,只有修订的日期。

规范被修改了几次:

  • 1994 年 11 月 29 日
  • 1994 年 12 月 22 日
  • 1995 年 1 月 17 日
  • 1995 年 1 月 24 日
  • 1995 年 2 月 9 日

有趣的事实:

SSL2 和 SSL3 都具有 16 位(双字节)版本号字段。SSL2 将此解释为单个 16 位整数,官方数字为 2,例如 0x0002。SSL3 将两字节版本号解释为一字节“主要”数字和一字节“次要”(或小数)数字。所以值 0x0002 被 SSL3 解释为版本 0.2,而不是 2.0。http://www-archive.mozilla.org/projects/security/pki/nss/ssl/

SSLv3

SSLv3 是根据这个草案首次提交给 IETF 5. December 1995. draft-freier-ssl-version3-00

IETF

TLS 1.0

第一个 TLS 1.0 草案于 1996 年 11 月 26 日根据draft-ietf-tls-protocol-00.txt编写。

[编辑 14:22 5/7/2015 ] 正如@user23127评论的那样,TLS 1.0 的开发于 1996 年 5 月开始。SSL 和 TLS:设计和构建安全系统”,Rescorla, Eric,第 49 页,第 2.6 节

TLS 1.1

我能找到的最早的 TLS 1.1 文档是 [draft-ietf-tls-rfc2246-bis-00]( https://tools.ietf.org/id/draft-ietf-tls-rfc2246-bis-00.txt https://datatracker.ietf.org/doc/rfc4346/history/)。2002 年 2 月 19 日上传到 IETF 请注意,该文件的标题说:

TLS 协议

1.0 版

他们首先在2002 年 10 月 6 日发布的第二次修订中将 1.1 版添加到草案中draft-ietf-tls-rfc2246-bis-02

TLS 1.2

Draft -ietf-tls-rfc4346-bis-00 草案状态为 2006 年 2 月。

TLS 1.3

IETF 最早的草稿是:draft-ietf-tls-tls13-00.txt于 2014 年 4 月 17 日上传。这与您链接到的GitHub 存储库 tls13-spec上的第一个提交相匹配。

IETF 为其 RFC 提供了一个数据跟踪器。

这意味着您可以通过为每个 RFC 添加各种草案来充实开发时间表。您可以将日期缩小到第一次发布草稿的日期。

这并没有告诉您每个 RFC 的第一个提交草案的开发何时开始。

此外,“SSL”命名协议也不是通过 RFC 流程开发的。

数据跟踪器

部分时间线

  • 1996-12-03,TLS 1.0,初稿(共 6 个)
  • 1999-01-01,TLS 1.0,RFC 发布
  • 2002-02-19,TLS 1.1,初稿(共 13 个)
  • 2006-03-02,TLS 1.2,初稿(共 10 个)
  • 2006-04-26,TLS 1.1,RFC 发布
  • 2008-08-15,TLS 1.2,RFC 发布
  • 2014-04-17,TLS 1.3,初稿

进一步阅读

  • Ivan Ristić,Bulletproof SSL 和 TLS,介绍性章节免费在线第 3 页的“协议历史”部分。

    • 尤其是这句话:

      有关 SSL 协议早期的更详细历史,我推荐 Eric Rescorla 的书 SSL 和 TLS:设计和构建安全系统(Addison-Wesley,2001),第 47-51 页。

  • 不错的可滚动时间线:Ivan Ristić、SSL/TLS 和 PKI 历史