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

Clarify that DTLS uses the DTLS HKDF-Expand-Label #641

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

davidben
Copy link
Collaborator

@davidben davidben commented Dec 2, 2024

(I made this into a separate PR from #640 just because I realized the ambiguity later and it seemed rude to change #640 after folks have already looked at it.)

We've made a mess of things and now every extension that cites HKDF-Expand-Label needs to clarify this. This seems like a mistake.

Worse, if a future TLS 1.4 change the "tls13" prefix to "tls14", every extension will now become ambiguous! I've left that alone in this document, but we may need to contend with this later.

In hindsight, we should have excluded the implicit "tls13 " prefix from the HKDF-Expand-Label function. Instead, the version-dependent labels could have been incorporated into individual labels as needed. (In particular, I don't think this label actually needed to be version-dependent.)

Instead we seem to have implicitly decided that HKDF-Expand-Label is part of the "interface" that TLS exposes to its extensions, without remembering to say so clearly.

Anyway, this PR does the minimal thing to paper over this mess.

We've made a mess of things and now every extension that cites
HKDF-Expand-Label needs to clarify this. This seems like a mistake.

Worse, if a future TLS 1.4 change the "tls13" prefix to "tls14", every
extension will now become ambiguous! I've left that alone in this
document, but we may need to contend with this later.

In hindsight, we should have excluded the implicit "tls13 " prefix
from the HKDF-Expand-Label function. Instead, the version-dependent
labels could have been incorporated into individual labels as needed.
(In particular, I don't think this label actually needed to be
version-dependent.)

Instead we seem to have implicitly decided that HKDF-Expand-Label is
part of the "interface" that TLS exposes to its extensions, without
remembering to say so clearly.

Anyway, this PR does the minimal thing to paper over this mess.
@martinthomson
Copy link
Contributor

@ekr,

we seem to have implicitly decided that HKDF-Expand-Label is part of the "interface" that TLS exposes to its extensions

@davidben is completely right here. That's something we've more or less assumed about TLS in QUIC. RFC 8446bis seems to be open still. Is this feasibly something we could fix there? (It's in AD evaluation, which is hardly so far gone as to make this sort of thing impossible.)

@ekr
Copy link
Collaborator

ekr commented Dec 6, 2024

Yes, I think we could make this change as long as @paulwouters is OK with that.

@paulwouters
Copy link

It's fine with me, but please send a message to the TLS list with the change and reasoning quoted from this PR as an audit log to the IETF process.

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

Successfully merging this pull request may close these issues.

4 participants