Eu tenho uma situação na qual desejo produzir widgets (hardware físico) que se conectam a uma LAN e atuam como um servidor da Web, servindo conteúdo para clientes da Web que também estão na LAN.
O tráfego dos widgets para o cliente deve ser criptografado, mas há o problema de eu não ter controle da LAN ou do cliente, o que significa que é impossível configurar uma autoridade de certificação local ou fazer qualquer ajuste de DNS .
É possível organizar de alguma forma que o widget possa servir dados criptografados para o cliente da Web.
Provavelmente é possível criar e publicar certificados para cada dispositivo se isso criar algum mecanismo para permitir que isso aconteça (ligado a algum domínio que possuo, por exemplo, widgetN.thedomainiown.com). Suponha que tudo na LAN possa ver as grandes internets.
Eu considerei algumas estratégias da seguinte forma:
No segundo caso, em um extremo, todos os dados podem ser comunicados através dos links seguros e retransmitidos pelo servidor confiável. Suponho que isso resolveria o problema, mas é impraticável por motivos de largura de banda e latência.
Em vez disso, é possível usar o servidor confiável para configurar o link criptografado entre o widget e o cliente? Eu pensei sobre o uso de criptografia javascript para isso, mas tudo que eu li diz-me que a criptografia javascript é simplesmente ruim e nunca deve ser usado. Neste caso, não estou totalmente claro qual seria o problema, por isso ficaria satisfeito em ser iluminado.
Seria um caso do servidor confiável construir um aplicativo da Web que encapsula o protocolo de criptografia e os certificados necessários que podem ser usados para manipular a criptografia na LAN. Ou seja, o servidor confiável fornece a página da web usada para manipular o tráfego local (isso é possível mesmo considerando a política de mesma origem?).