¿Se deben cifrar los mensajes privados?

2

Quiero implementar un sistema de mensajería privado en mi sitio web, pero me pregunto si el contenido del mensaje, supuestamente privado, entre Alice y Bob debería almacenarse en texto sin formato en la base de datos o debería estar cifrado antes de eso, de modo que incluso si la base de datos está secuestrada, los atacantes no podrían leer los mensajes.

Así que mis preguntas son:

  • ¿Es necesario hacerlo si su sitio no es un servicio bancario / PayPal ? ¿sitio? Haz Facebook , YouTube , etc. hazlo así manera?

  • ¿Cómo podría dejar que solo Alice y Bob lo descifren?

Podría ser excesivo hacer esto (al menos en el sitio web en el que estoy trabajando), pero si lo voy a hacer, creo que es mejor hacerlo antes de lanzar el sitio.

    
pregunta 11.03.2013 - 20:10
fuente

3 respuestas

2

la respuesta es probablemente usar RSA para cifrar mensajes privados. Cada usuario tiene un par de llaves, y Alice usa la clave pública de Bob para cifrar su mensaje, y Bob la descifra con su clave privada. El problema viene con la distribución y seguridad de estos pares de llaves

Dado que la única información que solo conoce un usuario dentro de un sistema como este es una contraseña, será difícil almacenar de manera segura y efectiva la clave privada del usuario. El único mecanismo que se me ocurre es cifrar la clave privada con una clave derivada de la contraseña del usuario. Esta clave privada se almacena, probablemente del lado del cliente, y se utiliza para cifrar y descifrar mensajes mientras el usuario está conectado.

Desafortunadamente, este sistema lo pone a merced de los problemas de seguridad de la tecnología que elija utilizar (cookies, datos de sesión del lado del servidor, almacenamiento local, etc.), y un atacante motivado probablemente puede eludirlo con bastante facilidad. Probablemente se necesitaría algún tipo de complemento de navegador para proporcionar un brigde a gpg o equivalente para estar incluso más cerca de ser seguro, y eso terminará siendo más problemático de lo que vale la pena.

En pocas palabras: probablemente no puedas hacerlo de una manera que sea realmente segura contra un atacante motivado

    
respondido por el Peter Elliott 11.03.2013 - 21:13
fuente
4

Bueno, como ya explicaron los carteles anteriores, un cifrado real que valida al destinatario es muy difícil de implementar.

Lo que puede hacer con métodos más sencillos, como el cifrado simétrico en el nivel de la aplicación, es crear una capa de abstracción:
Cuando un atacante obtiene acceso a solo el almacén de datos (como cuando existía una vulnerabilidad en el sistema de permisos / ACL del almacén de datos o una posibilidad de inyección de consultas, esas son fallas comunes), los datos permanecerán seguros. La aplicación será necesaria para obtener texto sin formato.

Supongo (aunque no hay hechos) que es poco probable que las redes sociales y las comunidades hagan más, o incluso hagan algo.

La única respuesta real para tu pregunta de tema es: Depende. (como siempre)

Si está creando un foro sobre sweet cats , el cifrado PN probablemente no sea un problema con el que deba lidiar principalmente.

    
respondido por el Lukas 12.03.2013 - 00:49
fuente
1

Los mensajes "privados" deberían permanecer privados. Puede hacer esto cifrando los PM con un algoritmo de cifrado simétrico (como AES) y teniendo un segundo servidor (para mayor seguridad) que acepte el ID de sesión, el ID de PM y responda con la clave pm si el usuario es remitente / destinatario . Espero que mi respuesta sea clara.

    
respondido por el MemCtrl 11.03.2013 - 20:18
fuente

Lea otras preguntas en las etiquetas