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 old keys should always be dropped #2191

Merged
merged 4 commits into from
Dec 18, 2018
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions draft-ietf-quic-tls.md
Original file line number Diff line number Diff line change
Expand Up @@ -1109,11 +1109,11 @@ a reciprocal update. An endpoint MUST treat consecutive key updates as a fatal
error and abort the connection.

An endpoint SHOULD retain old keys for a period of no more than three times the
Retransmitions Timeout (RTO, see {{QUIC-RECOVERY}}). After this period, old
keys and their corresponding secrets SHOULD be discarded. Retaining keys allow
endpoints to process packets that were sent with old keys and delayed in the
network. Packets with higher packet numbers always use the updated keys and
MUST NOT be decrypted with old keys.
Probe Timeout (PTO, see {{QUIC-RECOVERY}}). After this period, old keys and
their corresponding secrets SHOULD be discarded. Retaining keys allow endpoints
to process packets that were sent with old keys and delayed in the network.
Packets with higher packet numbers always use the updated keys and MUST NOT be
decrypted with old keys.

This ensures that once the handshake is complete, packets with the same
KEY_PHASE will have the same packet protection keys, unless there are multiple
Expand Down