Cifrado de extremo a extremo y firmas digitales de Mailfence

What are end-to-end encryption and digital signatures

End-to-End Encryption (E2EE)
It is a method used to protect encrypted data while moving between a source and a destination. With end-to-end encryption , the data is encrypted in the sender’s system, and only the intended recipient can decrypt it. No one else (be it an internet service provider or applications, surveillance program or hacker) will be able to read or modify them, thus offering a high level of confidentiality and protection to all communications.

Digital
signatures They are the equivalent of a handwritten or stamped signature, but offer much greater inherent security. The digital signatures are designed to solve the problem of manipulation or impersonation in digital communications, and offer absolute authenticity and integrity to all messages.

How do we do it

Mailfence’s secure and private webmail package  includes OpenPGP , an established protocol designed by Phillip Zimmermann , which was further refined in RFC-4880 and the S / MIME protocol .

We take advantage of OpenPGP.js , an implementation of the OpenPGP standard in Javascript, which is open source and has an excellent audit . This allows us to execute all the complex cryptographic encryption / decryption operations exclusively on the client side, without monopolizing the computation resources of the device.

End-to-end encryption and digital signatures

Every cryptography process encompasses a series of different steps between the client and the server through TLS / SSL , to correctly execute a specific operation. Below these lines, you will find a linear diagram that illustrates how Mailfence’s end-to-end encryption and digital signatures work, as well as other relevant information.

Mailfence to Mailfence

End-to-end encryption and digital signatures

End-to-end encryption and digital signatures

Mailfence to other email providers
  • End-to-end encryption and digital signatures

    End-to-end encryption and digital signatures

    Generation of keys

    1. The client browser requests the server-specific key generation code after receiving a request from the user, and the server sends that specific code to the client’s browser.
    2. Subsequently, the key is generated in the user’s device (in the browser) and this is encrypted using AES-256 with the passphrase provided. At this point, the public key is also published on several public key servers (if the user has opted for this option).
    3. The encrypted key is then published to the server from the user’s browser, so that the user can access it at any time from any device in a secure and protected manner.

* Para importar una clave privada (ya cifrada con la frase de contraseña del usuario), se saltarán los pasos 1 al 3.

  • Cambio de la frase de contraseña
    1. El navegador cliente solicita el código de cambio de frase de contraseña específico del servidor, junto con la clave cifrada relacionada después de recibir una solicitud por parte del usuario, y el servidor envía ese código específico con la clave relacionada al navegador del cliente.
    2. El usuario descifra la clave suministrando la frase de contraseña apropiada, y la cifra con la nueva.
    3. La clave cifrada se publica entonces en el servidor desde el navegador del usuario.
  • Revocación de claves
  1. El navegador cliente solicita el código específico de revocación de clave junto con la clave cifrada relacionada del servidor, después de recibir una solicitud del usuario. El servidor envía ese código específico con la clave cifrada relacionada al navegador del cliente.
  2. El usuario descifra la clave suministrando la frase de contraseña apropiada.
  3. La clave se revoca entonces, y su estatus de revocación se publica en los servidores de claves públicas (si el usuario ha optado por esta opción). Posteriormente, la clave se vuelve a cifrar con la frase de contraseña del usuario.
  4. El navegador del cliente publica la clave cifrada en el servidor

* Para generar un certificado de revocación: en el paso 4, en lugar de revocar la clave, la aplicación generará un certificado de revocación, que el usuario puede usar posteriormente en cualquier momento para solicitar la revocación de la clave.

  • Exportación de claves
    1. El navegador cliente solicita el código de exportación específico de la clave con la clave relacionada del servidor después de recibir una solicitud por parte del usuario, y el servidor envía ese código específico con la clave cifrada relacionada al navegador del cliente.
    2. Posteriormente, el usuario exporta (descarga) esa clave encriptada en su dispositivo.
  • Eliminación de claves
    1. El navegador cliente solicita el código de eliminación específico para la clave con la clave relacionada del servidor después de recibir una solicitud del usuario, y el servidor envía ese código específico con la clave cifrada relacionada al navegador del cliente.
    2. Posteriormente, el usuario elimina la clave cifrada en su dispositivo.
  • Modificación de la fecha de vencimiento de la clave
    1. El navegador cliente solicita el código de modificación de fecha de vencimiento específico con la clave relacionada del servidor después de recibir una solicitud por parte del usuario, y el servidor envía ese código específico con la clave cifrada relacionada al navegador del cliente.
    2. El usuario descifra la clave suministrando la frase de contraseña apropiada, y modifica la fecha de vencimiento. Posteriormente, la clave se vuelve a cifrar con la frase de contraseña del usuario.
    3. El navegador del cliente publica la clave cifrada en el servidor.
  • Enviar un correo electrónico firmado digitalmente
    1. El navegador cliente solicita el código de firma digital específico con la clave relacionada del servidor después de recibir una solicitud por parte del usuario, y el servidor envía ese código específico con la clave cifrada relacionada al navegador del cliente.
    2. El usuario descifra la clave suministrando la frase de contraseña apropiada.
    3. El mensaje de correo electrónico es firmado digitalmente (PGP/MIME) y posteriormente se envía al destinatario.
    4. Posteriormente, la clave se vuelve a cifrar con la frase de contraseña del usuario, y se publica en el servidor.
  • Enviar un correo electrónico cifrado y firmado digitalmente
    1. El navegador cliente solicita el código de firmado digital y cifrado específico con la clave relacionada del servidor después de recibir una solicitud por parte del usuario, y el servidor envía ese código específico con la clave cifrada relacionada al navegador del cliente.
    2. El usuario descifra la clave suministrando la frase de contraseña apropiada.
    3. El mensaje de correo electrónico es firmado digitalmente (PGP/MIME), cifrado con la clave pública del destinatario (OpenPGP) y posteriormente se envía al destinatario.
    4. Posteriormente, la clave se vuelve a cifrar con la frase de contraseña del usuario, y se publica en el servidor.

For a detailed «How to do» manual about end-to-end encryption and digital signatures, please visit this link .

¡Obtenga su email seguro!

Follow us on twitter / reddit and stay updated at all times.

– The Mailfence team


Spread the word!

También te podría gustar...