-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFD 136 - Modern Signature Algorithms #28110
Conversation
8ea04f3
to
759b20f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nklaassen I would like to understand the following:
- What would be the new defaults compared to the previous release
- How many new permutations we are adding with this change
- Is this really necessary to add so many new configuration options? For example, instead, can we set new config version V7 that will switch to new defaults?
I would like to get Doynsec's opinion on this before we proceed with implementation as well.
My apologies, this is not clear in the current version of this doc, I will clarify in the doc and include my idea in this reply. Edit: I have added a Summary section near the top of the RFD with a better version of what I originally wrote here
Hmm I'd have to remember my combinatorial math but safe to say A LOT. But users who stick with the
We can change all of the This huge config is really just an "opt-out" mechanism per protocol to lock in a specific algorithm that we won't change from under you. My opinion is that customers with compliance or compatibility requirements that aren't met by our
I will figure out how to get this in front of Doyensec |
* `ECDSA_P256_SHA256` has Go BoringCrypto support | ||
* some environments still require RSA | ||
|
||
#### JWT CA |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The JWT, OIDC and SAML keys kind of terrify me a bit, but I guess that changing the algorithm and rekeying them if one encounters problems with some third party app/service is relatively low-effort.
@mdwn do you know if ECDSA support is widespread enough in the SAML ecosystem that we can default to it?
@nklaassen I would like to reduce the abundance of new options that increases odds of customers to break something or end up with insecure combination. 99% of users should not think and get the most secure up-to-date configuration by default with new version of teleport or upgrade. Users should get only secure configuration options in a batch or not get anything at all. |
@klizhentas Do you have anything in mind for how we should present this configuration? The current definition does have a lot of configuration options but it also provides users with the greatest flexibility. I tried to think of alternatives to how we could present this configuration and the best idea I have is a configuration of "Cipher Suites" that you could then select. This could allow us to version our cipher suites, and make the configuration simpler, but does have some disadvantages:
I understand the concern about the number of configuration options, but I don't have any ideas of how the configuration could be presented in a simpler way that both allows compatibility to be retained while also maintaining the security benefit of updating your algorithms. One possible MVP option would be to start with the simpler configuration "suites" idea, but don't allow combining multiple suites. That would force users in the first bullet to only choose option |
This sounds good to me. I think of it as a "presets" - by default, we give you the most secure suite possible. Then there is a "fedramp" suite, and then the current, "legacy" one. We may add other suites/presets in the future. The suite applies to all points where we encrypt, sign, verify, etc at the same time. IT gives a stronger invariant and guarantee that users haven't misconfigured anything. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just a few minor suggestions to consider
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UX looks good to me. Approved pending security review by Doyensec, please review the proposed cipher suites and algorithms and risks associated with each.
* `legacy` | ||
* `balanced-v1` | ||
* `fips-v1` | ||
* `hsm-v1` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No 'strict - here is my foot' options? 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be nice to have a table with the signature algorithms we're going to use on each preset.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me
46e8788
to
58086ea
Compare
This is an RFD on modernizing the signature algorithms used in Teleport.