La verifica della firma PKI richiede una distribuzione sicura delle chiavi pubbliche?

0

Sto guardando un progetto software dove le chiavi pubbliche GPG dei manutentori si trovano su un sito web usando HTTP . Secondo il Manuale GNU sulla privacy , "La firma è verificata utilizzando la chiave pubblica corrispondente." Quindi, quello che mi chiedo è, un utente malintenzionato può crittografare un carico utile malevolo, utilizzando un attacco MITM sul sito web del progetto e servendo le proprie chiavi pubbliche?

Le chiavi pubbliche utilizzate per la verifica non devono essere trasmesse in modo sicuro?

    
posta nc. 19.03.2016 - 22:30
fonte

2 risposte

1

No. I tasti non devono essere trasmessi in modo sicuro, ma ovviamente è necessario trasmetterli in modo tale che non possano essere sostituiti o manomessi, se si desidera proteggere da qualcuno che distribuisce dati dannosi.

Quindi diciamo che stai ospitando un repository software. Anche se firmi un software con la tua chiave, se un hacker ottiene l'accesso al repository, potrebbe caricare software dannoso E anche sostituire le chiavi di firma "corrette" con le sue chiavi pubbliche, quindi se un utente finale convalida il software, venire fuori come valido. Questo è ciò che l'OP sta chiedendo.

Allo stesso modo, un utente malintenzionato potrebbe sostituire le chiavi durante la trasmissione (attacco MITM), quindi se un utente esegue collegamento il MITM può sostituire la risposta con la propria chiave pubblica.

La semplice firma del software e la pubblicazione della chiave sul sito del fornitore del software sono più mirate alla protezione contro i mirror che vengono violati e iniziano a distribuire dati dannosi. Ecco perché alcuni produttori pubblicano semplicemente l'hash SHA / MD5 del software, quindi il fornitore non ha bisogno di affidarsi completamente alla sicurezza dei mirror di terze parti.

Ecco perché è una buona idea trasmettere le chiavi usando SSL, o avere la chiave firmata da un'origine affidabile (poi diventa un certificato, potrebbe essere una x509 o una PGP) se si vuole anche proteggere contro sostituzione della chiave pubblica dannosa.

Un altro modo per proteggersi da questo è che l'utente finale scarica e salva la chiave durante la prima interazione. Pertanto, se il repository viene successivamente compromesso, l'utente finale avrà una "chiave corretta" salvata, quindi non importa se la chiave successivamente verrà sostituita, durante un attacco MITM o Hack.

    
risposta data 20.03.2016 - 06:12
fonte
1

Sebastian ha dato un'ottima risposta, ma volevo anche sottolineare che il tuo problema delinea esattamente il motivo per cui vuoi creare un Web of Trust ( link ) firmando le altre chiavi PGP e facendole firmare le tue.

    
risposta data 19.04.2016 - 08:11
fonte

Leggi altre domande sui tag