Кратко

  • NEW_TOKEN — выданное сервером подтверждение для проверки адреса в последующем QUIC-соединении; Retry используется немедленно.
  • Успешная проверка даёт ограниченное свидетельство о исходном адресе по политике сервера, но не удостоверяет вернувшегося клиента.
  • Проверку токена, аутентификацию рукопожатия, прикладную идентичность, авторизацию и результат нужно хранить раздельно.

Операционная панель видит Initial с токеном и помечает его как «вернувшегося клиента». Причина понятна: NEW_TOKEN способен убрать дополнительный обмен для проверки адреса. Но такая метка шире протокольного доказательства. Корректный вопрос звучит так: может ли сервер принять токен как ограниченное свидетельство связи исходного адреса с соединением, в котором токен был выдан?

Во время одного соединения сервер может отправить непрозрачные байты в кадре NEW_TOKEN. Клиент помещает их в Initial-пакеты последующего соединения. Это средство для будущего соединения. Retry устроен иначе: его используют сразу в текущей попытке, и переносить его в следующие соединения нельзя. NEW_TOKEN может сохранять пригодность после некоторого времени, но только в пределах срока действия и области применимости.

Формат токена и правила проверки задаёт сервер. Он должен уметь проверить целостность, полномочия сервера-издателя, область версии QUIC, истечение срока и изменение исходного IP-адреса. RFC 9000 не устанавливает универсальный срок действия, норму повторного использования или оценку доверия. В токене может быть время выпуска либо данные для вывода времени окончания. Клиенту обычно следует выбирать применимый неиспользованный токен и не применять его повторно в разных попытках соединения.

Доказательство остаётся ограниченным. За NAT один адрес могут использовать разные устройства; адрес может быть переназначен; устройство может перейти в другую сеть. Токен позволяет серверу связать соединение выпуска с последующим использованием, а повторное применение повышает связываемость для наблюдателей на пути. Клиент, желающий разорвать непрерывность, может удалить NEW_TOKEN. Кроме того, токен проверки адреса не встроен в криптографическое рукопожатие. Его принятие не аутентифицирует другую сторону, не доказывает непрерывность аккаунта, идентичность устройства, авторизацию или успех запроса.

При изменении адреса сервер обязан соблюдать ограничение против усиления, даже если токен повлиял на решение не отправлять Retry. Действительный токен не отменяет транспортные ограничения. Недействительный токен обычно означает, что клиент нужно считать непроверенным; сервер может отправить Retry. Не следует превращать недействительность в вывод о личности или автоматически разрывать соединение. Целостность должна защищать от угадывания, изменения и подделки, а воспроизведение нужно предотвращать или ограничивать.

NEW_TOKEN должен действовать дольше Retry, но не должен приниматься многократно; по возможности рекомендуется одноразовое использование.

DNS over QUIC наглядно показывает границу приватности. Токен, связанный с IP, может исключить дополнительный обмен, но незаметная смена адреса создаёт связываемость. Возобновление сессии смягчает проблему, но не устраняет её. Операционный вывод прост: использовать транспортную выгоду, не превращая её в постоянный идентификатор клиента.

В журнале доказательств нужно отдельно хранить издателя и полномочия сервера, тип токена, время выпуска и окончания, версию QUIC, идентификатор или безопасный для приватности дайджест, совпадение исходного IP, решение о первом применении или повторе, результат проверки, состояние ограничения усиления, решение Retry, результат аутентификации рукопожатия, идентичность аккаунта или устройства, авторизацию, результат запроса или транзакции и политику хранения. Дайджесты и ограничение хранения — операционные рекомендации, а не требования QUIC.

Нужно также сохранить пять разграничений. Целостность Retry относится к немедленно используемому пакету; правило трёх раз — к лимиту отправки до проверки; Connection ID — к маршрутизации; 0-RTT — к воспроизводимым данным и фиксации операции; DNS Cookie — к обратному пути другого протокола. Эти признаки не расширяют смысл NEW_TOKEN.