我从不同的人和不同的地方听说,如果我将加密文件发送给其他人,我应该在单独的电子邮件中将密码发送给他们;但为什么?如果有人在嗅探,他们会同时捕获两者,如果收件箱遭到入侵,他们会同时捕获两者。但显然,单独发送它是“最佳实践”。
现在就个人而言,我会通过其他方式发送密码,例如电话。你们会推荐什么?
我从不同的人和不同的地方听说,如果我将加密文件发送给其他人,我应该在单独的电子邮件中将密码发送给他们;但为什么?如果有人在嗅探,他们会同时捕获两者,如果收件箱遭到入侵,他们会同时捕获两者。但显然,单独发送它是“最佳实践”。
现在就个人而言,我会通过其他方式发送密码,例如电话。你们会推荐什么?
如果您单独发送它们,则通道会增加噪音,假设发送第二封电子邮件有延迟,攻击者将不得不收听更长的时间并过滤更多内容。它只是比在同一个包裹中发送所有东西更安全一点,想想订购一个保险箱并将钥匙连同它一起运送,它基本上是相同的想法。
您认为通过不同的渠道(短信、电话等)发送密码更安全,但它也需要更多的管理和收集更多的信息,这样做的后勤工作需要额外的成本。
发送两封单独的电子邮件当然不会损害您的安全,但我同意这不是灵丹妙药。
更好的做法是“带外”发送密码,即您通过不同的通信渠道发送文件和密码;一个在互联网上,一个不在。如果您通过电子邮件发送文件,则通过短信发送密码,如果文件在网络共享上,则将密码写在纸上并实际提供给他们,等等。
要了解人们提出这些建议的原因,我们需要考虑这种做法试图保护我们免受哪种威胁模型的影响。在这种情况下,发件人和收件人都拥有这两个部分,因此它不能保护我们免受端点入侵(例如有人可以访问您的计算机或电子邮件帐户),而是保护我们免受恶意邮递员的侵害,而数据在传输中。这个想法是将数据分解成加密片段,并通过不同的通道发送每个片段,这样邮递员就没有足够的能力来重建数据。
使用这种威胁模型,当您考虑到 1) 电子邮件是一种纯文本协议,以及 2) 任何两个数据包将采用两条非常不同的路径通过 Internet 时,即使发送两封具有相同地址To:
和From:
地址的单独电子邮件也会有好处。这样,中间的任何第 3 方路由器都可以看到消息的内容,但可能只看到一半的加密数据。它当然不会阻止您的 ISP 或 NSA(他们记录所有内容)将这两个位重新组合在一起,但他们必须筛选大量数据才能做到这一点,这对他们来说是昂贵的。
显然,发送两个完全不同的地址To:
和From:
地址的块,或者通过非互联网方法发送一个块会使重建变得更加困难。您不必使重建成为不可能,您只需比闯入您的计算机更努力,这样它就不再是链条中的弱点。
以我的经验,大多数推荐这个的人以前都曾在类似的情况下使用过蜗牛邮件,例如分别发送 ATM 卡和 PIN。
使用蜗牛邮件是有意义的,因为在大多数情况下,受感染的节点拦截所有流量并将卡片与 PIN 关联起来通常是不切实际的。或者,如果可行,它通常是靠近源或目的地(您的邮政工作人员,或银行邮件室中的某人)的节点,这些节点很容易被识别。
但是,对于电子邮件,拦截所有流量和关联消息相对容易,因此该建议没有什么价值。
您提出的建议肯定比将用户名和密码放在同一封电子邮件中更好,但这仍然不是一个很好的解决方案。考虑其他一些选项: