Reach

Grow

Manage

Automate

Reach

Grow

Manage

Automate

S/MIME:它是什么,为什么我应该关心,以及它与 SparkPost 的关系是什么?

2018年12月19日

电子邮件

1 min read

S/MIME:它是什么,为什么我应该关心,以及它与 SparkPost 的关系是什么?

2018年12月19日

电子邮件

1 min read

S/MIME:它是什么,为什么我应该关心,以及它与 SparkPost 的关系是什么?

S/MIME 是一种基于公共互联网标准的长期 established 方法,用于发送加密和签名的电子邮件。我们经常遇到 S/MIME 的需求,特别是来自银行、卫生和金融等受规管行业。

S/MIME 是一种基于公共互联网标准的长期使用的方法,用于发送加密、签名的电子邮件。我们经常在受监管的行业中遇到对 S/MIME 的需求,特别是银行、健康和金融领域。例如,在企业与政府机构之间的通信中,通常需要使用 S/MIME。

另一种安全邮件标准,PGP(有趣地被称为“Pretty Good Privacy”),更多用于安全的个人对个人通信。由于流行的基于网络的电子邮件客户端(如 Gmail 和 Outlook/Hotmail)的消费者版本无法显示加密邮件,它现在不那么流行了。这也是为什么许多需要隐私的个人对个人通信已转移到提供原生端到端加密的平台,如WhatsApp(以及许多其他)上的一个原因。

无论是 PGP 还是 S/MIME 都需要一个能够使用密钥和证书的邮件客户端。许多桌面和移动客户端,包括Apple MailMicrosoft OutlookMozilla Thunderbird,以及某些网络客户端的商业版本如 Microsoft Office 365,都适合。而设置密钥需要一些工作,但许多组织仍然认为这是值得的,尽管最近的漏洞披露需要补救措施以阻止加载远程内容。

S/MIME 自1995年以来就存在,并经历了多次修订;当前版本由RFC 5751涵盖。它要求交换公共密钥,这是一项需要 IT 团队或类似资源支持的非平凡任务。对于运行本地电子邮件基础设施的组织,实施 S/MIME 需要额外考虑平台如 PowerMTA 和 Momentum,这在我们关于本地安全邮件的 S/MIME 指南中有介绍。然而,也有自动化方法可以简化这一过程,例如通过基于电子邮件的系统收集收件人的公钥,可以简化应用生成的电子邮件流的密钥管理。这就是 VirtruEchoworkx 等 SparkPost 合作伙伴的商业解决方案发挥作用的地方,使企业邮件的安全性更容易(有关详细信息,请参阅我们的SparkPost/Echoworkx 操作指南)。

话虽如此,让我们更深入地了解一下普通的 S/MIME,看看我们可以用它做些什么。

为什么我应该关心?

简短版本:

  • 加密为您提供消息隐私。

  • 签名为您提供身份验证(发件人),来源不可否认性,以及消息完整性检查。

  • S/MIME 的工作方式不同于 DKIMDMARC,并且可以与它们共存。

隐私
如果您的消息不包含个人、私人或法律重要的信息,那么您可能不需要考虑 S/MIME。现代电子邮件传输系统,如 SparkPost,已经使用“机会性 TLS”来保护从发送服务器到接收服务器的消息传输。

然而,“机会性”部分意味着如果发送服务器无法协商安全连接,我们会以纯文本发送邮件。如果您希望强制消息全程加密,这不合适。您可以查看哪些邮箱提供商声称支持 TLS以及哪些实际上支持。假设接收方的服务器确实支持 TLS,您的消息就会像这样被保护:

Email encryption process highlighting TLS between a gear-labeled "Message Source" on the left, an flame icon representing encryption in the middle, and a envelope-labeled "Recipient" on the right.

TLS 保护邮件服务器之间的对话(这就是它被称为传输层安全性的原因)。MIME(包括 S/MIME)关注的是消息内容及其处理,可被视为“表示层”的一部分。

S/MIME 保护消息内容从消息源到接收邮件客户端的全过程(“端到端”),封装消息主体。

A diagram illustrating email security with S/MIME encryption, showing a message source icon leading to an email symbol, both connected by TLS, with a locked envelope symbol representing the recipient, highlighting secure message delivery.

S/MIME 使用接收者的公钥加密消息主体。没有接收者的私钥,无法解码主体——即使是您的 ISP、SparkPost 或接收者的邮件服务器等“中间人”也不行。

私钥从不透露;它由接收者单独持有。加密消息通过互联网传递到接收邮件服务器。当它到达接收者的收件箱时,(通常自动)用他们的私钥解密并变得可读。

需要注意的一些 S/MIME 小注意事项:

S/MIME 加密因消息有效负荷是加密形式的而阻止基于服务器的入站消息扫描恶意软件,因此无法识别。

请注意,消息(From:, To:, Subject: 等)未加密,因此需要在创建主题内容时考虑到这一点。


