LAN に接続して Web サーバーとして機能し、同じく LAN 上にある Web クライアントにコンテンツを提供する (物理ハードウェア) ウィジェットを作成したいと考えています。
ウィジェットからクライアントへのトラフィックは暗号化される必要がありますが、LAN もクライアントも制御できないという問題があり、ローカル CA を設定したり、DNS を調整したりすることはできません。
ウィジェットが暗号化されたデータを Web クライアントに提供できるような方法を用意することは可能ですか。
何らかのメカニズム (widgetN.thedomainiown.com など、自分が所有するドメインに結び付けられる) が作成されれば、すべてのデバイスに対して証明書を作成して公開することはおそらく可能です。LAN 上のすべてのデバイスが広大なインターネットを認識できると想定します。
私は次のようないくつかの戦略を検討しました。
- 上記のように各デバイスの証明書を作成し、その証明書がインストールされたウィジェットを出荷します。証明書のホスト名の不一致が発生するため、これは機能しないことを理解しています。
- ウィジェットとクライアントの両方が、私が管理する信頼できるインターネット サーバーを介して通信するようにします。
2 番目のケースでは、極端な例として、すべてのデータを安全なリンク経由で通信し、信頼できるサーバーで中継することができます。これで問題は解決すると思いますが、帯域幅と待ち時間の問題から、これは現実的ではありません。
代わりに、信頼できるサーバーを使用してウィジェットとクライアント間の暗号化されたリンクを設定することは可能ですか? これに JavaScript 暗号化を使用することを考えましたが、私が読んだすべての情報によると、JavaScript 暗号化は単純に悪いので、決して使用すべきではないとのことです。この場合、問題が何であるかが完全にはわかりませんので、教えていただければ幸いです。
これは、信頼できるサーバーが、暗号化プロトコルと必要な証明書をカプセル化する Web アプリを構築し、LAN 経由で暗号化を処理するために使用するケースです。つまり、信頼できるサーバーは、ローカル トラフィックを処理するために使用される Web ページを提供します (同一生成元ポリシーでは、これは可能でしょうか?)。