¿La API de criptografía web evita que un servidor defectuoso ingiera texto claro?

1

Considere una aplicación web criptográfica que se basa en JavaScript alojado. Este JavaScript podría ser manipulado del lado del servidor por un mal actor, derrotando cualquier tarea criptográfica. A saber:

  1. las claves privadas pueden enviarse de vuelta al servidor

  2. el texto claro se puede enviar de vuelta al servidor

La API de criptografía web aborda algunas de estas preocupaciones al proporcionar primitivas criptográficas sin exponer claves, abordando el elemento 1.

Me parece que el JavaScript incorrecto todavía podría transmitir texto claro al servidor. ¿Me estoy perdiendo algo o este problema no está resuelto por Web Crypto?

    
pregunta d3vid 30.08.2018 - 11:19
fuente

1 respuesta

3

No lo hace. Eso es excusable, porque no puede.

El servidor envía el código. Si el servidor es hostil o está comprometido, entonces el código enviado por el servidor puede ser malicioso. No importa lo que haga la API: el código enviado por el servidor puede evitar su uso o, de lo contrario, enviar todos los datos en texto sin cifrar al servidor.

La razón para tener primitivos criptográficos que no exponen claves es principalmente para proteger contra un servidor confiable, pero que entrega código que puede ser parcialmente explotado. Si el atacante puede hacer arreglos para ejecutar código Javascript arbitrario en su navegador, ha perdido. Si el atacante está restringido de ciertas maneras, por ej. si solo puede extraer cierta información o solo puede infectar ciertas páginas, luego agregar protecciones como las claves no expuestas hace que sea más difícil para el atacante obtener los datos que desea.

    
respondido por el Gilles 30.08.2018 - 11:58
fuente

Lea otras preguntas en las etiquetas