S/MIME之于邮件安全的原理

身份验证,不可否认性和数据完整性是数字签名的核心功能。它们共同确保收件人的邮件来自发件人,并且收到的邮件是发送的邮件。

最简单的是,数字签名的工作原理是在发送消息时对电子邮件消息的文本执行签名操作,并在读取消息时执行验证操作,如下图所示。

电子邮件上的数字签名和验证操作

发送邮件时执行的签名操作需要只能由发件人提供的信息。此信息用于签名操作,方法是捕获电子邮件并对邮件执行签名操作。此操作产生实际的数字签名。然后将此签名附加到电子邮件中,并在邮件发送时包含在邮件中。下图显示了对邮件进行签名的顺序。

消息被捕获。
检索唯一标识发送者的信息。
使用发送者的唯一信息对消息执行签名操作以产生数字签名。
数字签名附加到邮件中。
消息已发送。
由于此操作需要来自发件人的唯一信息,因此数字签名提供身份验证和不可否认性。这种独特的信息可以证明该消息只能来自发件人。

当收件人打开经过数字签名的电子邮件消息时,将对数字签名执行验证过程。从消息中检索消息中包含的数字签名。还检索原始消息,然后执行签名操作,这产生另一个数字签名。将包含在消息中的数字签名与接收者生成的数字签名进行比较。如果签名匹配,则将消息验证为来自发件人的声明。如果签名不匹配,则将邮件标记为无效。下图显示了验证消息的顺序。

验证电子邮件的数字签名

收到消息。
从消息中检索数字签名。
邮件被检索。
检索标识发送者的信息。
对消息执行签名操作。
消息中包含的数字签名与收到时产生的数字签名进行比较。
如果数字签名匹配,则消息有效。
总之,数字签名和验证数字签名的过程验证电子邮件消息的发送者并确定签名消息内的数据的完整性。对发件人进行身份验证可提供额外的不可否认性,从而防止经过身份验证的发件人声称他们没有发送邮件。数字签名是模拟和数据篡改的解决方案,使用标准的基于SMTP的Internet电子邮件可以实现。

对电子邮件进行邮件加密和解密操作

发送邮件时执行的加密操作会捕获电子邮件,并使用特定于预期收件人的信息对其进行加密。加密的邮件替换原始邮件,然后将邮件发送给收件人。下图显示了加密电子邮件的顺序。

消息被捕获。
检索唯一识别接收者的信息。
使用收件人的信息对邮件执行加密操作以生成加密邮件。
加密消息将替换消息中的文本。
消息已发送。
由于此操作需要有关收件人的唯一信息,因此邮件加密可提供机密性。只有预期的接收者才具有执行解密操作的信息。这可确保只有预期的收件人才能查看邮件,因为在查看未加密的邮件之前必须提供收件人的唯一信息。

当收件人打开加密邮件时,对加密邮件执行解密操作。检索加密的消息和接收者的唯一信息。然后,在针对加密消息执行的解密操作中使用接收者的唯一信息。此操作返回未加密的邮件,然后将其显示给收件人。如果消息在传输过程中被更改,则解密操作将失败。下图显示了解密电子邮件的顺序。

解密电子邮件


收到消息。
检索加密的邮件。
检索唯一识别接收者的信息。
使用接收者的唯一信息对加密的消息执行解密操作以产生未加密的消息。
未加密的邮件将返回给收件人。
消息的加密和解密过程提供了电子邮件消息的机密性。这个过程解决了互联网电子邮件的严重缺陷:任何人都可以阅读任何消息。