Ist SSL für ein Webspiel erforderlich? Ich benutze Node.js mit socket.io.
Ohne sie könnte bei Verwendung ungesicherter Netzwerke jemand im LAN Befehle ändern, die an den Server gesendet werden, und einen Player "übernehmen". Dies kann jedoch nur in ungesicherten gemeinsam genutzten Netzwerken geschehen, sodass es nicht schlecht klingt. Oder ist es?
Lassen Sie uns die Authentifizierungsphase für einen Moment ignorieren und davon ausgehen, dass dieser Teil gesichert ist. Gibt es noch andere Gründe, warum ich SSL für die Sockets verwenden sollte?
client-server
node.js
security
websocket
Ronen Ness
quelle
quelle
Antworten:
Ja. Das solltest du auf jeden Fall.
Verwenden Sie Let's Encrypt , um ein kostenloses SSL-Zertifikat zu erhalten (oder so viele, wie Sie möchten oder benötigen). SSL ist immer gut zu haben: Ohne SSL werden Man-in-the-Middle-Angriffe von der NSA gestartet, wenn sonst niemand.
Die meisten Multiplayer-Spiele (z. B. Minecraft) verwenden nur Rohpakete. Es gibt wenig Grund, Pakete nach der Authentifizierung zu verschlüsseln, da nur der Netzwerkdienstanbieter (z. B. Verizon / Virgin / TalkTalk) TCP-Pakete fälschen kann.
Wenn Sie Ihr Spiel jedoch auf Ihrer Website hosten, muss das Ganze in SSL sein (es sei denn, Sie möchten eine Anmeldeseite über SSL und eine andere Seite ohne SSL haben, erschaudern).
Vorteile von SSL:
Nachteile:
quelle
Nur zusätzlich zu @Loblums Antwort:
AFAIK socket.io verwendet WebSocket als Standardtransport. Da WebSocket relativ neu ist, sind sich möglicherweise nicht alle Vermittler im Internet dessen bewusst und gehen korrekt damit um. Bei einer verschlüsselten Verbindung steigt die Wahrscheinlichkeit, dass eine WebSocket-Verbindung erfolgreich ist, erheblich, da sie von außen nicht mehr von einer verschlüsselten HTTP-Verbindung zu unterscheiden ist.
quelle