In che modo la segretezza avanzata batte la crittografia a chiave pubblica se la chiave viene regolarmente aggiornata?

1

Perché la segretezza avanzata è migliore (ad esempio per WhatsApp) rispetto alla crittografia a chiave pubblica con una chiave modificata di routine?

Il problema pubblicizzato è la sicurezza all'indietro: se in un punto una chiave viene compromessa, qualcuno che memorizza la cronologia delle comunicazioni passate non sarà in grado di decifrare improvvisamente tutta la cronologia.

Ma considera il seguente metodo più semplice usando la normale crittografia a chiave pubblica. Ogni volta che il cliente di Bob invia un messaggio, invia insieme a quel messaggio una nuova chiave pubblica, una generata algoritmicamente. La chiave pubblica è memorizzata sul server (WhatsApp). Quelli che inviavano messaggi a Bob avrebbero recuperato quella chiave pubblica e il loro client avrebbe crittografato il messaggio che stavano inviando a Bob usando quella chiave. La chiave rimane valida fino a quando Bob invia nuovamente un messaggio a chiunque .

Qual è la debolezza di questo approccio elementare rispetto alla segretezza in avanti? Una volta che un messaggio sottoposto a segreto d'ufficio è compromesso, i messaggi successivi diventano leggibili. Il metodo appena descritto sarebbe più strong in tal senso.

    
posta Calaf 25.04.2016 - 23:06
fonte

2 risposte

1

La segretezza ben inoltrata di solito viene raggiunta esattamente da ciò che proponi, vale a dire le chiavi del pubblico effimero (di solito Diffie-Hellman). Questo funziona fondamentalmente come segue:

  1. Genera alcuni parametri DH.
  2. Firma i parametri pubblici tramite la tua chiave pubblica a lungo termine.
  3. Invia parametri e firma sui parametri a qualsiasi computer con cui vuoi parlare
  4. Utilizza i parametri effimeri per generare un segreto condiviso da cui derivare le chiavi simmetriche.

Se osservi il meccanismo di scambio delle chiavi per la maggior parte delle connessioni HTTPS vedrai che parte della ciphersuite è di solito ECDHE_RSA, che significa Diffie-Hellman effimero (su un gruppo di curve ellittiche) con i parametri firmati via RSA (essendo la chiave RSA la chiave privata a lungo termine dei server per la quale la chiave pubblica corrispondente viene trovata nel certificato dei server).

È importante che firmi le tue chiavi temporanee con la tua chiave privata a lungo termine, altrimenti un utente malintenzionato potrebbe caricare una chiave a sua scelta per dire i server di WhatsApp e leggere tutti i messaggi destinati a te in quanto non ci sarebbe modo per verificare la legittimità delle chiavi effimere.

Once one message under forward secrecy is compromised, subsequent messages would become readable. The method just described would be stronger in that respect.

Questo non è corretto, solo i messaggi relativi alla sessione i cui parametri effimeri sono stati compromessi sarebbero diventati leggibili. La prossima sessione avrebbe diversi parametri effimeri e sarebbe comunque sicura.

    
risposta data 25.04.2016 - 23:15
fonte
1

Quello che hai descritto è essenzialmente ciò che fa la segretezza del futuro. Genera una chiave pubblica casuale per ogni sessione.

link

    
risposta data 25.04.2016 - 23:16
fonte

Leggi altre domande sui tag