在硬件设备上保护websockets

时间:2015-05-22 06:09:52

标签: javascript c# ssl websocket

我有一个通过websockets与浏览器进行通信的硬件设备。问题是我想要一个安全的连接,不幸的是浏览器没有连接到自签名证书。 问题是每个硬件设备都可以拥有另一个IP,并且域上的证书是有限的。 我无法为每个硬件购买证书..那么我该怎么办?

1 个答案:

答案 0 :(得分:2)

  

问题是我想要一个安全的连接,遗憾的是浏览器没有连接到自签名证书。

证书用于安全地识别对等方。必须正确识别以确保不会发生中间人攻击。因此,在100个不同的机器中共享相同的证书是没有意义的,并且无论如何都要保持相同的私钥安全存在问题。

替代方案是自签名证书。但是在这种情况下,浏览器不会在没有警告的情况下进行连接,因为如果他们中间人攻击是微不足道的。这意味着用户必须明确承认此证书为可信任,并且您必须告知用户如何使用各种浏览器完成此操作。

如果浏览器和设备都在一个控件下(例如在公司范围内推出),您可以使用自己的PKI结构,其中所有证书都由您自己的CA颁发,并且所有浏览器都信任此CA. / p>

  

问题是每个硬件设备都可以拥有另一个IP,并且域上的证书是有限的。

不,也可以生成证书来识别IP地址。您通常不会通过公共CA获取这些证书,但私有CA可以颁发此类证书,并且自签名证书也可以。当然,如果IP在很长一段时间内保持不变,那么使用IP地址而不是名称才有意义。