Quanto pericoloso potrebbe essere pubblicare una chiave pubblica? [duplicare]

37

Forse questa domanda sembra ovvia, ma mi chiedo quanto potrebbe essere pericoloso pubblicare una chiave pubblica per un sistema di crittografia asimmetrico ?

So che le chiavi pubbliche sono pensate per crittografare i messaggi da chiunque sia intenzionato a farlo, ecco perché possiamo persino scaricare un certificato pubblico delle più comuni CA dai browser web.

Ma è sicuro se pubblico la mia chiave pubblica su un server web in modo che chiunque possa scaricarlo? Quali rischi devo affrontare facendolo?

Grazie.

    
posta nKn 28.03.2014 - 13:40
fonte

7 risposte

61

Nessuno, ecco perché è chiamato una chiave pubblica. Non può essere utilizzato per accedere a qualsiasi cosa crittografata per te senza risolvere problemi di matematica che sono attualmente proibitivamente difficili da risolvere. È possibile che in futuro possa essere possibile risolvere questi problemi e che la chiave pubblica possa consentire la decodifica dei messaggi, ma non esiste una minaccia nota attuale.

Il rovescio della medaglia è che se non condividi la tua chiave pubblica, la tua chiave privata non ti fa bene. L'unica ragione per utilizzare la crittografia asimmetrica su simmetrica è se devi consentire a qualcuno di avere la tua chiave pubblica. Altrimenti, se stai solo facendo qualcosa per te, symmetric è molto più veloce e più sicuro.

    
risposta data 28.03.2014 - 14:33
fonte
19

Solo per espandere un paio di informazioni di cui sopra, ci sono fondamentalmente due rischi da considerare, nessuno dei due riguarda gli algoritmi (quelli sono sicuri).

Innanzitutto, la perdita di dati è accidentale. Esegui slaterockandgravel.com come Mr. Slate ma hai la tua chiave firmata [email protected]? Betty ha firmato la tua chiave e tu non vuoi che il mondo lo sappia? Questi sono casi improbabili, ma considerali.

In secondo luogo, forse di più, c'è una guardia contro qualcuno nel centro del tuo sito e presenta al tuo amico una chiave falsa per te, che pensa di usare per intercettare le sue comunicazioni con te. Ancora improbabile, ma due cose che puoi fare per evitare il problema: a) caricarlo sotto TLS -oppure- (b) (meglio) caricare la tua chiave su un server delle chiavi pubblico (sks o simile) e inserire solo l'ID della chiave sul tuo sito web (è anche possibile fornire un collegamento Web ai server Web di sks con una ricerca del proprio ID chiave). Le persone hanno già capito la distribuzione delle chiavi, quindi sfruttano il loro lavoro.

Per la maggior parte di queste cose, probabilmente non sarai tu ad essere attaccato in questo modo, ma sarà qualcuno, quindi ognuno di noi dovrebbe comportarsi come se fosse noi, e quindi avremo una comunità più sicura.

    
risposta data 29.03.2014 - 04:37
fonte
9

Tuttavia, hai per pubblicare la tua chiave pubblica in modo che le persone possano crittografare i messaggi che sono destinati a te. Questo è il motivo per cui devi pubblicare la tua chiave pubblica e farlo firmare da persone che conosci (preferibilmente personalmente).

Per maggiori informazioni: Web of Trust e Parti per la firma delle chiavi

    
risposta data 28.03.2014 - 14:04
fonte
6

I rischi sono di fiducia. In modo non intuitivo, se non pubblichi la tua chiave, è facile per qualcuno pubblicare la propria chiave e rivendicare che è tua. Una chiave pubblica dovrebbe essere molto pubblica.

La tua difesa migliore è assicurarsi che la tua chiave sia firmata correttamente.

    
risposta data 28.03.2014 - 13:48
fonte
4

L'unico rischio è di pubblicare la tua chiave pubblica se la tua chiave pubblica è firmata da altre persone e non vuoi rivelare chi ha firmato la tua chiave (dal momento che può essere usata per capire con chi hai fatto connessioni, casualmente o intimamente ).

    
risposta data 28.03.2014 - 21:09
fonte
1

In generale, nella crittografia esistono due tipi di informazioni: informazioni segrete e informazioni pubbliche.

Tenere segrete le informazioni segrete è come metterle nel grande caveau con una grande porta in una grande banca come si vede nei film.

Mantenere le informazioni pubbliche segrete è come mettere un cartello sulla porta che dice "non rubare le mie cose".

È meglio presumere che le informazioni pubbliche siano note al mondo e non sprechino troppo sforzi per proteggerle. Come affermato in un'altra risposta, può avere senso mettere in atto le salvaguardie di autenticazione di base. Se solo alcune persone dovessero essere in grado di inviarti messaggi, allora mettere su un sistema in cui solo le persone dovrebbero avere accesso alla tua chiave pubblica ha senso, se non altro per ridurre la possibilità che tu riceva falsi messaggi che dovrai scartare ... dovrai comunque riconoscere e scartare i messaggi fasulli, ma ridurrai il potenziale di traffico.

    
risposta data 28.03.2014 - 21:56
fonte
1

Sì, in teoria, i criptoalogoritmi asimmetrici richiedono la chiave pubblica che deve essere resa pubblica. Tuttavia, a seconda dell'algoritmo in uso e della forza dell'algoritmo (numero di bit utilizzati, ecc.) Alcune di queste chiavi pubbliche possono essere interrotte per fornire la chiave privata. Ad esempio, se viene utilizzato il cryptosystem RSA, si consiglia in genere di utilizzare le chiavi atleast 1024 bit. Qualsiasi valore inferiore e il tuo sistema crittografico potrebbe essere compromesso. Anche così, si consiglia di utilizzare chiavi a 2048 bit, poiché anche le chiavi a 1024 bit potrebbero essere risolte con i potenti computer in arrivo ( link ). Quindi, non sarei troppo preoccupato a meno che la tua applicazione non sia per scopi di sicurezza come banche, militari ecc.

    
risposta data 29.03.2014 - 10:59
fonte

Leggi altre domande sui tag