现在我们的应用程序旨在促进初始加载后通过websockets进行的所有通信。
我们正试图找出一种通过此传输安全传递敏感数据的解决方案。
到目前为止,我们正在考虑以下几点:
使用类似javascript bcrypt的客户端加密 实现在传输之前对所有内容进行加密。
通过SSL即可通过普通帖子传递所有敏感数据 虽然我们不想。
像1号这样的东西将是最好的结果,但是我们不知道即使在认证之后,webokets也容易受到中间人类攻击等事物的攻击。</ p>
任何有助于解决可能的安全问题的帮助,或任何其他关于如何通过websockets获得真正安全性的想法都将非常感激!
答案 0 :(得分:38)
连接到wss://
WebSocket URL而不是ws://
将使用浏览器的标准TLS / SSL加密连接到服务器。它相当于HTTPS与HTTP。如果您信任浏览器的SSL / TLS实现,那么您可以信任WebSocket wss://
连接,因为它们使用相同的引擎。您需要使用websocket服务器配置已签名的SSL证书,但无论如何都非常需要。
答案 1 :(得分:1)
关于cookie,可能值得考虑的是,(目前),WebSockets协议规范不要求浏览器提供所有,甚至任何由Web服务器最初提供用于打开与该服务器的WebSockets连接的JavaScript。
有关Firefox行为的描述(来自FF开发人员),请参阅here。