Комментарии 9
Это просто JWT с зашифрованным payload, больше я не вижу никаких улучшений в безопасности. При этом особого смысла в этом нет. Если токен украли, то злоумышленник сможет им воспользоваться.
Про скорость кодирования/декодирования спорно. В JWT только парсинг JSON, а здесь еще нужно расшифровать. Уже 4 версии выпустили, а RFC нет и где тут про безопасность?
токен не должен вызывать сложностей для анализа и исследования у разработчиков, аудиторов и т. д.
Поле payload — это всегда JSON, который шифруется при создании токена
Мне кажется, или это противоречащие друг другу пункты? Для просмотра JWT достаточно декодировать BASE64, а тут нужна полноценная дешифровка.
Не совсем, бывают токены подписанные и зашифрованные, наверное ещё бывают подписанные и зашифрованные, но не сталкивался. В том случае, если токен подписан, то да - его можно спокойно декодировать.
В JWT нет шифрации токена. Отдельные элементы payload могут быть зашифрованы, но это на совести разработчика. Сами поля JWT только кодируются в BASE64 без шифрации.
Формально, шифрованный вариант называется JWE. Подробнее в RFC https://datatracker.ietf.org/doc/html/rfc7516 Некоторые могут назвать его шифрованным JWT, потому что для конечного разработчика работа с ним схожа с JWT и многие библиотеки реализуют оба варианта.
Поле payload — это всегда JSON, который шифруется при создании токена
Шифруется только local токены, т.е. изначально идея в том, что прочитать данные могут только те у кого есть ключ, в статье подробно разбирался этот вариант, но есть еще public токены, которые подписываются и их содержимое можно прочитать также как и у JSON.
токен не должен вызывать сложностей для анализа и исследования у разработчиков, аудиторов и т. д.
PASETO позволяет без расшифровки узнать версию токена и алгоритм шифрования, а также определить тип токена local (данные зашифрованы и их можно узнать только при знании секретного ключа) или public (данные подписаны и их можно прочитать). Если нужно узнать другие данные, то также придется либо расшифровывать токен, либо декодировать
Очень странно что называется platform agnostic, но полностью приколочен к cookies, uri, headers.
И не решена главная проблема JWT -- отзыв токенов...
Почему PASETO лучше для аутентификации, чем JWT