gpt4 book ai didi

security - 如何设计一个安全的 "self-destructing"电子邮件?

转载 作者:行者123 更新时间:2023-12-02 00:39:36 25 4
gpt4 key购买 nike

众所周知,电子邮件非常不安全。即使在客户端和发送电子邮件的服务器之间建立了 SSL 安全连接,当消息在 Internet 上的节点间跳跃时,它本身仍将是明文形式,使其容易受到窃听。

另一个考虑因素是发件人可能不希望消息在一段时间后或被阅读一次后可读 - 即使是预期的收件人也是如此。有许多的原因;例如,消息可能包含可以通过传票请求的敏感信息。

一种解决方案(我认为是最常见的一种)是将消息发送给受信任的第三方,并将该消息的链接发送给收件人,然后收件人从第三方读取该消息。或者发件人可以向收件人发送加密消息(使用对称加密)并将 key 发送给第三方。

无论哪种方式,这种方法都存在一个根本问题:如果这个第 3 方受到损害,您所有的努力都将变得毫无用处。有关此类事件的真实示例,请参阅涉及 Crypto AG 的崩溃。与国家安全局勾结

我见过的另一个解决方案是 Vanish ,它加密消息,将 key 分成几部分并将这些部分“存储”在 DHT(即 Vuze DHT)中。通过简单地查找散列(散列与消息一起发送),可以轻松且可靠地访问这些值。 8 小时后,这些值将丢失,甚至预期的收件人也将无法阅读邮件。拥有数百万个节点,没有单点故障。但这也因对 DHT 发起女巫攻击而被打破(有关更多信息,请参阅 Vanish 网页)。

那么有人知道如何实现这一点吗?

编辑:我想我没有说清楚。主要问题不是收件人有意保留消息(我知道这是无法控制的),而是消息在某处可用。

例如,在安然公司的崩溃中,法院就其服务器上的所有电子邮件向他们发出传票。如果消息被加密并且 key 永远丢失,那么拥有加密消息而没有 key 对他们没有好处。

最佳答案

(免责声明:我没有阅读有关 Vanish 或 Sybil 攻击的详细信息,这可能与下面的内容类似)

首先:电子邮件通常很小,尤其是。与 50 mb 的 youtube vid 相比,您每天可以下载 10 次或更多次。在此基础上,我假设存储和带宽在这里不是真正的问题。

加密,在这个词的常识中,将难以理解的部分引入到您的系统中,因此难以验证。 (想想每个人刚刚执行的典型 openssl 魔法,但 99% 的人真正理解;如果 HOWTO 上的某些步骤 X 会说“现在去站点 X 并上传 *.cer *.pem 和 *.csr”以验证步骤1 到 X-1,我估计十分之一的人会这样做)

结合这两个观察结果,我对安全 (*) 和易于理解的系统的建议:

假设您有一条 10 kb 的消息 M。从 /dev/(u)random 中取出 N 倍 10 kb,可能来自基于硬件的随机源,将其称为 K(0) 到 K(N-1)。使用简单的异或运算计算

K(N) = M^K(0)^K(1)^...^K(N-1)

现在,根据定义

M = K(0)^K(1)^...^K(N)

即要理解您需要所有 K 的消息。将 K 与 N 个不同的(或多或少受信任的)方一起存储,使用您喜欢的任何协议(protocol),随机 256 位名称。

要发送消息,请将 N 个链接发送到 K 个链接。

要销毁消息,请确保至少删除一个 K。
(*) 关于安全性,系统将与托管 K 的最安全方一样安全。

不要采用固定的 N,不要在每条消息的单个节点上使用固定数量的 K(即,将 0-10 K 的一条消息放在同一节点上)以使暴力攻击变得困难,甚至对于那些有权访问存储 key 的所有节点的人。

注意:这当然需要一些额外的软件,就像任何解决方案一样,但所需的插件/工具的复杂性是最小的。

关于security - 如何设计一个安全的 "self-destructing"电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3146847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com