Use DANE para autenticar el remitente del correo

1

Tengo mi propia infraestructura de DNS virtual, desde la raíz hasta el servidor de correo mail.example.com . Todo está firmado utilizando DNSSEC.

[email protected] puede enviar un correo electrónico a [email protected] , firmado digitalmente con su certificado. Como los dos clientes confían en la misma CA, el cliente2 puede validar este mensaje.

¿Qué pasa si la CA está comprometida? Discutir la probabilidad de tal evento no es el punto. Por eso quiero añadir una capa extra de seguridad. Quiero agregar el registro DANE para el certificado del cliente1.

¿Cómo puedo agregar un registro DANE para el certificado del remitente de correo electrónico?

Algo como:

[email protected]   IN TLSA ...   AwAeKhf...
    
pregunta TomatoGuy 13.05.2015 - 11:08
fuente

2 respuestas

3

Eso no es para lo que se inventa DANE. Los registros de TLSA son para brindar seguridad adicional principalmente para conectarse a puntos finales de transporte (por ejemplo, puertos TCP) en hosts con nombre , de modo que los certificados para los nombres de host puedan ser independientes del certificado Autoridades. Con DNSSEC, esto se puede lograr de forma criptográfica segura.

Algunas personas lo consideran una desventaja, ya que alguien que controla un nivel de nombres de dominio puede controlar todos los nombres Y certificados presentes en esos nombres. En realidad, los propietarios del dominio raíz (.) Pueden falsificar de forma segura cualquier nombre de host y con DANE, un certificado seguro también.

RFC6698 lo explica de esta manera:

DNS-Based Authentication of Named Entities (DANE) offers the option
to use the DNSSEC infrastructure to store and sign keys and
certificates that are used by TLS.  DANE is envisioned as a
preferable basis for binding public keys to DNS names...

Hay una propuesta relacionada (al menos una) de almacenar la ubicación de las claves PGP del usuario en el DNS de sus dominios de correo en los registros TXT, pero su principal objetivo es facilitar la búsqueda de esa clave, no verificar realmente it.

Hay ES un estándar propuesto RFC4398 para almacenar realmente los certificados, pero como se creó antes de que se extendiera DNSSEC, se recomienda no almacenar certificados completos si causan que la respuesta UDP sea más grande que 512 bytes. Tampoco me parece que esté en uso generalizado.

Dado que todas las verificaciones de los usuarios se realizan en el software del servidor que requiere una configuración adicional, generalmente hay poca necesidad de esperar certificados oficiales de los clientes emitidos por la CA y / o una forma estandarizada de almacenar copias adicionales de dichos certificados. En realidad, es libre de implementar cualquier verificación de este tipo en su programa / sitio.

Si cree que el compromiso de la CA puede invalidar los certificados de usuario, puede ser más fácil agregar cada certificado de usuario individualmente como un certificado de confianza, por ejemplo.

    
respondido por el chexum 22.12.2015 - 21:15
fuente
2

DMARC y DKIM se utilizan para el propósito que usted describe. No se necesita infraestructura de CA.

Para DKIM, todo lo que necesita hacer es generar un par de llaves RSA público / privado, publicar la clave pública en el DNS y decirle a su software de firma que use esa clave privada.

El cliente recibirá un correo electrónico con una firma DKIM en el encabezado. Luego utilizará información incrustada para navegar a la entrada del DNS y obtener la clave pública. Y verifica

DKIM es especial porque le permite firmar muchas cuentas de correo electrónico con la misma clave. Alternativamente, puede usar un alcance diferente por usuario y publicar esas claves en DNS.

    
respondido por el random65537 23.12.2015 - 01:33
fuente

Lea otras preguntas en las etiquetas