Qual è l'importanza delle impostazioni di sshd RekeyLimit?

4

man sshd_config degli stati della pagina:

RekeyLimit

Specifies the maximum amount of data that may be transmitted before the session key is renegotiated, optionally followed a maximum amount of time that may pass before the session key is renegotiated. [...] The default value for RekeyLimit is "default none", which means that rekeying is performed after the cipher's default amount of data has been sent or received and no time based rekeying is done. This option applies to protocol version 2 only.

Supponiamo di avere una connessione molto lunga (giorni / settimane), con gigabyte trasferiti avanti e indietro. Farà alcuna differenza nel livello di protezione contro le minacce di medio livello se imposto il valore su qualcosa di diverso dal default di nessuna rekeying basata sul tempo?

Questa impostazione preverrà attacchi insoliti o, inversamente, presenterà un attaccante con opportunità uniche? È importante quali sono le modalità di cifratura e cifratura utilizzate (CBC vs CTR rispetto all'implementazione GCM di OpenSSH)?

    
posta Deer Hunter 09.12.2014 - 15:56
fonte

2 risposte

6

L'idea alla base del rekeying è che le chiavi di sessione possono essere suscettibili ad alcuni attacchi non specificati, come la crittoanalisi diretta o l'attacco del canale laterale. Un tema comune nella maggior parte degli attacchi è che richiedono l'analisi di una grande quantità di dati crittografati da eseguire. Limitando la quantità di dati trasmessi con una singola chiave di sessione, puoi efficacemente contrastare una grande quantità di attacchi contro le tue chiavi di crittografia, qualunque siano questi attacchi.

Il metodo di cifratura e concatenazione che usi ha un effetto sul tipo e sull'efficacia degli attacchi che un avversario potrebbe schierare. Ma la difesa della rotazione della chiave di sessione dopo pochi GB è una strategia di mitigazione ragionevolmente efficace.

    
risposta data 08.02.2015 - 00:34
fonte
0

In base alle mie conoscenze, quando scegli i valori appropriati (quantità di traffico e limite di tempo), devi principalmente considerare il tempo di esecuzione della connessione e del traffico. Se non si dispone di una quantità di traffico sufficiente, il limite di tempo deve assicurare che la chiave di sessione sia rinegoziata in modo tempestivo per "prevenire" qualsiasi attacco dipendente dal tempo (come un attacco sofisticato contro lo spazio della chiave). D'altra parte, se si ha molto traffico, non si vuole impostare il limite del traffico troppo basso, in modo che non debba rinegoziare la chiave troppo spesso.

Questa opzione riguarda principalmente la prevenzione di eventuali attacchi dovuti al traffico o al tempo, quindi dubito che presenterà direttamente nuove opportunità di attacco.

Il cifrario impiegato ha importanza per un po ', quindi l'importo del traffico predefinito è impostato tra 1G e 4G a seconda del codice.

Sulla base delle informazioni fornite da te, penso che dovresti preoccuparti principalmente di impostare un limite sull'importo del traffico che non è troppo basso. Il limite di tempo potrebbe essere un'aggiunta utile, mentre non è necessario se si ritiene che l'importo del traffico sulla connessione non sarà significativamente ridotto per un lungo periodo di tempo.

    
risposta data 09.12.2014 - 16:47
fonte

Leggi altre domande sui tag