1 votos

¿Puedo enviar correo electrónico cifrado con Mail y certificados autofirmados?

Quiero poder enviar correos electrónicos firmados y encriptados entre un Mac que utiliza Mail y otro Mac que utiliza Thunderbird, utilizando certificados autofirmados en ambos extremos. Antes podía hacerlo, pero con los años las cosas se han vuelto más difíciles en ambos extremos. Para que el extremo de Thunderbird funcione, ahora tengo que crear una autoridad de certificación autofirmada y luego usarla para crear un certificado de correo electrónico. Pero no puedo conseguir que el cifrado funcione en el extremo de Mail. (Creo que Apple lo rompió en Mountain Lion.) En mi llavero en el extremo de Mail, tengo la CA del extremo de Thunderbird, que está marcada como de confianza, y el certificado de correo electrónico creado por esa CA, que dice "Este certificado es válido". Pero cuando creo un correo electrónico que va al otro Mac, el botón de cifrado aparece atenuado.

Leí en algún sitio que el secreto es añadir la extensión "key encipherment" al crear el certificado, y así lo hice, pero sigue sin funcionar.

1voto

John Ellinwood Puntos 6578

¿Hay alguna razón por la que intente este enfoque en particular?

Si tu pregunta real es cómo enviar correo electrónico firmado y encriptado, yo uso GPG (a través de GPGTools). Hay un plug-in que funciona con Thunderbird pero yo uso el Mail de Apple.

1voto

user637338 Puntos 131

Sólo puedo responder a la parte de Mac Mail de esta pregunta, ya que no quiero probar la parte de Thunderbird.

Sólo escribo esta parte para las personas que no están familiarizadas con el cifrado asimétrico:

En esta forma de cifrado se necesitan dos claves, una privada y otra pública. En este sentido, un certificado no es más que la clave pública, pero tiene algo más de información que una simple clave, dice quién eres, tu organización, etc. La privada nunca debe perderse y darse a otros. Si se pierde, hay que empezar de nuevo y la persona que lo haya robado puede descifrar todo, así que guárdelo y protéjalo con una contraseña. Normalmente los certificados son firmados por las llamadas Autoridades de Certificación y suelen cobrar por su servicio. Por eso algunas personas crean su propia CA y certificados autofirmados, lo que es más barato.

La forma en que funciona la encriptación del correo electrónico es que usted envía a alguien su clave pública (certificado) firmando su correo electrónico con ella. Puedes firmar cualquier correo electrónico, ya que no se produce ningún daño al dar tu clave pública. A continuación, esta otra persona tiene tu clave pública y te encripta un correo electrónico con esta clave. A partir de este momento nadie, salvo la NSA con un posible ordenador Quantum, puede descifrar este mensaje en un tiempo razonable dada la longitud adecuada de la clave. O algunos se infiltran en las propias librerías de encriptación, como el bug HEARTBLEED (latido del corazón), que podría haber sido intencionado y quién sabe cuántas más de estas puertas traseras hay. Los certificados suelen tener una duración limitada y deben renovarse cada cierto tiempo.

Así que cosas para llevar: Necesitas una clave pública y una privada y sólo das la pública.

Esto es lo que he hecho:

  1. Creé una CA root y una CA Firmante (no es necesario, pero es lo que hice) y utilicé este muy buen tutorial para ello: CAs de varios niveles en http://pages.cs.wisc.edu/~zmiller/ca-howto/

  2. Entonces cambié mi openssl.conf de tal manera que Mac Mail me permite utilizar el certificado para el cifrado del correo electrónico también.

    Lo importante es tener el keyUsage y el extKeyUsage

    [ v3_req ]
    
    # Extensions to add to a certificate request
    
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment,       dataEncipherment
    extKeyUsage = emailProtection, Apple .Mac email signing, Apple .mac email encryption

    Para los que les gustan las especificaciones, lean esto https://www.ietf.org/rfc/rfc2459 pero no encontrarás las partes específicas de MacOS en él.

  3. Creó la clave privada y el certificado:

    openssl req -newkey rsa:4096 -keyout <e-mail>.key -config openssl.cnf -out <e-mail>.req -days 3650
    
    openssl ca -config openssl.cnf -out <e-mail>.crt -infiles <e-mail>.req

    Se podría argumentar que diez años es demasiado tiempo de vida de un certificado, pero yo quería tener algo que funcionara ahora y dentro de 10 años o incluso menos esta forma de encriptación no funcionaría de todos modos. No quería renovar los certificados todo el tiempo ya que los creé para toda mi familia.

    Si algo va mal en este proceso, puedes revocar el certificado:

    openssl ca -config openssl.cnf -revoke <e-mail>.crt

    También hay que crear crls, pero yo tampoco lo hice.

  4. Claves convertidas a un formato p12

    openssl pkcs12 -export -in <e-mail>.crt -inkey <e-mail>.key -out <e-mail>.p12
  5. Importado p12 al Llavero en OS X 10.9.4 (13E28)

  6. Marcado como de confianza

  7. Certificado asociado a la cuenta de correo en las preferencias de MacOS Mail en Información de la cuenta en el campo Certificado TLS. Enviar correo a otra dirección de correo que también tiene un cert y una clave y firmó el mensaje con mi clave pública, bueno MacOS Mail hizo esto por mí.

  8. Recibí el correo y devolví mi primer correo encriptado.

Lo que me ocurrió cuando probé el procedimiento con mi mujer fue que el símbolo del candado en mi correo de respuesta al primer correo firmado estaba en gris y me quedé perplejo. Esto significaba que no podía cifrar los correos. La razón fue que recibí el correo firmado que me había enviado mi mujer, pero no marqué esta firma como de confianza en el llavero de MacOS, ya que todas las firmas que uno recibe también van a parar allí. Después de marcarla como de confianza y reiniciar Mail todo funcionó bien.

Tal vez alguien o incluso la persona que pregunta puede añadir la parte de Thunderbird a esta respuesta.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X