Ho programmato un'applicazione su Linux usando C, ho aggiunto un livello di autenticazione e crittografia simile a questo:
1-client invia la richiesta di connessione. -server invia una sfida casuale al client. -Il client aggiunge un sale alla sfida e lo ha cancellato usando SHA1 quindi lo invia. -il server aggiunge lo stesso salt e hash la sfida con SHA1 e confronta il risultato ricevuto.
2 -In caso positivo, il server chiede al client login e password. -il client invia il login e la password (salted e hash con sha1). -il server cerca la password di accesso e hash in un file.
3 -Se il client ha inviato un login e una password validi, è autenticato. -Una sessione chiave viene generata concatenando La sfida con hash ricevuta E la password con hash ..
4 -la sessione chiave viene utilizzata per crittografare i dati con AES256
Voglio che tu mi dica cosa ne pensi, è sicuro? C'è qualche attacco che può spezzare quelle sequenze in qualsiasi passaggio ...? Grazie mille.