Perché devo usare più chiavi per ogni direzione e scopo?

2

Attualmente sto scrivendo un esame su "Lezioni apprese nella sicurezza IT". Ho già trovato qualcosa, che non dovrebbe essere fatto. Ma in questo momento sono nei guai a trovare i motivi per non farlo. Forse potresti spiegarmi perché o anche meglio sapere qualsiasi fonte citabile, che descrive quanto segue:

  • Perché non uso la stessa chiave per la crittografia in entrambi i modi?
  • Perché non utilizzo la stessa chiave per la crittografia e l'autenticazione?

Sarebbe anche utile, se qualcuno potesse parlarmi di attacchi noti, che sfrutti gli errori di cui sopra.

Dal modo in cui ho usato questo sito: lezioni apprese e idee sbagliate riguardanti crittografia e crittologia come punto di partenza per la mia ricerca.

    
posta Mats 21.12.2014 - 19:23
fonte

3 risposte

1

In generale, non si dovrebbe mai usare la stessa chiave per due diversi algoritmi, perché rende possibili attacchi chiave correlati. Ecco perché è consigliabile utilizzare un KDF per generare chiavi separate per le operazioni di crittografia e autenticazione. Ovviamente puoi utilizzare una modalità di crittografia autenticata, che eviterà la necessità di utilizzare due chiavi separate.

Riguardo all'utilizzo di chiavi diverse per le diverse direzioni in un canale, mentre la riduzione dell'esposizione alle vulnerabilità crittografiche è certamente una preoccupazione, c'è una ragione molto più fondamentale: gli attacchi di riflessione. A meno che non esista una differenza ben definita tra ciò che è un messaggio valido per ciascuna delle due parti in una comunicazione, un utente malintenzionato può semplicemente ripetere ciò che viene detto a te per causare un comportamento imprevisto. Se la stessa chiave viene utilizzata in entrambe le direzioni, ciò che trasmetti passerà i tuoi controlli di autenticazione per i dati in entrata, e quindi il codice che si aspetta una garanzia di un canale sicuro improvvisamente avrà a che fare con input non validi inattesi. Ciò può causare arresti anomali o altri comportamenti imprevisti.

È possibile attenuarlo a livello di protocollo inviando un messaggio che indica quale lato della comunicazione si è, ma che aggiunge complessità di analisi solo per mitigare una vulnerabilità, e questo è davvero il lavoro del livello di sicurezza. L'uso di chiavi diverse per entrambe le estremità della connessione evita completamente il problema ed è di solito più semplice da implementare.

    
risposta data 21.09.2015 - 03:00
fonte
0

Il motivo è che possono esistere punti deboli nei crittosistemi che consentono di aggirarli, poiché le chiavi hanno una relazione matematica tra loro.

Ad esempio, diciamo che ascolto di nascosto un messaggio crittografato da A a B. Quindi prendo il messaggio crittografato e "acceco" questo messaggio con un fattore accecante. Quindi invio questo messaggio criptato + cieco a B, e gli chiedo di firmarlo. Diciamo che ha una ragione per firmare le cose anche da me.

Poiché la firma è efficacemente decifrata, il messaggio che viene restituito è il messaggio in chiaro, non crittografato, che tu torni da me. Apro il messaggio con il segreto accecante, quindi ho il messaggio, non criptato. e tu non sai nulla che io abbia accesso a quel messaggio.

Questo può valere anche per gli schemi in cui viene utilizzata una chiave simmetrica, poiché potrei semplicemente inviarti la chiave simmetrica crittografata, accecata. E la firma cieca richiede che uno schema di hashing NON sia utilizzato durante la firma, quindi un software deve essere in grado di rilevare un messaggio cieco da firmare e firmarlo direttamente.

Ecco perché non dovresti usare la stessa chiave per la crittografia e la firma.

    
risposta data 22.12.2014 - 16:58
fonte
0

Why don't I use the same key for encryption in both ways?

Ricorda che ogni ulteriore uso di una "chiave" o di un "segreto" aumenta il suo potenziale di vettore di attacco. quindi, per ragioni di segregazione e mitigazione, è meglio utilizzare tasti DIFFERENTI per ogni interazione.

Why don't I use the same key for encryption and authentication?

Se usi 2 tasti:

  • 1 per aver detto "Ehi, questo sono io. Puoi fidarti"
  • 1 per assicurarsi che nessuno possa leggere la cosa.

quindi questo significa che un attacco deve bypassare 2 sistemi crittografici separati.

Puoi anche utilizzare questo sistema per "firmare" il tuo sommario e quindi avere più persone / sistemi in grado di identificare che viene da te, senza che siano in grado di modificare o vedere il tuo "messaggio segreto".

Questo è particolarmente vero se si usano anelli di trust come il sistema di anelli PGP.

    
risposta data 22.12.2014 - 13:47
fonte

Leggi altre domande sui tag