Trasporto delle credenziali per il gioco in rete

1

Sto sviluppando un gioco in rete, e questo gioco richiederà ai giocatori di autenticarsi sul server. Sia il client che il server sono scritti in Java. Sto cercando di trovare un metodo efficace per la trasmissione della password.

Ricordo di aver visto SRP-6 alcuni anni fa, e ho letto che era quello che Blizzard usa per World of Warcraft, e pensavo che forse avrebbe funzionato.

Poi un mio amico mi ha detto che il modo in cui si occupa della trasmissione è di chiedere al server di login la sua chiave pubblica, quindi inviare il nome utente, la password e la chiave pubblica del client (dove la coppia di chiavi viene generata ogni volta che l'utente apre il client) crittografato sul server. Questo mi sembra un po 'pesante in termini di utilizzo del processore e di networking richiesti.

Una volta che l'utente si è autenticato, il server di login invia al client un token di accesso univoco, che può essere considerato come un ID di sessione. Una volta completata l'autenticazione, il resto dei pacchetti di gioco non sono criptati tra il client e il server di gioco.

Un'altra cosa da tenere in considerazione è che questo gioco sarà rilasciato al pubblico, in modo simile a Minecraft, dove gli utenti possono scaricare il server, avviarlo e consentire agli utenti di connettersi ad esso. Questo bit mi ha dissuaso dall'usare SSL / TLS tra client e server, dal momento che non voglio sovraccaricare l'utente con i certificati.

C'è qualche ragione per preferire la crittografia asimmetrica su SRP? C'è qualcos'altro che ha dimostrato di essere sicuro per trasferire solo i dati di username / password?

    
posta Zymus 01.09.2016 - 06:54
fonte

0 risposte

Leggi altre domande sui tag