SSL con client e server locali

2

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?

    
posta KeksArmee 26.11.2015 - 21:45
fonte

1 risposta

4

Con la maggior parte delle implementazioni TLS è sufficiente memorizzare il certificato autofirmato del server in archivio certificati attendibili . Potrebbe essere necessario aggiungere un'opzione specifica alla riga di comando o alla chiamata API per contrassegnare il certificato come attendibile.

In questo caso la catena del certificato del server porta a un certificato attendibile perché il server utilizza direttamente il certificato attendibile (cioè una "catena" di un certificato).

Devi stabilire la fiducia prima di stabilire la connessione, ad es. distribuendo il certificato autofirmato con l'applicazione client.

    
risposta data 27.11.2015 - 01:18
fonte

Leggi altre domande sui tag