¿Cómo mantienen seguros los sitios web sus contraseñas?

Ahora rara vez pasamos un mes sin enterarnos de algún tipo de violación de datos. Puede ser un servicio popular como Gmail o algo que la mayoría de nosotros hemos olvidado, como MySpace.

Una de las peores cosas que puede descubrir un pirata informático es su contraseña. Esto es especialmente cierto si va en contra de los consejos estándar y usa las mismas credenciales de inicio de sesión en diferentes plataformas. Pero cuidar su contraseña no es únicamente su responsabilidad.

Entonces, ¿cómo almacenan los sitios web sus contraseñas? ¿Cómo mantienen seguras sus credenciales de inicio de sesión? ¿Y cuál es el método más seguro que pueden emplear para cuidar su contraseña?

El peor escenario posible: texto sin formato

Considere esto: un sitio web importante ha sido pirateado. Los ciberdelincuentes han superado todas las medidas de seguridad básicas que toman, quizás aprovechando una falla en su arquitectura. Eres un cliente. Ese sitio ha almacenado sus datos. Afortunadamente, le han asegurado que su contraseña es segura.

Excepto que el sitio almacena su contraseña como texto sin formato.

Las contraseñas de texto sin formato están esperando a ser saqueadas. No utilizan ningún algoritmo para hacerlos ilegibles. Los piratas informáticos pueden leerlo tan simplemente como usted lee esta oración.

No importa cuán compleja sea su contraseña: una base de datos de texto sin formato es una lista de las contraseñas de todos, escritas claramente, incluidos los números y caracteres adicionales que use.

Relacionado: Cómo saber si un sitio almacena las contraseñas como texto sin formato (y qué hacer)

E incluso si los piratas informáticos no descifran el sitio, ¿realmente desea que un administrador del sitio web sin rostro pueda ver sus datos confidenciales de inicio de sesión?

Puede pensar que este es un problema muy poco común, pero se estima que el 30% de los sitios web de comercio electrónico utilizan este método para "proteger" sus datos; de hecho, ¡hay un sitio completo dedicado a destacar a estos infractores !

Una forma fácil de averiguar si un sitio utiliza esto es si, justo después de registrarse, recibe un correo electrónico de ellos con sus datos de inicio de sesión. En ese caso, es posible que desee cambiar cualquier sitio con la misma contraseña y ponerse en contacto con la empresa para alertarles de que su seguridad es mala.

No significa necesariamente que los almacenen como texto sin formato, pero es un buen indicador.

Y realmente no deberían enviar ese tipo de cosas en correos electrónicos de todos modos. Pueden argumentar que tienen firewalls y otras precauciones de seguridad para protegerse contra los ciberdelincuentes, pero recuérdeles que ningún sistema es impecable y les pone frente a ellos la posibilidad de perder clientes. Pronto cambiarán de opinión. Ojalá…

No es tan bueno como parece: cifrado

Entonces, ¿qué hacen muchos de estos sitios web para proteger sus contraseñas?

Muchos recurrirán al cifrado. Esto codifica su información, haciéndola ilegible hasta que se presenten dos claves, una en poder de usted (que son sus datos de inicio de sesión) y la otra de la empresa en cuestión.

También debería utilizar el cifrado en otro lugar. Face ID en iPhones es una forma de cifrado. Cualquier contraseña es. Internet funciona con cifrado: el HTTPS que puede ver en las URL significa que el sitio en el que se encuentra utiliza protocolos SSL o TLS para verificar las conexiones y mezclar datos.

Pero a pesar de lo que haya escuchado, el cifrado no es perfecto.

Debería ser seguro, pero tan seguro como el lugar donde se almacenan las claves. Si un sitio web protege su clave (es decir, contraseña) con la suya propia, un pirata informático podría exponer la última para encontrar la primera y descifrarla. Un ladrón necesitaría relativamente poco esfuerzo para encontrar su contraseña; es por eso que las bases de datos clave son un objetivo masivo.

Si su clave está almacenada en el mismo servidor que el suyo, su contraseña también podría estar en texto sin formato. Es por eso que el sitio PlainTextOffenders mencionado anteriormente también enumera los servicios que usan cifrado reversible.

Sorprendentemente simple (pero no siempre efectivo): hash

Ahora estamos llegando a alguna parte. El hash de contraseñas suena a jerga, pero es simplemente una forma más segura de cifrado.

En lugar de almacenar su contraseña como texto sin formato, un sitio la ejecuta a través de una función hash, como MD5, Secure Hashing Algorithm (SHA) -1 o SHA-256, que la transforma en un conjunto de dígitos completamente diferente. Pueden ser números, letras o cualquier otro carácter.