签名 – 身份验证
S/MIME 还使接收者能够验证消息发送者的身份是否如他们所说

发件人的电子邮件附有证书,这有点像安全网站上的证书,可以追溯到签发机构。这里有对签名过程的完整描述here

我们将采取先签名邮件,然后加密的方法,因此过程如下所示。

Diagram illustrating S/MIME signing and encryption in email communication, featuring icons for message source, email transfer via TLS, and recipient, with visual representations of encryption and security processes.


不可否认性
对接收者而言,签名的另一个有益之处是来源不可否认性。考虑一种情况,其中电子邮件消息被用于批准合同。收件人在消息中收到来自发件人的合同。如果发件人后来试图说,“不,我从未将该消息发送给您”,那么接收的消息证明事实上使用了发件人的证书。


消息完整性
签名过程为纯源消息创建一个指纹(称为消息摘要),使用发件人的私钥加密该摘要,并将其包含在传递的消息中。接收者的邮件客户端可以判断消息主体是否被篡改。

也许您会说,“我以为 DKIM 给我提供了消息完整性检查!”嗯,是的,DKIM 提供了消息主体和消息头完整性检查 – 防篡改保障。然而,DKIM 失败(或缺失)通常不会导致传入消息被标记为完全无效,...除非DMARC 策略为 `p=reject`(有关 DMARC 的更多信息here)。DKIM 是由 ISP 用于可靠分配域信誉的众多因素中的一个,当然是您消息堆栈的重要组成部分。

如果 S/MIME 消息未通过签名检查,您的邮件客户端会显著地显示:

Email application window displaying a warning pop-up about a digital signature being invalid, highlighting issues with message encryption and the need to verify the sender's identity, next to a list of emails and a highlighted delete option.

总结:端到端 (S/MIME) vs 服务器到服务器 (DKIM, DMARC, TLS)
S/MIME 是一种表示层能力,可以在两个电邮终端用户(具有有效证书/密钥)的情况下无需电邮管理员操作的情况下工作。S/MIME 提供加密和签名,并且是个人化的。

S/MIME 绑定到完整的发送地址(本地部分和域部分),因此例如 alice@bigcorp.com 和 bob@bigcorp.com 需要拥有不同的证书。相比之下,DKIM 验证电子邮件是否来自签名域。DKIM 是一个完整的主题;这篇文章是个不错的起点。

DKIMDMARC 由您的电邮管理员设置(在邮件服务器和 DNS 记录上工作)。一旦设置完成,它们就对域而不是单个用户处于活动状态。

这与SparkPost有什么关系?

用于个人间通信的邮件系统,例如 Microsoft Exchange Server,长期支持 S/MIME

如果您使用 SparkPost 发送给能够读取 S/MIME 的邮件客户端的特定收件人,那么使用 S/MIME 签署您的消息可能是有意义的。S/MIME 签名进一步保证了消息确实来自您(或您的系统),并且没有被篡改,这在某些使用场景中可能很有价值。您只需要自己的密钥和一些免费软件,我们将在本文章的第二部分中演示。

使用 S/MIME 加密是一个单独的选择。您将需要为每个收件人获取公钥。获得它可能像让他们给您(或您的应用程序)发送一封签名电子邮件一样简单。我们将在后续文章中探讨通过 SparkPost 发送 S/MIME 签名和加密邮件的实用工具。

用于个人间通信的邮件系统,例如 Microsoft Exchange Server,长期支持 S/MIME

如果您使用 SparkPost 发送给能够读取 S/MIME 的邮件客户端的特定收件人,那么使用 S/MIME 签署您的消息可能是有意义的。S/MIME 签名进一步保证了消息确实来自您(或您的系统),并且没有被篡改,这在某些使用场景中可能很有价值。您只需要自己的密钥和一些免费软件,我们将在本文章的第二部分中演示。

使用 S/MIME 加密是一个单独的选择。您将需要为每个收件人获取公钥。获得它可能像让他们给您(或您的应用程序)发送一封签名电子邮件一样简单。我们将在后续文章中探讨通过 SparkPost 发送 S/MIME 签名和加密邮件的实用工具。

用于个人间通信的邮件系统,例如 Microsoft Exchange Server,长期支持 S/MIME

如果您使用 SparkPost 发送给能够读取 S/MIME 的邮件客户端的特定收件人,那么使用 S/MIME 签署您的消息可能是有意义的。S/MIME 签名进一步保证了消息确实来自您(或您的系统),并且没有被篡改,这在某些使用场景中可能很有价值。您只需要自己的密钥和一些免费软件,我们将在本文章的第二部分中演示。

使用 S/MIME 加密是一个单独的选择。您将需要为每个收件人获取公钥。获得它可能像让他们给您(或您的应用程序)发送一封签名电子邮件一样简单。我们将在后续文章中探讨通过 SparkPost 发送 S/MIME 签名和加密邮件的实用工具。

