Avalados por :
Formo parte del equipo de Kyma que trabaja en las características de Istio y API Gateway. En esta publicación de blog, voy a discutir las mejores prácticas para emitir Tokens Web JSON (JWT).
Los Tokens Web JSON (JWT) son una forma popular de transmitir información de forma segura entre partes. Debido a que los tokens pueden ser firmados y encriptados para garantizar su integridad y confidencialidad, a menudo se utilizan para fines de autenticación y autorización. A medida que el uso de Tokens Web JSON (JWT) se está volviendo más común, es importante seguir las mejores prácticas para garantizar que los tokens sean seguros y confiables. El Grupo de Trabajo de Ingeniería de Internet (IETF) ha publicado un conjunto de mejores prácticas para JWTs en el RFC 8725. En esta publicación de blog, me gustaría resaltar algunos puntos clave del RFC para ayudarte a emitir JWTs seguros.
Los JWTs firmados llevan una indicación explícita del algoritmo de firma en el parámetro de cabecera
alg
. Sin embargo, esto puede llevar a vulnerabilidades si el algoritmo no se valida correctamente. Por ejemplo, un atacante podría cambiar el algoritmo a
none
. Algunas librerías podrían confiar en este valor y validar el JWT sin verificar su firma. Para mitigar este riesgo, asegúrate de que el parámetro de cabecera
alg
o
enc
del JWT especifique el mismo algoritmo que se utiliza para la operación criptográfica. El parámetro de cabecera
alg
(algoritmo) en la Firma Web JSON (JWS) especifica el algoritmo criptográfico utilizado para firmar el JWT. Es importante asegurarse de que el JWT esté firmado con el algoritmo previsto. El servidor también debe verificar que el algoritmo esté en la lista blanca de algoritmos aprobados y rechazar cualquier JWT con un algoritmo no reconocido.
Similar al parámetro de cabecera alg en JWSs, el parámetro de cabecera enc (encriptación) en un JSON Web Encryption (JWE) especifica el algoritmo criptográfico utilizado para encriptar un JWT. Es importante asegurarse de que un JWT esté encriptado con el algoritmo previsto. El servidor también debe verificar que el algoritmo esté en la lista blanca de algoritmos aprobados y rechazar cualquier JWT con un algoritmo no reconocido.
none
en JWT
A menos que un JWT esté protegido criptográficamente de extremo a extremo por TLS en la capa de transporte o por cualquier otro medio, el algoritmo
none
no debe usarse en entornos de producción, ya que no proporciona ninguna protección criptográfica para el JWT. Usa el algoritmo
none
solo para fines de desarrollo, y aún en este caso, procede con preca
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute