Perché posso firmare ma non crittografare?

6

-edit- Dopo aver seguito una catena di collegamenti da questa domanda, vedo che questo è simile / duplicato di Perché non si dovrebbe usare la stessa chiave asimmetrica per la crittografia come fanno per la firma? ma questa domanda è chiedendo se ci sia un motivo tecnico per cui non dovremmo farlo e il collegamento è meno tecnico e non esclusivo per rsa

Potrei avere la comprensione sbagliata. GPG ti consente di generare una chiave RSA che è solo un segno. Dalla mia comprensione una chiave RSA è una coppia pubblica e una chiave. La firma funziona eseguendo l'hashing del messaggio e crittografandolo con la chiave privata, mentre altri lo decifrano utilizzando la chiave pubblica. Dalla mia comprensione se l'hash corrisponde a ciò che è decrittografato rispetto al messaggio è firmato.

In che modo GPG genera una chiave e la firma ma non mi consente di crittografare i messaggi? Credo in un'altra app che suggeriva di avere una chiave per la firma e una chiave per la crittografia, ma non c'era alcun motivo per cui. Non sarebbe confuso perché un messaggio cifrato e un testo chiaro firmato utilizzerebbero chiavi diverse e sembrerebbero essere di un altro utente?

    
posta Community 07.07.2015 - 20:16
fonte

2 risposte

4

Perché le app ti incoraggiano a utilizzare coppie di chiavi separate per la crittografia e per la firma?

Hai ragione sul fatto che non ci sono motivi tecnici per cui non puoi utilizzare una coppia di chiavi RSA sia per la crittografia / decodifica che per la firma / verifica. Ma solo perché la tecnologia lo consentirà, non significa che sia una buona idea. Il motivo per cui ha a che fare con i backup e cosa succede se perdi la tua chiave privata (o ti viene rubata). Penso che il modo migliore per spiegarlo sia quello di analizzare alcuni casi di esempio.

Per quanto segue, diciamo che un 1-keypair user è qualcuno che usa la stessa coppia di chiavi per le operazioni di crittografia e firma, mentre un 2-keypair user è qualcuno che ha due keypairs separati collegati al loro profilo.

Per questi esempi, diciamo anche che hai un sacco di file importanti sul tuo disco rigido che hai crittografato per te stesso, e anche un sacco di documenti che hai firmato e inviato ad altre persone.

Caso n. 1: 1-keypair utente, tu perdi / cancella la tua chiave privata

Non puoi più decodificare i file sul tuo disco rigido. Tutte quelle cose che erano abbastanza importanti da crittografare? Se ne sono andati, non li riavrai mai. Può sembrare sciocco, ma le persone perdono le loro chiavi tutto il tempo quando perdono il telefono / laptop muore / dimenticano la password principale, ecc. Con GPG non c'è modo di recuperarlo.

Per quanto riguarda le firme, nessun problema, i documenti che hai già firmato continueranno a essere verificati correttamente perché la chiave pubblica accoppiata è ancora valida e per i nuovi documenti puoi semplicemente creare una nuova chiave di firma.

Potresti pensare "Va bene, allora eseguirò il backup della mia chiave privata su Dropbox o qualcosa del genere", considera bene il caso n. 2

Caso 2: 1-keypair user, la tua chiave privata viene rubata da un hacker

Quando metti i tuoi dati su cloud storage, stai permettendo agli amministratori di quel server di accedervi. Quindi qualche altra persona (chi non sei tu) ora ha accesso alla tua chiave privata - almeno in teoria. E allora? Beh, se hanno mai avuto il tuo laptop, possono decifrare quei file importanti. Inoltre, e ancora più importante, ora possono firmare i documenti nel tuo nome.

Questo potrebbe non essere un grosso problema per te, ma dal momento che le firme digitali sono legalmente vincolanti in alcuni punti, è un enorme affare per politici e avvocati che non vogliono che gli hacker cantino contratti legali per loro per conto. In diritto esiste un concetto di non ripudio che significa che se un documento reca la tua firma, allora sappiamo che tu sei la persona che l'ha firmata. Non appena più di una persona ha accesso alla tua chiave privata (anche in teoria), non puoi più reclamare la non-ripudio, il che significa, nel peggiore dei casi, che qualsiasi contratto che tu abbia mai firmato con quella chiave diventa nullo.

Questi due casi mostrano che:

  1. Si desidera eseguire il backup della chiave privata di decrittografia in modo che non vi siano rischi di perdita dei dati. In effetti, molte aziende e organizzazioni governative richiedono ai propri dipendenti di eseguire il backup delle chiavi di decifrazione su un server centrale.

  2. Mai e poi mai MAI MAI vuoi eseguire il backup di una chiave di firma. Mai.

La soluzione

Per 1-keypair users devi scegliere tra proteggere i tuoi dati e proteggere la tua non-ripudio. Nel frattempo, 2-keypair users non ha questo problema e poiché non c'è davvero alcun svantaggio nell'avere una seconda coppia di chiavi nel tuo profilo, non c'è motivo per cui qualcuno dovrebbe mai essere un 1-keypair user .

    
risposta data 08.07.2015 - 00:10
fonte
7

Non utilizzare la "spiegazione" delle firme come "crittografia con la chiave privata" perché è un'analogia imperfetta che in realtà non funziona.

RSA è in realtà due algoritmi, uno per la crittografia asimmetrica e uno per le firme. Accade quindi che i due algoritmi abbiano alcuni elementi matematici comuni e, in particolare, utilizzino lo stesso tipo di chiave (motivo per cui la chiamiamo "chiave RSA", non una "chiave di crittografia RSA" o "chiave di firma RSA" ). Pertanto, è ipotizzabile che una data coppia di chiavi RSA possa essere utilizzata sia per la crittografia sia per le firme.

Tuttavia, ci sono buono ragioni perché desideri mantenere separati i codici di crittografia e firma. Il formato OpenPGP riconosce che, e quindi le chiavi "tag" con l'indicazione del loro uso previsto. Pertanto, la chiave RSA di sola firma è una chiave RSA che OpenPGP ha taggato con un'etichetta che dice principalmente "per favore non usare quella chiave per la crittografia".

    
risposta data 07.07.2015 - 20:24
fonte

Leggi altre domande sui tag