【问题标题】:CoAP (DTLS) connection to Amazon Web Services (AWS) for IoTCoAP (DTLS) 连接到用于 IoT 的 Amazon Web Services (AWS)
【发布时间】:2018-01-02 11:57:47
【问题描述】:

我们正在努力将网格节点连接到 Amazon Web Services。 Mesh 节点本质上是受限设备,我们无法直接在这些节点上运行 MQTT(TCP 太贵)

我们的方法是将 CoAP 用于网格,但出于安全原因和从云端进行节点管理,如果我们可以将这些节点直接连接到 AWS,那将是理想的选择。

AWS 直接支持 HTTP 但不支持 CoAP。从我们收集到的信息来看,CoAP 与 HTTP 非常相似。它还使用类似的安全机制(DTLS 与 TLS)。

有人试过吗?一个简单的 CoAP 到 HTTP 代理是否能够维护 CoAP 设备和 AWS 上的 HTTP 代理之间的安全会话?

【问题讨论】:

    标签: amazon-web-services iot coap


    【解决方案1】:

    很遗憾,我对代理一无所知(除了这种方法乍一看有点笨拙)。

    但在此之前,您能否负担得起网格节点上的 DTLS?
    例如,您将需要一个良好且快速的随机源。 每次握手都需要生成一个 32 字节的随机“cookie”。

    假设我们使用预共享密钥和带有 CCM8 的 AES128(因为使用更简单的东西可能没有意义):
    每个 CoAP 数据包都将被加密并扩展为:
    DTLS 标头:13 个字节
    随机数:16 个字节

    此外,您还需要在握手期间存储一些数据包(我无法确定确切的大小,但我想它是数百个字节)。

    无论如何,这取决于您想要获得的安全级别。

    【讨论】:

    • 谢谢。我们将不得不检查该开销是否可以接受。与此同时 - 你能建议一个好的方法来解决这个问题吗?理想情况下,将有基于预共享密钥的端到端安全性。我猜这意味着在网格节点上运行加密,但应该没问题。有没有更适合这个应用的协议?
    • 不幸的是,我想这是我们在物联网产品中最多没有强加密的主要原因。我个人想知道任何更轻量但也足够强大的合适方法:)。我看到了一些努力,但他们并没有离论文太远。虽然有一些相对便宜的 ARM,但它们具有足够的内存和真正的 RNG。 stackoverflow.com/a/26306497/3323777 虽然我还没有开始挖掘它。
    • 这很有趣。很少有适合支持硬件 TRNG 的无线电芯片(如 TI CC1350 或 Nordic nrf52840 等)。
    • @radaudio,你打算如何将这些设备连接到网络?我听说有一些蜂窝调制解调器/运营商可以通过 VPN 提供操作。虽然我不能确切地说是哪个。这取决于国家等。如果您可以控制它,它可以消除 DTLS 要求。此外,还有一些其他方法可以在 MCU 上获得随机性(通过多个计时器进行不同的时间转换,读取未初始化的内存并将其用作随机种子等)。但我不喜欢他们先验。如果您觉得有趣,也请随时投票给答案;)
    • 设备会通过网关,但为了简化并使解决方案更加健壮,如果它可以只是一个简单的路由器,那就太好了。这意味着网关上没有存储任何秘密。据我了解,使用 VPN 需要解密网状负载并放入 VPN。
    【解决方案2】:

    CoAP 规范CoAP specification, RFC7252, Section 10 中已经存在跨代理定义

    开源项目 Eclipse/Californium 包含这样的代理实现。详情请见Proxy 2, README

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 2016-08-31
      • 2018-01-25
      • 2021-08-20
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多