Su contraseña podría ser IH3artMU0. Eso podría convertirse en 7dVq $ @ ihT, y si un pirata informático irrumpió en una base de datos, eso es todo lo que pueden ver. Y funciona de una sola manera. No se puede decodificar de nuevo.

Por desgracia, no es tan seguro. Es mejor que el texto sin formato, pero sigue siendo bastante estándar para los ciberdelincuentes.

Relacionado: Los trucos más comunes utilizados para piratear contraseñas

La clave es que una contraseña específica produce un hash específico. Hay una buena razón para ello: cada vez que inicia sesión con la contraseña IH3artMU0, pasa automáticamente a través de esa función hash y el sitio web le permite acceder si ese hash y el de la base de datos del sitio coinciden.

También significa que los piratas informáticos han desarrollado tablas de arco iris. Piense en ellos como hojas de trucos: son listas de hashes, que otros ya utilizan como contraseñas, que un sistema sofisticado puede ejecutar rápidamente como un ataque de fuerza bruta .

Si ha elegido una contraseña realmente incorrecta, estará en lo alto de las tablas del arco iris y podría descifrarse fácilmente. Los más oscuros (combinaciones particularmente extensas) tomarán más tiempo.

Tan bueno como se pone ahora mismo: salazón y hashes lentos

Nada es inexpugnable: los piratas informáticos trabajarán para descifrar cualquier nuevo sistema de seguridad. Pero las técnicas más fuertes implementadas por los sitios más seguros son hashes más inteligentes.

Los hashes salados se basan en la práctica de un nonce criptográfico, un conjunto de datos aleatorios generado para cada contraseña individual, generalmente muy largo y muy complejo.

Estos dígitos adicionales se agregan al principio o al final de una contraseña (o combinaciones de correo electrónico y contraseña) antes de que pase por la función hash, con el fin de combatir los intentos realizados con tablas de arco iris.

Por lo general, no importa si las sales se almacenan en los mismos servidores que los hash; descifrar un conjunto de contraseñas puede consumir mucho tiempo para los piratas informáticos, lo que se hace aún más difícil si su contraseña ya es complicada.

Es por eso que siempre debe usar una contraseña segura, sin importar cuánto confíe en la seguridad de un sitio.

Los sitios web que se toman su seguridad y, por extensión, la suya con especial seriedad, también utilizan hash lentos como medida adicional. Las funciones hash más conocidas (MD5, SHA-1 y SHA-256) han existido por un tiempo y se utilizan ampliamente porque son relativamente fáciles de implementar y aplican hash en muy poco tiempo.

Mientras se siguen aplicando sales, los hashes lentos son incluso mejores para combatir cualquier ataque que dependa de la velocidad. Al limitar a los piratas informáticos a un número sustancialmente menor de intentos por segundo, se tarda más en descifrar, lo que hace que los intentos sean menos valiosos, teniendo en cuenta también la menor tasa de éxito.

Los ciberdelincuentes tienen que sopesar si vale la pena atacar los sistemas de hash lentos que consumen mucho tiempo en lugar de "soluciones rápidas" comparativamente: las instituciones médicas suelen tener menor seguridad, por ejemplo, por lo que los datos obtenidos de allí pueden venderse por sumas sorprendentes.

También es muy adaptable: si un sistema está sometido a una tensión particular, puede ralentizarse aún más. Coda Hale , el antiguo desarrollador principal de software de Microsoft, compara MD5 con quizás la función de hash lenta más notable, bcrypt (otras incluyen PBKDF-2 y scrypt):

"En lugar de descifrar una contraseña cada 40 segundos [como con MD5], las descifraría aproximadamente cada 12 años [cuando un sistema usa bcrypt]. Es posible que sus contraseñas no necesiten ese tipo de seguridad y es posible que necesite una comparación más rápida algoritmo, pero bcrypt le permite elegir su equilibrio entre velocidad y seguridad ".

Y debido a que aún se puede implementar un hash lento en menos de un segundo, los usuarios no deberían verse afectados.

¿Por qué es importante el almacenamiento de contraseñas?

Cuando usamos un servicio en línea, celebramos un contrato de confianza. Debe tener la seguridad de saber que su información personal se mantiene segura.

Almacenar su contraseña de forma segura es especialmente importante. A pesar de las numerosas advertencias, muchos todavía usan la misma contraseña para diferentes sitios, por lo que si, por ejemplo, se viola su Facebook, los detalles de inicio de sesión para cualquier otro sitio que use la misma contraseña también podrían ser un libro abierto para los ciberdelincuentes.