Hi, On Wed, 25 Oct 2017 02:40:58 +0000 "Robin H. Johnson" <robb...@gentoo.org> wrote:
> At that point, and this is a serious proposal: > The package manager shall decide which hashes to check, but is > required to check at least one hash. The choice may be 'fastest', > 'most secure', or any local factor. Sorry to contribute again to the bikeshedding, but I'd really like to get one thought across here: Good security includes reducing complexity. Tough (as evident by this thread) it's a thought many people find hard to accept. I don't think this is most important in this discussion, but I feel it's something people should keep in mind also for other decisions to be made. This thread is going into a completely different direction and I find that worriesome. We have two non-problems ("what if secure hash X gets broken?" and "what if it's too slow? I haven't benchmarked, but what if it's too slow??") and people proposing increasingly complex solutions. If you do what you propose my worries aren't that any hash gets broken or that it's too slow. It's that some bug will chime in where in some situation no hash gets checked whatsoever. Having more than one hash is already unneeded complexity. Nobody does that. TLS signatures use one hash. GPG signatures uses one hash. Signal uses one hash. I'm not aware of any credible cryptographic product that feels the need to have multiple hashes concatenated. (The only real example I'm aware of is old TLS versions who chose to concat two insecure hashes - MD5+sha1 - which obviously wasn't the smartest idea either, but one can credibly say they didn't know better back then.) Having a situation where one can either check one hash or multiple and add configurability around that is another step of adding unneeded complexity. Also one more comment about the issue with potentially buggy Hash implementations: I feel this is a software testing problem rather than anything that should influence our package manager format or be tested at runtime. Add a self-test of hash functions with a large batch of test vectors that you can easily run. -- Hanno Böck https://hboeck.de/ mail/jabber: ha...@hboeck.de GPG: FE73757FA60E4E21B937579FA5880072BBB51E42
pgpNTzKQZ2nN3.pgp
Description: OpenPGP digital signature