Precies, en om dan maar een voorbeeld te geven:
Stel ik wil Mint downloaden van NLUUG:
Je gaat uiteindelijk downloaden via een link als
http://ftp.nluug.nl/os/Linux/distr/linuxmint/iso/stable/16/
Klik je door via de website dan krijg je die md5sum.txt en sha265sum.txt niet zo gauw te zien. Dat is niet zo netjes.
Nu heb je nog steeds een probleem als je de ISO controleert met de md5sum.txt en sha256sum.txt die je van dezelfde bron hebt gedownload, want die files zijn niet gesigned. Ook niet zo netjes.
Vergelijk met Debian:
http://cdimage.debian.org/debian-cd/7.4.0/amd64/iso-cd/
Hier staan md5, sha1, sha256 en sha512 checksums bij, maar ook nog eens de PGP signatures van die checksum files. En die PGP signatures kun je weer checken met andere bronnen:
$ wget -q http://cdimage.debian.org/debian-cd/7.4.0/amd64/iso-cd/debian-7.4.0-amd64-netinst.iso
$ wget -q http://cdimage.debian.org/debian-cd/7.4.0/amd64/iso-cd/SHA512SUMS
$ wget -q http://cdimage.debian.org/debian-cd/7.4.0/amd64/iso-cd/SHA512SUMS.sign
Let op: je hebt nu natuurlijk gewoon via HTTP gedownload, er kan makkelijk een malafide proxy server tussen zitten, stel dat je ergens op een niet-vertrouwd netwerk zit. Eerst moet dus de integriteit vvan de checksum file worden gecontroleerd:
$ gpg --verify SHA512SUMS.sign
gpg: Signature made Sun 09 Feb 2014 07:31:31 PM CET using RSA key ID 6294BE9B
gpg: Can't check signature: public key not found
Dit zat er natuurlijk dik in, want ik had de CD signing key nog niet in mijn keyring. Als je die wel hebt, zie je het volgende:
$ gpg --verify SHA512SUMS.sign
gpg: Signature made Sun 09 Feb 2014 07:31:31 PM CET using RSA key ID 6294BE9B
gpg: Good signature from "Debian CD signing key <debian-cd@lists.debian.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B
Je krijgt nog steeds waarschuwingen want ik heb geen directe of indirecte relatie tussen mijn eigen PGP key en de CD signing key. Je zult je nu wel afvragen hoe ik uberhaupt aan die CD signing key kwam, maar dat laat ik als oefening over aan de lezer. Verdiep je in een klein beetje in PGP anders ben je niet goed in staat te begrijpen waar vertrouwen begint en ophoudt.
De tweede stap is de checksum van de ISO checken, wel even beseffen dat je de checksum ook via een niet-vertrouwde methode hebt verkregen.
$ sha512sum -c SHA512SUMS
Dit geeft een shitload aan output, maar het gaat alleen om de volgende regel:
debian-7.4.0-amd64-netinst.iso: OK
Nu heb je als het goed is voldoende zekerheid dat je een betrouwbare installer hebt gedownloadt. Zelfs al is de bron (NLUUG) misschien betrouwbaar, je kunt nog steeds slachtoffer worden van een MITM aanval.