Creo que la mejor referencia es NIST SP 800-63 Apéndice A , que establece la teoría y los cálculos. El NIST asume que la estrategia defensiva dominante es la entropía, y que las contraseñas con la máxima entropía son las más fuertes. los pajares de la contraseña de Steve Gibson desafían esa suposición y afirman que la longitud es más importante que la complejidad o la entropía (en parte debido a la magia de hashing). Para sus propósitos, creo que es suficiente suponer que la fortaleza de una credencial de autenticación (contraseña / frase de contraseña / etc.) se deriva de la longitud y la entropía.
Una oración es más fuerte porque es más larga. Por supuesto, el texto en inglés es altamente redundante Aproximadamente 1 bit de entropía / carácter , la mayoría de los atacantes no podrán tomar ventaja de esa entropía. He estado fuera de pentesting por cerca de cinco años, pero en el momento en que hice la última prueba, las herramientas de ataque asumieron que la contraseña era más similar a una palabra que a una oración. La longitud de la contraseña para la entropía no es una función lineal por razones que Henning Klevjer ha explicado bastante bien, y el ataque Las herramientas aprovechan esas limitaciones. (IIRC, los problemas que plantea Klevjer pueden resultar en un aumento de 100 veces en la velocidad de descifrado de contraseñas).
Sobre la base de esos supuestos, la oración como frase de contraseña es particularmente fuerte. Como han señalado otros, los investigadores han atacado frases de contraseña, pero no estoy al tanto de ninguna información publicada que los atacantes del mundo real hayan hecho.
Sin embargo, hay una limitación significativa para la frase de contraseña. La parte que confía (el sitio en el que se está autenticando), debe aceptar una frase de contraseña. En mi experiencia personal, una fracción significativa, posiblemente la mayoría de los sitios de autenticación no acepten una oración como frase de contraseña. (Apreciaría a cualquiera que pueda señalarme los números difíciles en esto) Muchas implementaciones de contraseñas rechazan explícitamente contraseñas de más de 16 caracteres, o truncan frases de contraseña más largas a la longitud deseada.
Examinando sus casos de uso a su vez:
1) computadora doméstica: depende de su sistema operativo, pero existen mecanismos de autenticación sin contraseña que son mucho más fuertes y más simples. (fichas biométricas y de hardware, por ejemplo, Yubikey )
2) Cuentas de Internet (correo electrónico, tiendas en línea, redes sociales, ...) - Dudo que pueda usar una frase de contraseña. Muchos, si no la mayoría, no aceptarán una frase de contraseña: su única esperanza es maximizar la entropía de la contraseña que proporciona y evita reutilizar la contraseña
3) Banca por Internet: como anteriormente, es poco probable que acepte una frase de contraseña. Sin embargo, un número cada vez mayor de sitios web acepta la autenticación de dos factores de RSA o Yubikey o teclas de función como el autenticador de google.
4) Almacenar datos altamente sensibles. No estoy seguro de lo que quiere decir aquí. Si está almacenando datos altamente confidenciales, su mejor apuesta es fuera de línea o encriptada. Si está hablando de cifrado real, entonces una oración debe ser más fuerte, si el producto de cifrado lo aceptará. Personalmente, prefiero la autenticación de dos factores aquí y omitir la contraseña.
También tenga en cuenta que la fuerza de la contraseña no tiene sentido si la parte que confía tiene una implementación mental: para ver ejemplos, consulte Sarah Palin Hack o Mat Honan . Su máxima entropía no puede protegerlo contra una parte de confianza negligente. Si hace que la credencial de autenticación sea lo suficientemente fuerte, un atacante objetivo recurrirá a un método alternativo (por supuesto, puede costarle tiempo y disuadir al atacante oportunista). En tales casos, debe prestar atención tanto a la prevención del compromiso como a la detección / recuperación del compromiso. Pero eso está fuera del alcance de su pregunta.
Por favor, no se distraiga del objetivo: si su objetivo real es una autenticación sólida, entonces su mejor opción es usar un federado credencial de identidad con un alto nivel de seguridad, y use una autenticación de dos factores para esa identidad.