¿Necesito un cifrado adicional en la parte superior de HTTPS para una API REST?

2

Configuremos el entorno antes de responder a mi pregunta.

  • Tenemos una aplicación web a la que podrán acceder los navegadores / clientes a través de HTTPS.
  • Sólo se puede acceder a Monstly en la intranet (rara vez a través de Internet)
  • Frontend usando Angular
  • Backend usando Java-EE

Ahora llegué a una discusión con mis colegas sobre una de mis preocupaciones.

La comunicación entre el frontend y el backend está completamente sin cifrar, lo que da como resultado que las credenciales de un usuario que inicia sesión envían a través de la intranet / internet un texto completamente claro. También ingresarán datos confidenciales, que es un secreto de la empresa (ingredientes, proporciones, etc.).

Agregando el hecho de que integramos la posibilidad de inicio de sesión LDAP a nuestra aplicación, este hecho me parece muy arriesgado, posiblemente resultando en un punto de entrada para obtener más información de la intranet (obtener credenciales LDAP y acceder a más servicios y máquinas). >

Mis colegas dijeron que no hay nada de qué preocuparse ya que la comunicación entre el cliente y el servidor se establece a través de HTTPS.

Sin embargo, no pudieron convencerme de que solo proporcionaran ese único argumento, especialmente porque existen problemas conocidos como SSL Stripping, MITM o incluso el análisis de tráfico. Sé que solo debería preocuparme por ellos si no configuramos todo correctamente, pero eso también es una preocupación mía.

Estoy en el punto de que debemos cifrar la comunicación entre el cliente y el servidor además con algo como Jose4J . Eso garantizaría que, incluso en una violación de la intranet o un Problema HTTPS, los datos confidenciales sigan siendo un secreto. También sería más difícil analizar el tráfico.

Ahora quería obtener una respuesta que proporcione más datos y una conclusión mejor que solo "pero estamos usando https".

¿El uso de HTTPS solo para una aplicación web que trata con datos confidenciales es lo suficientemente "seguro"?

    
pregunta Nico 24.01.2018 - 14:43
fuente

1 respuesta

7
  

La comunicación entre el Frontend y el Backend está completamente sin cifrar, lo que da como resultado que las credenciales de un usuario inicie sesión enviando a través de la intranet / Internet el texto completamente claro.

  

... la comunicación entre el cliente y el servidor se establece a través de HTTPS.

Usted mismo se contradice. Si está utilizando HTTPS, sus datos no están sin cifrar.

  

... especialmente porque existen problemas conocidos como SSL Stripping, MITM o incluso el análisis de tráfico.

La eliminación de SSL se resuelve mediante HSTS. Utilízalo Un MITM es exactamente contra lo que TLS protege, así que no veo cómo ese es un "problema conocido". No estoy seguro de lo que quieres decir con "análisis de tráfico", pero implementar tu propio criptografía a nivel de aplicación no lo resolverá.

Creo que estás subestimando lo que HTTPS te da.

  

¿El uso de HTTPS solo para una aplicación web que trata con datos confidenciales es "seguro", suficiente?

Lo que básicamente se reduce a su pregunta es: ¿es suficiente el cifrado de capa transport , o también necesito el cifrado de capa de aplicación ?

Para una aplicación web diseñada para ejecutarse en el navegador, el valor de seguridad del cifrado de la capa de aplicación es básicamente cero. ¿Por qué? Debido a que el mismo código que crea la capa de aplicación criptográfica deberá ser transportado primero al cliente. Si se rompe la capa de transporte criptográfico, ese código puede manipularse para beneficio de los atacantes.

Y de todos modos: No confías en ti mismo para configurar tu propio TLS. ¿Por qué debería confiar en la tarea mucho más compleja de configurar criptografía segura de capa de aplicación? Prometo que será mucho más fácil simplemente leer sobre TLS y hacerlo bien.

Sus colegas le proporcionaron solo un argumento, porque es el argumento correcto. Utilice HTTPS.

    
respondido por el Anders 28.01.2018 - 18:19
fuente

Lea otras preguntas en las etiquetas