哪些客户支持 S/MIME?

Consumer Gmail
普通的Gmail网页客户端显示传入邮件的签名(见下文),但它没有设定您的私钥来阅读加密信息。即使通过第三方插件实现这一点,从安全的角度来看,上载您的私钥并不是一个好主意。

Message titled "Test message with signature" from Steve Tuck, featuring a verified email address, date and time, and standard encryption details.

我无法让Yahoo! Mail解码消息中的签名。

消费者版本的Microsoft Outlook/Hotmail账户会提醒您有S/MIME签名存在,但不会给您完整的访问权限查看或检查证书。

Message titled "Testing attachments etc," with the body text mentioning that S/MIME isn't supported and an attached PDF file.


Hosted business mail
对于拥有托管邮件的组织,Microsoft Office 365和G Suite Enterprise支持S/MIME。


Outlook mail clients
基于客户端的Microsoft Outlook(例如Windows的2010版)有效:

Message with the subject "Here is our declaration" featuring plain text and an orange arrow marking the message as important.


点击图标会给您更多信息:

Dialog box displaying a valid digital signature, with details about the signer and certificate information, and options for error warnings in digitally signed emails.Message Security Properties window for an email, detailing encryption and digital signature layers, with options to check trust certification, featuring buttons and encryption status displays.


在Outlook 2010 / Windows中,证书存储通过File / Options / Trust Center / Trust Center Settings / Email Security / Import / Export访问。

Microsoft Outlook with an open email about testing attachments, alongside a pop-up window showing security settings for importing certificates, illustrating steps for setting up digital signature encryption.


Thunderbird – cross-platform and free
如果您在寻找一个免费客户端,Mozilla Thunderbird适合您的需求。它在PC、Mac和Linux上可用,并在所有这些平台上支持S/MIME。以下是Mac上的邮件外观。“密封信封”图标表示邮件已签名,锁状图标表示已加密。

Email client with a message open, showing an image of a happy golden retriever puppy, with visible email options and browser tabs at the top.


点击信封/锁状图标可查看邮件信息:

Message notification with text indicating the message is signed with a valid digital signature and encrypted before sending, verified by COMODO RSA Client Authentication and Secure Email CA.

Thunderbird有其自身的密钥存储,在每个平台上均以类似方式访问:
Mac通过Preferences / Advanced / Certificates / Manage Certificates
PC:菜单(“汉堡”右上角),Advanced / Certificates / Manage Certificates
Linux:菜单(“汉堡”右上角),Preferences / Advanced / Manage Certificates


Mac Mail
Mac Mail也支持S/MIME。它依靠您的Mac钥匙串来保存您的密钥。

An email featuring the security status of the message, indicating that it is digitally signed and encrypted.


iOS Mail
首先,导入您的电子邮件账户的证书以这种方式,然后您可以查看S/MIME签名和加密的电子邮件。在查看屏幕上,它们的显示没有什么不同。

"Install Profile" page for an "Identity Certificate," indicating the profile is not signed, with options to view more details or proceed with installation at the top right.iPhone interface prompting the user to enter a password for the "Identity Certificate" in the Mail app.A happy golden retriever with an open mouth and tongue out is shown in the image as part of an email attachment test.

Android
一些设备和应用程序支持S/MIME;市面上有很多不同的种类。三星提供了一个指南。

最后…

这是我们的S/MIME实用用途的快速概述。如果您想获得自己的邮件证书,这里有一个提供商列表这里。我发现Comodo效果很好(非商业用途免费 – 在Firefox中打开,而不是Chrome)。

在第2部分中,我们将探讨如何将S/MIME签名和加密应用于您通过SparkPost发送的消息。

更多阅读
微软在这里有一篇好的S/MIME入门文章。

有关EFAIL漏洞及其解决方法的更多信息,这是权威网站。其他易于理解的解释在这里这里

让我们为您联系Bird专家。
在30分钟内见证Bird的全部威力。

通过提交,您同意 Bird 可能会就我们的产品和服务与您联系。

您可以随时取消订阅。查看Bird的隐私声明以获取有关数据处理的详细信息。

Newsletter

通过每周更新到您的收件箱,随时了解 Bird 的最新动态。

让我们为您联系Bird专家。
在30分钟内见证Bird的全部威力。

通过提交,您同意 Bird 可能会就我们的产品和服务与您联系。

您可以随时取消订阅。查看Bird的隐私声明以获取有关数据处理的详细信息。

Newsletter

通过每周更新到您的收件箱,随时了解 Bird 的最新动态。

让我们为您联系Bird专家。
在30分钟内见证Bird的全部威力。

通过提交,您同意 Bird 可能会就我们的产品和服务与您联系。

您可以随时取消订阅。查看Bird的隐私声明以获取有关数据处理的详细信息。

R

Reach

G

Grow

M

Manage

A

Automate

Newsletter

通过每周更新到您的收件箱,随时了解 Bird 的最新动态。