问题 3(第 1 部分):
如果邮件是在两家公司之间发送的,或者是在两个使用 DKIM(一种反垃圾邮件工具)的 SMTP 中继之间发送的,则可能存在他们可能不知道的秘密数字签名。
也就是说,如果消息具有 DKIM 签名并通过,则可以证明消息没有被更改。这是一个大多数人不会想到的隐藏签名,它与 SMIME 无关,并且经常秘密地包含在消息中。例如,Yahoo 和 GMail DKIM 对发件人或收件人不知道的所有出站邮件进行签名。根据您的情况,您担心的邮件可能是 DKIM 签名的,但您或您的客户不知道此签名的存在。
只知道一个 DKIM 签名
- ... 不是 SMIME(通常称为数字签名)
- ...即使存在也不会显示在 Web 浏览器/Outlook 中
- ... 是一种用于反垃圾邮件技术的工具
- ... 可能不会对整个消息或其中的一部分进行签名(通过 -l 参数,或通过省略消息的关键标头)
- ...如果中间 SMTP 服务器修改消息(邮件列表、自制 SMTP 转发器等),可能会失败
一般来说,如果没有修改,签名的 DKIM 消息将通过。如果 DKIM 消息失败,如果失败完全是由于基础设施问题,那么熟练的电子邮件工程师/开发人员很有可能使加密“通过”。
TL;DR - 一个签名的 DKIM 消息传递并签名 from、to、subject 和 body 意味着该消息未被修改。DKIM 的失败没有任何意义(恶意或其他)。
(第2部分)
在 DKIM 通行证之外,无法证明消息在这种情况下未被篡改。但是,可能有一种方法可以通过查看消息的 MAPI 属性来检测篡改。对于初学者,如果主题行被编辑,“标题”属性将包含原始主题。
如果邮件被修改,则可能会更新各种内部日期/时间戳,并且根据 Outlook 版本,修改邮件的用户名也会存储在邮件中。当我上次对此进行调查时,在消息移动(从一个文件夹到另一个文件夹)期间更新哪些字段与右键单击并编辑消息(或将其标记为已读)之间存在差异。
消息正文至少存储在 MAPI 消息中的两个位置:纯文本版本、富文本版本和原始版本。消息的编辑版本可能会更新消息的一个(但不是全部)实例。
如果邮件驻留在 Exchange 服务器数据库中,则邮件可能驻留在一个或多个“流”中。这些消息流仅用于 MAPI 或 OWA,有时会不同步。如果消息被修改,则可能会发生这种情况,并且“财产促销”可能能够揭示修改后的消息。
话虽如此,在 DKIM 或 SMIME 之外,没有任何东西可以证明邮件未被修改,但是可能有办法证明它已被更改。
调查这些低级属性所需的工具称为MFCMapi。