Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 635344

Summary: [TRACKER] manifest-hashes replacement
Product: Gentoo Council Reporter: Michał Górny <mgorny>
Component: unspecifiedAssignee: Gentoo Council <council>
Status: RESOLVED FIXED    
Severity: normal CC: infra-bugs
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 634812, 634936, 642864, 658274    
Bug Blocks:    

Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-10-24 18:16:56 UTC
Ok, so let's track our preparations for the manifest-hash switch. Not sure about specific dates yet.


I think we want to do:

  manifest-hashes = SHA512 BLAKE2B

for the migration period, then;

  manifest-hashes = BLAKE2B


BLAKE2 is supported by Portage since March. However, only recently I've added pyblake2 fallback for py<3.6 and package (I've focused on SHA3 previously).

Few notes:

1. I'd rather not remove existing hashes before adding BLAKE2B -- rather do both and once, and require devs to use both so that we avoid two-step updates.

2. I think it should be enough to have BLAKE2B for developers -- for users, Portage should ignore the new hash if it doesn't support it and use SHA512 (TODO: verify this).

3. Sometime later, we need to either update required hash const in Portage or finally kill it. AFAIR it only affects Manifest generation, so shouldn't harm users.

4. Then, when we can reliably assume that all our users have working BLAKE2B (1 year from stabilizing relevant Portage version on first arch?) we should remove SHA512.
Comment 1 Ulrich Müller gentoo-dev 2017-10-25 05:12:51 UTC
(In reply to Michał Górny from comment #0)
> Ok, so let's track our preparations for the manifest-hash switch. Not sure
> about specific dates yet.
> 
> 
> I think we want to do:
> 
>   manifest-hashes = SHA512 BLAKE2B

This is fine if the goal is to keep two hashes in Manifest files.

> for the migration period, then;
> 
>   manifest-hashes = BLAKE2B

If we go for one hash only, then why not simply SHA512? It seems that would require the least changes, and it could be deployed immediately. Also SHA512 is still supported more widely.

(Also note that for signing the top-level metamanifest, it has to be hashed by one of gnupg's internal hashes. Currently gnupg supports sha512 but not blake2, so when using blake2 in the tree we would have to rely on _both_ hashes being secure.)
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2018-02-11 18:56:10 UTC
The Council has decided that there's nothing more to be really tracked by the Council here. The switch has succeeded, and the hash replacement is tracked in the other bug.