密件抄送电子邮件是否保证可靠?


29

换句话说,是否可以安全地假设没有收件人会在密件抄送中看到电子邮件?如果收件人是他(但不是发件人)邮件服务器的管理员,并且可以对其服务器进行任何修改,该怎么办?


15
通常,电子邮件不安全也不可靠。如果收件人是他的服务器的管理员,那么他几乎可以对其做任何事情。
彼得勋爵

值得的是,这个自动柜员机有一个问题。stackoverflow.com/questions/31527974/…–
johnsnails 2015年

Answers:


21

不会。SMTP是使用存储转发方法的纯文本协议。

这意味着什么:

  • 纯文本:中继此消息的每个服务器都可以完整地看到它,包括所有标头信息。尽管“密件抄送”字段中的每个收件人通常都会收到自己的电子邮件(因此服务器会发送自定义的电子邮件,在该电子邮件中应删除所有其他密件抄送收件人(强调应为!),而与“抄送”相反,数据保留),则一封邮件仍以明文形式存储在标头中(不加密,不混淆,不加密)。
  • 存储转发:电子邮件不一定直接发送到收件人的邮件服务器,而是可以(通常)通过一系列中间电子邮件服务器转发;它存储在每个地址上(时间不确定),然后转发到下一跳(再次,不一定是最终目的地)。
  • 请考虑将电子邮件发送到一个不存在的,完整的,被阻止的或其他无法正常使用的地址-邮件副本以及诊断数据可能会在多个地方出现,并非所有人都一定是邮箱(例如错误日志或邮局主管邮箱)
  • (这在您的电子邮件最终到达目的地的邮件服务器之前,这些服务器可以将其永久存储并随传票一起轻易地交给任何人,但这是一个稍微不同的故事)

换句话说,您的假设是不安全的。如果您想要隐私和安全,请使用数字签名和加密,例如GPG;普通电子邮件对于这种工作是错误的工具。


1
加密如何解决隐藏收件人的问题?
2011年

不需要,但是Piskvor在提及隐私时并不一定要谈论邮件的收件人邮箱,而只是谈论内容。AFAIK,除非可以通过非日志记录代理转发,否则通常无法隐藏电子邮件的收件人。如果您的消息是如此机密,以至于您需要掩盖收件人和内容,则需要找到其他通信机制。
afrazier 2011年

2
直到最后一句话,我一直陪着皮斯克沃。如果您要做的就是彼此隐藏收件人,那么您只需要一个可以单独发送所有密件抄送的邮件客户端。
史蒂夫·本内特

@afrazier:如果我还没有添加竞争性答案,那么我会因为不回答OP的问题而对此表示不满。
Blrfl 2011年

1
密件抄送收件人不会记录在电子邮件标题中(非常老旧的MTA除外)。标准的邮件服务器甚至不看邮件头,它仅使用信封来确定电子邮件的发送位置。
阿德里安·普龙克

13

任何完全符合RFC 2822(特别是第3.6.3节“ 目标地址”字段)的邮件传输代理(MTA)都会Bcc:在尝试传递之前从标头中删除该字段,从而使非盲收件人无法确定盲收件人。的身份。

有两个要点:

  • 除非您能够控制出站电子邮件到达的第一个MTA,否则无法保证该MTA上的软件将按照RFC 2822的指示运行。

  • 从您发给收件人的电子邮件(可能是盲目复制)遍历了一个或多个MTA的事实可能会保留在这些MTA的日志中。


1
专门针对“没有人会在密件抄送中看到电子邮件[地址]”的好答案。通过将电子邮件发送到返回电子邮件标题的电子邮件回复机器人,您可以测试您的第一个MTA对BCC标题的作用。
sabre23t 2011年

MTA甚至不应该看到Bcc:标题。相反,MUA(邮件客户端程序)应在SMTP信封(MAIL FROM)中指定所有地址。
grawity

这个技巧在所有情况下都行不通,因为标准不要求传递遍历可以在标头之外指定收件人地址的内容。MTP直到BCC行为首次定义后的六年(RFC 680,1975年)才存在。SMTP在一年后问世。
Blrfl 2011年

