Domanda

ho implementato un server / client Kerberos utilizzando i socket in Java, in cui il client invia il suo servizio-TGT al server, e il server conosce il client è autentica.

La mia preoccupazione principale è il snooping attacco 'man-in-the-middle'. Qualcuno potrebbe catturare il TGT, e fingere di essere il cliente.

In un'implementazione Java puro, questo non è un problema, come ulteriore comunicazione è cifrato con le chiavi di sessione di servizio (GSSContext.wrap () / GSSContext.unwrap ()), che lo Snooper non ha.

Ma l'applicazione client deve essere ri-scritto in C #.

ho dato i miei due opzioni per mantenere la comunicazione crittografata sono:

  1. scrivere il mio involucro () e scartare () metodi in C #
  2. Usa SSL / TLS.

è l'opzione 1 possibile, prima che io guardo in SSL come opzione?

È stato utile?

Soluzione

L'opzione 1 comporta qualche porting del codice pesante che si può o non può avere il tempo di fare. Opzione 2 suona bene.

Non c'è l'opzione 3, che dipende dalla vostra vincoli, utilizzare un canale criptato TCP privato, che dovrebbe essere più veloce di SSL / TLS, ma come ho detto potrebbe non essere applicabile. Si potrebbe utilizzare la crittografia simmetrica, dopo aver inizializzato le chiavi di sessione (che sono segreto)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top