Перейти к содержимому
ecdsa.com

alg none (незащищённый JWS)

Значение алгоритма JWS none (RFC 7518, § 3.6), которое обозначает неподписанный токен с пустой частью подписи; проверяющая сторона никогда не должна принимать такой токен, если явно не ожидает незащищённого содержимого.
Другие написанияalg nonenone algorithmunsecured JWTunsigned JWT

Токен с заголовком "alg": "none", у которого после второй точки ничего нет, — корректный «незащищённый JWS» (unsecured JWS). В марте 2015 года Тим Маклин показал, что несколько популярных библиотек JWT считали none просто ещё одним алгоритмом: атакующий мог удалить подпись, указать none и добиться, чтобы произвольные утверждения были приняты. Эту атаку описывает RFC 8725, § 2.1.

Современные библиотеки отклоняют none, если вызывающий код явно его не разрешил, а явный список разрешённых алгоритмов (например, только ES256) исключает его по построению. Следите за вариантами регистра (None, NONE) в самописных проверках, за кодом проверки, который вызывает функцию «decode» вместо «verify», и за промежуточным ПО (middleware), которое пропускает проверку, когда часть подписи пустая.

Стандарты и ссылки

Все термины