Vary probes while preserving valid message structure
04GREASE tests unknown-value tolerance inside otherwise valid messages. Random choices do not waive TLS syntax or extension rules.
Across chosen example connections, distinct values change while the probe slot stays fixed. Random selection is SHOULD, not MUST, and no exact cadence is mandated.
Source for this drawing: RFC 8701 · Read RFC section 5 ↗
New to this? Start hereA quick picture + helpful background
A seal answers a specific question.
A certificate or signature supports particular checks about a key or message. It does not automatically prove that every claim or sender is trustworthy.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Vary the probe; preserve the protocol.
- Implementations advertising GREASE SHOULD select values at random, so peers learn to ignore all unknown values rather than a fixed blacklist.
- Implementations MUST honor protocol specifications. The same extension type cannot appear twice in one extension block (RFC 8446 section 4.2).
- Implementations SHOULD balance diversity with determinism; changing positions on every connection can make a broken peer fail only probabilistically.
Chosen values and positions here are worked examples, not a random-number generator or mandated ordering. A release can keep positions stable to make failures reproducible while varying values. Repeating a type is different from using two distinct GREASE extension types. No malformed payload is justified by GREASE.
Read the RFC section ↗