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

TLS initial salt is arbitrary #4325

Closed
thysce opened this issue Nov 3, 2020 · 4 comments
Closed

TLS initial salt is arbitrary #4325

thysce opened this issue Nov 3, 2020 · 4 comments
Labels
-tls ietf-lc An issue that was raised during IETF Last Call. proposal-ready An issue which has a proposal that is believed to be ready for a consensus call.

Comments

@thysce
Copy link

thysce commented Nov 3, 2020

Reading through section 5.2 of QUIC TLS I wondered why the salt is chosen to be that very value of 0xafbfec289993d24c9e9786f19c6111e04390a899? From a security standpoint, putting random numbers in a document without specifying why they have that value seams a bit concerning to me.

Also I couldn't find an explanations for changing that number in previous draft versions. It would be helpful to put a reason for the choice of the salt in the section and/or describe the process of choosing as an appendix for instance.

Maybe it's just me not finding the explanation so please point me to it in that case.

@marten-seemann
Copy link
Contributor

Can you elaborate your security concerns?
This value is not expected to provide any end-to-end security properties to the protocol, it is only used to:

  1. provide an easy way to detect packet corruption (as it feeds into an AEAD)
  2. prevent version-unaware middleboxes from parsing a packet

@larseggert larseggert added -tls ietf-lc An issue that was raised during IETF Last Call. labels Nov 3, 2020
@larseggert larseggert added this to Triage in Late Stage Processing via automation Nov 3, 2020
@thysce
Copy link
Author

thysce commented Nov 3, 2020

I do not have any real concerns, but am am no security expert too. I just stumbled across that number and wondered why it was that oddly specific. Maybe something like 0x314159... (First digits of pi) or 0xf0e1d2c3b4... (asc./desc. Digits) would have made it more clear that there is no meaning to that number at all.
On reading a number that is that arbitrary, I would have expected it to carry some meaning. To clarify this, it might be a good idea to explicitly state that this number was chosen at random.

@MikeBishop
Copy link
Contributor

The intent is obfuscation against middleboxes which don't support the current version of QUIC. Perhaps the clearest way to communicate that intent is to state that future versions of QUIC SHOULD select a different random salt?

@martinthomson
Copy link
Member

@MikeBishop we already say that.

The provenance of the value is not security-relevant. It could be an all zero value and essentially be as good. Note that the same applies to the keys used to authenticate Retry packets.

I don't plan to do anything in response to this issue.

@martinthomson martinthomson added the proposal-ready An issue which has a proposal that is believed to be ready for a consensus call. label Nov 4, 2020
@project-bot project-bot bot moved this from Triage to Consensus Emerging in Late Stage Processing Nov 4, 2020
@thysce thysce closed this as completed Nov 5, 2020
Late Stage Processing automation moved this from Consensus Emerging to Issue Handled Nov 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-tls ietf-lc An issue that was raised during IETF Last Call. proposal-ready An issue which has a proposal that is believed to be ready for a consensus call.
Projects
Late Stage Processing
  
Issue Handled
Development

No branches or pull requests

5 participants