我希望双方能够相互发送加密消息。 如何确保中间人无法重新发送加密邮件? 当然,中间人不会知道他发送了什么,但接收者不知道这不仅仅是以前由该人再次发送。
是否有算法技术可以避免这种情况?
我希望你能解决我的问题。
问候
答案 0 :(得分:1)
标准解决方案是按顺序对给定通道上的每条消息进行编号。如果消息到达时序列号小于上一条消息,则拒绝该消息。
您需要一个单独的系统来解决任何问题,“您刚刚重新发送了昨天的消息吗?”
答案 1 :(得分:0)
您可以在发送邮件之前加密邮件,但接收端应该知道解密邮件的密钥。如果您使用的是.NET框架,Microsoft提供了加密库 有多种功能可供选择。
您可以尝试使用SSL
答案 2 :(得分:0)
如果存在单个请求 - 响应通信,则客户端可以在请求中包含nonce,并且nonce将在响应中发回。 nonce用于例如。在TSP协议中。
如果存在单向数据流,则数据包的顺序编号将起作用。
如果有从客户端发送到服务器的命令,那么某种nonce也可以工作。 nonce由服务器创建,传递给客户端,然后由客户端包含在发送到服务器的命令中。服务器的欢迎消息应包括初始随机数,下一个命令的随机数必须包含在对上一个命令的响应中。
答案 3 :(得分:0)
由于您已使用pgp标记标记了此帖子,为什么不尝试在OpenPGP加密的帮助下实现此目的。
客户端可以使用服务器的公钥加密数据,并使用自己的私钥对其进行签名。 只有服务器才能解密它,它还会验证(使用客户端的公钥)它来自客户端。