Una frase de contraseña es una secuencia de palabras u otro texto que se utiliza para controlar el acceso a un sistema informático , un programa o los datos . Su uso es similar al de una contraseña , pero la frase de contraseña suele ser más larga para mayor seguridad. Las frases de contraseña se utilizan a menudo para controlar tanto el acceso como el funcionamiento de programas y sistemas criptográficos , especialmente aquellos que derivan una clave de cifrado a partir de una frase de contraseña. El origen del término es por analogía con la palabra contraseña . Se cree que el concepto moderno de frases de contraseña fue inventado por Sigmund N. Porter en 1982. [1]
Teniendo en cuenta que la entropía del inglés escrito es inferior a 1,1 bits por carácter, [3] las frases de contraseña pueden ser relativamente débiles. El NIST ha estimado que la frase de contraseña de 23 caracteres "IamtheCapitanofthePina4" contiene una fuerza de 45 bits. La ecuación empleada aquí es: [4]
(Este cálculo no tiene en cuenta que se trata de una cita muy conocida de la opereta HMS Pinafore . Se puede descifrar un hash MD5 de esta frase de contraseña en 4 segundos utilizando crackstation.net, lo que indica que la frase se encuentra en bases de datos de descifrado de contraseñas).
Siguiendo esta guía, para lograr la seguridad de 80 bits recomendada para alta seguridad (no militar) por el NIST , una frase de contraseña debería tener 58 caracteres, asumiendo una composición que incluya mayúsculas y alfanuméricos.
Existe un debate sobre la aplicabilidad de esta ecuación, dependiendo del número de bits de entropía asignados. Por ejemplo, los caracteres de las palabras de cinco letras contienen cada uno 2,3 bits de entropía, lo que significaría que solo se necesita una frase de contraseña de 35 caracteres para lograr una seguridad de 80 bits. [5]
Si las palabras o componentes de una frase de contraseña se pueden encontrar en un diccionario de idiomas (especialmente uno disponible como entrada electrónica para un programa de software), la frase de contraseña se vuelve más vulnerable a los ataques de diccionario . Este es un problema particular si la frase completa se puede encontrar en un libro de citas o compilaciones de frases. Sin embargo, el esfuerzo requerido (en tiempo y costo) puede volverse impracticablemente alto si hay suficientes palabras en la frase de contraseña y si se eligen y ordenan aleatoriamente en la frase de contraseña. La cantidad de combinaciones que tendrían que probarse bajo condiciones suficientes hace que un ataque de diccionario sea tan difícil que sea inviable. Estas son condiciones difíciles de cumplir, y seleccionar al menos una palabra que no se pueda encontrar en ningún diccionario aumenta significativamente la fortaleza de la frase de contraseña.
Si las contraseñas son elegidas por humanos, generalmente están sesgadas por la frecuencia de palabras particulares en el lenguaje natural. En el caso de frases de cuatro palabras, la entropía real rara vez supera los 30 bits. Por otro lado, las contraseñas seleccionadas por el usuario tienden a ser mucho más débiles que eso, y alentar a los usuarios a usar incluso contraseñas de dos palabras puede ser capaz de aumentar la entropía de menos de 10 bits a más de 20 bits. [6]
Por ejemplo, el estándar de criptografía OpenPGP, ampliamente utilizado, exige que el usuario cree una frase de contraseña que debe introducir cada vez que descifre o firme mensajes. Los servicios de Internet como Hushmail ofrecen servicios gratuitos de correo electrónico cifrado o de intercambio de archivos, pero la seguridad que ofrecen depende casi por completo de la calidad de la frase de contraseña elegida.
Las frases de contraseña difieren de las contraseñas. Una contraseña suele ser corta (de seis a diez caracteres). Estas contraseñas pueden ser adecuadas para diversas aplicaciones si se cambian con frecuencia, se eligen siguiendo una política adecuada, no se encuentran en diccionarios, son suficientemente aleatorias o el sistema impide que se las adivine en línea, etc. [ cita requerida ] , como por ejemplo:
Pero las contraseñas normalmente no son seguras para usarlas como claves para sistemas de seguridad independientes, como sistemas de cifrado que exponen datos para permitir que un atacante adivine la contraseña sin conexión. [7] Las frases de contraseña son teóricamente más fuertes, por lo que deberían ser una mejor opción en estos casos. En primer lugar, suelen ser y siempre deberían ser mucho más largas (20 a 30 caracteres o más es lo típico), lo que hace que algunos tipos de ataques de fuerza bruta sean totalmente imprácticos. En segundo lugar, si se eligen bien, no se encontrarán en ningún diccionario de frases o citas, por lo que tales ataques de diccionario serán casi imposibles. En tercer lugar, se pueden estructurar para que sean más fáciles de recordar que las contraseñas sin necesidad de escribirlas, lo que reduce el riesgo de robo de copias impresas. Sin embargo, si una frase de contraseña no está protegida adecuadamente por el autenticador y se revela la frase de contraseña en texto claro, su uso no es mejor que el de otras contraseñas. Por este motivo, se recomienda que las frases de contraseña no se reutilicen en sitios y servicios diferentes o únicos.
En 2012, dos investigadores de la Universidad de Cambridge analizaron las frases de contraseña del sistema Amazon PayPhrase y descubrieron que un porcentaje significativo son fáciles de adivinar debido a referencias culturales comunes, como nombres de películas y equipos deportivos, lo que pierde gran parte del potencial del uso de contraseñas largas. [8]
Cuando se utiliza en criptografía, normalmente la frase de contraseña protege una clave larga generada por máquina , y la clave protege los datos. La clave es tan larga que es imposible realizar un ataque de fuerza bruta directamente sobre los datos. Se utiliza una función de derivación de clave , que implica miles de iteraciones ( con sal y hash), para ralentizar los ataques de descifrado de contraseñas .
Los consejos típicos sobre la elección de una frase de contraseña incluyen sugerencias de que debería ser: [9]
Un método para crear una frase de contraseña segura es usar dados para seleccionar palabras al azar de una larga lista, una técnica a la que a menudo se hace referencia como diceware . Si bien una colección de palabras de este tipo puede parecer que viola la regla de "no de ningún diccionario", la seguridad se basa completamente en la gran cantidad de formas posibles de elegir de la lista de palabras y no en ningún secreto sobre las palabras en sí. Por ejemplo, si hay 7776 palabras en la lista y se eligen seis palabras al azar, entonces hay 7776 6 = 221 073 919 720 733 357 899 776 combinaciones, lo que proporciona aproximadamente 78 bits de entropía . (El número 7776 se eligió para permitir que se seleccionaran palabras lanzando cinco dados. 7776 = 6 5 ) Las secuencias de palabras aleatorias pueden luego memorizarse utilizando técnicas como el palacio de la memoria .
Otra es elegir dos frases, convertir una en un acrónimo e incluirla en la segunda, creando así la frase de contraseña final. Por ejemplo, utilizando dos ejercicios de mecanografía en inglés, tenemos lo siguiente. El rápido zorro marrón salta sobre el perro perezoso , se convierte en tqbfjotld . Incluirlo en Ahora es el momento de que todos los buenos hombres acudan en ayuda de su país , podría producir Ahora es el momento de que todos los buenos tqbfjotld acudan en ayuda de su país como frase de contraseña.
Hay varios puntos a tener en cuenta aquí, todos relacionados con por qué esta frase de contraseña de ejemplo no es buena.
Las preguntas frecuentes sobre frases de contraseña de PGP [10] sugieren un procedimiento que intenta lograr un mejor equilibrio entre la seguridad teórica y la practicidad que este ejemplo. Todos los procedimientos para elegir una frase de contraseña implican un equilibrio entre la seguridad y la facilidad de uso; la seguridad debe ser al menos "adecuada" y no "demasiado" molesta para los usuarios. Ambos criterios deben evaluarse para que se adapten a situaciones particulares.
Otro enfoque complementario para frustrar los ataques de fuerza bruta es derivar la clave de la frase de contraseña utilizando una función hash deliberadamente lenta , como PBKDF2 , como se describe en RFC 2898.
Si no se necesita compatibilidad con versiones anteriores de Microsoft LAN Manager , en las versiones de Windows NT (incluidos Windows 2000 , Windows XP y posteriores), se puede utilizar una frase de contraseña como sustituto de una contraseña de Windows. Si la frase de contraseña tiene más de 14 caracteres, esto también evitará la generación de un hash LM muy débil .
En versiones recientes de sistemas operativos tipo Unix como Linux , OpenBSD , NetBSD , Solaris y FreeBSD , se pueden utilizar frases de contraseña de hasta 255 caracteres. [ cita requerida ]