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

Addressing erratum #1357

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Addressing erratum #1357

wants to merge 6 commits into from

Conversation

BenSmyth
Copy link
Contributor

No description provided.

@ekr
Copy link
Contributor

ekr commented Jun 10, 2024

For future reference, individual PRs would have been more helpful here :)

@@ -1560,7 +1560,7 @@ Random set to the special value of the SHA-256 of
C2 A2 11 16 7A BB 8C 5E 07 9E 09 E2 C8 A8 33 9C

Upon receiving a message with type server_hello, implementations
MUST first examine the Random value and, if it matches
MUST examine the Random value and, if it matches
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't believe this, and by extension Erratum 6152, is correct. The order of operations is:

  1. Look at SH.Random to determine if it's actually an HRR
  2. If it is a HRR, then follow the HRR processing steps described in 4.1.4.
  3. If it a SH, then follow the SH processing steps described in 4.2.1.

Comment on lines +3382 to +3383
At any time after the server has received both a "psk_key_exchange_modes" extension
and the client Finished message,
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
At any time after the server has received both a "psk_key_exchange_modes" extension
and the client Finished message,
If the client's hello contained a suitable "psk_key_exchange_modes" extension, at any time after the server has received the client Finished message,

@@ -4083,8 +4083,10 @@ has been received.

Each party MUST send a "close_notify" alert before closing its write side
of the connection, unless it has already sent some error alert. This
does not have any effect on its read side of the connection. Note that this is
a change from versions of TLS prior to TLS 1.3 in which implementations were
SHOULD NOT have any effect on the read side of the sender's connection;
Copy link
Contributor

Choose a reason for hiding this comment

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

This was discussed on the list with no clear resolution. I don't think the normative text Ben proposes is correct here, as it does not properly distinguish between the application and what it knows and the TLS stack (for instance, there might be an application-level "no-more-data" signal). Here is the text change I proposed in the thread:

"Application protocols MAY choose to flush their send buffers and immediately send a close_notify upon receiving a close_notify, but this allows an attacker to influence the data that the peer receives by delaying the close_notify or by delaying the transport level delivery of the application's packets. These issues can be addressed at the application layer, for instance by ignoring packets received after transmitting the close_notify" .

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

2 participants