簡體   English   中英

保護Websockets

[英]Securing Websockets

現在我們的應用程序旨在促進初始加載后通過websockets進行的所有通信。

我們正在嘗試找出一種通過此傳輸安全傳遞敏感數據的解決方案。

到目前為止,我們正在考慮以下幾點:

  1. 通過傳回存儲在初始加載時通過SSL傳遞的會話cookie中的唯一哈希來驗證websocket傳輸。
  2. 客戶端加密使用類似javascript bcrypt實現的方式在傳輸之前加密所有內容。

  3. 即使我們不想,也只需通過SSL通過普通帖子傳遞所有敏感數據。

像1號這樣的東西將是最好的結果,但是我們不知道即使在認證之后,webokets也容易受到中間人攻擊這樣的事情的影響。

任何幫助消除可能的安全隱患,或任何其他關於如何通過websockets實現真正安全性的想法將不勝感激!

連接到wss:// WebSocket URL而不是ws://將使用瀏覽器的標准TLS / SSL加密連接到服務器。 它相當於HTTPS與HTTP。 如果您信任瀏覽器的SSL / TLS實現,那么您可以信任WebSocket wss://連接,因為它們使用相同的引擎。 您需要使用websocket服務器配置已簽名的SSL證書,但這仍然非常需要。

保護(使用SSL / TLS加密)對您的數據非常重要。 但是你也應該考慮認證。 任何具有ws功能設備的人都知道你的服務器端點,如果它不需要先進行身份驗證,就能獲得數據。 請參閱http://simplyautomationized.blogspot.com/2015/09/5-ways-to-secure-websocket-rpi.html包含3次握手方法(CHAP),要求客戶端和服務器都具有“預先共享秘密“。
其他方式在帖子上詳細說明。

干杯

關於cookie,可能值得考慮的是,(目前),WebSockets協議規范不要求瀏覽器提供所有,甚至是最初為您打開的JavaScript提供服務的Web服務器設置的任何cookie與該服務器的WebSockets連接。

請參閱此處 ,了解Firefox的行為(來自FF開發人員)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM