Perché non si dovrebbe usare la stessa chiave asimmetrica per la crittografia come fanno per la firma?

92

In una risposta a un domanda su RSA e PGP, PulpSpy ha notato questo:

It is possible to generate an RSA key pair using GPG (for both encryption and signing -- you should not use the same key for both).

Qual è il ragionamento dietro questo?

Forse la mia comprensione della crittografia a chiave pubblica è difettosa, ma pensavo che le operazioni fossero qualcosa di simile a questo:

  • Quando Bob vuole crittografare un messaggio ad Alice, utilizza la chiave pubblica di Alice per la crittografia. Alice usa quindi la sua chiave privata per decodificare il messaggio.
  • Quando Alice vuole firmare digitalmente un messaggio a Bob, utilizza la sua chiave privata per firmarlo. Bob quindi utilizza la chiave pubblica di Alice per verificare la firma.

Perché è importante utilizzare chiavi diverse per la crittografia e la firma? Questo non significa anche che devi distribuire due chiavi pubbliche a tutti coloro con i quali desideri comunicare? Immagino che questo potrebbe facilmente portare a un po 'di confusione e uso improprio delle chiavi.

    
posta Iszi 21.01.2011 - 21:06
fonte

5 risposte

59

La maggior parte degli approcci e dei tempi di gestione si differenziano per l'utilizzo delle chiavi di firma e crittografia.

Per non ripudiare, non vuoi mai che qualcun altro abbia il controllo sulla tua chiave di firma dal momento che potrebbero impersonarti. Ma il tuo posto di lavoro potrebbe voler affidare la tua chiave di crittografia in modo che altri utenti che hanno bisogno possano accedere alle informazioni che hai crittografato.

Potresti anche volere che una chiave di firma sia valida per un lungo periodo di tempo, in modo che le persone di tutto il mondo possano controllare le firme dal passato, ma con una chiave di crittografia, spesso si desidera eseguire il rollover prima e essere in grado di revocare la vecchia quelli senza tanti problemi.

    
risposta data 21.01.2011 - 21:13
fonte
27

È potenzialmente insicuro utilizzare la stessa coppia di chiavi sia per la firma che per la crittografia. Ciò potrebbe consentire attacchi, a seconda del particolare schema a chiave pubblica che usi. Questo tipo di utilizzo non è quello per cui è stato progettato il sistema, quindi l'utilizzo del sistema in un modo che non è stato progettato "annulla la garanzia".

Non farlo. Sta chiedendo problemi.

    
risposta data 09.03.2011 - 06:35
fonte
11

Ci sono alcuni motivi per cui non dovremmo usare la stessa chiave per la crittografia e la firma.

1- Dobbiamo eseguire il backup della nostra chiave segreta per i dati crittografati, in seguito vogliamo decrittografare alcuni vecchi messaggi crittografati ma non è necessario eseguire il backup della nostra chiave segreta per la firma. Se l'utente malintenzionato trova la chiave, è possibile comunicare a CA e renderla come chiave scaduta e ottenere una nuova chiave segreta per la firma senza necessità di backup.

2- La seconda ragione è più importante . Se usiamo la stessa chiave per la crittografia e la firma, l'hacker può usare questo per decrittografare il nostro messaggio crittografato, questo è quello che dovrebbe fare:

L'attaccante deve scegliere un numero casuale r , dove

r deve avere GDC(N, r) = 1 ,
e N è il numero utilizzato per creare una chiave privata e pubblica ( N = pq )

Quindi l'utente malintenzionato sceglie un nuovo messaggio ( m′ ) e lo invia per la firma al mittente:

m′ = m^e.r^e .... (qui (e,n) è la chiave pubblica)

Quando il mittente segna m′ otteniamo

m′^d ≡ (m^e.r^e)^d ≡ m.r (mod N)

Ora l'attacker deve solo "dividerlo" per r per ottenere m (il messaggio segreto).

    
risposta data 22.01.2011 - 23:51
fonte
6

Motivi per l'utilizzo di chiavi separate per la firma e la crittografia:

  1. Utile nell'organizzazione in cui la chiave di crittografia deve essere supportata o tenuto in deposito per decifrare i dati una volta un dipendente / utente del l'organizzazione non è più disponibile. A differenza della chiave di crittografia il la chiave di firma non deve mai essere utilizzata da nessuno che non sia il dipendente / utente e non deve e non deve essere tenuto in deposito.
  2. Consente tempi di scadenza diversi per la firma di una crittografia chiavi.
  3. Dato che la matematica sottostante è la stessa per la crittografia e firma, solo al contrario, se un attaccante può convincere / ingannare una chiave titolare di firmare un messaggio crittografato non formattato utilizzando la stessa chiave poi l'attaccante ottiene l'originale.

Riferimenti

  1. link

  2. link

  3. link

risposta data 29.05.2014 - 03:25
fonte
4

Per me, i motivi principali sono legati alla gestione delle chiavi, piuttosto che alla sicurezza crittografica di per sé.

Per la crittografia asimmetrica, in particolare il periodo durante il quale si desidera che una chiave pubblica sia valida può dipendere strongmente dall'uso previsto di tale chiave. Ad esempio, si consideri un sistema in cui un componente deve autenticarsi rispetto ad altri componenti. Inoltre, quel componente deve anche creare regolarmente una firma su alcuni dati. In teoria, una singola chiave privata potrebbe essere utilizzata per entrambi gli scopi. Tuttavia, supponiamo che l'autorità di certificazione PKI per ragioni di sicurezza voglia limitare il periodo durante il quale l'autenticazione di successo può avvenire in base a un singolo certificato a due anni. Allo stesso tempo, le leggi sulla conservazione dei dati possono richiedere che i dati siano conservati per cinque anni e che la firma su tali dati sia verificabile durante l'intero periodo. L'unico modo (valido) per risolvere questo problema è di fornire al componente due chiavi private: una per l'autenticazione e una per la firma. Il certificato della prima chiave scadrà dopo due anni, il certificato per la firma scadrà dopo cinque anni.

Restrizioni simili possono essere applicate alla crittografia simmetrica: se si utilizzano chiavi diverse per scopi diversi, è possibile decidere su tutte le domande relative alla gestione delle chiavi (ad esempio, la frequenza del rollover della chiave master, il periodo di backup delle chiavi, ecc. .) basato sui requisiti di un unico scopo. Se utilizzi una singola chiave (master) per più scopi, potresti finire con requisiti in conflitto.

    
risposta data 01.04.2015 - 12:13
fonte

Leggi altre domande sui tag