Devo davvero saltare in una connessione ibrida RSA / AES?

0

Comincio dicendo che sono abbastanza nuovo per la crittografia e sono piuttosto brutto nel trovare punti deboli in tutto.

Detto questo, mi piacerebbe parlare di un enorme dubbio che vorrei chiarire prima di finire a fare qualcosa di sbagliato in pratica: una cosa che ho imparato studiando i metodi di crittografia a chiave simmetrica come AES è che i sali sono dio . Dovresti sale, sale e sale. E capisco che è davvero utile bloccare gli attacchi del dizionario arcobaleno e va bene. Tuttavia, da quello che ho ottenuto, tutti gli esempi stavano parlando di casi in cui stai crittografando la password di un utente, che di solito sono parole conosciute o simili.

Supponiamo ora uno scenario avanzato: ho un sistema di comunicazione ibrido che utilizza un sistema di comunicazione ibrido RSA (asimmetrico) e aes (simmetrico) tra client e un server in cui:

-il server possiede una chiave privata RSA, i client possiedono la parte pubblica

quando un cliente vuole stabilire una connessione, lo fa:

1 - genera una chiave simmetrica casuale

2 crittografarlo con la chiave RSA pubblica

3-inviarlo al server

4: il server legge la chiave cifrata con la chiave privata

5-ora entrambi i sistemi hanno una chiave simmetrica che ovviamente sarà monouso , che non è mai stata trasmessa in chiaro e può comunicare con la velocità di aes

Quindi la domanda è: in uno scenario del genere, è davvero degno di sale la chiave simmetrica aes prima di inviarlo al server nel punto 3? Perché prima è casuale, in secondo luogo è monouso, il terzo per quanto ne so non c'è modo che un hacker possa fare molto senza conoscere la chiave privata. E comunque la password finale inviata è qualcosa che sarà comunque un insieme casuale di caratteri, proprio come la chiave non salata.

O c'è uno scenario in cui potrebbe essere utile?

    
posta Asduffo 28.08.2016 - 22:20
fonte

1 risposta

0

È necessario solo hash e password salate memorizzate su un server per l'autenticazione dell'utente. Nel tuo caso, hai una chiave casuale che verrà utilizzata solo per la durata della connessione, quindi un sale sarebbe inutile.

Tieni presente che il tuo protocollo non fornisce l'autenticazione ed è probabilmente vulnerabile a due dozzine di attacchi catastrofici. Abbiamo già TLS per stabilire una connessione sicura: usalo se vuoi una seria sicurezza (e non fare la tua implementazione: questi richiedono tanta esperienza quanto il protocollo stesso).

    
risposta data 28.08.2016 - 23:40
fonte

Leggi altre domande sui tag