web-dev-qa-db-fra.com

WSS sur HTTP vs WSS sur HTTPS

J'ai lu que WS ne fonctionne que sur HTTP et que WSS fonctionne à la fois sur HTTP et HTTPS. Les connexions WSS (Secure Web Socket) sont-elles aussi sécurisées sur un serveur HTTP que sur un serveur HTTPS? Une connexion Web Socket Secure (WSS) est-elle toujours cryptée via TLS/SSL si le site Web/le serveur ne l’est pas?

39
Isaac

Une connexion Web sécurisée (wss) est-elle toujours cryptée via TLS/SSL si le site Web/le serveur ne l’est pas?

Oui.

Les connexions wss (Secure Web Socket) sont-elles aussi sécurisées sur un serveur http que sur un serveur https?

Oui (voir ci-dessus). Il convient de noter une chose: si le code HTML/JavaScript qui ouvre la connexion WebSocket sécurisée passe par un protocole HTTP non sécurisé, la connexion WebSocket est toujours sécurisée, mais un attaquant peut modifier le code HTML/JavaScript lors de son envoi du serveur Web au navigateur. . Une connexion HTTP n'est pas protégée contre le reniflement ou la modification par l'homme du milieu.

36
oberstet

"wss fonctionne à la fois sur http et https" ??? C'est une phrase étrange.

wss n'est sécurisé que parce qu'il signifie "protocole WebSocket sur https ". Le protocole WebSocket lui-même n'est pas sécurisé. Il n’existe pas de protocole Secure WebSocket, mais uniquement les protocoles "WebSocket sur http" et "WebSocket sur https". Voir aussi cette réponse .

En tant qu'auteur de nv-websocket-client (bibliothèque client WebSocket pour Java), je doute également de l'expression "Si le code HTML/JavaScript qui ouvre la connexion sécurisée WebSocket est fourni via HTTP non sécurisé, la connexion WebSocket est toujours sécurisée" dans la réponse par oberstet.

Lisez RFC 6455 (le protocole WebSocket) pour obtenir la bonne réponse. Pour devenir un véritable ingénieur, évitez de lire RFC. Seules la recherche de blogs techniques et de réponses StackOverflow ne vous mènera jamais au bon endroit.

73
Takahiko Kawasaki