No soy un experto en seguridad, pero conozco algunos conceptos.
Tenemos una aplicación web que actualmente utiliza applets de Java para realizar algunas operaciones en archivos en el sistema de archivos del cliente (navegar, crear, cargar y descargar). Dado que el soporte de applet de Java se está eliminando. Estamos planeando ir para el servidor websocket del lado del cliente. Que se instalará en el lado del cliente cuando se intente por primera vez dicha operación.
Me preocupa la seguridad de dicho sistema. Básicamente tendremos 3 entidades involucradas.
- WebServer
- navegador
- Servidor Websocket del cliente (también conocido como LocalServer)
Algunos puntos que estoy considerando:
- El complemento solo debe aceptar conexiones de localhost
- lógica de autenticación
- El servidor web enviará alguna clave de identificación única al navegador
- El navegador enviará lo mismo a LocalServer
- LocalServer reenviará lo mismo a WebServer para la autenticación.
- Solo aceptará la conexión desde el navegador si está autenticado por el servidor web.
Un punto importante es que el robo de datos no debe ocurrir cuando el navegador visita una página maliciosa. Básicamente, LocalServer solo debe conectarse a los websockets de la página de WebServer.
¿Qué puntos adicionales debo tener en cuenta para fortalecer esto?
Si es posible, informe otros puntos de consideración para este sistema.
Actualización 1: Servidor local: puede cargar y descargar archivos solo del servidor web específico.