¿Verdadero ?: “Casi todas las contraseñas cifradas se guardan con el último carácter en texto claro”?

4
  

[S] ome las contraseñas se recogen al piratear computadoras donde los intrusos   Puede encontrar contraseñas almacenadas. Aquellos se almacenan en forma encriptada, pero   Hay software que puede atacar el cifrado. Casi todos encriptados   las contraseñas se almacenan con el último carácter en texto claro , advierte   NASA, por lo que el último personaje es un descarte. [Énfasis añadido.]

Vea # 5 en Tech News Daily: Cómo escribir el perfecto Contraseña - 27 de enero de 2010

¿Alguien sabe si / cuando esto es verdad? ¿Tiene una referencia adecuada para un no-mathlete inteligente?

Normalmente supongo que "encriptado" en realidad significa un hash unidireccional iterado con sal, pero son posibles otras formas de encriptación.

    
pregunta BillR 26.03.2014 - 01:34
fuente

4 respuestas

10

No, no creo que esto sea cierto. La cobertura de noticias se equivoca todo el tiempo, probablemente porque no es un tema fácil para un intruso.

Todo comienza con el término cifrado . Si realmente está cifrando una contraseña, lo más probable es que esté haciendo algo mal. Las contraseñas en el contexto del que estamos hablando se utilizan para la autenticación. No hay absolutamente ninguna necesidad de tenerlos a la vista. Actualmente, la práctica recomendada es hash iterativamente una contraseña con un nombre de usuario específico. Este proceso es prácticamente irreversible y no veo por qué un solo personaje sería más propenso a ser revertido que cualquier otro.

Sin embargo, si no sigues este enfoque y haces algo desagradable como almacenar contraseñas en claro o solo almacenándolas encriptadas, es muy posible que se pueda acceder a las contraseñas con claridad. Sin embargo, no veo por qué el último personaje es más vulnerable que los demás, por lo que argumentaría firmemente que la afirmación mencionada en su pregunta simplemente no es cierta y alguien estaba hablando de algo que tiene. no entendiendo, o al menos simplificando las cosas de tal manera que sean simplemente falsas.

    
respondido por el Karol Babioch 26.03.2014 - 02:55
fuente
3

He visto sitios que permiten contraseñas largas, pero solo usa las primeras X caracteres, luego crea un hash con una sal de esos X caracteres ... dejando los últimos Y caracteres sin usar, y efectivamente podría ser cualquier cosa.

por ejemplo, su contraseña sería

mylongandboringpassword

con la X configurada en 8, la contraseña realmente almacenada (y todo lo que necesitarías abrir es)

mylongan

por lo que esta contraseña a continuación también sería válida

mylongandfunpassword

No digo que esto sea una buena práctica, pero lo he visto.

    
respondido por el Sverre 26.03.2014 - 04:38
fuente
2

Esta afirmación no tiene sentido.

La práctica más común con diferencia es tomar un hash MD5 (o, cada vez más, algo más como un hash SHA), con una sal. La sal es una cadena aleatoria que se agrega a la contraseña de texto sin formato antes de que se elimine y se almacene con el lote; sirve para dificultar el cálculo de tablas de todas las posibles contraseñas con hash, ya que esto debe hacerse para cada valor de sal.

A veces es necesario tener la contraseña de texto sin formato, para algunos algoritmos de respuesta-desafío. En este caso, la contraseña puede estar sin cifrar o puede estar cifrada de manera reversible (utilizando AES, DES o algo así).

En ambos casos, la contraseña se trata como un blob; La salida del algoritmo es lo único almacenado. Sugiero, si estás interesado, hash un archivo; puede observar que el último carácter del hash y el último carácter del archivo suelen ser diferentes.

Otra forma de usar las contraseñas para la autenticación es usar Kerberos, que implica usar la contraseña para generar un par de llaves; en este caso, el servidor solo necesita la parte pública de ese par de llaves y no requiere ninguno de los caracteres de la contraseña.

No puedo pensar en un solo mecanismo de almacenamiento de contraseñas ampliamente utilizado además del texto claro que almacena un solo carácter de la contraseña en claro.

    
respondido por el Falcon Momot 26.03.2014 - 05:02
fuente
2

Hay algunas cosas en ese artículo vinculado que son verdaderas y útiles. Pero identificar esas partes de las cosas que son erróneas y engañosas es algo que solo puede hacer alguien que no necesita el consejo en primer lugar.

Como @ user1201232 , hay algunos sistemas (antiguos) que solo usan los primeros ocho bytes de una contraseña. Hay algunos más actuales (Windows Live / Hotmail) que se truncan a 16 bytes. Pero nunca he encontrado nada que coincida con la afirmación particular sobre la que estás preguntando.

sospecho que el autor está confundido acerca de la sal no encriptada. Los sistemas crypt () de Unix antiguos usaban dos bytes de sal que se añadían al hash de la contraseña. Entonces, cuando miras un registro de un archivo de estilo / etc / password antiguo (estamos hablando de los días anteriores a la sombra), las primeras dos letras no fueron "cifradas".

Nuevamente, solo puedo especular sobre lo que podría subyacer a esa afirmación en particular. La mayoría de los otros errores en el documento son bastante comunes. Por ejemplo, supongo que "NASA" en lugar de "NSA" es un corrector ortográfico.

    
respondido por el Jeffrey Goldberg 26.03.2014 - 15:54
fuente

Lea otras preguntas en las etiquetas