从设备中提取X.509证书

文章作者:Wilfred Nilsen

X.509证书提供了强大的身份验证,但在实际设置中,其他机制(如用户名/密码)也同样安全。

«以前:物联网安全:为什么X.509并不总是最佳选择

如前所述,设法从设备中提取X.509证书/私钥对的黑客可以使用该证书/密钥来窃听通信或利用物联网解决方案。每个设备的唯一证书使使用吊销列表禁用被利用的证书/密钥成为可能;然而,这要求物联网解决方案能够在第一时间检测到这种利用。一个在所有设备中使用相同证书/密钥的解决方案,如果有人设法从任何单个设备中提取它,就会失去所有的完整性。

从设备中提取证书/密钥的复杂性很大程度上取决于设备的类型和该设备中使用的组件。基于高级操作系统的设备的证书/密钥存储在一个文件系统在外部闪存模块使黑客更容易提取比证书/关键设备使用单片机内部闪存,JTAG保险丝已吹。

存储任何类型的凭据(包括X.509证书/私钥)的设备必须有某种机制,以使提取这些凭据变得困难。

使用客户端X.509证书的替代方案

客户端证书的支持者会告诉您,X.509证书提供了非常强的身份验证,因为凭据不能被伪造。虽然这是正确的,但在实际设置中,其他机制(如用户名/密码)也同样安全。

物联网解决方案必须能够抵御暴力认证攻击;例如,基于试错的攻击,通常是试图使用一个普通密码数据库登录。

当使用客户端证书时,不可能执行暴力验证攻击,因为攻击者不能伪造客户端证书的签署人。然而,在实际设置中,服务器可以很容易地检测重复的登录尝试。与人类不同,设备不会提供不正确的凭据。如果它这样做,那将是一次黑客攻击。服务器可以立即检测到这种情况,向操作员发送警报,并永久阻止IP地址。因此,在智能设计服务器端设备身份验证的实际设置中,标准的用户名/密码对就足够了,并且在实践中提供与客户端X.509证书相同的身份验证强度。

请注意,我们仍然建议使用TLS和X.509证书对服务器进行身份验证。这种构造确保我们在客户机和服务器之间建立了可信的通信路径。

在设备中存储用户名/密码对可以使生产变得更加容易。它还使服务器管理更加容易,因为您不需要处理撤销列表—您只需使用一个标准的用户名/密码数据库。然而,更安全的用户名/密码对将基于不可打印的字符——即所谓的“二进制凭证”。因此,物联网协议应该支持二进制凭据的使用。

在将web应用程序与无头设备结合使用的混合环境中,使用客户端X.509身份验证之外的证书身份验证方案几乎是强制性的。物联网解决方案可以设计成网络应用程序可以通过在线服务器(即所谓的“代理”)实时控制设备。在这样的环境中,使用客户端X.509证书是不实际的,因为客户端证书必须安装在浏览器中。

实时逻辑的SMQ协议安全性描述了一个混合物联网解决方案的例子。SMQ协议是专为在混合环境中安全地使用而设计的物联网协议,甚至在未使用身份验证或未对所连接的所有设备使用身份验证时也是如此。当需要身份验证以确保物联网解决方案中使用的物联网协议的安全性时,有些应用程序类型太不切实际,无法使用。

总结

安全性是复杂的,需要制造物联网设备的制造商仔细分析解决方案中的所有软件/硬件组件。对于基于开源软件或硬件的系统,建议使用第三方安全顾问,并让安全顾问对整个产品进行全面渗透测试。基于所购物联网协议/产品的解决方案具有通过支持线获得第三方安全咨询的好处。

安全性应该放在开发过程的最前端,而不是事后考虑。在设计硬件之前,咨询您首选的物联网解决方案/协议提供商。我们已经看到许多设计的安全性是事后考万博投注网址虑的,到那时,我们就无法提供关于如何使解决方案更安全的良好建议了。


«以前:物联网安全:为什么X.509并不总是最佳选择

留下你的评论