Как лучше всего развернуть сервер CoAP-DTLS, который может поддерживать несколько наборов идентификаторов / секретов PSK?
Мы оцениваем возможность замены нашего обычного HTTPS/RESTful через сотовую сеть (4G-LTE) на CoAP/DTLS через NB-IoT, чтобы продлить время автономной работы удаленных устройств. Приложение IoT, которое мы развернули, занимает лишь небольшую часть полосы пропускания данных 4G-LTE, а UDP через NB-IoT достаточно хорош; поэтому производительность передачи не является нашей главной заботой.
Но проблема в том, что теперь мы используем взаимную аутентификацию на уровне SSL/TLS и назначаем разные клиентские сертификаты разным подгруппам. И я не уверен, как это сделать в CoAP/DTLS.
Я узнал, что модель учетных данных по умолчанию для CoAP/DTLS - это Pre-Shared Key (PSK), и я также узнал из RFC4279, что я могу использовать пару идентификаторов PSK / общих ключей в качестве простой альтернативы имени пользователя, которое может просто соответствовать мои потребности. Но когда я пытался понять, как это реализовать, я обнаружил, что интернет-ресурс очень ограничен. Пока я обследовалnode-coap.js
а также libcoap
но я не могу найти никаких намеков в документах. Оба, казалось, поддерживали только одно удостоверение одновременно.
Как лучше всего развернуть сервер CoAP-DTLS, который может поддерживать несколько наборов идентификаторов / общих ключей PSK? Или мне нужно реализовать весь механизм аутентификации на уровне приложения?
1 ответ
Одним из вариантов CoAP на стороне сервера / облака является https://eclipse.org/californium. Я принимаю участие в этом проекте и поэтому могу быть предвзятым. Тем не менее, мы действительно построили Калифорниум именно для этой цели.