У меня есть ситуация, когда я хочу создавать (физическое оборудование) виджеты, которые подключаются к локальной сети и действуют как веб-сервер, обслуживая контент веб-клиентами, которые также находятся в локальной сети.
Трафик от виджетов к клиенту должен быть зашифрован, но есть проблема, заключающаяся в том, что у меня нет контроля ни над локальной сетью, ни над клиентом, а это означает, что невозможно настроить локальный центр сертификации или выполнить какое-либо изменение DNS.
Можно ли каким-то образом организовать виджет для передачи зашифрованных данных веб-клиенту.
Вероятно, можно создавать и публиковать сертификаты для каждого устройства, если это создает какой-то механизм, позволяющий этому случиться (привязанный к некоторому домену, который принадлежит мне, скажем, widgetN.thedomainiown.com). Предположим, все в локальной сети могут видеть большие широкие сети.
Я рассмотрел несколько следующих стратегий:
Во втором случае, с одной стороны, все данные могут передаваться по защищенным каналам и ретранслироваться доверенным сервером. Я предполагаю, что это решит проблему, однако это невозможно из-за пропускной способности и задержки.
Вместо этого, можно ли использовать доверенный сервер для установки зашифрованной связи между виджетом и клиентом? Я думал использовать для этого шифрование javascript, но все, что я прочитал, говорит мне, что шифрование javascript просто плохое и никогда не должно использоваться. В данном случае я не совсем понимаю, в чем может быть проблема, поэтому я был бы рад узнать об этом.
Это будет случай, когда доверенный сервер создает веб-приложение, которое инкапсулирует протокол шифрования и необходимые сертификаты, которые затем могут использоваться для обработки шифрования по локальной сети. То есть доверенный сервер предоставляет веб-страницу, используемую для обработки локального трафика (возможно ли это даже с учетом политики одного и того же происхождения?).