部署可支持多个 PSK identity/secret 集的 CoAP-DTLS 服务器的最佳实践是什么?

What is the best practice to deploy CoAP-DTLS server that can support multiple PSK identity/secret sets?

我们正在评估将我们传统的 HTTPS/RESTful 通过蜂窝网络 (4G-LTE) 替换为 CoAP/DTLS 通过 NB-IoT 以延长远程设备电池寿命的可行性。我们部署的 IoT 应用仅占用 4G-LTE 数据带宽的一小部分,NB-IoT 上的 UDP 就足够了;所以传输性能不是我们主要关心的。

但问题是,我们现在在 SSL/TLS 层使用相互身份验证,我们将不同的客户端证书分配给不同的子组。我不确定如何在 CoAP/DTLS.

中做到这一点

我了解到 CoAP/DTLS 的默认凭证模型是预共享密钥 (PSK),我还从 RFC4279 了解到我 可以 使用 PSK身份/共享密钥对作为用户名的简单替代方案,正好适合我的需要。但是当我试图弄清楚如何实现它时,我发现互联网资源非常有限。到目前为止,我已经调查了 node-coap.jslibcoap,但我在文档中找不到任何提示。两者似乎同时只支持一种凭证。

部署可支持多个 PSK identity/shared-key 集的 CoAP-DTLS 服务器的最佳做法是什么?还是需要在应用层实现整个认证机制?

server/cloud 侧 CoAP 的一个选项是 Eclipse Californium。我参与了那个项目,因此可能会有偏见。也就是说,我们实际上正是为此目的构建了 Californium。