加密通信 - 避免重新发送第三方的消息

时间:2014-01-20 16:05:53

标签: encryption pgp openpgp

我希望双方能够相互发送加密消息。 如何确保中间人无法重新发送加密邮件? 当然,中间人不会知道他发送了什么,但接收者不知道这不仅仅是以前由该人再次发送。

是否有算法技术可以避免这种情况?

我希望你能解决我的问题。

问候

4 个答案:

答案 0 :(得分:1)

标准解决方案是按顺序对给定通道上的每条消息进行编号。如果消息到达时序列号小于上一条消息,则拒绝该消息。

您需要一个单独的系统来解决任何问题,“您刚刚重新发送了昨天的消息吗?”

答案 1 :(得分:0)

  1. 您可以在发送邮件之前加密邮件,但接收端应该知道解密邮件的密钥。如果您使用的是.NET框架,Microsoft提供了加密库 有多种功能可供选择。

  2. 您可以尝试使用SSL

答案 2 :(得分:0)

如果存在单个请求 - 响应通信,则客户端可以在请求中包含nonce,并且nonce将在响应中发回。 nonce用于例如。在TSP协议中。

如果存在单向数据流,则数据包的顺序编号将起作用。

如果有从客户端发送到服务器的命令,那么某种nonce也可以工作。 nonce由服务器创建,传递给客户端,然后由客户端包含在发送到服务器的命令中。服务器的欢迎消息应包括初始随机数,下一个命令的随机数必须包含在对上一个命令的响应中。

答案 3 :(得分:0)

由于您已使用pgp标记标记了此帖子,为什么不尝试在OpenPGP加密的帮助下实现此目的。

客户端可以使用服务器的公钥加密数据,并使用自己的私钥对其进行签名。 只有服务器才能解密它,它还会验证(使用客户端的公钥)它来自客户端。