La perspectiva teórica
Vamos a hacer los cálculos aquí. Hay 26 letras, 10 dígitos y digamos unos 10 caracteres especiales. Para empezar, asumimos que la contraseña es completamente aleatoria (y que no es más probable que se use un carácter en un grupo que un carácter en otro grupo).
El número de contraseñas posibles se puede escribir como C = s^n
donde s
es el tamaño del alfabeto y n
el número de caracteres. La entropía de la contraseña se define como:
log2(C) = log2(s^n) = log2(s)*n
Permite insertar los números de la pregunta en esto:
s n Entropy (bits)
A 52 6 34.2
B 52 10 57.0
C 72 7 43.2
D 26 10 47.0
E 26 5 23.5
En este escenario, C es solo la tercera mejor opción, después de B y D.
La perspectiva práctica
Pero todo esto está bajo el supuesto de aleatoriedad. Esa no es una suposición razonable de cómo las personas generan contraseñas. Los humanos simplemente no lo hacen de esa manera. Así que tendríamos que elegir otras suposiciones sobre cómo se generan las contraseñas y qué orden las intenta el atacante en su diccionario.
Una suposición no irrazonable sería que muchos diccionarios comienzan con palabras, y solo luego pasan a hacer sustituciones y agregar caracteres especiales. En ese caso, un solo carácter especial en una contraseña corta sería mejor que una palabra común realmente larga. Pero, por otro lado, si el atacante sabe que siempre se usa un carácter especial, primero intentará esas contraseñas. Y, por otra parte, tal vez el diccionario esté centrado en principios completamente diferentes (como la aparición en bases de datos filtradas).
Podría seguir especulando para siempre.
Por qué es la pregunta, no las respuestas, lo que está mal
El problema es que hay muchos principios sobre cómo se genera la contraseña para elegir, y arbitrariamente podría elegir uno para que casi cualquier respuesta sea la correcta. Por lo tanto, toda la pregunta no tiene sentido, y solo sirve para ocultar un punto importante que ninguna política de contraseñas en el mundo puede hacer cumplir: No son los caracteres que contiene una contraseña lo que la fortalece, es cómo se genera.
Por ejemplo, Password1!
contiene mayúsculas, minúsculas, un número y un carácter especial. Pero no es muy aleatorio. ewdvjjbok
por otra parte solo contiene minúsculas, pero es mucho mejor, ya que se se genera aleatoriamente .
Lo que deberían haber hecho
Si simplemente dejas de confiar en la memoria humana muy falible y limitada, el conjunto de caracteres y la longitud dejan de ser factores limitantes que debes sopesar unos contra otros. Puedes tener ambos en abundancia.
Una forma de hacer esto es usar un administrador de contraseñas. Como Dan Lowe señaló en los comentarios, esa podría no ser una opción viable en un hospital. Una segunda alternativa es usar algún tipo de autenticación de dos factores (por ejemplo, un token de hardware o una tarjeta de acceso) que haga que la seguridad del primer factor (la contraseña) sea menos importante.
Esto es responsabilidad de los administradores del sistema, y no de los usuarios finales, de implementar. Deben proporcionar las herramientas que permitan a los usuarios finales realizar su trabajo de una manera práctica y segura. Ninguna cantidad de educación del usuario puede cambiar eso.