0

我正在做一份关于密钥交换的小报告,想问一下这种情况是否安全。

首先,我将制作一个简单的基于服务器-客户端的即时聊天源。

它将向服务器发送一个类,该类由两个字段组成:发件人 ID、消息,并将由 AES 加密。服务器将向其他客户端宣布消息。

每个客户端将与服务器共享一个密钥(使用 Diffie-Hellman 密钥交换。)。

与其他客户端相比,每个客户端都有不同的键,键值将

存储在每个客户端和服务器中(服务器将保留每个客户端的所有密钥。)

我想问的第一件事是,这可能吗?

第二,它会安全吗?

第三,会不会有更聪明的方法来做出类似的效果?

4

1 回答 1

2

不,它不安全,它不能保护自己免受中间人攻击。

根据您在问题中提供的信息,客户端无法验证它是在与真实服务器对话,而不是与冒充服务器的人对话。然后,该假服务器可以反过来与伪装成客户端的真实服务器对话。然后它可以拦截两者之间的所有通信。

密钥交换只能防止窃听,您必须使用其他东西来验证与您秘密交谈的人确实是您认为正在与之交谈的人。

于 2013-11-10T02:58:28.900 回答