【问题标题】:Security for Coap messagesCoap 消息的安全性
【发布时间】:2014-06-06 06:29:54
【问题描述】:

有什么方法可以保护 COAP 通过 UDP 数据包发送的消息?我可以实施的任何开源项目。此消息交换与服务器进行,​​客户端将是嵌入式设备。所以密码算法也必须能够在它上面运行。我也遇到了cyassl。但问题是它使用 TCP 协议而不是 UDP ?有什么想法吗?

谢谢

【问题讨论】:

    标签: security cryptography embedded coap


    【解决方案1】:

    DTLS 可用于保护 CoAP 单播消息,但是,CoAP 多播消息不受现有 DTLS 协议的保护。因为高效的密钥分配问题还没有解决。这意味着多播消息的标头可能会暴露给嗅探器工具,包括 URI 路径。

    如今,有一种称为 OSCoAP 的协议可能会对此有所帮助。它仍在实施中。

    这是 OSCoAP 最新的 IDTF 文件草案:https://datatracker.ietf.org/doc/html/draft-ietf-core-object-security-02

    但是,有人对此表示怀疑。它提到 OSCoAP 将在第 4 节中加密 URI 路径。然后密钥分发仍然可能是多播中的问题。但它没有提到那里有任何困难。但是对 CoAP 消息的安全性感兴趣的人可以看看 OSCoAP。

    【讨论】:

      【解决方案2】:

      保护 CoAP 的方法是 DTLS(数据报的 TLS)

      RFC 对这个主题非常清楚: https://datatracker.ietf.org/doc/rfc7252/?include_text=1

      详见第 9 节。

      DTLS 就是众所周知的 TLS/SSL,但适用于在 UDP 传输上运行。

      tinydtls (http://trinydtls.sf.net) 是一个不错且简单的嵌入式设备实现

      对于服务器端,您可以使用 Californium 和 Scandium (http://eclipse.org/californium)

      【讨论】:

        【解决方案3】:

        发送前的数据加密让您不必担心传输协议(即是 UDP、TCP 等)。当然,您需要解密服务器上的数据。

        如果您想要传输层安全性,您应该寻找 DTLS 实现。 DTLS 是 SSL/TLS 的一种,旨在通过 UDP 和类似的传输方式运行。不过,我不确定是否存在针对受限设备的 DTLS 实现。

        【讨论】:

        • 有许多用于受限设备的加密算法,我遇到的一种叫做 cyassl。但问题是它是通过 TCP 而不是 UDP!
        • @cache cyassl 不是算法!那是一个实现一些算法和协议的库。在继续之前,您需要阅读有关加密的内容,以便了解要做什么,然后然后您就会知道要走哪条路线。
        • 我的道歉。我的意思是我正在寻找一个库,该库在嵌入式设备的 UDP 数据包上实现了安全功能。
        • @cache 我试图解释加密和 UDP 是两种独立的技术。根据您需要数据安全性还是传输安全性,您将寻找两种不同的方法和不同的库。
        • 我想我正在关注运输安全。基本上我有一些通过 UDP 通道的 COAP 数据包。所以我想保护它。我正在查看库 Cyassl,它实现了使用 TLS 1.2 保护通道的加密算法。但问题是它使用 TCP 协议。所以我正在寻找 UDP 的等价物。那么这有意义吗?!
        猜你喜欢
        • 2019-04-30
        • 2010-10-04
        • 2011-02-05
        • 2011-07-08
        • 2011-09-29
        • 1970-01-01
        • 2016-03-30
        • 2012-03-01
        • 2013-09-06
        相关资源
        最近更新 更多