Avalados por :
Faço parte da equipe da Kyma que trabalha nas funcionalidades do Istio e API Gateway. Neste post do blog, vou discutir as melhores práticas para emitir Tokens Web JSON (JWT).
Os Tokens Web JSON (JWT) são uma forma popular de transmitir informações de forma segura entre partes. Devido aos tokens poderem ser assinados e criptografados para garantir sua integridade e confidencialidade, muitas vezes são usados para fins de autenticação e autorização. À medida que o uso de Tokens Web JSON (JWT) está se tornando mais comum, é importante seguir as melhores práticas para garantir que os tokens sejam seguros e confiáveis. O Grupo de Trabalho de Engenharia da Internet (IETF) publicou um conjunto de melhores práticas para JWTs no RFC 8725. Neste post do blog, gostaria de destacar alguns pontos-chave do RFC para ajudá-lo a emitir JWTs seguros.
Os JWTs assinados carregam uma indicação explícita do algoritmo de assinatura no parâmetro de cabeçalho
alg
. No entanto, isso pode levar a vulnerabilidades se o algoritmo não for validado corretamente. Por exemplo, um atacante poderia alterar o algoritmo para
none
. Algumas bibliotecas podem confiar nesse valor e validar o JWT sem verificar sua assinatura. Para mitigar esse risco, certifique-se de que o parâmetro de cabeçalho
alg
ou
enc
do JWT especifique o mesmo algoritmo usado para a operação criptográfica. O parâmetro de cabeçalho
alg
(algoritmo) na Assinatura Web JSON (JWS) especifica o algoritmo criptográfico usado para assinar o JWT. É importante garantir que o JWT seja assinado com o algoritmo previsto. O servidor também deve verificar se o algoritmo está na lista branca de algoritmos aprovados e rejeitar qualquer JWT com um algoritmo não reconhecido.
Semelhante ao parâmetro de cabeçalho alg em JWSs, o parâmetro de cabeçalho enc (criptografia) em uma Criptografia Web JSON (JWE) especifica o algoritmo criptográfico usado para criptografar um JWT. É importante garantir que um JWT seja criptografado com o algoritmo previsto. O servidor também deve verificar se o algoritmo está na lista branca de algoritmos aprovados e rejeitar qualquer JWT com um algoritmo não reconhecido.
none
em JWT
A menos que um JWT esteja protegido criptograficamente de ponta a ponta por TLS na camada de transporte ou por qualquer outro meio, o algoritmo
none
não deve ser usado em ambientes de produção, pois não fornece nenhuma proteção criptográfica para o JWT. Use o algoritmo
none
apenas para fins de desenvolvimento, e mesmo nesse caso, prossiga com precaução.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute