我需要加密将要发送/接收的数据,客户端服务器,反之亦然。没有SSLStream的加密连接?
由于我现在无法使用SSLStream,因此我正在寻找其他方法。
在思考我所拥有的替代方案时,我被困在如何将数据以无法读取/拦截的方式发送到客户端。
这里是我鑫卡特这样做的:
客户端/服务器将有一个从字符串加载加密/解密从服务器接收到的数据的应用程序中的RSA私钥。
初始连接请求后,服务器将发送一个会话ID以及一个内部AES密钥/ iv。
从这里开始,客户端将使用RSA和AES进行通信。
我想从有经验的人听到一些新的想法或更好的方法做什么,我需要在这里它是:从客户
发送加密数据到服务器,反之亦然,而无需使用SSLStream,但具有良好的安全性。
据我所知,拥有客户端上的私钥有风险,但我还没有找到更好的解决方案。
你需要认证客户端吗?或者为什么你需要一个私钥? – CodesInChaos 2012-03-20 16:34:29
CodeInChaos我需要私钥,因为这是我能想到的唯一方法,即发送加密的初始连接以获取内部通信AES密钥。否则,任何使用wireshark的人都可以抓住纯文本的AES。我明白,他们可以窃取我的应用程序来获取带有证书的字符串,但随后我可以通过混淆和其他方法使它们变得更加困难。 – Prix 2012-03-20 16:38:18
为什么您需要向客户端分发私钥?这违背了RSA的目的。为什么客户端不能生成随机密钥对并连接到服务器,使用服务器的公钥来加密连接? – 2012-03-20 16:38:30