5

您永远不要以为收件人不会知道BCC收件人。我已经让密件抄送收件人在其邮件程序中打了“全部答复”,并在没有对密件抄送的实际含义的深刻理解的情况下,向所有人宣布他们已收到邮件。如果确实需要将其保密,则在将其发送给原始收件人之后,将其从“已发送”文件夹转发出去,因此,邮件头中的唯一其他地址就是您的地址。

也就是说,即使您使用的是密件抄送,只要密件抄送收件人的服务器与原始收件人分开,收件人的服务器就无法访问密件抄送信息,因为该信息会被剥离(或者很可能从未包含在密件抄送中)邮件正文),由提供商的邮件服务器提供。

附带说明: SMTP既不可靠,也不是特别私有。一些张贴者声称存在服务器的SMTP“链”,但是通常,SMTP从您的计算机发送到ISP,再发送到收件人ISP。(以及内部有许多服务器),通常,您的邮件不会路由到第三方的邮件服务器,实际上,出于反垃圾邮件的原因,通常不允许进行此类尝试。(有例外,因为小型提供商和家庭网络将转发给他们的提供商,但这是例外,不是规则)

就是说,不能保证传输中的电子邮件是经过加密的,并且任何潜在敏感的信息都不应通过任何方法(包括电子邮件)不加密地传输到Internet,因为这对于任何大型提供商或电信公司来说都是不重要的。他们的设施,或记录通过路由器传播的数据包。

联邦调查局定期通过食肉动物和其他计划这样做,并且过去也有流氓分子对此进行记录。


1
I've had BCCed recipients hit "Reply All" in their mail program 这从来没有发生过,但我已经看到过无数次。您的建议(不要密送,而是在发送后转发)也正是我的建议。我讨厌听起来像个自大的混蛋,但有时您必须保护人们免受自己的伤害。
2011年

@ Dan7119让我猜..您是否也是系统管理员?
SplinterReality

好答案。即使剥离BCC信息是100%可靠的,人为因素BCCed recipients hit "Reply All"也不能保证可靠。我forward the message from your Sent folder特别同意那些不懂技术的BCC接受者,例如CEO。
sabre23t 2011年

1

您的电子邮件客户端或服务器(不知道哪个)应在发送消息之前去除BCC信息。如果您在邮件中使用密件抄送,然后查看源,则除了“发件人”行(用我自己的邮件进行验证)之外,您都找不到其他地方的电子邮件地址。


谢谢。但是我的问题实际上更深,涉及可靠性和安全性。从理论上讲不是这样。
qwerty

嗯,据我所知,查看理论是否与实践相符的方法是在电子邮件中向密件抄送自己,查看消息来源并查看密件抄送地址是否在其中。
zpletan 2011年

您的电子邮件客户端不会删除密件抄送信息。那没有任何意义。
史蒂夫·本内特

1

一切都取决于服务器。大多数服务器将采用BCC线路,并且基本上每个地址发送一次消息。基本上将密件抄送地址放入cc行发送,将下一个地址放入cc行并发送类型的东西。但这完全取决于MAIL服务器的设置。BCC绝不能超过您的外发邮件服务器。


7
三点假。首先,处理Bcc:标头的是MUA,而不是SMTP服务器。到邮件到达SMTP服务器时,收件人地址位于邮件信封中,而不是标题中。其次,只有SMTP 提交服务器才首先重写此类标头。第三,邮件总是每个信封收件人发送一次。这并不特殊或不同。
JdeBP 2011年

1

无需数字签名或加密即可在网上传输的所有内容都可以轻松修改。如果您需要电子邮件的端到端完整性,请使用PGP / GPG签名。

另外,您将需要以某种方式将您的公共PGP / GPG密钥转移给收件人(以便他们可以验证您的电子邮件确实是您的)。这种鸡与蛋的问题:这是建立安全的通讯渠道,但它已经需要安全的通讯渠道。通过电子邮件发送可以,但是您需要通过电话或其他方式验证PGP / GPG密钥指纹。在SSL网站上发布它也是一个好主意,因为SSL提供了必要的传输完整性保证。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.