C#公钥验证Perl私钥并用作AES密钥?可能和/或可行吗?

时间:2010-06-24 05:59:51

标签: c# perl encryption rsa rijndael

我在想是否有可能和/或可行的混淆和安全性如下:

  • 客户端启动与服务器的会话(这意味着发送并接受了有效的登录名和密码)
  • 服务器加密一个随机密码,它是私钥,然后将使用Rijndael的方法用于数据加密并将两者发送回客户端(密码是加密的随机密码和Rijndael的加密数据,这是我们的希望客户工作)
  • 客户端将收到两者,验证密码以查看是否使用我们的密钥对其进行加密,否则将用于解密数据。

从我看来,Rijndael在密码大小方面有一些限制,所以这甚至可能(考虑到加密随机密码的输出)??

是否存在与我在想或试图描述的内容相近的另类内容?

这甚至是不干净的?

我之所以想要这样的东西,主要是为了让任何想要重现我们的服务器与客户端通信的人更难,除了我们使用Smart Assembly之外。我希望你们关注上面的问题而忘记打包我的代码等。如果可能的话,把它想象成客户端/服务器通信安全问题。

最好的问候。

1 个答案:

答案 0 :(得分:1)

我可以解决第一部分问题。如果服务器使用其私钥加密密钥,则使用其公钥的任何人都可以解密密钥。这为中间人攻击留下了一个巨大的漏洞。换句话说,如果我拦截你所做的同一个令牌,我现在知道你知道的同一把钥匙。这意味着我可以看到所有来回的流量。

安全的关键一直是这个最初的密钥交换问题。您可能希望采用行业标准方法,例如Diffie-Helman进行实际密钥交换。希望有所帮助