Ho una domanda su DSA e GPG. Supponiamo che tu stia cercando di verificare che un file scaricato sia "legittimo" (cioè, nessun codice malevolo ed è il file previsto). Userò solo l'immagine ISO 16.04 LTS di Ubuntu come esempio. Seguendo le istruzioni, ho un'idea generale (correggi se ho torto):
- Scarica ISO, il file SHA256 e la firma del file SHA256
- Ottieni la chiave pubblica di Ubuntu dal server delle chiavi
- Verifica che il file SHA256 sia stato firmato utilizzando la chiave privata di Ubuntu con la chiave pubblica utilizzando DSA.
- Calcola l'hash dell'ISO e confronta l'hash con l'hash nel file SHA256.
Ora, forse una domanda stupida, ma non è possibile che un utente malintenzionato ti chieda di scaricare la propria chiave invece di Ubuntu, una ISO dannosa, l'hash dell'IS dannoso e una firma valida dell'hash dell'IS dannoso? Immagino che un modo semplice per difendersi da questo sia semplicemente confrontare le chiavi pubbliche con un gruppo di siti diversi (dato che questa chiave esiste da sempre), ma cosa succede se la chiave pubblica non è così conosciuta. Se il sito è completamente compromesso, mi sento come se l'aggressore potesse indurti a scaricare la chiave sbagliata!