Skip to content
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

Adjust cipher and signature algorithm preference list for hardware #218

Closed
markafoltz opened this issue Sep 11, 2019 · 4 comments · Fixed by #297
Closed

Adjust cipher and signature algorithm preference list for hardware #218

markafoltz opened this issue Sep 11, 2019 · 4 comments · Fixed by #297
Labels
security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. v1-spec

Comments

@markafoltz
Copy link
Contributor

markafoltz commented Sep 11, 2019

We added a list of recommended ciphers and signature algorithms for TLS 1.3 from PR #206. But we should find a benchmark referencing the hardware requirements to prioritize the list and determine the mandatory ciphers/algorithms.

@markafoltz markafoltz added security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. v1-spec labels Sep 11, 2019
@markafoltz
Copy link
Contributor Author

From https://www.w3.org/2019/09/15-webscreens-minutes.html#x06:

ACTION: mfoltzgoogle to fill in benchmark for ciphers.

ACTION: mfoltzgoogle to fill in benchmark for signature algorithms. Also check for signature and verification. ECDSA is usually faster for signature, but slower to verify.

@markafoltz
Copy link
Contributor Author

For ciphers, there is basically nothing to do here. The required ciphers for TLS 1.3 cover both newer and older hardware:

  • For anything with ARMv8 and newer (i.e. anything since ~2016, basically) hardware accelerated AES is going to be best. TLS 1.3 makes AES-128 and AES-256 mandatory to implement.
  • For anything older ChaCha20 is going to be faster and is also mandatory to implement for TLS 1.3.

https://www.rfc-editor.org/rfc/rfc8446.html#page-102

For key signing and signature verification in TLS, there are some tradeoffs between the mandatory to implement algorithms (which include ecdsa_secp256r1_sha256). However signing and verification happen less often than use of the ciphers; only when creating new certificates, or executing a TLS handshake.

Since we are already requiring ECDSA for the agent certificate, it would make sense to just say the certificate's signing algorithm must be ecdsa_secp256r1_sha256 which would be compatible with every TLS implementation.

@markafoltz
Copy link
Contributor Author

Point of reference: Comparison of TLS implementations

@markafoltz
Copy link
Contributor Author

This will be addressed when PR #297 lands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. v1-spec
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant