Cómo cifrar datos en el cuerpo del correo electrónico enviado por la aplicación (sin conexión) y descifrar en el servidor

1

He creado una aplicación (sin conexión) (HTML / JS). La aplicación le permite al usuario escribir un informe (evento cuando está desconectado). Los datos del informe se envían a través del cuerpo de un correo electrónico a la dirección de correo electrónico especial de la compañía. En la empresa recopilo los correos electrónicos a través de una base de datos de acceso que contiene la bandeja de entrada de los correos electrónicos. Luego los datos son leídos por una aplicación de análisis de python. Los datos (recopilados a través de un formulario en la aplicación) están en un formato legible por humanos (JSON).

El correo electrónico puede ser interceptado cuando se usa una conexión insegura (por ejemplo, en un hotel). Cuando esto suceda, no quiero que el interceptor pueda leer los datos, por lo tanto, quiero tenerlos cifrados.

Esta configuración web de formulario de datos es temporal, para una prueba. No puedo enviar los datos del formulario al servidor a través de ssl. Me doy cuenta de que esto no es impermeable y muy seguro. Puedo hacer una conexión SSL cuando los usuarios descargan el formulario.

Mis preguntas:

  1. ¿Cómo puedo cifrar los datos que se envían en el cuerpo de un correo?

  2. ¿Cómo puedo descifrar los datos cuando leo los correos electrónicos en mi lector de correo electrónico automático de Python?

pregunta ArtDijk 23.11.2015 - 19:42
fuente

2 respuestas

1

Respuesta corta:

Use GNUPG para cifrar y descifrar mensajes.

Respuesta larga:

Básicamente, desea cifrar los datos para evitar que los roben si aparece algún flujo de seguridad, según tengo entendido. Hoy en día, el mejor cifrado para tales propósitos es utilizar el cifrado PGP (GNUGP como implementación gratuita). Se puede utilizar en Python. (encuentre python lib aquí , here ) Si trabaja en el sistema base de Ubuntu, es probable que lo tenga preinstalado. De lo contrario, consulte el sitio web de GNU para obtener más información

La filosofía detrás de estos cifrados es que utiliza el cifrado RSA.

Crearás dos cuentas. Una para su máquina y otra para el servidor. El mensaje se puede cifrar con la clave pública de la cuenta de su empresa y descifrar con la misma clave privada.

Así que creará un mensaje, lo cifrará con la clave pública de su cuenta de servidor, lo enviará y lo desencripta con la clave privada de la cuenta de servidor.

De esa manera, si te encuentras en una situación, como un ataque de hombre en el medio, el atacante no puede descifrar tus datos. Pero solo para señalar, si desea un mejor control de seguridad, tiene la posibilidad de verificar los mensajes cada vez que llegan al servidor en caso de que alguien cambie su mensaje.

Para resumir, no le diré más, ya que la criptografía es una clase secreta en las universidades y TI, y nos brindaría páginas y tiempo para entenderla. Le aconsejo que pruebe en Google, busque el cifrado PGP y pregunte a alguien que sepa sobre criptografía.

    
respondido por el user92727 23.11.2015 - 20:58
fuente
0

Si sus servidores de correo electrónico están configurados correctamente para usar SSL / TLS, no tiene que preocuparse por cifrar nada. El correo electrónico se enviará encriptado, nadie en la ruta podrá descifrarlo. Solo asegúrese de no aceptar certificados fallidos, caducados o no válidos.

Ahora, tus preguntas:

  

¿Cómo puedo cifrar los datos que se envían en el cuerpo de un correo?   ¿Cómo puedo descifrar los datos cuando leo los correos electrónicos en mi lector de correo electrónico de Python automatizado?

Utilice el cifrado de clave pública. Cree un par de claves públicas / privadas y agrupe la clave pública en su aplicación. Encripta los datos antes de enviarlos. En el servidor, use la clave privada para descifrar y almacenar. Hay un par de bibliotecas en Python y Javascript para cuidar de eso.

    
respondido por el ThoriumBR 23.11.2015 - 19:59
fuente

Lea otras preguntas en las etiquetas