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

Receiver's behavior on key update #2791

Closed
Closed
14 changes: 6 additions & 8 deletions draft-ietf-quic-tls.md
Original file line number Diff line number Diff line change
Expand Up @@ -1165,14 +1165,12 @@ another key update can be initiated.
Endpoints MAY limit the number of keys they retain to two sets for removing
packet protection.

An endpoint installs the new keys, possibly replacing the old keys, when it
unprotects the header protection of a received packet and detects that the
packet uses a new key phase. The detection can be done by tracking the lowest
packet number among the packets received with the currently active key phase.
If a packet is received that has a different KEY_PHASE bit and a lower packet
number than this value, the endpoint uses the old keys for unprotecting the
packet, if these keys are still available. If the packet has a higher packet
number, the endpoint installs the updated keys.
An endpoint can detect which keys to use by tracking the lowest packet number
among the packets received with the currently active key phase. If a packet is
received that has a different KEY_PHASE bit and a lower packet number than this
value, the endpoint uses the old keys for unprotecting the packet, if these keys
are still available. If the packet has a higher packet number, the endpoint
installs the updated keys.

Updating keys multiple times rapidly can cause packets to be effectively lost if
packets are significantly reordered. Therefore, an endpoint SHOULD NOT initiate
Expand Down