我的记者和我想通过电子邮件私下交流。我们曾经雇用过PGP,但那可能一直是我们的脚步。 PGP没有保密性。如果我们的任何私钥曾经遭到破坏(法律,黑客或橡皮筋),那么我们过去的所有对话都可以立即解密。我们的签名会显示在法庭上。
因此,我们转而使用现成(OTR)消息进行即时Messenger对话,因为它提供了

加密
即时消息。
身份验证
,您可以确定对方就是您认为的真实身份。
可移植性
您发送的消息没有第三方可以检查的数字签名。对话后,任何人都可以伪造消息,使它们看起来像是来自您的。但是,在对话过程中,可以确保您的通讯员看到的消息是真实的且未修改。
完美的前向保密性
如果您失去对私钥的控制,以前的对话不会受到损害。

如http://www.cypherpunks.ca/otr/otr-wpes.pdf上雄辩的解释,
电子邮件中是否有类似的东西?

评论

由于您无法要求收件人提供其临时密钥,因此使用电子邮件进行转发保密非常困难。避免数字签名很容易:使用Diffie-Hellman和MAC代替OTR中的签名。

Brown等人在2001年发布了Internet草案规范,该规范描述了扩展OpenPGP以实现前向保密的方法。我不确定它的建议是否得到了实施,但是如果这样做的话,可能会解决您的难题。 />

#1 楼

OTR可以提供前向保密性,因为双方都创建了新的临时(一次性使用)密钥,这些密钥随后被丢弃,因此以后的攻击者将无法恢复。

长期的公共密钥仅用于对它们进行身份验证,以避免任何中间人攻击。

对于像电子邮件这样的脱机通信,这是不容易实现的,因为接收者无法提供临时密钥,如CodesInChaos所述。

如果没有前向保密功能(仅其他三个属性),则可以使用长期Diffie-Hellman键,通过以下方式进行脱机DH交换:它们并从结果(最好使用一些类似盐的熵输入,因此每个邮件都没有相同)的对称密钥进行加密和MAC。然后,接收者知道您和她是唯一知道DH结果的人,因此知道加密和MAC密钥,因此你们俩中只有一个可以发送此结果。但是她也可以自己创建消息,因此您也可以接受。感谢CodesInChaos的评论。

如果您事先(可能是通过OTR聊天)与您的合作伙伴同意对称密钥,则只需在电子邮件中使用对称加密和MAC,以及获得加密,身份验证和可否认性(接收者可以创建相同的消息,因为她知道相同的密钥)。如果双方在发送/接收消息后都删除了对称密钥,则它也是前向机密的。但这仍然不是真正的脱机通信,因为需要在线密钥交换。

当然,我们可以通过电子邮件交换消息来扩展OTR之类的协议。但是随后,两个邮件客户端(或处理该协议的某些其他软件)将不得不在各个消息之间存储加密状态,这也损害了“完美的前向保密性”,因为这种状态可能会被恢复。 (您可以在每条消息中切换密钥,并在收到伴侣的下一个密钥后立即丢弃旧密钥,并在任何重要消息之后发送新消息以限制密钥必须保存的时间。)

您在第6节(“ EMAIL”)中链接的论文提到了这种可能性,以及“环签名”,它提供了较小的保证。

评论


$ \ begingroup $
我不明白为什么您需要在线密钥交换来进行非前向安全加密/ mac。您可以简单地计算两个长期密钥之间的共享DH密钥,并通过计算MAC证明对该密钥的了解。这样,您将获得一定程度的身份验证和可否认性。
$ \ endgroup $
– CodesInChaos
13年6月26日在20:29

$ \ begingroup $
嗯,你在这里。
$ \ endgroup $
–PaŭloEbermann
2013年6月26日20:30在

$ \ begingroup $
还有$ \:$ cs.umd.edu/~jkatz/papers/forward-enc-full.pdf。 $ \; \; \; $
$ \ endgroup $
–user991
13年6月26日在21:24

$ \ begingroup $
OpenWhisperSystems的消息传递软件会预先协商多个消息的会话密钥。这样,仅需要一次在线密钥交换,并且可以在常规异步邮件的基础上完成后续消息的DH密钥交换。更多信息:whispersystems.org/blog/asynchronous-security
$ \ endgroup $
–纳纳特尔
15年8月24日在17:14