[英]C# AES key exchange scenario: will this be secure?
我正在做一个关于密钥交换的小报告,并想询问这种情况是否安全。
首先,我将制作一个简单的服务器 - 基于客户端的即时聊天源。
它将向服务器发送一个类,该服务器由两个字段组成:发送者ID,消息,并且它将由AES加密。 服务器将向其他客户端通知该消息。
每个客户端将与服务器共享密钥(使用Diffie-Hellman密钥交换。)。
与其他客户端相比,每个客户端都有不同的密钥,密钥值将是
存储在每个客户端和服务器(服务器将保留每个客户端的所有密钥。)
我想问的第一件事是,这可能吗?
第二,它会安全吗?
第三,是否会有一种更聪明的方法来产生类似的效果?
不,它不安全,它不能保护自己免受中间人攻击。
根据您在问题中提供的信息,客户端无法验证它是否与真实服务器通信,而不是假装成服务器的人。 然后,假的服务器可以依次与伪装成客户端的真实服务器通话。 然后它可以拦截两者之间的所有通信。
密钥交换只能防止窃听,您必须使用其他东西来验证您秘密谈话的人是否是您认为正在与之交谈的人 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.