IoT设备的自签名证书或CA证书

时间:2020-11-04 19:53:49

标签: ssl architecture iot

对于服务器和IoT设备之间的安全通信,我不明白使用CA证书的真正好处是什么。

我正在使用Ubuntu作为OS的IoT设备上工作,并且打算使用CA证书。但是,如果我的用户不更新设备固件会怎样? 现在证书在1年后过期,并且考虑到某些用户很长时间没有更新其IoT设备...我将遇到的风险是,证书过期后无法更新这些设备,因为它们无法通信用我的服务器。

使用自签名证书,我可以将有效期设置为45年,无论如何,我将获得授权,并且可以撤消或决定何时发布新证书甚至是交叉签名证书。

我显然只是在谈论设备与服务器之间的通信...用户的其余api将使用默认的CA证书。


我正在考虑的另一种选择是使用CA证书进行设备和服务器的通信,但是还要添加一个自签名证书,以备主证书过期且设备需要下载新软件时用作备份(将会包含新证书)是可行的解决方案吗?

我应该以这种方式处理证书吗?!还是应该只使用OS根存储并确保以某种方式对其进行更新? (在这种情况下...如何?...唯一的方法就是发布我认为应该更新的设备固件)

1 个答案:

答案 0 :(得分:1)

证书用于身份验证和加密。参见https://www.ssl.com/faqs/what-is-a-certificate-authority/

如果您要确保接收到的数据来自经过身份验证的设备,则将使用证书。 您可以使用证书来加密每个请求。但这将占用大量资源。或者,您使用证书进行身份验证,然后返回JWT令牌以进行进一步的请求。 (这就是服务帐户在云中的工作方式。)

手动证书管理将很快变得复杂。 服务帐户是验证应用程序/设备的常用方法。 Keycloak是支持服务帐户的开源选项。

您应将设备更新与身份验证分开。设备更新可能会或可能不会在经过身份验证的设备上发生。等待证书过期以更新设备听起来很奇怪。