Firma digitale e man-in-the-middle

1

Durante la lettura di questa pagina sulla crittografia a chiave pubblica-privata, mi sono posto una domanda sul digitale firma:

Alice vuole firmare un messaggio per Bob; lei usa la sua chiave privata per firmare il messaggio. Bob lo riceve e utilizza la chiave pubblica di Alice per generare la firma e controlla che sia uguale a quella che Alice ha allegato al messaggio.

Se sono un pirata, posso intercettare il messaggio di Alice e utilizzare la chiave pubblica di Alice per generare anche la firma, no? Se ho ragione, significa che posso cambiare il messaggio di Alice, usare la chiave pubblica di Alice per generare la nuova firma e inviarla a Bob, invece di quella originale, no?

Ci deve essere qualcosa di sbagliato in questa logica, ma non vedo dove ...

    
posta Nicolas C 07.08.2014 - 17:57
fonte

3 risposte

4

Bob non "genera" la firma con la chiave pubblica di Alice. La firma generazione richiede la chiave privata. Quello che fa Bob è verificare la firma; la verifica richiede solo la chiave pubblica.

In effetti, la chiave pubblica può essere tranquillamente resa pubblica proprio perché conoscere la chiave pubblica non è sufficiente per generare firme.

(Potresti essere stato confuso da alcune spiegazioni su come una firma è "crittografia con la chiave privata". Questa è una spiegazione molto diffusa ma anche imperfetta e confusa, che è meglio ignorare.)

    
risposta data 07.08.2014 - 18:16
fonte
2

C'è un po 'di confusione.

  • Alice crittografa il messaggio con la chiave pubblica di Bob
  • Alice firma il messaggio con la sua chiave privata (solo lei ce l'ha).
  • Bob controlla la firma con la chiave pubblica di Alice.
  • Bob è in grado di decifrare il messaggio con la sua chiave privata (solo lui ha).

In questo modo, sai che Alice ha inviato il messaggio perché solo lei ha la sua chiave privata.

Ora se in qualche modo la chiave privata di Alice è esposta o derivata da Eva. Quindi Eve può ora firmare i messaggi come se fosse Alice, e Bob non conoscerà la differenza.

    
risposta data 07.08.2014 - 18:21
fonte
0

If I'm a pirate, I can intercept Alice message, and use Alice's public key to generate the signature too, no?

Fondamentalmente puoi usare qualsiasi sequenza casuale di bit e inviarli all'algoritmo di crittografia RSA come chiave e ti darà un po 'di output. Per essere significativo, la chiave di crittografia e di decrittografia deve avere la relazione matematica che RSA definisce:

Il pirata può utilizzare la chiave pubblica di Alice per firmare / crittografare un messaggio. Tuttavia, la firma derivata sarà molto diversa da quella generata con la chiave privata.

La verifica di una firma digitale richiede tre passaggi:

  1. Decripta la firma = > produce codice hash
  2. Produce il proprio codice hash del messaggio
  3. Confronta i due hash

Quindi, quando Bob inizia a decifrare ciò che il pirata crittografa con la chiave pubblica, non finirà mai con il codice hash valido del messaggio e l'autenticazione fallisce.

    
risposta data 08.08.2014 - 15:27
fonte

Leggi altre domande sui tag