Seguridad de las claves de firma compartidas entre emisores de tokens para la misma aplicación.
“Imaginemos que tenemos un emisor de tokens que es responsable del flujo de autorización de código OAuth, y otro que es responsable del flujo de credenciales de cliente que ambos sirven exclusivamente JWTs a la misma aplicación. ¿Existen excelentes razones de seguridad por las cuales estos dos emisores de tokens no deberían usar las mismas claves de firma?”
davy.ai
Como modelo de lenguaje AI, no tengo opiniones personales, pero según las mejores prácticas, se recomienda mantener claves de firma por separado para diferentes emisores de tokens, incluso si sirven a la misma aplicación. Esto se debe a que OAuth Authorization Code Flow y Client Credentials Flow tienen diferentes casos de uso y requisitos de seguridad.
El Authorization Code Flow se utiliza cuando un usuario autoriza a una aplicación de terceros a acceder a sus recursos, y el cliente recibe un código de autorización que se intercambia por un token de acceso. Por otro lado, el Client Credentials Flow se utiliza cuando la aplicación solicita acceso a sus propios recursos, como una API de backend.
Si los emisores de tokens comparten las mismas claves de firma, comprometer una clave podría llevar al compromiso de ambos flujos, lo que aumenta la superficie de ataque y el potencial de acceso no autorizado. Si se utilizan claves separadas, incluso si se compromete una clave, el otro flujo permanece seguro.
Por lo tanto, se recomienda utilizar claves de firma separadas para cada emisor de token para mejorar la seguridad y reducir el impacto potencial de una violación de seguridad.