RustCrypto / meta

Meta-crates of the RustCrypto project
11 stars 6 forks source link

Proposal: "Recommended" badges #10

Open tarcieri opened 3 years ago

tarcieri commented 3 years ago

Edit: this is in-progress. See the following tracking issues:


We have a few open issues about algorithm guidance, such as https://github.com/RustCrypto/password-hashes/issues/48

While we have some precedent for this, such as the "Security" rubric here:

https://github.com/rustcrypto/hashes#supported-algorithms

...we don't have a consistent way of communicating this information across all repos/crates, which I think would be helpful.

I'd like to propose adding a "recommended" badge to each crate which uses the following rubric and links back to documentation (similar to HAZMAT.md) about what the badge means.

Recommended: Yes

Recommended: Yes

Preferred modern algorithms we suggest people embrace in new projects.

Recommended: Neutral

Recommended: Neutral

Algorithms which are still considered secure, but are obscure, uncommonly used, and/or poorly-analyzed.

Recommended: No!

Recommended: No!

Algorithms which are known to be cryptographically broken and should only be used because legacy interop requires it.

newpavlov commented 3 years ago

Sounds good! But I fear our choices could be controversial. For example, should we use the green badge for argon2 (assuming we had it in this organization), even though some argue that it's worse than scrypt on runtimes smaller than ~1s? What about pbkdf2? Compared to modern alternatives it is weaker to ASIC and GPU based attacks, but using the red badge looks like an overkill and it does not fall under the definition of the grey badge as well.

Also I think the danger sign on such small fonts is not distinguishable enough (and it's with 4K display). so it's probably better to remove it.

tarcieri commented 3 years ago

For password hashes, I'd say:

I think hashing out the specific recommendations will need a per-repo issue at least with some discussion.

If specific recommendations wind up being too controversial, we can always change them!

tarcieri commented 3 years ago

Also I think the danger sign on such small fonts is not distinguishable enough (and it's with 4K display). so it's probably better to remove it.

How about just an exclamation point instead:

Recommended: No!

newpavlov commented 3 years ago

Yeah, the exclamation looks good.

tarcieri commented 3 years ago

I opened up tracking issues on some of our repos to begin initial discussion. I've linked them from the toplevel description.