我有一種情況,我希望產生插入 LAN 並充當 Web 伺服器的(實體硬體)小部件,為也在 LAN 上的 Web 用戶端提供內容。
從小部件到客戶端的流量應該加密,但存在的問題是我無法控制 LAN 或用戶端,這意味著無法設定本機 CA 或進行任何 DNS 調整。
是否可以安排某種方式讓小工具可以向 Web 用戶端提供加密資料。
如果創建某種機制來允許這種情況發生(綁定到我擁有的某個網域,例如 widgetN.thedomainiown.com),那麼為每個裝置建立和發布憑證是可能的。假設區域網路上的所有東西都可以看到大範圍的網路。
我考慮了以下幾種策略:
- 如上所述為每個設備建立一個證書,並交付安裝了該證書的小部件。我知道這不起作用,因為它會導致憑證主機名稱差異。
- 讓小部件和客戶端透過我控制的可信任網路伺服器進行通訊。
在第二種情況下,在一種極端情況下,所有資料都可以透過安全鏈路進行通訊並由可信任伺服器進行中繼。我想這可以解決問題,但是由於頻寬和延遲原因這是不切實際的。
相反,是否可以使用可信任伺服器在小部件和客戶端之間建立加密連結?我曾考慮過為此使用 javascript 加密,但我讀過的所有內容都告訴我 javascript 加密很糟糕,永遠不應該使用。在這種情況下,我不完全清楚問題是什麼,所以我很高興得到啟發。
這是受信任伺服器建立 Web 應用程式的情況,該應用程式封裝了加密協定和必要的證書,然後可以使用這些證書來處理 LAN 上的加密。也就是說,可信任伺服器提供用於處理本地流量的網頁(考慮到同源策略,這是否可能?)。