¿Debo usar SSL en un servicio seguro para compartir archivos?

1

Estoy desarrollando un proyecto seguro para compartir archivos usando Java RMI. El contenido de los archivos debe estar protegido. El servidor almacenará los archivos cifrados y el cliente podrá cargar / descargar / listar archivos (con autenticación de contraseña). Soy nuevo en seguridad y agradecería cualquier medida de seguridad adicional que pudiera implementar / corregir.

Ahora mismo estoy pensando en usar cifrado en los archivos / contraseñas / metadatos para transportarlos desde el cliente al servidor. Una vez que llegaban al servidor, almacenaba los archivos cifrados y descifraba las contraseñas, de modo que podía almacenar las contraseñas SHA256 / SHA512 en la base de datos. (¿Esto tiene sentido?)

Ahora, he oído hablar de SSL que cifra el contenido de los paquetes enviados y recibidos (si no me equivoco) y proporciona algún tipo de autenticación.

¿Es necesario agregar SSL (o reemplazar con SSL en lugar de lo que idealicé) en mi caso?

Gracias.

    
pregunta João Rodrigues 11.10.2014 - 16:02
fuente

3 respuestas

1

Dios mío, sí. En primer lugar, SSL usa Diffie-Helfman, lo que significa que los atacantes no pueden escuchar a los clientes negociar las claves de encriptación con el servidor (obviamente, si detectan la clave, arruinará el punto de encriptar sus comunicaciones). En segundo lugar, utiliza un sistema de CA, lo que dificulta que los atacantes imiten el servidor al cliente (asegurando así su contraseña cuando el cliente intenta autenticarse). Ambos protocolos son difíciles de implementar correctamente, y recomiendo que los profesionales lo hagan por usted.

    
respondido por el KnightOfNi 11.10.2014 - 16:20
fuente
1

Sí, use SSL para asegurar el canal de transporte por el que está entregando los archivos. Crypto es difícil, y nunca debes intentar implementar el tuyo. Para obtener más información sobre qué es exactamente SSL, consulte: ¿Cómo funciona SSL / TLS?

    
respondido por el Xander 11.10.2014 - 16:07
fuente
0

Sí a su pregunta de SSL como se ha respondido anteriormente. Sin embargo, sugeriría para el almacenamiento de contraseñas que considere usar bcrypt en lugar de SHA512. Es un algoritmo de cálculo más lento, por lo que hace que las contraseñas sean más difíciles de descifrar si se descargan los hash.

    
respondido por el theterribletrivium 12.10.2014 - 01:24
fuente

Lea otras preguntas en las etiquetas