Ferramentas de desenvolvedor · Decodificador JWT
RFC 7519 e a família JOSE: JWT, JWS, JWE, JWK e JWA Explicado
· Fundo
jwt criptografia padrões
JWT é membro de uma família de especificações do grupo de trabalho IETF JOSE. Esta postagem explica o que cada RFC define, como eles se encaixam e por que um JWT geralmente é um JWS.
Cinco siglas, um token — por que a documentação menciona JWS e JWE quando você apenas perguntou sobre JWT
A documentação do token se move entre JWT, JWS, JWE, JWK e JWA porque descrevem diferentes camadas do mesmo ecossistema. A confusão começa quando “JWT” é usado como abreviação para cada token compacto assinado em três partes. Separar as declarações do envelope e da representação principal torna a implementação mais fácil de raciocinar.
O decodificador de ToolAcre é intencionalmente mais estreito que a família. Ele lida com entrada em formato JWS de três partes, cujos dois primeiros segmentos decodificados são objetos JSON. Ele detecta entrada compacta criptografada em cinco partes e para, porque a leitura do texto cifrado sem as chaves do destinatário não seria a decodificação da mesma coisa.
Os documentos JOSE definem formatos relacionados; este repositório não estabelece o cronograma do grupo de trabalho
As especificações relacionadas vieram do trabalho de IETF JOSE, mas as fontes do repositório não estabelecem o cronograma organizacional detalhado solicitado pelo esboço. Este artigo, portanto, evita inventar datas ou histórico de processos e concentra-se nas relações de formato observáveis na ferramenta e no plano.
A questão prática é qual camada possui cada decisão. Os nomes das declarações descrevem as instruções do aplicativo, as assinaturas protegem o material codificado, a criptografia protege o conteúdo, os objetos-chave JSON representam informações importantes e os identificadores de algoritmo nomeiam as operações. Nenhuma sigla substitui as outras.
JWS (RFC 7515) — assinatura de conteúdo arbitrário e uso de JWTs de serialização compacta
JWS descreve conteúdo assinado ou protegido por MAC. Seu formato compacto possui três segmentos: cabeçalho protegido, carga útil e assinatura. A entrada de assinatura utiliza os dois primeiros segmentos codificados unidos por um ponto. Um JWT normalmente viaja neste envelope, que é a forma como ToolAcre divide e inspeciona.
O cabeçalho e a carga útil podem ser decodificados em JSON, enquanto a assinatura é composta por bytes em vez de um terceiro objeto. ToolAcre relata a presença e o tamanho da assinatura, mas sempre a marca como não verificada. Assim, pode ilustrar a estrutura JWS sem reivindicar qualquer resultado criptográfico.
JWE (RFC 7516) — criptografando conteúdo, com serialização em cinco partes
JWE descreve conteúdo criptografado. Seu formato compacto possui cinco segmentos que representam um cabeçalho protegido, material de chave criptografada, valor de inicialização, texto cifrado e etiqueta de autenticação. Quatro pontos são, portanto, uma forte pista estrutural de que um decodificador JWT de três partes recebeu um envelope diferente.
ToolAcre emite um erro JWE específico e explica que o conteúdo não pode ser lido sem a chave de descriptografia. Ele não trata o texto cifrado como JSON malformado nem tenta exibir bytes aleatórios. A criptografia e a assinatura também podem ser compostas, mas o processamento aninhado está fora dessa rota.
JWK e JWA (RFC 7517 e 7518) — representando chaves como JSON e nomeando os algoritmos
JWK fornece uma representação JSON para informações de chave criptográfica, enquanto JWA nomeia identificadores de algoritmo e parâmetros relacionados usados em JOSE. Sua existência não significa que um token possa escolher sua própria chave ou algoritmo confiável. Um verificador deve restringir tanto o emissor quanto a política do aplicativo.
As notas do algoritmo ToolAcre explicam apenas um conjunto finito de rótulos presentes na fonte e chamam qualquer outra coisa de não reconhecida. São descrições, não implementações. O decodificador não importa um JWK nem executa um algoritmo de JWA, que mantém o limite de inspeção explícito.
JWT (RFC 7519) — o formato de reivindicações que funciona em JWS ou JWE
JWT define um objeto de declarações e nomes registrados como emissor, assunto, público e NumericDates. Essas declarações podem ser transportadas em uma estrutura JOSE assinada ou criptografada. A camada de carga útil, portanto, responde “quais instruções são representadas”, enquanto o envelope responde como esses bytes são protegidos ou ocultados.
ToolAcre espera que a carga útil decodificada seja um objeto JSON e lista suas declarações. Uma matriz, número ou nulo é rejeitada para esta ferramenta. Mesmo um objeto bem formado permanece não confiável até que o envelope relevante seja processado por um verificador ou destinatário configurado.
O que isso não cobre - os perfis posteriores, como RFC 8725 melhores práticas e RFC 9068 tokens de acesso, que têm suas próprias postagens
Documentos posteriores de melhores práticas e de perfil podem restringir a forma como estes mecanismos gerais devem ser utilizados. Eles merecem tratamento separado porque um formato base não fornece política específica de emissor, público ou tipo de token para aplicação. Este artigo não afirma que o decodificador implemente tal perfil.
Ao revisar um sistema, anote o perfil exato, o envelope esperado, os algoritmos aceitos, a fonte principal e as regras de reivindicação. Essa lista evita que a familiaridade com os acrônimos se transforme em uma suposição de compatibilidade ou segurança.
Conclusão: JWT são as declarações, JWS é o envelope - o decodificador ToolAcre JWT lê o formato compacto JWS e mostra o cabeçalho JWT e as declarações dentro
JWT nomeia a camada de declarações; JWS e JWE fornecem envelopes de proteção; JWK representa dados importantes; JWA nomeia opções de algoritmo. ToolAcre lê a forma comum assinada em três partes e mostra cabeçalho e declarações enquanto se recusa a verificar ou descriptografar.
Use esse mapa para fazer a próxima pergunta certa. Legível JSON identifica a camada de reivindicação. Três ou cinco segmentos identificam prováveis famílias de envelopes. A confiança ainda depende de criptografia e política configuradas de forma independente, e não do reconhecimento de um acrônimo pelo decodificador.