Claro. Requerir más métodos de autenticación (también conocido como autenticación de 2 factores, aunque normalmente uno de los factores es un código generado aleatoriamente que se envía a su correo electrónico / teléfono) en principio lo hace mucho más seguro. Debe considerar que es más una molestia para los usuarios, que puede desencadenar los mecanismos de restablecimiento de la cuenta con más frecuencia y puede hacer que los usuarios abandonen su servicio o se molesten considerablemente. Es decir, puede considerar hacer esto si está operando un banco, pero no necesariamente implementar esto si está autenticando la escritura en un blog.
La administración de certificados X509 no es una tarea común en el navegador y estos certificados a menudo caducan, son difíciles / molestos de transferir entre navegadores / computadoras, por lo que pueden llevar a una mala experiencia de usuario. Por ejemplo, no me gusta cómo startssl.com (que puede usar para obtener certificados SSL gratuitos para sitios web) utiliza certificados de navegador para autenticar a los usuarios; a menudo he actualizado mi distro en los últimos seis meses y no pensé en migrar mi Certificados antiguos, o incluso si los certificados del navegador normalmente caducan en una escala de tiempo similar a la de los certificados SSL, entonces tengo que crear una nueva cuenta de todos modos. También me disgusta la forma en que mi cooperativa de crédito me obliga a crear y hacer clic en un marcador cada vez que inicie sesión (use el nombre de usuario / contraseña + clic en un marcador único para una computadora que nunca funciona, ya que nunca encuentro la correcta o generar un nuevo marcador a través de token al teléfono en el que tengo que hacer clic antes de poder iniciar sesión); de hecho, saqué la mayor parte de mi dinero de esa cooperativa de crédito en gran parte para el paso de marcador en el procedimiento de inicio de sesión.
EDITAR: interpreté tu respuesta diferente a Thomas. Creo que su sistema se requiere después de configurar la cuenta, para que tenga ambos un certificado X509, así como su nombre de usuario y contraseña. Si quiso decir que puede iniciar sesión de cualquier manera, (solo con el certificado o solo con el nombre de usuario / contraseña), Thomas tiene razón, es tan débil como el enlace más débil.
EDIT2: para su ejemplo actualizado, veo poca o ninguna mejora en la seguridad con solo usar un token de sesión generado por el servidor para administrar sesiones y tener sesiones de larga duración que usan cookies seguras de solo http.
¿Puede explicar cuál es el beneficio que está tratando de lograr? ¿Es simplemente la facilidad del usuario en futuros intentos de inicio de sesión?
¿Cómo manejará su esquema a los usuarios que cambian sus certificados X509? Digamos que un usuario inicia sesión desde la computadora 1 con el Certificado 1. ¿Puede el usuario iniciar sesión más tarde desde la computadora 2 con el Certificado 2? ¿Podría un atacante que obtiene un nombre de usuario y contraseña de U, crear un certificado falso y luego iniciar sesión como U? ¿Puede alguien que tenga acceso temporal al navegador de un usuario exportar de forma trivial sus certificados de navegador guardados? (Sin pasar por la molestia de instalar keyloggers, etc).
Solo obtiene seguridad reforzada cuando siempre requiere ambos factores. Cuando el compromiso de cualquiera de los dos factores puede pasar por alto el otro factor, tiene una seguridad más débil.