Non sono sicuro se questo argomento appartiene a Cryptography, Programming o StackOverFlow quindi ti prego di perdonarmi se non aggiungo una domanda utile a questo sito.
Voglio fornire sia i programmi server e client (archivi .jar) ai miei utenti.
- Il SERVER è un mod per un gioco (ha un
server-id
) - Il CLIENT è uno smartphone che dovrebbe controllare il gioco inviando messaggi al server (ha un
client-id
)
Volevo mantenere tutto crittografato, quindi penso che SSL sia una buona scelta. Poiché il server non è in realtà il mio, ciò che ho fatto è stato consentire al server di creare un certificato autofirmato e memorizzarlo
Perché l'accettazione di qualsiasi certificato può essere sfruttata, ad es. l'autore dell'attacco potrebbe spoofare il server-id
di un altro server e la mia app client invierà la password interna (non correlata a SSL) all'attaccante.
L'attaccante potrebbe ora spoofare client-id
e ha il controllo su un gioco
Come devo implementare il client in modo che verifichi e distingua i server in base al loro certificato?