¿Es necesario cifrar los mensajes del lado del cliente si se usa HTTPS?

0

Estoy creando un servicio de mensajería para una aplicación que estoy desarrollando y ahora el flujo de datos es el siguiente:

Enviar :

mensaje enviado al servidor = > mensaje cifrado según la clave pública del usuario y firmado usando clave secreta = > mensaje cifrado guardado en la base de datos

Recibir :

el servidor recibe un mensaje de la base de datos = > el servidor verifica la firma usando una clave pública y descifra el mensaje usando una clave secreta = > mensaje descifrado enviado al cliente

Todo el cifrado / descifrado en el servidor depende de que el token JWT del usuario esté autenticado.

Tengo dos preguntas principales:

  1. ¿Se puede cifrar en el servidor ya que la comunicación entre él y el cliente está utilizando TLS?

  2. ¿Deben almacenarse las claves en el servidor o en la base de datos?

pregunta 16.10.2018 - 03:28
fuente

2 respuestas

2

No estoy seguro de que entienda exactamente cómo se supone que funciona la configuración, pero la parte clave aquí es que todas las claves de cifrado parecen residir en el servidor. Eso significa:

  • HTTPS (si se hace correctamente) es suficiente para proteger los mensajes en tránsito . Si ese es su único objetivo, su configuración está bien.

  • Si desea proteger los mensajes en reposo en el servidor, tener la clave en algún lugar del servidor es un problema. Hay diferentes maneras de lidiar con eso. El almacenamiento de claves de cifrado en la base de datos junto a los datos que se supone que deben proteger no suele ser una buena idea. Consulte esta respuesta para obtener alternativas.

  • Esta configuración no protege a los usuarios contra usted . Como operador del servicio, puede leer fácilmente los mensajes ya que se encuentra en todas las claves de cifrado. Si ese es un problema, debe implementar el cifrado de extremo a extremo.

respondido por el Anders 17.10.2018 - 10:38
fuente
1

A 1: el cifrado en el lado del servidor suena bien, pero ¿no cree que sus clientes preferirían si el mensaje estuviera cifrado antes de abandonar la red privada o el teléfono celular? Lo haría y, por lo tanto, recomiendo usar el cifrado del lado del cliente.

A 2: para mí, los datos y especialmente las claves pertenecen a una base de datos y no a un nivel superior como un servidor web

    
respondido por el Jaads 16.10.2018 - 16:19
fuente

Lea otras preguntas en las etiquetas