Attualmente sto sviluppando un progetto per dati altamente sensibili che devono essere trasferiti su una rete molto discutibile. Anche se non ne sono affatto felice, è comunque inevitabile. La buona notizia tuttavia è che gli utenti partecipanti sono molto limitati, il che renderebbe possibile l'utilizzo del nome utente / password per crittografare effettivamente i primi pacchetti inviati. Quindi ecco cosa sto pensando:
- Il client invia Username / Password-Hash crittografati con una chiave generata da una combinazione dei due utilizzando una funzione biettiva.
-
Il server cerca di crittografarlo usando ogni singola combinazione di Username / Password-Hash trovata nel database, se ha successo
2.1 viene generata una chiave privata che è valida solo per la sessione e verrà utilizzata una sola volta.
2.2 La chiave privata viene inviata al client utilizzando la stessa chiave generata da Hash e nome utente / password.
se non ha successo
2.3 NO LOGIN viene inviato al client senza crittografia.
Bene, la mia domanda qui è:
Questo metodo comprometterà la crittografia in alcun modo? O sono completamente smarrito?
L'uso di una chiave pubblica non è un'opzione, poiché la chiave potrebbe essere raggiunta mediante reverse-engeneering / listening sul primo pacchetto in cui la chiave pubblica viene scambiata /...