Tenemos un microservicio de puerta de enlace Zuul de Java que se ejecuta delante de todos nuestros servicios. Esta puerta de enlace proporciona verificación de seguridad para todo el tráfico entrante.
También contamos con un servicio IAM que proporciona funciones de inicio de sesión / cierre de sesión / creación que se ubican detrás de la puerta de enlace. Estos puntos finales tomarían las contraseñas.
Queremos asegurarnos de que las contraseñas de texto claro viajen en las secciones más pequeñas de nuestros sistemas como sea posible. Podemos tener la puerta de enlace con la contraseña de hashing en un filtro zuul y luego pasar las solicitudes a IAM. Pero si alguien pasa por alto la puerta de enlace de alguna manera, potencialmente puede llegar al punto final con un hash robado y usarlo para obtener acceso, como un tipo de ataque "Pase el hash". Por lo tanto, nos gustaría repetir el hash generado por la puerta de enlace y luego almacenar el valor en la base de datos.
La pregunta es, ¿hay algún problema potencial con el doble hashing entre microservicios? Para nombrar una implementación específica, digamos BCrypt, ¿funcionaría?