返回资讯中心
外部精选
软件工程
#开发者实时流

电子邮件加密的历史演变

来源标题:Email Encryption

电子邮件诞生于20世纪60年代,由多人多地独立发明,早期形式多样,从大型机内部通信到PC网络共享存储均有覆盖。Ray Tomlinson提出地址可同时标识用户与主机的核心思路,其设计后来演变为SMTP协议,并与IMAP等协议共同构成现代电子邮件形态。到20世纪90年代,源自ARPANET的邮件实现方案逐渐占据主导。

Hacker News 最新pierreneter2026/11/8 · 今天30 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

电子邮件是计算机网络中最普及、最持久的技术之一,它于20世纪60年代由几十个人在大约十几个地方各自发明出来。要清晰地梳理这项技术的历史并不容易,因为它实在太过显而易见——几乎就在不止一个人能够使用计算机的那一刻起,某种邮件设施便应运而生。这些设施形态各异,有的以大型机为中心,同一台计算机上的所有用户都可以互相发送消息;有的则以PC为中心,工作站通过挂载网络共享来存储和检索消息。从20世纪60年代到90年代,你所能想到的几乎任何一种传递消息的方案,大概都在某个地方被实际使用过。到了90年代,源自ARPANET的电子邮件实现家族已经占据了主导地位。

这种形式的电子邮件有着更清晰的传承脉络,可以追溯到Ray Tomlinson。他提出了核心构想:地址既能标识用户,也能标识主机;必要时可以使用某种开放协议将消息发送到另一台主机。经过时间的推移和多次修订,Tomlinson的设计演变成了SMTP,并与IMAP等协议一道,构建出了我们今天所使用的电子邮件形态。这种电子邮件在某种程度上是去中心化的(任何用户都可以自由选择主机),在另一些方面又是中心化的(每台主机都被假定为持续在线,为其用户存储和转发消息)。Tomlinson的设计足够灵活,以至于我们至今不必将其彻底抛弃,但现代互联网已经发生了足够多的变化,使我们不得不采取新的方法。

电子邮件有许多令人头疼的局限性,这些都是它年岁的产物。例如,不能假定电子邮件处理是“8位干净的”——电子邮件协议最初是基于7位ASCII定义的,并且运行在许多将第八位用作校验和的机器上。这些机器容易改变每个字节的最后一位,或者以其他方式错误处理包含8位内容的电子邮件。当文本完全被限制在7位平面内时,这还不成问题,但Unicode的出现以及发送二进制文件的需求,使得7位电子邮件变得不可行。MIME作为一种变通方案被开发出来,它是一种编码技术,通过将电子邮件中所有非ASCII内容编码为ASCII字符的形式,一举解决了若干问题。

这种做法相当不优雅。MIME的ASCII编码,无论是quoted-printable风格还是base64风格,对人类来说都难以阅读,在消息体积方面也效率低下。与所有类base64编码一样,它被视为一种可疑的气味,暗示我们正在掩盖过去的错误。电子邮件中充斥着这类问题。让我们再看另一个:安全性。

“互联网电子邮件”这个术语,我们可以用它来明确指代从ARPANET继承而来的SMTP类电子邮件系统。它采用了一种简单的设计,其历史可以追溯到网络计算机的操作员彼此都认识的时代。虽然也存在其他可能性,但大多数电子邮件是直接投递到收件人的计算机上的,而且在很多情况下,那个时代的主机级安全性也并不怎么样。别人可能读到你的私人邮件,这是众所周知的事实,而你对此几乎无能为力。互联网存在于一个信任的语境之中。

如今我们不再给予同样的信任。电子邮件通常由两端的第三方邮件服务处理,而这些服务未必可信;而且要在两个第三方邮件服务之间传递,邮件还必须经过一系列安全性同样存疑的互联网链路。电子邮件成为大规模计算机网络最早、大概也是第一个引人注目的应用。它可能也是该领域最早的一个持久的安全失败。该系统的设计完全不考虑消息的机密性或完整性,而且时至今日,其大部分运作方式依然如此。

尽管如此,改善电子邮件安全的努力有着悠久的历史,我们或许应该从其中最伟大的一个讲起:不仅仅是一个电子邮件协议,而是一整套承诺带来更好互联网的协议栈——OSI套件。

现代互联网诞生于一个常被称为“协议战争”的时代。今天我们讲述互联网的故事时,往往将其简化为一个漂亮的线性叙事:ARPANET被创建,所有人都觉得这是个好主意,于是它便普及开来了。这并不完全错误,但它遗漏了许多其他参与者。电信行业曾著名地对分组交换模型持反对态度,该模型起源于计算机行业而非通信行业,并且也确实展现了这一点。在20世纪70年代和80年代,电信行业定义了自己的一套网络协议以及计算机网络的基本方法,这套体系后来被称为OSI协议套件。

如今,OSI协议的相关性仅限于现代网络教科书令人沮丧的执念——它们试图用“OSI模型”来解释互联网。这个模型如今更多是推测性的而非实际存在的,它描述的是一个与互联网不兼容的不同的系统。学术界之所以对用一套失败互联网的设计文档来解释另一个成功互联网的根本不同架构抱有这种奇怪的执念……好吧,这本身就是协议战争的余波。历史或许由胜利者书写,但失败者仍然有权规定理论。

尽管我一直在致力于劝阻人们使用OSI模型来学习,但我们确实可以从OSI协议中有所收获。TCP/IP协议栈之所以胜过OSI协议栈,原因有很多,其中之一是OSI的“委员会设计”方式导致了一套经过非常周密思考但相当复杂的协议。这与互联网协议有很大不同,后者的设计哲学更接近于“目前够用就好”。

当我们审视应用层协议时,这种哲学上的差异尤为鲜明。“互联网协议套件”正如它所

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →