On 10/12/2018 19:18, Stefano Zacchiroli wrote:
On Mon, Dec 10, 2018 at 07:15:06PM +0100, Alberto Cammozzo wrote:
Potrei fidarmi del committer ma non del repository, o di tutti i repository. Pensa ad esempio ai molti repository alternativi di app Android (Play, f-droid, ecc). Non hai bisogno di fidarti del repository (o del canale tra lui ed esso) se hai un checksum su ciò che scarichi ed una signature che certifichi che il checksum corrisponde a quello dichiarato dal maintainer. Perché puoi verificare entrambe le cose dopo il download e notare mismatch.
Molti repository funzionano infatti in questo modo. Che so, puoi scaricare i pacchetti Debian/Ubuntu/etc. via HTTP (anziché via HTTPS) senza rischi di tampering, proprio perché apt-get verifica per te le signature ed i checksum prima di installare i pacchetti in locale.
So come funziona, ma se devi scaricare il cksum dallo stesso repository e questo è compromesso oltre al binario anche il cksum sarà manomesso (e corretto). Il sistema funziona bene comunque nel caso il repository sia trusted, ma se l'utente non può/non vuole fidarsi sarà bene che il checksum stia da un'altra parte (trusted third party). In un repository trusted mi aspetto che chi lo gestisce controlli che i cksum non siano stati alterati -- suppongo Debian lo faccia, e suppongo anche che apt-get non si fidi di http per scaricare i checksum. Non è necessario che Trusted Third Party sia una BlockChain (di cui non sono un fan), ma è uno dei pochi casi in cui può prestarsi: read-only, distribuito, multiple unknown writers, ...