Русский

Инструменты разработчика · Декодер JWT

Почему кратковременные токены доступа имеют значение: JWT не могут быть отозваны после выпуска

· Почему это важно

JWT аутентификация безопасность

График подписанного токена рядом с решением о внешнем отзыве.
Оригинальная векторная иллюстрация ToolAcre

Автономный токен действителен до истечения срока его действия, что бы ни происходило между ними. В этом посте объясняется проблема отзыва, доступные способы ее устранения и почему exp является наиболее важным требованием, которое вы выдвигаете.

Выход из системы без выхода из системы — токен, который продолжает работать после завершения сеанса.

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

Это не то, что может решить декодер. ToolAcre может отображать значение `exp` и называть его истекшим относительно часов браузера, но у него нет хранилища сеансов, списка запретов или соединения с эмитентом. Поведение отзыва принадлежит архитектуре, которая выдает и использует учетные данные.

Проверка без сохранения состояния и ее цена: отсутствие центрального списка означает отсутствие централизованного аварийного выключателя.

Проверка без сохранения состояния позволяет серверу ресурсов оценивать криптографический материал и утверждения, не запрашивая центральную запись сеанса для каждого запроса. Удаление этого поиска также удаляет естественное переключение для каждого сеанса, если не добавлен другой механизм отслеживания состояния. Сделка носит архитектурный характер, а не собственность, видимая только в JSON.

Токен может содержать `jti`, но идентификатор не имеет эффекта отзыва, пока проверяющий не обратится к доверенному хранилищу или правилу. Аналогично, подпись может оставаться математически действительной после отключения учетной записи. Для принятия приложения требуется действующая политика, а не только доказательство того, что некоторые ключевые исторические байты подписаны.

Срок действия и обновление дизайна могут ограничивать воздействие, но этот репозиторий не определяет стандартного срока службы.

Системы часто сочетают учетные данные ограниченного доступа с отдельным механизмом обновления, но этот репозиторий не определяет универсальный срок службы и не утверждает, что один из них является разумным. Риск, пользовательский опыт, обнаружение и ограничения инфраструктуры различаются, поэтому в этой статье не приводятся рекомендации по сроку службы токена.

Принцип уже: граница срока действия может ограничивать продолжительность использования украденного токена доступа, если верификатор применяет аутентифицированный `exp`. Обработка обновления может затем проконсультироваться с дополнительным состоянием перед выдачей других учетных данных. ToolAcre отображает только утверждения; он не выполняет ни принудительного применения, ни обновления.

Denylists от jti — повторное введение статуса для случаев, требующих немедленного отзыва

Список запретов с ключом `jti` может повторно ввести точку немедленного принятия решения для выбранных токенов. Для этого требуется уникальный идентификатор, надежный путь вставки, доступность хранилища и политика поиска верификатора. Простое декодирование `jti` не показывает уникальность и не доказывает, что хранилище содержит его.

Одно и то же состояние может поддерживать аннулирование всей учетной записи или конкретного сеанса в зависимости от конструкции. Он также восстанавливает рабочие зависимости, которых удалось избежать при проверке без отслеживания состояния. Оценивайте сбой, сохранение и распространение кэша явно, а не представляйте список запретов как свободный переключатель.

Самоанализ и ротация ключей — запросить эмитента или аннулировать все сразу

Интроспекция запрашивает у органа власти текущее состояние токена, превращая принятие в онлайн-решение. Ротация ключей может остановить проверку удаленных ключей, но может сделать недействительными сразу несколько токенов и не является точной заменой отзыва сеанса. Эти механизмы решают различные эксплуатационные задачи.

ToolAcre ничего не знает о своем текущем состоянии. Декодированный эмитент, идентификатор ключа или срок его действия могут помочь найти соответствующие записи, но панель никогда не связывается с эмитентом и никогда не проверяет подпись. Используйте телеметрию авторитетной службы, чтобы узнать, активен ли токен, отозван или отклонен.

Рабочий пример: рассчитать заявленный интервал, не оценивая его целесообразность

Для контролируемого примера вычтите числовое `iat` из `exp`, чтобы вычислить интервал, требуемый полезной нагрузкой. Если `iat` равен 1,717,243,200 и `exp` равен 1,717,246,800, разница составляет 3,600 секунд. ToolAcre также отображает каждое значение как момент ISO.

Арифметика не определяет интервал. Он не может доказать, что какое-либо утверждение было выдано ожидаемой стороной, а репозиторий не предоставляет рекомендуемого срока службы. Сравните аутентифицированные значения с вашей документированной политикой только после проверки, а затем проверьте, как состояние выхода из системы и отзыва влияет на реальные запросы.

Чего это не касается — обновление хранилища и ротации токенов, что является отдельной проблемой проектирования.

Хранение токенов обновления, обнаружение вращения и повтора являются отдельными объектами проектирования. Токен обновления может быть непрозрачным, иметь другую обработку и не должен отправляться на ресурс API только потому, что токен доступа отклонен. Этот декодер специально создан для трехчастного ввода, подобного JWS.

Не вставляйте в него учетные данные обновления. Если токен обновления непрозрачен, декодировать может быть нечего; даже если оно структурировано, раскрытие информации по-прежнему создает риск для учетных данных. Диагностика потоков выдачи с помощью надежных инструментов и журналов поставщика.

Срок действия является одним из рычагов проверки, состояния отзыва и разработки учетных данных.

Срок действия полезен, но не является полной стратегией отзыва и не является вердиктом декодера. Система-потребитель должна аутентифицировать токен, обеспечить соблюдение политики времени и аудитории и проконсультироваться с любым состоянием отзыва, которого требует ее архитектура. Каждый механизм имеет доступность и эксплуатационные последствия.

Используйте ToolAcre только для просмотра значений в безопасном токене. Он может ответить: «Какой интервал требует эта полезная нагрузка?» Он не может ответить «следует ли принять этот запрос сейчас?» или «Эта сессия отозвана?» Эти вопросы относятся к доверенным службам.