Domanda:
Quanto potrebbe essere pericoloso pubblicare una chiave pubblica?
nKn
2014-03-28 17:40:04 UTC
view on stackexchange narkive permalink

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

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

Ma è sicuro se pubblico la mia chiave pubblica su un server web in modo che chiunque possa scaricarla ? Quali rischi sto affrontando in questo modo?

Grazie.

La semplice pubblicazione della tua chiave pubblica su un server web potrebbe non essere un'idea eccezionale. Assicurati almeno che la connessione al tuo server sia autenticata / crittografata o anche meglio: cerca di far firmare la tua chiave pubblica da quante più persone possibile.
Forse pensa all'analogia di pubblicare il tuo nome e indirizzo negli elenchi pubblici, ma solo la tua famiglia ha la vera chiave della porta principale.
@MichaelDurrant: che dire della * porta sul retro *, però? :)
Sette risposte:
AJ Henderson
2014-03-28 18:33:22 UTC
view on stackexchange narkive permalink

Nessuno, ecco perché è chiamata 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 sia possibile risolvere questi problemi e ciò farebbe sì che la chiave pubblica consenta la decodifica dei messaggi, ma al momento non esiste una minaccia nota.

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

Aggiungendo solo questo, poiché la crittografia simmetrica è molto più veloce, la crittografia asimmetrica viene solitamente utilizzata per lo scambio di chiavi (dove la dimensione delle informazioni è relativamente piccola). Quindi, avendo la chiave, usiamo la crittografia simmetrica.
@nikolasasteri - sebbene sia un'affermazione accurata, non sono sicuro di vedere la rilevanza qui. Questa domanda non chiedeva nulla su come crittografare i dati utilizzando chiavi asimmetriche, solo se fosse sicuro condividere la chiave pubblica.
Ho solo pensato che fosse adatto per la tua ultima frase, scusa.
Bill McGonigle
2014-03-29 08:37:08 UTC
view on stackexchange narkive permalink

Solo per espandere un paio di informazioni a cui si allude sopra, ci sono fondamentalmente due rischi da considerare, nessuno dei due relativi agli algoritmi (quelli sono sicuri).

Primo, è la perdita accidentale di dati . Gestisci slaterockandgravel.com come Mr. Slate ma hai la tua chiave firmata fflintstone@slaterockandgravel.com? Betty ha firmato la tua chiave e non vuoi che il mondo lo sappia? Questi sono casi improbabili, ma considerali.

In secondo luogo, forse di più, è proteggersi da qualcuno che si intromette nel tuo sito web e presenta al tuo amico una chiave falsa per te, che loro prevede di utilizzare per intercettare le sue comunicazioni. Anche in questo caso improbabile, ma due cose che puoi fare per evitare il problema: a) metterlo sotto TLS -o- b) (meglio) caricare la tua chiave su un server delle chiavi pubblico (sks o simile) e inserire l'ID della chiave solo sul tuo sito web (puoi anche fornire un collegamento web ai server web sks con una ricerca per il tuo ID chiave). Le persone hanno già capito la distribuzione delle chiavi, quindi fai leva sul 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 agisci come se fossimo noi e avremo una comunità più sicura.

Ebbene, alcuni degli algoritmi potrebbero non essere sicuri. Ma se non sono sicuri, si può ragionevolmente presumere che l'interruzione funzionerà solo con un messaggio, quindi mantenere la chiave pubblica segreta dall'aggressore non aiuterebbe :-)
"Betty ha firmato la tua chiave" - ​​interessante ... Ovviamente si tratta di una piccola ma comunque significativa informazione che può aiutare negli attacchi di ingegneria sociale.
nikolas asteri
2014-03-28 18:04:01 UTC
view on stackexchange narkive permalink

Tuttavia, devi pubblicare la tua chiave pubblica affinché le persone possano crittografare i messaggi destinati a te. Ecco perché devi pubblicare la tua chiave pubblica e farla firmare da persone che conosci ( preferibilmente personalmente).

Per ulteriori informazioni: Web of Trust e Key signing Parties

John Deters
2014-03-28 17:48:25 UTC
view on stackexchange narkive permalink

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

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

Kevin Li
2014-03-29 01:09:31 UTC
view on stackexchange narkive permalink

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

Jason
2014-03-29 01:56:32 UTC
view on stackexchange narkive permalink

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

Mantenere segrete informazioni segrete è come metterle in un grande caveau con una grande porta in una grande banca come te vedere nei film.

Mantenere segrete le informazioni pubbliche è 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 sprecare troppi sforzi per proteggerlo. Come affermato in un'altra risposta, può avere senso mettere in atto garanzie di autenticazione di base. Se solo alcune persone dovessero essere in grado di inviarti messaggi, allora mettere in piedi un sistema in cui solo quelle persone dovrebbero avere accesso alla tua chiave pubblica ha senso, se non altro per ridurre la possibilità che tu riceva fasulli messaggi che dovrai scartare ... dovrai comunque gestire il riconoscimento e l'eliminazione dei messaggi fasulli, ma ridurrai il potenziale di traffico.

nitarshs
2014-03-29 14:59:43 UTC
view on stackexchange narkive permalink

Sì, in teoria, i criptoalogoritmi asimmetrici richiedono che la chiave pubblica sia 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 sistema crittografico RSA, si consiglia generalmente di utilizzare almeno chiavi a 1024 bit. Meno 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 ( http://www.emc.com/emc-plus/rsa-labs/historical/has -the-rsa-algoritmo-stato-compromesso.htm), quindi non me ne preoccuperei a meno che la tua applicazione non sia per scopi di alta sicurezza come banche, militari, ecc.

Dov'è una chiave 1024 fattorizzata. L'ultima volta che ho sentito 768 è stata l'ultima dimensione presa in considerazione. Link per la prova http://eprint.iacr.org/2010/006.pdf
Sì, le mie scuse. Intendevo dire che 1024 chiavi * possono * essere risolte molto presto con i potenti computer in arrivo. http://www.emc.com/emc-plus/rsa-labs/historical/has-the-rsa-algorithm-been-compromised.htm


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...