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 соединении работало? Спасибо! |
Выпустить свой сертификат?
|
Спасибо большое, Aetae,
по видимому это единственно возможный метод, пока только читаю, и, пока сам не прошел, но, надеюсь, разберусь. |
Was-Ja,
из вашего поста я понял, что вам нужно какимто образом различать датчики. Свой чужой. К примеру в вашу схему подключается фейковый датчик. Тогда предлагаю рассмотреть RSA шифрование, на основе публичных и приватных ключей |
Спасибо большое, Vlasenko Fedor, за ответ.
Не, в этой теме я про довольно сложный датчик говорил. Мне пробно предлагают поставить эти датчики в студенческий практикум, если датчики будут удовлетворять условию сложной взламываемости, а у меня всейчас все по обычным сокетам идет без кодирования. Так как те, кто хотят это пробно поэксплуатировать не говорят готовы ли они выделить статический IP или нет, я не могу себе гарантировать будет ли работать LetsEncript. |
RSA решит вашу проблему
генерьте ключи на датчиках и шифруйте ими сообщенияб сервер отправляет на устройство свой публичный ключ устройство отправляет на сервер публичный ключ таким образом у вас всегда будет идентификатор устройства - его публичный ключ Только сервер сможет прочитать данные датчика так как они будут зашифрованы его публичным ключом. Посмотрите Механизмы образования ключа для текущей сессии в SSL/TLS Я предложил аналог, но для устройств |
Спасибо большое, Vlasenko Fedor,
Цитата:
А вот как быть с веб интерфейсом - я так понял, надо будет говорить пользователю, чтобы он эксепшн ставил на самоподписанный сертификат, или заставлять его ставить сервер на статический IP, подцепляя туда LetsEncript. Скажите, пожалуйста, есть ли еще какой-то вариант для поддержки адекватного енкрипшна если сервер имеет свой адрес по DHCP? Спасибо! |
смотрите устройства по rsa
web морду по LetsEncript (не забываем что есть и платные сертификакты на год -2) если взлетит, чего не потратиться |
Цитата:
|
Was-Ja,
статческий ip адрес это копейки веб разработки любой хостинг или облако почему вас так затрагивает постоянный ip есть и такие варианты никогда не делал за ненадобностью |
Часовой пояс GMT +3, время: 20:10. |