distribuzione della chiave pubblica da un server centrale

6

Sto provando a codificare un programma di comunicazione crittografato. Inizialmente pensavo che avrei usato la crittografia a chiave pubblica e quindi avrei tenuto le chiavi pubbliche in un database in cui gli utenti potevano interrogare il database per la chiave pubblica di un altro utente per crittografare il loro messaggio. Tuttavia questo mi consente di leggere il loro messaggio se ho mai inviato loro la mia chiave pubblica al posto della chiave pubblica del destinatario previsto.

È possibile avere il segreto in avanti se si impossessa della chiave pubblica dal server centrale, che controllo? Mi sembra che se si utilizzano alcuni algoritmi di segretezza avanzata come STS, sarei comunque in grado di inviare a entrambi gli utenti la mia chiave pubblica e non ne sarebbero più saggi.

    
posta CallMeNorm 18.06.2013 - 04:52
fonte

1 risposta

1

Non è possibile scambiare le chiavi pubbliche su un canale non affidabile senza l'aiuto di una terza parte affidabile. Anche STS presuppone che: a) le chiavi pubbliche siano state scambiate in anticipo ; oppure b) i certificati vengono utilizzati per aiutare a stabilire la fiducia delle chiavi (quindi una CA, Web of Trust o simile è necessario). Nel tuo scenario, ti stai comportando come una terza parte attendibile, affermando a ciascun utente che una determinata chiave appartiene a lui / lei e che non stai eseguendo segretamente un attacco man-in-the-middle (a volte chiamato < strong> MitM istituzionale ). In altre parole, hai ragione nelle tue ipotesi.

Suggerirei di consultare questa risposta per alcuni approfondimenti sul tema della fiducia delle chiavi pubbliche. Temo che non ci sia altro che possa suggerirti per migliorare rispetto ai modelli esistenti ...

    
risposta data 18.06.2013 - 16:11
fonte