Una contraseña , a veces denominada código de acceso , son datos secretos, normalmente una cadena de caracteres, que normalmente se utilizan para confirmar la identidad de un usuario. Tradicionalmente, se esperaba que las contraseñas se memorizaran, [1] pero la gran cantidad de servicios protegidos con 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] Utilizando la terminología de las Pautas de identidad digital del NIST, [3] el secreto lo mantiene una parte llamada reclamante , mientras que la parte que verifica la identidad del reclamante se llama 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 los caracteres permitidos se limitan a ser numéricos, el secreto correspondiente a veces se denomina número de identificación personal (PIN).
A pesar de su nombre, una contraseña no necesita ser una palabra real; de hecho, una palabra que no es palabra (en el sentido del diccionario) puede ser más difícil de adivinar, lo cual es una propiedad deseable de las contraseñas. Un secreto memorizado que consta de 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 en uso a una contraseña, pero la primera generalmente es más larga para mayor seguridad. [5]
Las contraseñas se han utilizado desde la antigüedad. Los centinelas desafiarían a aquellos que desearan ingresar a un área a proporcionar una contraseña o consigna , y solo permitirían el paso a una persona o grupo si conocieran la contraseña. Polibio describe el sistema para la distribución de consignas en el ejército romano de la siguiente manera:
La manera como consiguen el paso de la consigna de la noche es la siguiente: del décimo manípulo de cada clase de infantería y caballería, el manípulo que está acampado en el extremo inferior de la calle, se escoge un hombre que es relevado de su servicio de guardia, y asiste todos los días al atardecer a la tienda del tribuno , y recibiendo de él la consigna, que es una tablilla de madera con la palabra escrita en ella, se despide y, al regresar a su alojamiento, pasa a la consigna y la tablilla ante testigos al comandante del siguiente manípulo, quien a su vez se la pasa al que está a su lado. Todos hacen lo mismo hasta llegar a los primeros manípulos, los que acampaban cerca de las tiendas de los tribunos. Estos últimos están obligados a entregar la tablilla a las tribunas antes de que oscurezca. De modo que si todos los expedidos son devueltos, el tribuno sabe que la consigna ha sido dada a todos los manípulos, y ha pasado por todos en su camino de regreso a él. Si alguno de ellos falta, inmediatamente lo investiga, pues sabe por las marcas de qué parte no ha regresado la tablilla, y el responsable de la interrupción recibe el castigo que merece. [6]
Las contraseñas de uso militar evolucionaron para incluir no sólo 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 EE. UU. utilizaron una contraseña ( flash ) que se presentó como un desafío y respondieron con la respuesta correcta: trueno . El desafío y la respuesta se cambiaron cada tres días. Los paracaidistas estadounidenses también utilizaron un dispositivo conocido como "grillo" el Día D en lugar de un sistema de contraseña como método de identificación temporalmente único; un clic metálico dado por el dispositivo en lugar de una contraseña debía recibir dos clics como respuesta. [7]
Las contraseñas se han utilizado con las computadoras desde los primeros días de la informática. El Sistema de tiempo compartido compatible (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] CTSS tenía un comando LOGIN que solicitaba una contraseña de usuario. "Después de escribir la CONTRASEÑA, 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 para almacenar contraseñas de inicio de sesión en formato hash como parte del sistema operativo Unix . El sistema se basó 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) , utilizó una sal de 12 bits e invocó una forma modificada del DES. algoritmo 25 veces para reducir el riesgo de ataques de diccionario precalculados . [11]
En los tiempos modernos, las personas suelen utilizar nombres de usuario y contraseñas durante un proceso de inicio de sesión que controla el acceso a sistemas operativos informáticos protegidos , teléfonos móviles , decodificadores de televisión por cable , cajeros automáticos (ATM), etc. Un usuario típico de computadora tiene contraseñas para para muchos propósitos: iniciar sesión en cuentas, recuperar correos electrónicos , 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 de adivinar para un atacante . [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 podrían necesitar escribir o almacenar electrónicamente la contraseña, (b) los usuarios necesitarán restablecer la contraseña con frecuencia y (c) los usuarios Es más probable que reutilice la misma contraseña en diferentes cuentas. De manera similar, cuanto más estrictos sean los requisitos de contraseña, como "tener una combinación de letras y dígitos mayúsculas y minúsculas" 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 proporcionan más seguridad (por ejemplo, entropía ) que las contraseñas más cortas con una amplia variedad de caracteres. [14]
En La memorabilidad y seguridad de las contraseñas , [15] Jeff Yan et al. examinar el efecto de los consejos dados 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 seleccionadas ingenuamente, y tan difíciles de descifrar como las contraseñas generadas aleatoriamente.
Combinar dos o más palabras no relacionadas y alterar algunas de las letras a 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 oscuras es otro buen método. [17]
Sin embargo, pedir a los usuarios que recuerden una contraseña que consta de 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). crack 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 conducirá a sustituciones fáciles de adivinar, como 'E' → '3' y 'I' → '1', sustituciones que son bien conocidas por los atacantes. De manera similar, escribir la contraseña una fila del teclado más arriba 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 las cuales se consideran inseguras porque son demasiado fáciles de adivinar (especialmente después de investigar a un individuo en las redes sociales), que incluye: [19 ]
El consejo tradicional de memorizar 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 medio 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 violació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] Estas prácticas pueden reducir el número de contraseñas que deben memorizarse, como la contraseña maestra del administrador de contraseñas, a un número más manejable.
La seguridad de un sistema protegido con contraseña depende de varios factores. El sistema general debe estar diseñado para ofrecer una seguridad sólida, con protección contra virus informáticos , ataques de intermediarios y similares. Los problemas de seguridad física también son motivo de preocupación, desde disuadir la navegación desde el hombro hasta amenazas físicas más sofisticadas, como cámaras de vídeo y rastreadores de teclado. Las contraseñas deben elegirse de manera que sean difíciles de adivinar para un atacante y difíciles de descubrir utilizando cualquiera de los esquemas de ataque automático disponibles. Consulte seguridad de la contraseña y seguridad informática para obtener más información. [21]
Hoy en día, es una práctica común que los sistemas informáticos oculten las contraseñas a medida que se escriben. El objetivo de esta medida es evitar que personas cercanas lean la contraseña; sin embargo, algunos argumentan 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 contraseñas a medida que las escriben. [21]
Las disposiciones efectivas de control de acceso pueden imponer medidas extremas a los delincuentes que buscan adquirir una contraseña o un token biométrico. [22] Medidas menos extremas incluyen la extorsión , el criptoanálisis con mangueras de goma y el ataque por canal lateral .
A continuación se presentan algunos problemas específicos de administración de contraseñas que se deben considerar al pensar, elegir y manejar 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, lo que también se conoce como limitación. [3] : 63B Sec 5.2.2 En ausencia de otras vulnerabilidades, dichos sistemas pueden ser efectivamente seguros con contraseñas relativamente simples si han sido bien elegidas y no son fáciles de adivinar. [23]
Muchos sistemas almacenan un hash criptográfico de la contraseña. Si un atacante obtiene acceso al archivo de contraseñas hash, se puede adivinar sin conexión, probando 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 sólo puede adivinar la velocidad a la que responderá el servidor, mientras que un atacante fuera de línea (que obtiene acceso al archivo) puede adivinar una velocidad limitada únicamente por el hardware del servidor. cuál se está ejecutando 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 cifrado de disco o seguridad Wi-Fi ) también pueden estar sujetas a una alta tasa de adivinanzas. Las listas de contraseñas comunes están ampliamente disponibles y pueden hacer que los ataques a contraseñas sean muy eficientes. (Consulte Descifrar contraseñas ). La seguridad en tales situaciones depende del uso de contraseñas o frases de contraseña de complejidad adecuada, lo que hace que dicho ataque 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 frenar dichos ataques. Ver estiramiento clave .
Una alternativa para limitar la velocidad a la que un atacante puede adivinar una contraseña es limitar el número total de conjeturas que se pueden realizar. La contraseña se puede desactivar, lo que requiere un restablecimiento, después de un pequeño número de intentos fallidos consecutivos (por ejemplo, 5); y es posible que se solicite al usuario que cambie la contraseña después de un mayor número acumulativo de conjeturas erróneas (por ejemplo, 30), para evitar que un atacante haga una cantidad arbitrariamente grande de conjeturas erróneas intercalándolas entre conjeturas correctas realizadas 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 mediante la ingeniería social .
Algunos sistemas informáticos almacenan las contraseñas de los usuarios como texto sin formato , con el que se comparan 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 tanto, todas las cuentas de usuario) se verán comprometidas. Si algunos usuarios emplean la misma contraseña para cuentas en diferentes sistemas, esos también se verán comprometidos.
Los sistemas más seguros almacenan cada contraseña en un formato protegido criptográficamente, por lo que el acceso a la contraseña real seguirá siendo difícil para un fisgón que obtenga acceso interno al sistema, mientras que la validación de los intentos de acceso del usuario sigue siendo posible. Las más seguras 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 sólo una forma "hash" de la contraseña en texto plano. [25] [26] Cuando un usuario ingresa una contraseña en dicho sistema, el software de manejo de contraseñas se ejecuta a través de 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, el usuario está permitido el acceso. El valor hash se crea aplicando una función hash criptográfica a una cadena que consta de la contraseña enviada y, en muchas implementaciones, otro valor conocido como salt . 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 amplíen entre 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ñas" o "hash de contraseña", a menudo se almacenan en formato Modular Crypt o formato hash RFC 2307, a veces en el archivo /etc/passwd o /etc/shadow . [29]
Los principales métodos de almacenamiento de contraseñas son texto sin formato, hash, hash y salado y cifrado reversible. [30] Si un atacante obtiene acceso al archivo de contraseñas, entonces, si se almacena como texto sin formato, no es necesario descifrarlo. Si está hash pero no salado, entonces es vulnerable a los ataques de la tabla arcoíris (que son más eficientes que el craqueo). Si está cifrado de forma reversible, si el atacante obtiene la clave de descifrado junto con el archivo, no es necesario descifrarlo, mientras que si no logra obtener la clave, no es posible descifrarlo. Por lo tanto, de los formatos de almacenamiento comunes para contraseñas, solo cuando las contraseñas han sido saladas y codificadas es necesario y posible descifrarlo. [30]
Si una función hash criptográfica está bien diseñada, es computacionalmente inviable revertir la función para recuperar una contraseña de texto sin formato . Sin embargo, un atacante puede utilizar herramientas ampliamente disponibles para intentar adivinar las contraseñas. Estas herramientas funcionan mediante hash de posibles contraseñas y comparando el resultado de cada suposición con los hashes de contraseñas reales. Si el atacante encuentra una coincidencia, sabrá que su suposición es la contraseña real del usuario asociado. Las herramientas para descifrar contraseñas pueden funcionar mediante fuerza bruta (es decir, probando todas las combinaciones posibles de caracteres) o codificando cada palabra de una lista; En Internet se encuentran disponibles grandes listas de posibles contraseñas en muchos idiomas. [14] La existencia de herramientas para descifrar contraseñas permite a los atacantes recuperar fácilmente contraseñas mal elegidas. En particular, los atacantes pueden recuperar rápidamente contraseñas cortas, palabras del diccionario, variaciones simples de palabras del diccionario o que utilizan patrones fácilmente adivinables. [31] Se utilizó una versión modificada del algoritmo DES como base para el algoritmo de hash de contraseñas en los primeros sistemas Unix . [32] El algoritmo de cripta utilizó un valor de sal de 12 bits para que el hash de cada usuario fuera único e repitió el algoritmo DES 25 veces para hacer que la función hash fuera más lenta, ambas medidas destinadas a frustrar los ataques de adivinanzas automatizadas. [32] La contraseña del usuario se utilizó como clave para cifrar un valor fijo. Los sistemas Unix o similares 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 inseguro y ampliamente implementado. [34]
Las contraseñas son vulnerables a la interceptación (es decir, "espionaje") mientras se transmiten a la máquina o persona que las autentica. Si la contraseña se transmite como señales eléctricas en 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 transportan como datos empaquetados a través de Internet, cualquiera que pueda observar los paquetes que contienen la información de inicio de sesión puede espiar con una probabilidad muy baja de detección.
A veces se utiliza el correo electrónico para distribuir contraseñas, pero generalmente es 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 el 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 sus viajes, probablemente también se almacenará allí, al menos durante algún tiempo, y podrá copiarse en archivos de respaldo , caché o historial en cualquiera de estos sistemas.
El uso del cifrado del lado del cliente solo protegerá la transmisión desde el servidor del sistema de manejo de correo a la máquina 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, ciertamente en las computadoras de origen y recepción, generalmente en texto sin cifrar.
El riesgo de interceptación de contraseñas enviadas a través de Internet se puede reducir, entre otros métodos, utilizando 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 varias otras técnicas en uso; ver criptografía .
Desafortunadamente, existe un conflicto entre las contraseñas hash almacenadas y la autenticación de desafío-respuesta basada en hash ; este último requiere que un cliente demuestre a un servidor que sabe cuál es el secreto compartido (es decir, la contraseña) y, para hacerlo, el servidor debe poder obtener el secreto compartido de su forma almacenada. En muchos sistemas (incluidos los sistemas tipo Unix ) que realizan autenticación remota, el secreto compartido generalmente se convierte en formato hash y tiene la seria limitación de exponer las contraseñas a ataques de adivinación fuera de línea. Además, cuando el hash se utiliza como secreto compartido, un atacante no necesita la contraseña original para autenticarse de forma remota; sólo necesitan el hachís.
En lugar de transmitir una contraseña o transmitir el hash de la contraseña, los sistemas de acuerdo de claves 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 aumentados 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 aumentado permite que un cliente demuestre el conocimiento de la contraseña a un servidor, donde el servidor solo conoce una contraseña (no exactamente) con hash y donde se requiere la contraseña sin hash para obtener acceso.
Por lo general, un sistema debe proporcionar una manera 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 sin cifrar, se puede perder la seguridad (por ejemplo, mediante escuchas telefónicas ) antes de que la nueva contraseña pueda siquiera instalarse en la base de datos de contraseñas y si la nueva contraseña se le da a un empleado comprometido, poco se gana. . Algunos sitios web incluyen la contraseña seleccionada por el usuario en un mensaje de correo electrónico de confirmación no cifrado , con el evidente aumento de la 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 característica llamada restablecimiento de contraseña de autoservicio . La identidad del usuario se verifica haciendo preguntas y comparando las respuestas con las almacenadas previamente (es decir, cuando se abrió la cuenta).
Algunas preguntas para restablecer la contraseña solicitan información personal que se puede encontrar en las redes sociales, como el apellido de soltera de la madre. Como resultado, algunos expertos en seguridad recomiendan inventar sus propias preguntas o dar respuestas falsas. [35]
La "antigüedad de la contraseña" 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 de los usuarios y, en el mejor de los casos, dilación y, en el peor, hostilidad. A menudo hay un aumento en el número de personas que anotan la contraseña y la dejan en un lugar donde se pueda encontrar fácilmente, así como llamadas al servicio de asistencia técnica para restablecer una contraseña olvidada. Los usuarios pueden usar 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 la caducidad de las contraseñas es efectiva. [37] Cambiar una contraseña no evitará el abuso en la mayoría de los casos, ya que el abuso a menudo sería inmediatamente perceptible. Sin embargo, si alguien pudo haber tenido acceso a la contraseña a través de algún medio, como compartir una computadora o ingresar a un sitio diferente, cambiar la contraseña limita la ventana de abuso. [38]
Es preferible asignar contraseñas separadas a cada usuario de un sistema que tener una única contraseña compartida por usuarios legítimos del sistema, ciertamente desde el punto de vista de la seguridad. Esto se debe en parte a que los usuarios están más dispuestos a decirle a otra persona (que puede no estar autorizada) una contraseña compartida que una contraseña exclusiva 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. Los inicios de sesión separados también se utilizan a menudo para la rendición de cuentas, por ejemplo para saber quién cambió un dato.
Las técnicas comunes utilizadas para mejorar la seguridad de los sistemas informáticos protegidos por contraseña incluyen:
Algunas de las medidas de aplicación de políticas más estrictas pueden representar el riesgo de alienar a los usuarios y, como resultado, posiblemente disminuir la seguridad.
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 sitio para obtener acceso a otros sitios que utiliza la víctima. Este problema se ve agravado por la reutilización de nombres de usuario y por sitios web que requieren inicios de sesión por correo electrónico, ya que facilita que un atacante rastree a un solo usuario en varios sitios. La reutilización de contraseñas se puede evitar o minimizar mediante el uso de técnicas mnemotécnicas , anotando las contraseñas en 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 Carleton, Canadá, han argumentado que la reutilización de contraseñas es inevitable y que los usuarios deberían reutilizar contraseñas para sitios web de baja seguridad (que contienen pocos datos personales y (sin información financiera, por ejemplo) y, en cambio, centran sus esfuerzos en recordar contraseñas largas y complejas para algunas cuentas importantes, como las cuentas bancarias. [44] Forbes presentó argumentos similares al no cambiar las contraseñas con tanta frecuencia como aconsejan muchos "expertos", debido a las mismas limitaciones en la memoria humana. [36]
Históricamente, muchos expertos en seguridad pedían a las personas que memorizaran 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 administración de contraseñas también puede almacenar contraseñas de manera relativamente segura, en un archivo cifrado sellado con una única contraseña maestra.
Según una encuesta realizada en 2011 por la Universidad de Londres , una de cada diez personas deja sus contraseñas en su testamento para transmitir esta importante información cuando muera. Según la encuesta, un tercio de las personas está de acuerdo en que sus datos protegidos con contraseña son lo suficientemente importantes como para transmitirlos en su testamento. [52]
Los esquemas de autenticación multifactor combinan contraseñas (como "factores de conocimiento") con uno o más medios de autenticación, para hacer que la autenticación sea más segura y menos vulnerable a contraseñas comprometidas. Por ejemplo, un simple inicio de sesión de dos factores puede enviar un mensaje de texto, un correo electrónico, una llamada telefónica automática o una alerta similar cada vez que se intenta iniciar sesión, posiblemente proporcionando un código que se debe ingresar 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 comúnmente se implementa con el objetivo de mejorar la seguridad informática . En 2019, Microsoft afirmó 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, normalmente dictando la longitud mínima, las categorías requeridas (p. ej., mayúsculas y minúsculas, números y caracteres especiales), elementos prohibidos (p. ej., uso del propio nombre, fecha de nacimiento, dirección, número de teléfono). Algunos gobiernos tienen marcos de autenticación nacionales [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 imponen reglas estándar, como la longitud mínima y máxima, pero también suelen incluir 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 propuso la práctica de utilizar números, caracteres oscuros y letras mayúsculas y actualizar periódicamente. En un artículo de 2017 en The Wall Street Journal , Burr informó que lamenta estas propuestas y cometió un error al recomendarlas. [58]
Según una reescritura de este informe del NIST de 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, tanto los usuarios como los expertos en ciberseguridad las han considerado molestas e ineficaces. [59] El NIST recomienda que las personas utilicen frases más largas como contraseñas (y aconseja a los sitios web que aumenten la longitud máxima de la contraseña) en lugar de contraseñas difíciles de recordar con "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 es necesario incluir un número y una letra mayúscula. Combinado con cambios de contraseña periódicos forzados, esto puede generar contraseñas que son difíciles de recordar pero fáciles de descifrar. [57]
Paul Grassi, uno de los autores del informe NIST de 2017, explicó con más detalle: "Todo el mundo sabe que un signo de exclamación es un 1, una I o el último carácter de una contraseña. $ es una S o un 5. Si los usamos bien "Con trucos conocidos, no estamos engañando a ningún adversario. Simplemente estamos engañando a la base de datos que almacena las contraseñas haciéndoles creer que el usuario hizo algo bueno". [59]
Pieris Tsokkis y Eliana Stavrou pudieron identificar algunas estrategias incorrectas para la construcción de contraseñas a través de su investigación y desarrollo de una herramienta generadora de contraseñas. Se les ocurrieron ocho categorías de estrategias de construcción de contraseñas basadas en listas de contraseñas expuestas, herramientas para descifrar 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 ubicación, procesamiento de textos, sustitución, uso de mayúsculas, fechas de adició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 eficaz 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. Por lo general, también se prueban listas de contraseñas comunes.
La seguridad de la contraseña es la probabilidad de que no se pueda adivinar o descubrir una contraseña y varía según el algoritmo de ataque utilizado. Los criptólogos e informáticos suelen referirse a la fuerza 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 . Hay varios programas disponibles para atacar contraseñas (o incluso auditar y recuperar 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. En ocasiones, los administradores de sistemas utilizan estos programas para detectar contraseñas débiles propuestas por los usuarios.
Los estudios de sistemas informáticos de producción han demostrado consistentemente que una gran fracción de todas las contraseñas elegidas por los usuarios se adivinan fácilmente y automáticamente. 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 contraseña1 , lo que confirma una vez más la falta general de atención informada 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 a lo largo de los años; por ejemplo, la longitud promedio fue de hasta ocho caracteres, frente a menos de siete en encuestas anteriores, y menos del 4% eran palabras del diccionario. [64 ] )
Las numerosas formas en que pueden verse comprometidas 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 han llegado a estar 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 resultado tan difíciles de suplantar (a pesar de numerosas predicciones de que pronto serían cosa del pasado [74] ); Al examinar treinta reemplazos propuestos representativos con respecto a la seguridad, usabilidad y capacidad de implementación, concluyen que "ninguno conserva el conjunto completo de beneficios que las contraseñas heredadas ya brindan".
"La contraseña ha muerto" es una idea recurrente en seguridad informática . Las razones dadas a menudo incluyen referencias a la usabilidad así como a problemas de seguridad de las contraseñas. A menudo va acompañado de 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] [84] [85] [86] [87] [88] [89] [90]
Las alternativas a las contraseñas incluyen la biometría , la autenticación de dos factores o el inicio de sesión único , Cardspace de Microsoft , el proyecto Higgins , Liberty Alliance , NSTIC , FIDO Alliance y varias propuestas de Identity 2.0. [91] [92]
Sin embargo, a pesar de estas predicciones y 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 deben hacer todos los esfuerzos posibles para poner fin a la "suposición espectacularmente incorrecta" de que las contraseñas están muertas. [93] 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 mejor opción para muchos de los escenarios en los que se utilizan actualmente".
A continuación, Bonneau et al. comparó sistemáticamente contraseñas web con 35 esquemas de autenticación de la competencia en términos de usabilidad, implementación y seguridad. [94] [95] Su análisis muestra que la mayoría de los esquemas funcionan mejor que las contraseñas en cuanto a seguridad, algunos esquemas funcionan mejor y otros peor con respecto a la usabilidad, mientras que todos los esquemas funcionan peor que las contraseñas en cuanto a la capacidad 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 importantes costos de transición, lo que puede proporcionar la mejor explicación de por qué es probable que vivamos mucho más antes de ver llegar la procesión fúnebre en busca de contraseñas. en el cementerio."
{{cite journal}}
: Citar diario requiere |journal=
( ayuda ){{cite web}}
: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace ). Fred Cohen y asociados. Todo.net. Recuperado el 20 de mayo de 2012.{{cite web}}
: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace ). cs.columbia.edu