La crittografia simmetrica con una chiave pre-condivisa è sicura?

3

Supponiamo di avere un canale sicuro tra client e server, con convalida del certificato corretta ecc (in realtà, sessione ssh).

Voglio stabilire una connessione sicura tra la mia applicazione su server e client, ma non voglio implementare TLS, o qualche tipo di convalida dei certificati, o inviare i miei dati attraverso il tunnel SSH.

È sufficiente generare una chiave casuale strong, inviarla tramite la sessione ssh e semplicemente usare quella chiave per la crittografia simmetrica, ad esempio, AES?

Modifica. Realizzato che la mia domanda non era abbastanza chiara. La vera domanda dovrebbe essere così:

Se ho una chiave singola pre-condivisa, vale la pena utilizzare TLS? Quali problemi posso incontrare con la mia implementazione utilizzando una strong crittografia simmetrica, come AES?

    
posta deniss 26.03.2016 - 23:37
fonte

1 risposta

8

In sostanza, no.

Non sei nemmeno andato a metà strada verso la descrizione del tuo sistema. Utilizzerai un codice di flusso o un codice a blocchi? Come autentificherete questo traffico? Come lo proteggeresti da attacchi di replay, attacchi di bit-flip, attacchi a tempo e così via?

Una volta risolte tutte le vulnerabilità del tuo sistema, penso che troverai comunque che assomiglia a TLS. Tranne che probabilmente avrai perso alcune cose lungo la strada. Finirai per fare un sacco di sforzi per realizzare un'implementazione imperfetta di qualcosa che puoi già avere gratuitamente.

L'utilizzo di TLS sin dall'inizio sembra essere la cosa più sensata da fare qui.

    
risposta data 27.03.2016 - 00:08
fonte

Leggi altre domande sui tag