28.07.2021, 12:39
|
Кандидат Javascript-наук
|
|
Регистрация: 20.09.2020
Сообщений: 130
|
|
SSL на Embedded
Добрый день,
запутался, читал много гугла, но так и не понял как правильно.
Хочу делать такую конструкцию:
компьютер-сервер - обычная PC под линуксом (PC),
к компьютеру подсоединены через етернет или интернет несколько датчиков-сенсоров (S), через ембеддед линукс. Датчики могут стоять в одной комнате с сервером, а могут находиться на другом континенте.
Управление всех сенсоров и компьютера происходит через веб интерфейс на JS (WEB).
И датчики, и сервер, и веб интерфейс разрабатываю я сам, и могу в разумных пределах там что-то добавлять-модифицировать.
Сейчас S-PC соединение реализовано через линукс-сокеты. Датчики с сервером общаются примерно раз в секунду, посылая друг другу сообщения, формат которых я сам придумал. Датчики-сенсоры общаются только с сервером. То есть трафик до безобразия простой, я его сам писал, и могу подстроиться, если надо.
Веб интерфейс на JS общается только с сервером, формат тоже самопальный - с JS я делаю POST или GET на какой-то заданный порт, а с этого порта на сервере по сокету я беру или отправляю данные на веб интерфейс.
Все бы хорошо, но мне надо как-то поддержать SSL соединение между любой из таких коммуникаций, причем и сервер (PC) и датчики-сенсоры (S) могут иметь как статические IP, так и DHCP.
Мне это нужно, так как есть юзеры этой системы, и в каждому юзеру разрешено или запрещено пользоваться какими-либо датчиками.
Я поставил летц-енкрипт на сервер. Если IP сервера статический, то он по крайней мере с веб-интерфейсом общается по SSL протоколу.
Если у него DHCL - то летценкрипт отказывается работать.
В датчиках ембеддед линукс, причем очень дебильный arm-angstrom-linux-gnueabi - поменять - нет возможности. Поставить летценкрипт туда не удалось. То есть пока голые сокеты.
Скажите, пожалуйста, как с минимальными танцами с бубном прикрутить SSL на все это, и, чтобы оно на любом даже DHCP соединении работало?
Спасибо!
|
|
28.07.2021, 20:38
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,585
|
|
Выпустить свой сертификат?
__________________
29375, 35
|
|
09.08.2021, 15:43
|
Кандидат Javascript-наук
|
|
Регистрация: 20.09.2020
Сообщений: 130
|
|
Спасибо большое, Aetae,
по видимому это единственно возможный метод, пока только читаю, и, пока сам не прошел, но, надеюсь, разберусь.
|
|
09.08.2021, 16:12
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Was-Ja,
из вашего поста я понял, что вам нужно какимто образом различать датчики. Свой чужой. К примеру в вашу схему подключается фейковый датчик.
Тогда предлагаю рассмотреть RSA шифрование, на основе публичных и приватных ключей
|
|
09.08.2021, 16:28
|
Кандидат Javascript-наук
|
|
Регистрация: 20.09.2020
Сообщений: 130
|
|
Спасибо большое, Vlasenko Fedor, за ответ.
Не, в этой теме я про довольно сложный датчик говорил. Мне пробно предлагают поставить эти датчики в студенческий практикум, если датчики будут удовлетворять условию сложной взламываемости, а у меня всейчас все по обычным сокетам идет без кодирования.
Так как те, кто хотят это пробно поэксплуатировать не говорят готовы ли они выделить статический IP или нет, я не могу себе гарантировать будет ли работать LetsEncript.
|
|
09.08.2021, 16:36
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
RSA решит вашу проблему
генерьте ключи на датчиках и шифруйте ими сообщенияб
сервер отправляет на устройство свой публичный ключ
устройство отправляет на сервер публичный ключ
таким образом у вас всегда будет идентификатор устройства - его публичный ключ
Только сервер сможет прочитать данные датчика так как они будут зашифрованы его публичным ключом.
Посмотрите
Механизмы образования ключа для текущей сессии в SSL/TLS
Я предложил аналог, но для устройств
Последний раз редактировалось Vlasenko Fedor, 09.08.2021 в 16:43.
|
|
09.08.2021, 16:48
|
Кандидат Javascript-наук
|
|
Регистрация: 20.09.2020
Сообщений: 130
|
|
Спасибо большое, Vlasenko Fedor,
Сообщение от Vlasenko Fedor
|
RSA решит вашу проблему
генерьте ключи на датчиках и шифруйте ими сообщения
|
да, похоже это единственно разумный случай, более того, приватный и публичный ключи можно сгенерить еще на стадии производства и публичный ключ каждого датчика засунуть в сервер, чтоб было.
А вот как быть с веб интерфейсом - я так понял, надо будет говорить пользователю, чтобы он эксепшн ставил на самоподписанный сертификат, или заставлять его ставить сервер на статический IP, подцепляя туда LetsEncript. Скажите, пожалуйста, есть ли еще какой-то вариант для поддержки адекватного енкрипшна если сервер имеет свой адрес по DHCP?
Спасибо!
|
|
09.08.2021, 16:54
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
смотрите устройства по rsa
web морду по LetsEncript (не забываем что есть и платные сертификакты на год -2) если взлетит, чего не потратиться
|
|
09.08.2021, 16:57
|
Кандидат Javascript-наук
|
|
Регистрация: 20.09.2020
Сообщений: 130
|
|
Сообщение от Vlasenko Fedor
|
смотрите устройства по rsa
web морду по LetsEncript (не забываем что есть и платные сертификакты на год -2) если взлетит, чего не потратиться
|
а разве хоть один даже платный сертификат по DHCP работает? Если да, то, конечно это сильно меняет дело и будет самым простым вариантом.
|
|
09.08.2021, 17:07
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Was-Ja,
статческий ip адрес это копейки веб разработки
любой хостинг или облако
почему вас так затрагивает постоянный ip
есть и такие варианты
никогда не делал за ненадобностью
|
|
|
|