带有 AES 的 TLS 或 IPSec 用于物联网安全

TLS or IPSec with AES for IoT security

我们需要找到一种方法来保护从物联网设备到云服务器的数据。我们使用 MQTT 进行消息传递。

由于我们在物联网设备中使用 STM32,TLS 似乎不是一个可行的解决方案,因为 STM32 板上的 ROM(大约 60K)非常有限。

并且我们使用 GPRS 作为通讯方式。它也不支持 TLS。

但由于单独使用 AES 是不够的,我正在考虑使用 IPSec 来实现传输层安全。

谁能对以下问题提出建议?

1.Is有没有办法在ROM有限的环境下使用TLS?

2.Can IPSec可以用在这样的物联网环境中吗?

3.Is IPSec + AES 是否足够或我们需要考虑的任何其他安全性?

IPSec 是一种隧道技术 - 这意味着您需要两个隧道端点:一个在您的 IoT 设备上,一个在云端(或者更好的是在您要将数据发送到的云端)。 IPSec 端点来自据我所知不是很常见的。

因此 TLS 将是推荐的解决方案。我不知道 TLS 实现需要多少 ROM,但是您应该能够通过自己编译 TLS 库来减小大小。 大多数 TLS 库之所以很大,是因为它们必须支持 4 SSL/TLS 个版本和数十种密码。

禁用所有未使用的模式(SSL、TLSv1、TLSv1.1)和密码。您必须检查您的云服务提供商支持哪些密码,并在 TLS 库中相应地调整它们。最后你应该只保留 TLSv1.2,一个可能是两个密码。

TLS 仍然是您的朋友。

这里有一个库,声称适合您的内存量:https://realtimelogic.com/products/sharkssl/。他们甚至在菜单的 TLS 部分下有一些物联网的东西。

这是另一个:http://www.matrixssl.org/ 还有更多:https://www.allegrosoft.com/embedded-ssl-tls-ae

我个人对这些实现完全没有经验——只知道它们存在。