S / MIME no está basado en contraseña.
(De hecho, es teóricamente posible hacer un cifrado de correos electrónicos con contraseña utilizando el formato S / MIME, que se basa en CMS , que admite el cifrado basado en contraseña , pero dudo mucho que exista un software de correo electrónico por ahí que puede procesar eso, y mucho menos producirlo. En la práctica, sin contraseña.)
S / MIME se basa en certificados X.509 : el destinatario tiene un par de clave pública / privada; la clave pública se hace pública (como su nombre lo indica) como parte de un certificado X.509; el remitente utiliza el certificado para conocer (con alguna garantía de propiedad) la clave pública del destinatario; el remitente cifra el correo electrónico con la clave pública del destinatario; el destinatario utiliza su clave privada para descifrar el correo electrónico. Eso es para el cifrado. Para las firmas, ocurre un proceso similar, esta vez con la propia clave privada del remitente (para generar la firma) y la clave pública (el destinatario la usa para verificar la firma).
Si hay contraseñas involucradas, entonces esto será indirectamente, para almacenamiento de claves privadas . Las claves privadas están donde está el poder. La clave privada del usuario es lo que le permite descifrar correos electrónicos entrantes y firmar correos electrónicos salientes. Robar la clave privada de un usuario significa robar su poder. Así que las claves privadas deben estar bien protegidas. En todo el sistema S / MIME, las claves privadas no viajan, pero sabemos que los archivos en una máquina determinada a veces pueden ser saqueados (el malware lo hace), por lo que lo preferimos cuando hay alguna capa adicional de protección como, por ejemplo, un cifrado basado en contraseña.
En ese sentido, la contraseña sola no le da mucho al atacante; todavía debe acceder al espacio de almacenamiento real de la clave privada para recuperar la clave privada, que es su verdadero objetivo. En ese punto, las cosas varían mucho dependiendo de la situación. Por ejemplo, en un mundo Active Directory , cuando las máquinas de los usuarios forman parte de un dominio, se conoce la contraseña de un usuario. y hablar con el servidor de AD es suficiente para recuperar el perfil de roaming del usuario, que contiene sus claves privadas. Además, dado que un administrador de dominio puede, en el servidor de AD, restablecer la contraseña de cualquier usuario, entonces se deduce que obtener los privilegios de administrador en ese servidor de AD es también suficiente para recuperar las claves privadas del usuario, incluso sin saber la contraseña real del usuario.
Un punto adicional sobre S / MIME y el cifrado en una configuración empresarial: es de suponer que los correos electrónicos cifrados son para empresas, por lo que contienen datos comerciales. En consecuencia, perder el acceso a una clave privada implica perder los datos. Esto sucede, por ejemplo, si un usuario se vuelve "no disponible" (fue despedido, fue atropellado por un autobús, comió malas almejas ...). El empleado que lo reemplaza debe poder leer los correos electrónicos almacenados de su predecesor, y esto requiere algún tipo de sistema de custodia. El hecho de que un administrador de dominio pueda restablecer la contraseña de un usuario y recuperar sus claves privadas no es, por lo tanto, una debilidad ; es una característica necesaria . Sin embargo, cualquier sistema de custodia de claves como este puede convertirse en una ruta de entrada adicional para un atacante.