Pasando un valor cifrado en la cadena de consulta de la API REST de Java Spring

0

Estoy usando un conjunto de API REST compiladas con Java Spring. Necesito pasar un valor encriptado del cliente a un servicio REST. El cliente invoca una solicitud GET.

Mi pregunta es qué tan seguro y eficiente es pasar el valor cifrado (como una cadena) en la cadena de consulta. Si no es tan seguro, ¿cuáles son las alternativas que tengo?

    
pregunta user3496510 05.01.2017 - 05:41
fuente

1 respuesta

1

Suponiendo que el riesgo podría ser un ataque MiTM entre su cliente Spring y el servicio REST, no importa si está en una cadena de consulta o en un cuerpo POST. Una cadena de consulta se almacenaría en caché (en un navegador, servidor proxy, ...) lo que podría llevar a la divulgación; pero en general, recomendaría el uso de cifrado de extremo a extremo.

Si su cliente Spring se asegura de que está hablando con el servicio REST correcto (validación de certificados, fijación, ...), puede enviar "secretos" sobre esa conexión con una seguridad razonable de confidencialidad e integridad.

Además, no sé cuál es su valor "encriptado", si está encriptado con una clave compartida, entonces alguien podría dedicar suficientes recursos / tiempo para realizar ingeniería inversa y obtener el secreto. Si estás enviando datos secretos; tratar de mantenerse alejado de las implementaciones personalizadas; se ha demostrado que un túnel SSL / TLS de extremo a extremo es muy robusto.

    
respondido por el ndrix 05.01.2017 - 21:45
fuente

Lea otras preguntas en las etiquetas