1

我正在开发一种产品,该产品需要在本地网络上充当服务器,以供其他客户端应用程序连接,受以下限制:

  • 交换的数据非常有价值,我们无法保证用户网络或作为服务器的机器的安全性。因此,任何 SSL 证书都可能落入“坏人之手”。
  • 为了尽量减少对用户体验的干扰,任何向客户端识别服务器的非电子方式都应仅限于可以写在便利贴上的信息(即 IP 地址、密码,而不是交换密钥文件)。

鉴于这些,我们当前的 SSL 策略是:

  • 不要将任何 SSL 证书安装到任何受信任的存储中或针对 CA 证书签署任何证书 - 这可能会给潜在的攻击者提供所有客户端计算机的前门密钥
  • 因此 SSL 证书将是自签名的。这不会提供中间人保护,因为我们无法验证服务器。但是,它确实为那些网络不安全但服务器安全的用户提供了窃听保护。
  • 使用 Rijndael 对称加密在顶部实施“密码”系统,因此即使证书被泄露,也有一些窃听保护(我知道,很多漏桶 - 但总比没有好)。可以定期重新生成此密码,而对客户的用户体验的干扰最小。

在这些限制条件下,客户端和服务器之间是否有更安全的通信策略?

4

1 回答 1

0

最后,我们开发了一个系统,我们可以在内存中为我们要支持的每个通道生成一个新的 SSL 证书。这不能提供对中间人的保护,但至少可以防止窃听(除非第三方在传输时可以访问服务器的内存,在这种情况下,所有的安全性都没有实际意义!)。

于 2011-06-05T14:30:57.510 回答