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