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

Forbid the sender from sending duplicate supported groups entries. #1354

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

Conversation

bob-beck
Copy link

Supported Groups is intimately tied to Key Share, where Key Share must be sent in the preference order specified by Supported Groups.

Duplicate Key Shares for a group are already forbidden from being sent, but allowing duplicates in Supported Groups makes this a bit muddled if supported groups is permitted to be, for example, ABA and the client sends key share B then A.

Now, nothing sane should actually be sending duplicate supported groups in a preference order, but it's still not forbidden to do so today. I'm suggesting we just not allow this so server side implementations can reject attempts to do so.

@ekr
Copy link
Contributor

ekr commented Apr 11, 2024

This seems reasonable, but it's a normative change, so the chairs need to tell us how to proceed.

@seanturner @jsalowey @dconnolly

@@ -2245,7 +2245,8 @@ Finite Field Groups (DHE):
{:br }

Items in "named_group_list" are ordered according to the sender's
preferences (most preferred choice first).
preferences (most preferred choice first). The "named_group_list"
MUST NOT contain any duplicate entries.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When you specify a requirement on the sender, it always helps to specify how the receiver might react if the sender misbehaves. In this case, I think it best to only allow the receiver to reject the handshake, rather than require it. After all, I believe that some implementations are tolerant of that.

Suggested change
MUST NOT contain any duplicate entries.
MUST NOT contain any duplicate entries. A sender MAY abort a connection
with a fatal illegal_parameter alert if it detects a duplicate entry.

(I'm guessing the alert type here.)

More generally, do we want to do this sort of thing with all such lists, not just groups? key exchange mode? certificate type? etc...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, probably "MAY abort a connection with an illegal_parameter Alert"

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.

None yet

4 participants