Mi sto ponendo la seguente domanda ultimamente: Come sai, che hai installato il pacchetto che hai ordinato con debian / ubuntu con l'uso di APT?
Penso di aver compreso le basi della catena di verifica, ad eccezione del primissimo link.
Quindi quando dico di installare un pacchetto, scarica il file Release
dal repository-mirror specificato in sources.list
. Quel file è firmato dalla chiave segreta maintainer repository . Apt verifica la firma con le chiavi di fiducia locali ( apt-key list
).
Se tutto è a posto, apt utilizza i checksum nel file "Release" per verificare ulteriori file Packages e i relativi checksum per verificare che i file .deb che sto installando non siano stati manomessi.
Quello che non ho in questo momento è come verificare che abbia un buon set di chiavi affidabili per verificare la firma del file "release" (cioè il primo link della catena).
Nel caso comune ricevo le chiavi tramite i pacchetti debian-archive-keyring
o il suo equivalente di ubuntu. Ma dal momento che il mio portachiavi è probabilmente vuoto all'inizio prima di installarlo, non posso verificare questo pacchetto in modo efficace. Ci deve essere un'altra opzione.
-
Per debian, ho trovato questo simpatico collegamento che posso accedere tramite HTTPS che elenca tutti i repository validi - chiavi del custode. Quindi posso usare
apt-key
per verificare le impronte digitali delle mie chiavi locali con quelle del sito web. Sembra buono per me. Ma non riesco a trovare qualcosa di simile per Ubuntu. E questo sembra non essere il metodo "popolare" per verificare il portachiavi.Hanno persino questa frase nella pagina:
Please note that the details here are for information only, you should not rely on them and use other ways to verify them.
-
Tramite la rete della fiducia. Ho letto alcune cose a riguardo, ma ora non lo sono se sono convinto. ad es .: quando cerco la chiave stalla debian attuale su
pgp.mit.edu
vedo che la chiave è firmata da quattro chiavi diverse. Ma non conosco nessuno di loro. Per essere onesti, tre di questi quattro sono pesantemente firmati da molte persone. Ma nemmeno io conosco nessuno di loro.
Non sarebbe meglio se ogni "creatore del repository" (come debian, ubuntu) avesse una pagina https facilmente accessibile e sicura in cui puoi facilmente confrontare la tua chiave locale, invece di scavare attraverso il WOT per cercare, si spera, un link convincente al progetto Debian?
Domanda bonus : esiste la possibilità di "verificare", che un pacchetto è il risultato di un processo di compilazione da un codice sorgente specifico che puoi visualizzare?
Finora penso che il maintainer del repository che firma il file release
"promette" (non conosco una parola migliore) io questo con la sua firma. È corretto?