Skip to content
This repository has been archived by the owner on Jun 3, 2020. It is now read-only.

Release v0.6.0 #309

Closed
tarcieri opened this issue Jul 25, 2019 · 3 comments
Closed

Release v0.6.0 #309

tarcieri opened this issue Jul 25, 2019 · 3 comments

Comments

@tarcieri
Copy link
Contributor

tarcieri commented Jul 25, 2019

Tendermint KMS v0.6.0-rc1 is feature-complete and we are presently running it in production at @iqlusioninc.

Here are some items to consider before a final release:

(Re-)Review Security-Critical Changes

It would be good to get another set of eyes on PRs tagged with security. There are two PRs that are particularly noteworthy:

I also switched to using the hkd32 crate for deriving the key hierarchy from the 24-word mnemonic, which uses the same derivation algorithm (which is a named subset extracted from BIP32) which was validated through the use of test vectors.

README.md updates

Much of the copy in the README.md is out-of-date now, and I think it'd be good to get it updated on the release so it appears on https://crates.io/crates/tmkms as well.

Here are some things I'd suggest updating and/or adding:

Tendermint KMS is currently ALPHA SOFTWARE AND UNAUDITED -- USE AT YOUR OWN RISK

The KMS underwent an audit with one low-severity finding (mentioned above). I think it'd be good to note that, and ideally publish the audit (or the parts of the audit specific to the KMS) and link them from the README.md.

Additionally, I think the KMS is "beta quality" at this point (especially given the large number of usability and feature improvements in this release), but will defer to others to make that call.

Security Issues

All of the security issues presently listed in the README have been addressed and the associated GitHub issues closed (#111, #142). I think this entire section can be removed.

Supported Platforms

This presently lists several 32-bit platforms, which we don't presently test on. Some of these platforms are known to have timing variabilities in core operations which make them unsuitable for cryptographic use (e.g. PPC32 short-circuits multiplication by 0 and 1). I think it'd be good to remove all of the 32-bit platforms (my fault for listing them in the first place), or at the very least remove PPC32.

Add Signing Provider List (w\ Recommendations)

Nowhere in the README.md is there presently a list of the available signing backends, nor is there any guidance anywhere around which ones to use.

I think it'd be good to add a list of the signing backends, in order of their relative maturity (i.e. YubiHSM2, Ledger, Soft Sign), and note that YubiHSM2 or Ledger are "recommended", as well as linking to the respective documentation for YubiHSM2 and Ledger (there is presently no specific documentation for the Soft Sign backend).

tarcieri pushed a commit that referenced this issue Jul 29, 2019
See #309 for the rationale on these changes.
@jessysaurusrex
Copy link

LGTM, and I could not be happier to see the update to the readme.

tarcieri added a commit that referenced this issue Jul 30, 2019
Update README.md with recommended changes from #309
@tarcieri
Copy link
Contributor Author

Release PR open: #329

@tarcieri
Copy link
Contributor Author

v0.6.0 has been released

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants