Pular para o conteúdo
ecdsa.com

PASETO (Platform-Agnostic Security Tokens)

Um formato de token criado como alternativa mais simples ao JOSE, com protocolos versionados em vez de algoritmos negociáveis: os tokens v4.public são assinados com Ed25519, e os tokens v4.local são criptografados com XChaCha20 e autenticados com BLAKE2b com chave.
Também escrito comoPASETOPlatform-Agnostic SEcurity TOkensv4.publicv4.localPASERK

Um token tem a forma version.purpose.payload, com um .footer opcional, por exemplo v4.public.…. Cada versão fixa a sua criptografia: a v3 usa algoritmos do NIST (ECDSA P-384 para tokens públicos; AES-256-CTR com HMAC-SHA384 para os locais), e a v4 usa Ed25519 e XChaCha20 com BLAKE2b-MAC. A codificação de pré-autenticação (pre-authentication encoding, PAE) vincula o cabeçalho, o payload, o rodapé e as asserções implícitas opcionais (contexto autenticado, mas não transmitido, como o ID de um locatário) ao que é assinado ou autenticado com MAC.

Não há cabeçalho alg a explorar nem none; os prefixos de versão e de finalidade também impedem que uma chave local seja usada para tokens públicos. As chaves são serializadas com PASERK (k4.public…, k4.local…). Os payloads usam claims registradas no estilo do JWT (exp, iss, aud, em ISO 8601 ou como strings simples).

O PASETO não é um padrão da IETF (a especificação fica em github.com/paseto-standard/paseto-spec), e o suporte em bibliotecas, ferramentas e provedores de identidade é menor do que o do JWT. Um JWT verificado com um algoritmo fixado, conforme a RFC 8725, oferece quase toda a mesma segurança. O decodificador de PASETO analisa tokens localmente.

Padrões e referências

Todos os termos