Una contraseña , a veces llamada código de acceso , es un dato secreto, típicamente una cadena de caracteres, que se usa habitualmente para confirmar la identidad de un usuario. Tradicionalmente, se esperaba que las contraseñas se memorizaran , [1] pero la gran cantidad de servicios protegidos por contraseña a los que accede un individuo típico puede hacer que la memorización de contraseñas únicas para cada servicio sea poco práctica. [2] Usando la terminología de las Pautas de Identidad Digital del NIST, [3] el secreto lo guarda una parte llamada el reclamante mientras que la parte que verifica la identidad del reclamante se llama el verificador . Cuando el reclamante demuestra con éxito el conocimiento de la contraseña al verificador a través de un protocolo de autenticación establecido , [4] el verificador puede inferir la identidad del reclamante.
En general, una contraseña es una cadena arbitraria de caracteres que incluye letras, dígitos u otros símbolos. Si se limitan los caracteres permitidos a números, el secreto correspondiente se denomina a veces número de identificación personal (PIN).
A pesar de su nombre, una contraseña no tiene por qué ser necesariamente una palabra; de hecho, una palabra que no sea una palabra (en el sentido del diccionario) puede ser más difícil de adivinar, lo que es una propiedad deseable de las contraseñas. Un secreto memorizado que consiste en una secuencia de palabras u otro texto separado por espacios a veces se denomina frase de contraseña . Una frase de contraseña es similar a una contraseña en su uso, pero la primera suele ser más larga para mayor seguridad. [5]
Las contraseñas se han utilizado desde la antigüedad. Los centinelas pedían a quienes querían entrar en una zona que proporcionaran una contraseña o contraseña , y solo permitían el paso a una persona o grupo que conociera la contraseña. Polibio describe el sistema de distribución de contraseñas en el ejército romano de la siguiente manera:
El modo en que se asegura el paso de la consigna para la noche es el siguiente: del décimo manípulo de cada clase de infantería y caballería, el que está acampado en el extremo inferior de la calle, se elige un hombre que es relevado de la guardia, y se presenta todos los días al atardecer en la tienda del tribuno , y recibiendo de él la consigna, es decir, una placa de madera con la palabra inscrita en ella, se despide y, al regresar a su cuartel, pasa la consigna y la placa ante testigos al comandante del siguiente manípulo, quien a su vez la pasa al que está a su lado. Todos hacen lo mismo hasta que llega a los primeros manípulos, los que están acampados cerca de las tiendas de los tribunos. Estos últimos están obligados a entregar la placa a los tribunos antes del anochecer. De modo que si todos los enviados regresan, el tribuno sabe que la consigna ha sido entregada a todos los manípulos y ha pasado por todos en su camino de regreso a él. Si falta alguna de ellas, investiga inmediatamente, pues sabe por las marcas de qué parte no ha vuelto la tablilla, y quien sea responsable de la interrupción recibe el castigo que merece. [6]
Las contraseñas en el uso militar evolucionaron para incluir no solo una contraseña, sino una contraseña y una contracontraseña; por ejemplo, en los primeros días de la Batalla de Normandía , los paracaidistas de la 101.ª División Aerotransportada de los EE. UU. usaron una contraseña, flash , que se presentaba como un desafío y se respondía con la respuesta correcta, thunder . El desafío y la respuesta se cambiaban cada tres días. Los paracaidistas estadounidenses también utilizaron un dispositivo conocido como "cricket" en el Día D en lugar de un sistema de contraseña como un método de identificación temporal único; un clic metálico dado por el dispositivo en lugar de una contraseña debía ser correspondido con dos clics en respuesta. [7]
Las contraseñas se han utilizado en los ordenadores desde los primeros días de la informática. El Compatible Time-Sharing System (CTSS), un sistema operativo introducido en el MIT en 1961, fue el primer sistema informático en implementar el inicio de sesión con contraseña. [8] [9] El CTSS tenía un comando LOGIN que solicitaba una contraseña de usuario. "Después de escribir PASSWORD, el sistema apaga el mecanismo de impresión, si es posible, para que el usuario pueda escribir su contraseña con privacidad". [10] A principios de la década de 1970, Robert Morris desarrolló un sistema de almacenamiento de contraseñas de inicio de sesión en forma de hash como parte del sistema operativo Unix . El sistema se basaba en una máquina criptográfica de rotor Hagelin simulada y apareció por primera vez en la sexta edición de Unix en 1974. Una versión posterior de su algoritmo, conocida como crypt(3) , utilizaba una sal de 12 bits e invocaba una forma modificada del algoritmo DES 25 veces para reducir el riesgo de ataques de diccionario precalculados . [11]
En la actualidad, los nombres de usuario y las contraseñas son de uso común por parte de las personas durante un proceso de inicio de sesión que controla el acceso a sistemas operativos de computadoras protegidos , teléfonos móviles , decodificadores de televisión por cable , cajeros automáticos (ATM), etc. Un usuario de computadora típico tiene contraseñas para muchos propósitos: iniciar sesión en cuentas, recuperar correo electrónico , acceder a aplicaciones, bases de datos, redes, sitios web e incluso leer el periódico matutino en línea.
Cuanto más fácil sea recordar una contraseña para el propietario, generalmente significa que será más fácil para un atacante adivinarla. [12] Sin embargo, las contraseñas que son difíciles de recordar también pueden reducir la seguridad de un sistema porque (a) los usuarios pueden necesitar escribir o almacenar electrónicamente la contraseña, (b) los usuarios necesitarán restablecer la contraseña con frecuencia y (c) los usuarios tienen más probabilidades de reutilizar la misma contraseña en diferentes cuentas. De manera similar, cuanto más estrictos sean los requisitos de la contraseña, como "tener una mezcla de letras mayúsculas y minúsculas y dígitos" o "cambiarla mensualmente", mayor será el grado en que los usuarios subvertirán el sistema. [13] Otros argumentan que las contraseñas más largas brindan más seguridad (por ejemplo, entropía ) que las contraseñas más cortas con una amplia variedad de caracteres. [14]
En The Memorability and Security of Passwords [15] , Jeff Yan et al. examinan el efecto de los consejos que se dan a los usuarios sobre una buena elección de contraseña. Descubrieron que las contraseñas basadas en pensar en una frase y tomar la primera letra de cada palabra son tan memorables como las contraseñas elegidas ingenuamente y tan difíciles de descifrar como las contraseñas generadas aleatoriamente.
Combinar dos o más palabras no relacionadas y cambiar algunas de las letras por caracteres especiales o números es otro buen método, [16] pero una sola palabra del diccionario no lo es. Tener un algoritmo diseñado personalmente para generar contraseñas poco claras es otro buen método. [17]
Sin embargo, pedir a los usuarios que recuerden una contraseña que consiste en una "mezcla de caracteres en mayúsculas y minúsculas" es similar a pedirles que recuerden una secuencia de bits: difícil de recordar, y sólo un poco más difícil de descifrar (por ejemplo, sólo 128 veces más difícil de descifrar para contraseñas de 7 letras, menos si el usuario simplemente escribe en mayúscula una de las letras). Pedir a los usuarios que utilicen "tanto letras como dígitos" a menudo dará lugar a sustituciones fáciles de adivinar como 'E' → '3' e 'I' → '1', sustituciones que son bien conocidas por los atacantes. De manera similar, escribir la contraseña una fila más arriba en el teclado es un truco común conocido por los atacantes. [18]
En 2013, Google publicó una lista de los tipos de contraseñas más comunes, todas ellas consideradas inseguras porque son demasiado fáciles de adivinar (especialmente después de investigar a una persona en las redes sociales), que incluye: [19]
El consejo tradicional de memorizar las contraseñas y nunca escribirlas se ha convertido en un desafío debido a la gran cantidad de contraseñas que se espera que mantengan los usuarios de computadoras e Internet. Una encuesta concluyó que el usuario promedio tiene alrededor de 100 contraseñas. [2] Para gestionar la proliferación de contraseñas, algunos usuarios emplean la misma contraseña para varias cuentas, una práctica peligrosa ya que una filtración de datos en una cuenta podría comprometer el resto. Las alternativas menos riesgosas incluyen el uso de administradores de contraseñas , sistemas de inicio de sesión único y simplemente mantener listas en papel de contraseñas menos críticas. [20] Tales prácticas pueden reducir la cantidad de contraseñas que se deben memorizar, como la contraseña maestra del administrador de contraseñas, a un número más manejable.
La seguridad de un sistema protegido por contraseña depende de varios factores. El sistema en su conjunto debe estar diseñado para ofrecer una seguridad sólida, con protección contra virus informáticos , ataques de intermediarios y similares. Las cuestiones de seguridad física también son una preocupación, desde impedir que se espíe a los demás hasta amenazas físicas más sofisticadas, como cámaras de vídeo y rastreadores de teclado. Las contraseñas deben elegirse de forma que sean difíciles de adivinar para un atacante y difíciles de descubrir mediante cualquiera de los esquemas de ataque automáticos disponibles. Consulte la fortaleza de las contraseñas y la seguridad informática para obtener más información. [21]
En la actualidad, es una práctica habitual que los sistemas informáticos oculten las contraseñas a medida que se escriben. El objetivo de esta medida es evitar que personas ajenas puedan leer la contraseña; sin embargo, algunos sostienen que esta práctica puede provocar errores y estrés, lo que anima a los usuarios a elegir contraseñas débiles. Como alternativa, los usuarios deberían tener la opción de mostrar u ocultar las contraseñas a medida que las escriben. [21]
Las disposiciones de control de acceso eficaz pueden obligar a los delincuentes a tomar medidas extremas que intenten adquirir una contraseña o un token biométrico. [22] Las medidas menos extremas incluyen la extorsión , el criptoanálisis con manguera de goma y el ataque de canal lateral .
A continuación se presentan algunos aspectos específicos de la gestión de contraseñas que se deben tener en cuenta al pensar, elegir y gestionar una contraseña.
La velocidad a la que un atacante puede enviar contraseñas adivinadas al sistema es un factor clave para determinar la seguridad del sistema. Algunos sistemas imponen un tiempo de espera de varios segundos después de un pequeño número (por ejemplo, tres) de intentos fallidos de ingreso de contraseña, también conocido como limitación. [3] : 63B Sec 5.2.2 En ausencia de otras vulnerabilidades, dichos sistemas pueden protegerse eficazmente con contraseñas relativamente simples si se han elegido bien y no se adivinan fácilmente. [23]
Muchos sistemas almacenan un hash criptográfico de la contraseña. Si un atacante obtiene acceso al archivo de contraseñas cifradas, puede adivinarlas sin conexión, y comparar rápidamente las contraseñas candidatas con el valor hash de la contraseña verdadera. En el ejemplo de un servidor web, un atacante en línea puede adivinar solo a la velocidad a la que responde el servidor, mientras que un atacante fuera de línea (que obtiene acceso al archivo) puede adivinar a una velocidad limitada solo por el hardware en el que se ejecuta el ataque y la fuerza del algoritmo utilizado para crear el hash.
Las contraseñas que se utilizan para generar claves criptográficas (por ejemplo, para el cifrado de discos o la seguridad de Wi-Fi ) también pueden ser objeto de una alta tasa de adivinación. Las listas de contraseñas comunes están ampliamente disponibles y pueden hacer que los ataques de contraseñas sean muy eficientes. (Véase Descifrado de contraseñas ). La seguridad en tales situaciones depende del uso de contraseñas o frases de contraseña de la complejidad adecuada, lo que hace que un ataque de este tipo sea computacionalmente inviable para el atacante. Algunos sistemas, como PGP y Wi-Fi WPA , aplican un hash de cálculo intensivo a la contraseña para ralentizar tales ataques. Véase estiramiento de claves .
Una alternativa para limitar la velocidad a la que un atacante puede adivinar una contraseña es limitar el número total de adivinanzas que se pueden hacer. La contraseña se puede desactivar, lo que requiere un restablecimiento, después de un pequeño número de adivinanzas incorrectas consecutivas (por ejemplo, 5); y se puede requerir que el usuario cambie la contraseña después de un número acumulado mayor de adivinanzas incorrectas (por ejemplo, 30), para evitar que un atacante haga una cantidad arbitrariamente grande de adivinanzas incorrectas intercalándolas entre las adivinanzas correctas hechas por el propietario legítimo de la contraseña. [24] Los atacantes pueden, por el contrario, utilizar el conocimiento de esta mitigación para implementar un ataque de denegación de servicio contra el usuario al bloquear intencionalmente al usuario fuera de su propio dispositivo; esta denegación de servicio puede abrir otras vías para que el atacante manipule la situación en su beneficio a través de la ingeniería social .
Algunos sistemas informáticos almacenan las contraseñas de los usuarios en texto sin formato , con el que se pueden comparar los intentos de inicio de sesión de los usuarios. Si un atacante obtiene acceso a dicho almacén interno de contraseñas, todas las contraseñas (y, por lo tanto, todas las cuentas de usuario) se verán comprometidas. Si algunos usuarios utilizan la misma contraseña para cuentas en diferentes sistemas, estas también se verán comprometidas.
Los sistemas más seguros almacenan cada contraseña en una forma protegida criptográficamente, por lo que el acceso a la contraseña real seguirá siendo difícil para un espía que obtenga acceso interno al sistema, mientras que la validación de los intentos de acceso del usuario sigue siendo posible. Los más seguros no almacenan contraseñas en absoluto, sino una derivación unidireccional, como un polinomio , un módulo o una función hash avanzada . [14] Roger Needham inventó el enfoque ahora común de almacenar solo una forma "hash" de la contraseña de texto simple. [25] [26] Cuando un usuario escribe una contraseña en un sistema de este tipo, el software de manejo de contraseñas ejecuta un algoritmo hash criptográfico y, si el valor hash generado a partir de la entrada del usuario coincide con el hash almacenado en la base de datos de contraseñas, se le permite el acceso al usuario. El valor hash se crea aplicando una función hash criptográfica a una cadena que consiste en la contraseña enviada y, en muchas implementaciones, otro valor conocido como sal . Una sal evita que los atacantes creen fácilmente una lista de valores hash para contraseñas comunes y evita que los esfuerzos de descifrado de contraseñas se extiendan a todos los usuarios. [27] MD5 y SHA1 son funciones hash criptográficas de uso frecuente, pero no se recomiendan para el hash de contraseñas a menos que se utilicen como parte de una construcción más grande, como en PBKDF2 . [28]
Los datos almacenados, a veces llamados "verificador de contraseña" o "hash de contraseña", a menudo se almacenan en formato de cifrado modular o formato hash RFC 2307, a veces en el archivo /etc/passwd o en el archivo /etc/shadow . [29]
Los principales métodos de almacenamiento de contraseñas son texto simple, hash, hash y salt, y cifrado reversible. [30] Si un atacante obtiene acceso al archivo de contraseñas, entonces si está almacenado como texto simple, no es necesario descifrarlo. Si está hash pero no salteado, entonces es vulnerable a ataques de tabla arco iris (que son más eficientes que el descifrado). Si está cifrado reversiblemente, entonces si el atacante obtiene la clave de descifrado junto con el archivo no es necesario descifrarlo, mientras que si no logra obtener la clave, el descifrado no es posible. Por lo tanto, de los formatos de almacenamiento comunes para contraseñas, solo cuando las contraseñas han sido salteadas y hasheadas es necesario y posible descifrarlas. [30]
Si una función hash criptográfica está bien diseñada, es computacionalmente inviable invertir la función para recuperar una contraseña de texto simple . Sin embargo, un atacante puede usar herramientas ampliamente disponibles para intentar adivinar las contraseñas. Estas herramientas funcionan haciendo hashes de posibles contraseñas y comparando el resultado de cada intento con los hashes de contraseñas reales. Si el atacante encuentra una coincidencia, sabe que su intento es la contraseña real para el usuario asociado. Las herramientas de descifrado de contraseñas pueden operar por fuerza bruta (es decir, probando cada combinación posible de caracteres) o haciendo hashes de cada palabra de una lista; grandes listas de posibles contraseñas en muchos idiomas están ampliamente disponibles en Internet. [14] La existencia de herramientas de descifrado de contraseñas permite a los atacantes recuperar fácilmente contraseñas mal elegidas. En particular, los atacantes pueden recuperar rápidamente contraseñas que son cortas, palabras del diccionario, variaciones simples de palabras del diccionario o que usan patrones fácilmente adivinables. [31] Una versión modificada del algoritmo DES se utilizó como base para el algoritmo de hashes de contraseñas en los primeros sistemas Unix . [32] El algoritmo crypt utilizó un valor de sal de 12 bits para que el hash de cada usuario fuera único e iteró el algoritmo DES 25 veces para hacer que la función hash fuera más lenta, ambas medidas destinadas a frustrar los ataques de adivinación automática. [32] La contraseña del usuario se utilizó como clave para cifrar un valor fijo. Los sistemas Unix o similares a Unix más recientes (por ejemplo, Linux o los diversos sistemas BSD ) utilizan algoritmos de hash de contraseñas más seguros, como PBKDF2 , bcrypt y scrypt , que tienen sales grandes y un costo o número de iteraciones ajustable. [33] Una función hash mal diseñada puede hacer que los ataques sean factibles incluso si se elige una contraseña segura. Consulte LM hash para ver un ejemplo ampliamente implementado e inseguro. [34]
Las contraseñas son vulnerables a la interceptación (es decir, al "espionaje") mientras se transmiten a la máquina o persona que realiza la autenticación. Si la contraseña se transmite como señales eléctricas a través de un cableado físico no seguro entre el punto de acceso del usuario y el sistema central que controla la base de datos de contraseñas, está sujeta a espionaje mediante métodos de escuchas telefónicas . Si se transmite como datos en paquetes a través de Internet, cualquiera que pueda ver los paquetes que contienen la información de inicio de sesión puede espiar con una probabilidad muy baja de detección.
El correo electrónico se utiliza a veces para distribuir contraseñas, pero por lo general se trata de un método inseguro. Dado que la mayoría de los correos electrónicos se envían como texto sin formato , cualquier espía puede leer sin esfuerzo un mensaje que contenga una contraseña durante su transporte. Además, el mensaje se almacenará como texto sin formato en al menos dos computadoras: la del remitente y la del destinatario. Si pasa por sistemas intermedios durante su viaje, probablemente también se almacenará allí, al menos durante algún tiempo, y puede copiarse en archivos de respaldo , caché o historial en cualquiera de estos sistemas.
El uso de cifrado del lado del cliente solo protegerá la transmisión desde el servidor del sistema de gestión de correo a la máquina del cliente. Las retransmisiones anteriores o posteriores del correo electrónico no estarán protegidas y el correo electrónico probablemente se almacenará en varias computadoras, sobre todo en la computadora de origen y la de destino, la mayoría de las veces en texto sin cifrar.
El riesgo de interceptación de contraseñas enviadas a través de Internet se puede reducir, entre otras cosas, mediante el uso de protección criptográfica . La más utilizada es la función Transport Layer Security (TLS, anteriormente llamada SSL ) integrada en la mayoría de los navegadores de Internet actuales . La mayoría de los navegadores alertan al usuario de un intercambio protegido por TLS/SSL con un servidor mostrando un icono de candado cerrado, o algún otro signo, cuando TLS está en uso. Hay otras técnicas en uso; consulte criptografía .
Existe un conflicto entre las contraseñas almacenadas en hash y la autenticación de desafío-respuesta basada en hash ; esta última requiere que un cliente demuestre a un servidor que sabe cuál es el secreto compartido (es decir, la contraseña) y, para ello, el servidor debe poder obtener el secreto compartido de su forma almacenada. En muchos sistemas (incluidos los sistemas de tipo Unix ) que realizan autenticación remota, el secreto compartido generalmente se convierte en la forma en hash y tiene la grave limitación de exponer las contraseñas a ataques de adivinación fuera de línea. Además, cuando el hash se usa como un secreto compartido, un atacante no necesita la contraseña original para autenticarse de forma remota; solo necesita el hash.
En lugar de transmitir una contraseña o transmitir el hash de la contraseña, los sistemas de acuerdo de clave autenticados por contraseña pueden realizar una prueba de contraseña de conocimiento cero , que demuestra el conocimiento de la contraseña sin exponerla.
Yendo un paso más allá, los sistemas ampliados para el acuerdo de claves autenticado por contraseña (por ejemplo, AMP, B-SPEKE , PAK-Z, SRP-6 ) evitan tanto el conflicto como la limitación de los métodos basados en hash. Un sistema ampliado permite que un cliente demuestre que conoce la contraseña a un servidor, donde el servidor solo conoce una contraseña (no exactamente) en hash, y donde la contraseña sin hash es necesaria para obtener acceso.
Por lo general, un sistema debe proporcionar una forma de cambiar una contraseña, ya sea porque un usuario cree que la contraseña actual ha sido (o podría haber sido) comprometida, o como medida de precaución. Si se pasa una nueva contraseña al sistema en forma no cifrada, se puede perder la seguridad (por ejemplo, mediante escuchas telefónicas ) antes de que la nueva contraseña pueda incluso instalarse en la base de datos de contraseñas y si la nueva contraseña se proporciona a un empleado comprometido, no se gana mucho. Algunos sitios web incluyen la contraseña seleccionada por el usuario en un mensaje de correo electrónico de confirmación no cifrado , con la evidente mayor vulnerabilidad.
Los sistemas de gestión de identidad se utilizan cada vez más para automatizar la emisión de reemplazos de contraseñas perdidas, una función llamada restablecimiento de contraseña por cuenta propia . La identidad del usuario se verifica mediante la formulación de preguntas y la comparación de las respuestas con las que se habían almacenado previamente (es decir, cuando se abrió la cuenta).
Algunas preguntas para restablecer contraseñas solicitan información personal que podría encontrarse en las redes sociales, como el apellido de soltera de la madre. Por ello, algunos expertos en seguridad recomiendan inventar preguntas propias o dar respuestas falsas. [35]
El "envejecimiento de contraseñas" es una característica de algunos sistemas operativos que obliga a los usuarios a cambiar las contraseñas con frecuencia (por ejemplo, trimestralmente, mensualmente o incluso con mayor frecuencia). Estas políticas suelen provocar protestas y demoras por parte de los usuarios en el mejor de los casos y hostilidad en el peor. A menudo aumenta el número de personas que anotan la contraseña y la dejan en un lugar donde se pueda encontrar fácilmente, así como las llamadas al servicio de asistencia para restablecer una contraseña olvidada. Los usuarios pueden utilizar contraseñas más simples o desarrollar patrones de variación sobre un tema consistente para mantener sus contraseñas memorables. [36] Debido a estos problemas, existe cierto debate sobre si el envejecimiento de contraseñas es efectivo. [37] Cambiar una contraseña no evitará el abuso en la mayoría de los casos, ya que el abuso a menudo se notaría de inmediato. Sin embargo, si alguien puede haber tenido acceso a la contraseña a través de algún medio, como compartir una computadora o violar un sitio diferente, cambiar la contraseña limita la ventana de abuso. [38]
Desde el punto de vista de la seguridad, es preferible asignar contraseñas independientes a cada usuario de un sistema que tener una única contraseña compartida por los usuarios legítimos del sistema. Esto se debe, en parte, a que los usuarios están más dispuestos a comunicar a otra persona (que puede no estar autorizada) una contraseña compartida que una que sea exclusivamente para su uso. Las contraseñas únicas también son mucho menos cómodas de cambiar porque es necesario comunicarlas a muchas personas al mismo tiempo y dificultan la eliminación del acceso de un usuario en particular, como por ejemplo en caso de graduación o renuncia. También se suelen utilizar inicios de sesión independientes para la rendición de cuentas, por ejemplo, para saber quién modificó un dato.
Las técnicas comunes utilizadas para mejorar la seguridad de los sistemas informáticos protegidos por una contraseña incluyen:
Algunas de las medidas de aplicación de políticas más estrictas pueden suponer el riesgo de alienar a los usuarios, lo que posiblemente reduzca la seguridad como resultado.
Es una práctica común entre los usuarios de computadoras reutilizar la misma contraseña en varios sitios. Esto presenta un riesgo de seguridad sustancial, porque un atacante solo necesita comprometer un solo sitio para obtener acceso a otros sitios que usa la víctima. Este problema se ve agravado por la reutilización de nombres de usuario y por los sitios web que requieren inicios de sesión por correo electrónico, ya que le facilita a un atacante rastrear a un solo usuario en varios sitios. La reutilización de contraseñas se puede evitar o minimizar utilizando técnicas mnemotécnicas , escribiendo las contraseñas en un papel o utilizando un administrador de contraseñas . [43]
Los investigadores de Redmond Dinei Florencio y Cormac Herley, junto con Paul C. van Oorschot de la Universidad de Carleton, Canadá, han sostenido que la reutilización de contraseñas es inevitable y que los usuarios deberían reutilizar las contraseñas para sitios web de baja seguridad (que contienen pocos datos personales y ninguna información financiera, por ejemplo) y, en su lugar, centrar sus esfuerzos en recordar contraseñas largas y complejas para unas pocas cuentas importantes, como las cuentas bancarias. [44] Forbes presentó argumentos similares al no cambiar las contraseñas con tanta frecuencia como muchos "expertos" aconsejan, debido a las mismas limitaciones de la memoria humana. [36]
Históricamente, muchos expertos en seguridad pedían a la gente que memorizara sus contraseñas: "Nunca escribas una contraseña". Más recientemente, muchos expertos en seguridad como Bruce Schneier recomiendan que las personas utilicen contraseñas que sean demasiado complicadas de memorizar, las escriban en un papel y las guarden en una billetera. [45] [46] [47] [48] [49] [50] [51]
El software de gestión de contraseñas también puede almacenar contraseñas de forma relativamente segura, en un archivo cifrado sellado con una única contraseña maestra.
Para facilitar la administración de los bienes, es útil que las personas dispongan de un mecanismo para comunicar sus contraseñas a las personas que administrarán sus asuntos en caso de fallecimiento. Si se prepara un registro de cuentas y contraseñas, se debe tener cuidado de garantizar que los registros sean seguros, para evitar robos o fraudes. [52]
Los esquemas de autenticación multifactorial combinan contraseñas (como "factores de conocimiento") con uno o más medios de autenticación adicionales, para hacer que la autenticación sea más segura y menos vulnerable a contraseñas comprometidas. Por ejemplo, un inicio de sesión simple de dos factores podría enviar un mensaje de texto, correo electrónico, llamada telefónica automatizada o alerta similar cada vez que se realiza un intento de inicio de sesión, posiblemente proporcionando un código que debe ingresarse además de una contraseña. [53] Factores más sofisticados incluyen cosas como tokens de hardware y seguridad biométrica.
La rotación de contraseñas es una política que se implementa comúnmente con el objetivo de mejorar la seguridad informática . En 2019, Microsoft declaró que la práctica es "antigua y obsoleta". [54] [55]
La mayoría de las organizaciones especifican una política de contraseñas que establece requisitos para la composición y el uso de contraseñas, que generalmente dictan la longitud mínima, las categorías requeridas (por ejemplo, mayúsculas y minúsculas, números y caracteres especiales), los elementos prohibidos (por ejemplo, el uso del propio nombre, fecha de nacimiento, dirección, número de teléfono). Algunos gobiernos tienen marcos nacionales de autenticación [56] que definen los requisitos para la autenticación de usuarios en los servicios gubernamentales, incluidos los requisitos para las contraseñas.
Muchos sitios web aplican reglas estándar, como la longitud mínima y máxima, pero también incluyen con frecuencia reglas de composición, como incluir al menos una letra mayúscula y al menos un número/símbolo. Estas últimas reglas, más específicas, se basaron en gran medida en un informe de 2003 del Instituto Nacional de Estándares y Tecnología (NIST), escrito por Bill Burr. [57] Originalmente proponía la práctica de usar números, caracteres oscuros y letras mayúsculas y actualizarlo periódicamente. En un artículo de 2017 en The Wall Street Journal , Burr informó que lamenta estas propuestas y cometió un error cuando las recomendó. [58]
Según una nueva versión de este informe del NIST en 2017, muchos sitios web tienen reglas que en realidad tienen el efecto opuesto en la seguridad de sus usuarios. Esto incluye reglas de composición complejas, así como cambios forzados de contraseña después de ciertos períodos de tiempo. Si bien estas reglas se han generalizado durante mucho tiempo, también han sido vistas como molestas e ineficaces tanto por los usuarios como por los expertos en ciberseguridad. [59] El NIST recomienda que las personas usen frases más largas como contraseñas (y aconseja a los sitios web que aumenten la longitud máxima de las contraseñas) en lugar de contraseñas difíciles de recordar con una "complejidad ilusoria" como "pA55w+rd". [60] Un usuario al que se le impide usar la contraseña "contraseña" puede simplemente elegir "Contraseña1" si se le solicita que incluya un número y una letra mayúscula. Combinado con cambios periódicos forzados de contraseña, esto puede dar lugar a contraseñas que son difíciles de recordar pero fáciles de descifrar. [57]
Paul Grassi, uno de los autores del informe del NIST de 2017, explicó con más detalle: "Todo el mundo sabe que un signo de exclamación es un 1, o una I, o el último carácter de una contraseña. $ es una S o un 5. Si utilizamos estos trucos bien conocidos, no engañamos a ningún adversario. Simplemente engañamos a la base de datos que almacena las contraseñas para que piense que el usuario hizo algo bueno". [59]
Pieris Tsokkis y Eliana Stavrou fueron capaces de identificar algunas estrategias de construcción de contraseñas erróneas a través de su investigación y desarrollo de una herramienta generadora de contraseñas. Propusieron ocho categorías de estrategias de construcción de contraseñas basadas en listas de contraseñas expuestas, herramientas de descifrado de contraseñas e informes en línea que citan las contraseñas más utilizadas. Estas categorías incluyen información relacionada con el usuario, combinaciones y patrones de teclado, estrategia de colocación, procesamiento de textos, sustitución, uso de mayúsculas, fechas de anexión y una combinación de las categorías anteriores [61].
Intentar descifrar contraseñas probando tantas posibilidades como el tiempo y el dinero lo permitan es un ataque de fuerza bruta . Un método relacionado, bastante más eficiente en la mayoría de los casos, es un ataque de diccionario . En un ataque de diccionario, se prueban todas las palabras de uno o más diccionarios. También se suelen probar listas de contraseñas comunes.
La fortaleza de una contraseña es la probabilidad de que no se pueda adivinar ni descubrir, y varía según el algoritmo de ataque utilizado. Los criptólogos y los informáticos suelen referirse a la fortaleza o "dureza" en términos de entropía . [14]
Las contraseñas que se descubren fácilmente se denominan débiles o vulnerables ; las contraseñas muy difíciles o imposibles de descubrir se consideran seguras . Existen varios programas disponibles para atacar contraseñas (o incluso para realizar auditorías y recuperación por parte del personal de sistemas), como L0phtCrack , John the Ripper y Cain ; algunos de los cuales utilizan vulnerabilidades de diseño de contraseñas (como las que se encuentran en el sistema Microsoft LANManager) para aumentar la eficiencia. Estos programas a veces son utilizados por los administradores de sistemas para detectar contraseñas débiles propuestas por los usuarios.
Los estudios de sistemas informáticos de producción han demostrado de forma consistente que una gran parte de las contraseñas elegidas por los usuarios se adivinan automáticamente con facilidad. Por ejemplo, la Universidad de Columbia descubrió que el 22% de las contraseñas de los usuarios se podían recuperar con poco esfuerzo. [62] Según Bruce Schneier , al examinar los datos de un ataque de phishing de 2006, el 55% de las contraseñas de MySpace se podrían descifrar en 8 horas utilizando un kit de herramientas de recuperación de contraseñas disponible comercialmente capaz de probar 200.000 contraseñas por segundo en 2006. [63] También informó que la contraseña más común era password1 , lo que confirma una vez más la falta general de cuidado informado a la hora de elegir contraseñas entre los usuarios. (Sin embargo, sostuvo, basándose en estos datos, que la calidad general de las contraseñas ha mejorado con los años; por ejemplo, la longitud media era de hasta ocho caracteres frente a menos de siete en las encuestas anteriores, y menos del 4% eran palabras del diccionario. [64] )
Las numerosas formas en que se pueden comprometer las contraseñas permanentes o semipermanentes han impulsado el desarrollo de otras técnicas. Algunas son inadecuadas en la práctica y, en cualquier caso, pocas se han vuelto universalmente disponibles para los usuarios que buscan una alternativa más segura. [72] Un artículo de 2012 [73] examina por qué las contraseñas han demostrado ser tan difíciles de reemplazar (a pesar de numerosas predicciones de que pronto serían cosa del pasado [74] ); al examinar treinta reemplazos representativos propuestos con respecto a la seguridad, la usabilidad y la facilidad de implementación, concluyen que "ninguna conserva siquiera el conjunto completo de beneficios que las contraseñas tradicionales ya brindan".
"La contraseña ha muerto" es una idea recurrente en el ámbito de la seguridad informática . Las razones que se dan a menudo incluyen referencias a la usabilidad así como a los problemas de seguridad de las contraseñas. A menudo acompañan a los argumentos de que la sustitución de las contraseñas por un medio de autenticación más seguro es necesaria e inminente. Esta afirmación ha sido hecha por numerosas personas al menos desde 2004. [74] [86] [87] [88] [89] [90] [91] [92]
Las alternativas a las contraseñas incluyen la biometría , la autenticación de dos factores o inicio de sesión único , Cardspace de Microsoft , el proyecto Higgins , Liberty Alliance , NSTIC , FIDO Alliance y varias propuestas de Identidad 2.0. [93] [94]
Sin embargo, a pesar de estas predicciones y de los esfuerzos por reemplazarlas, las contraseñas siguen siendo la forma dominante de autenticación en la web. En "La persistencia de las contraseñas", Cormac Herley y Paul van Oorschot sugieren que se debe hacer todo lo posible para poner fin a la "suposición espectacularmente incorrecta" de que las contraseñas están muertas. [95] Argumentan que "ninguna otra tecnología iguala su combinación de costo, inmediatez y conveniencia" y que "las contraseñas son en sí mismas la opción más adecuada para muchos de los escenarios en los que se utilizan actualmente".
A continuación, Bonneau et al. compararon sistemáticamente las contraseñas web con 35 esquemas de autenticación de la competencia en términos de usabilidad, facilidad de implementación y seguridad. [96] [97] Su análisis muestra que la mayoría de los esquemas son mejores que las contraseñas en cuanto a seguridad, algunos esquemas son mejores y otros peores en cuanto a usabilidad, mientras que todos los esquemas son peores que las contraseñas en cuanto a facilidad de implementación. Los autores concluyen con la siguiente observación: "Las ganancias marginales a menudo no son suficientes para alcanzar la energía de activación necesaria para superar los costos de transición significativos, lo que puede proporcionar la mejor explicación de por qué es probable que vivamos considerablemente más tiempo antes de ver llegar al cementerio la procesión fúnebre de las contraseñas".
{{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite web}}
: CS1 maint: bot: estado de URL original desconocido ( enlace ). Fred Cohen and Associates. All.net. Consultado el 20 de mayo de 2012.{{cite web}}
: CS1 maint: bot: estado de URL original desconocido ( enlace ).cs.columbia.edu