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

标签 ssl iot ipsec

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

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

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

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

有人可以就以下问题提供任何建议吗?

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

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

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

最佳答案

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

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

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

关于ssl - 带有 AES 的 TLS 或 IPSec 用于物联网安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38617443/

相关文章:

ubuntu - Ipsec (strongswan) vpn 无法与 ubuntu 19.04 作为客户端正常工作?

networking - 将 L2TP 与 IPSec 一起使用有什么意义?

ssl - Thawte 证书的 OCSP 装订不起作用

php - mysqli_real_connect() 获取 SSL3_GET_SERVER_CERTIFICATE :certificate verify failed

c# - 使用 C# 以编程方式更改 ipsec 规则的方法?

java - MQTT 连接丢失订阅物联网服务器

python - 使用 WebSocket 的 AWS IoT MQTT : CERTIFICATE_VERIFY_FAILED

python - 如何使用 python M2Crypto 提取 RSA 公共(public)指数

wcf - 在没有客户端证书的情况下通过 Tcp 使用 Wcf SSl 证书(仅限服务器端)

apache-kafka - Kafka 安全和身份验证