多个设备中的自签名SSL证书 - 这是否足够安全?

时间:2016-11-16 15:59:48

标签: android security ssl mobile tls1.2

我们正在尝试设计一个解决方案,我们有多个智能设备,我们可以控制多个手机中的每个智能设备。我们将生成自签名SSL服务器证书并将其嵌入所有智能设备中。我们将在所有手机中包含SSL客户端证书。现在,为了将手机连接到智能设备,手机需要获取ID(可以通过扫描智能设备上的QR码获得 - 这只是为了确保手机在智能设备附近) 。

智能设备:

  • 嵌入自签名服务器证书。原因:不依赖于 互联网连接
  • 维护WiFi热点(无法保证互联网连接 总是)
  • 维护已连接手机列表(每部手机 通过电话扫描的QR码ID识别)

手机应用:

  • 实施证书固定和硬编码客户端证书

  • 连接到Wifi热点

  • 与智能设备建立SSL连接。

  • 为了首次注册,它会扫描QR码并进行扫描 后续连接它发送QR码ID以提供它 身份。

您能否回顾一下上述架构并找出任何缺陷?
因为我们在所有智能设备中安装相同的服务器证书,并且所有手机中的相同客户端证书都有办法以某种方式破解智能设备吗?
如果智能设备和电话之间建立了SSL连接,则另一台设备(同一网络上具有相同证书)是否能够劫持智能设备与第一部电话之间发送的数据包? 建立安全链接后,我们通过SSL套接字以纯文本格式发送QR码ID。我们是否需要再次对此进行加密,或者SSL链接是否足够安全?

2 个答案:

答案 0 :(得分:1)

要问这个问题网站的更好的网站是security.stackexchange.com。但简而言之:

  • 您在所有设备中使用相同的证书进行身份验证
  • 这意味着所有设备都具有相同的私钥
  • 这意味着攻击者拥有并破解单个设备以获取所有设备的私钥就足够了
  • 这意味着使用此私钥,攻击者现在可以成为与所有其他设备进行通信的中间人。攻击者可能还会创建自己的虚假设备,这些设备可能会成功攻击客户端,因为客户端只需要使用此证书的不良行为设备。
  

这足够安全吗?

我对此表示怀疑。有关如何更好地完成这项工作的方法,我建议您在security.stackexchange.com上查看相关问题,如果您没有找到,请询问有关更好设计的建议。

答案 1 :(得分:0)

我认为您的智能设备通过某些IP地址进行区分。

  

实施证书固定和硬编码客户端证书

我想你想说你是在电话应用程序中硬编码服务器证书。 你不应该使用SSL3。根据行业标准,重点关注TLS 1.1,1.2。 虽然我想指出,这种架构不够安全。由于所有智能设备都使用相同的证书,因此如果证书泄露,则每个设备都会受到MiM攻击的攻击。

  

我们是否需要再次对此进行加密,或者SSL链接是否足够安全?

您无需在通过安全通道时加密QR ID。