客户端服务器AES加密

时间:2009-11-22 13:04:00

标签: aes

我正在开发一个客户端服务器应用程序,其中数据通过服务器在两个客户端之间传输。

数据应加密,我想到使用AES。 我的想法是使用PBKDF2从客户端的密码中获取AES密钥。

在这种情况下,客户端将对数据进行编码,服务器将对其进行解码,使用第二个客户端的密码对其进行重新编码,然后将其发送给第二个客户端。

您认为这是实施此方法的最佳方式吗?

有没有办法让第一个客户端进行编码,第二个客户端可以在没有服务器干扰的情况下解码?

如何加密AES密钥并将其从一个客户端传输到另一个客户端?


您如何看待以下解决方案?

  1. 客户端和服务器使用Diffie-Hellman创建私有AES密钥(此密钥特定于每个客户端)。
  2. 传输客户端创建会话AES密钥,并使用私有AES密钥对其进行编码。
  3. 服务器解密会话密钥并为会话中的每个客户端重新加密(使用每个客户端的私钥)。
  4. 传输客户端使用会话AES密钥加密数据并将其发送到服务器。
  5. 服务器将数据发送到所有收件人客户端,无需任何必要的处理。

3 个答案:

答案 0 :(得分:3)

您也可以使用Diffie–Hellman key exchange。你用什么编程语言?

答案 1 :(得分:2)

您可以使用asymmetric加密算法安全地发送AES密钥,然后使用此密钥进行对称AES加密/解密。沟通可以是这样的:

  1. 客户希望通过加密消息与服务器通信。
  2. 客户端生成一对公钥/私钥,并将公钥发送给服务器。
  3. 服务器使用公钥加密某些密钥并将其发送回客户端。
  4. 客户端使用他的私钥解密秘密(现在都知道加密/解密他们的通信的密钥)。
  5. 客户端使用带有密钥的AES来加密他想要发送给服务器的消息。
  6. 服务器使用密钥解密消息。

答案 2 :(得分:0)

您必须先创建自己的协议,以便首先与部分程序进行通信,或使用可用的安全协议(如HTTPS)。我唯一可以告诉您的是,加密/解密等繁重的计算操作必须首先由客户端传递,然后服务器处理可靠的请求。

相关问题