[arch-general] Package signing for the umpteenth time (was Re: unrealircd 3.2.8.1-2 contains backdoor)

Dimitrios Apostolou jimis at gmx.net
Wed Jun 16 19:08:18 EDT 2010


Hey, what do you think about this way of verifying packages?

On Tue, 15 Jun 2010, Dimitrios Apostolou wrote:
> On another note, an easy but maybe a bit costly way to avoid any MITM 
> tampering to packages, is serve *.md5 files for every package through a 
> trusted HTTPS host. Then everyone can query that single host and check if the 
> package he got from a mirror is safe.
>
> Costs: A little more traffic by serving hash files to everyone plus the cost 
> of the certificate from a CA. Is the income Arch receives from ads and schwag 
> enough for such a simple solution?

Let me explain it a bit more:

Pacman downloads package-1.tar.xz from a random mirror.
It then fetches:

https://sums.archlinux.org/exactly/the/same/path/package-1.tar.xz.sha1

Pacman should then know whether the connection to sums.archlinux.org was 
tampered, since the certificate is signed from a CA in ca-bundle.crt. So 
if the two hashes match, the package is safe (as safe as the archlinux 
server...)

That way any type of file can be verified (packages, db files, PKGBUILDs, 
patches etc) provided that its cryptographic hash is in that HTTPS host. 
Obviously to be able to verify db files, they need a timestamp appended to 
them, e.g. core-YYYYMMDDHHMM.tar.gz. That necessary change is perhaps the 
most difficult part of this proposal.

If too many small files is a problem, maybe the whole db.tar.gz can be 
served (at the cost of a higher bandwidth utilisation).


This solution doesn't use package signing nor a web-of-trust. It simply 
piggybacks on the tried and true HTTPS mechanism. Primary advantage is 
the lack of complexity which makes it easy to understand and implement.


What do you think?
Dimitris



More information about the arch-general mailing list