Ho letto alcuni argomenti in cui le persone affermano di essere in grado di decifrare le comunicazioni SSL / TLS semplicemente avendo la chiave privata del destinatario.
Ma di recente ho appreso che una chiave pubblica può, ma non dovrebbe mai cifrare qualcosa di più della lunghezza della chiave privata associata. Ad esempio, se il peer ha una chiave privata di 2048 bit, non dovrebbe mai crittografare qualcosa di più lungo di 255 byte + carattere NULL. Se si codifica qualcosa di più lungo, diventerebbe vulnerabile ad attacchi come il taglio di blocchi, l'analisi di ridondanza, ecc. (Non sono esperto in questo dominio, mi dispiace per il vocabolario cattivo).
Detto questo, l'handshake RSA consiste, infatti, in uno scambio di chiavi pubbliche, seguito da uno scambio protetto di una chiave AES, che viene poi utilizzata per crittografare tutte le comunicazioni senza limiti di lunghezza. Quindi lo scambio basato su RSA viene utilizzato solo al momento della stretta di mano.
Quindi, questo tasto AES è in grado di scambiare una parte del protocollo SSL / TLS, o alcuni server non potranno mai comunicare con pacchetti più lunghi della lunghezza della loro chiave privata?
Se TUTTE le comunicazioni SSL / TLS vengono eseguite in questo modo (cosa AES), ciò significa che per poter decodificare i pacchetti, è necessario acquisire l'handshake per decrittografare la chiave AES e, in caso contrario, avere entrambi le chiavi private sono semplicemente inutili, vero?
Ma ciò significherebbe anche che avere una sola chiave privata sarebbe sufficiente per decifrare la chiave AES, e quindi l'intera comunicazione. Quindi, una tale comunicazione dovrebbe coinvolgere 2 chiavi AES, una per ogni pari, giusto? Quindi, proprio come uno scambio RSA, A crittograferebbe i pacchetti con la chiave di B, e viceversa.
Che cosa si applica nella vita reale? Limite di lunghezza dei pacchetti o comunicazioni basate su AES? Uno o due tasti AES?
Grazie per aiutarmi a capire! E scusa, ma l'inglese non è la mia lingua principale.
Cordiali saluti.