RSA Signature - Why can not Eve Alter The Public Key

3

Comprendo la procedura alla base delle firme RSA, in modo che Eva non possa creare firme su alcun messaggio, ma la mia domanda è cosa impedisce a Eve di sostituire tutto con il proprio.

Ad esempio,

  1. Bob invia la chiave pubblica e la firma sulla chiave pubblica ad Alice
  2. Alice riceve la chiave pubblica e verifica
  3. Che cosa sta impedendo a Eve di sostituire la chiave pubblica con la propria e quindi di creare una firma su questo?

La chiave pubblica è memorizzata da qualche parte che Eva non può modificare?

La mia ipotesi è che Eva fornisca anche due certificati, ma è impossibile per Eve generare una firma in cui può essere verificata utilizzando la chiave pubblica nel trust store di Chrome.

    
posta walruseng 10.12.2016 - 18:50
fonte

3 risposte

3

La chiave pubblica deve essere verificata con un meccanismo alternativo per garantire che sia corretta.

Per gpg che è la rete di fiducia - link

Per https che sono le autorità di certificazione integrate nel tuo sistema operativo / browser.

    
risposta data 10.12.2016 - 19:55
fonte
4

Il problema che descrivi è come Alice sa che la chiave pubblica utilizzata per la firma appartiene effettivamente a Bob. Come hai capito correttamente, non funziona se Alice riceve la chiave pubblica solo insieme al messaggio firmato e non ha modo di verificare che la chiave appartenga a Bob, perché in questo caso Eve potrebbe semplicemente sostituire sia la chiave che la firma con la propria.

Un modo per affrontare il problema è quello di assicurarsi che Alice ottenga la chiave pubblica di Bob in modo affidabile, ad esempio durante alcuni incontri personali. Questo di solito è possibile solo in alcuni casi, quindi invece di avere questa fiducia diretta si può usare un trust derivato, cioè Carl ottiene la chiave da Bob, Alice ottiene la chiave da Carl e Alice si fida di Carl che questa è davvero la chiave di Bob. È possibile implementare tali relazioni di trust con le firme per ottenere una rete di fiducia più scalabile con più parti. Questa è la base per il Web of Trust usato da PGP ma anche per il più centralizzato Public Key Infrastructure utilizzato per S / MIME e anche per HTTPS.

Utilizzando tali reti di fiducia è anche possibile inviare la chiave pubblica insieme al messaggio fintanto che la chiave pubblica è firmata da una parte fidata. Ad esempio, Bob potrebbe chiedere a Carl di firmare la chiave di Bobs utilizzando la chiave Carls e quindi inviare un messaggio ad Alice firmato con questa chiave firmata. Se Alice si fida di Carl, cioè ha una chiave pubblica di Carl, allora Alice non solo può verificare che il messaggio sia stato effettivamente firmato dalla chiave di Bob, ma anche che questa chiave appartenga effettivamente a Bob perché può verificare la firma di Carls.

    
risposta data 10.12.2016 - 20:02
fonte
0

Una firma è (detto semplicemente) nient'altro che l'hash del messaggio, crittografato con la chiave privata del mittente. Quando Alice sostituisce la chiave pubblica, l'hash viene modificato e la firma di Bob non viene convalidata.

    
risposta data 10.12.2016 - 19:04
fonte

Leggi altre domande sui tag