Código fuente como contraseña

25

Las contraseñas con una mezcla de letras, números y caracteres especiales a veces son difíciles de recordar. ¿Es seguro usar una pequeña cantidad de código fuente memorable como una 'frase de contraseña'?

Como ejemplo, tome un bucle for simple en Go: fori:=1;i<5;i++{fmt.Println(i)}

La gente normal solo vería la sintaxis críptica, pero como una persona con un fondo de programación, esto puede ser más fácil de memorizar. ¿Sería al menos tan seguro como una contraseña normal?

    
pregunta user3147268 10.04.2015 - 14:15
fuente

6 respuestas

28

Puedes usar el código fuente como contraseña.

Sin embargo, recomiendo encarecidamente que no utilice el código fuente como frase de contraseña.
La razón de esto es la entropía.
Las contraseñas / frases de contraseña deben proporcionar una gran cantidad de entropía (100 bits +) y los lenguajes de programación generalmente presentan restricciones severas en la formulación de la instrucción, lo que resulta en menos entropía por carácter que incluso con una frase de contraseña estándar.

Además de eso, puede usar archivos de código fuente (100 líneas +) con muchas instrucciones complejas y no codificables por máquina como archivo de claves.

    
respondido por el SEJPM 10.04.2015 - 14:38
fuente
21

Como la mayoría de los algoritmos de generación de contraseñas, este se basa en la seguridad a través de la oscuridad.

Mientras nadie sospeche que usas este método, nadie usará una herramienta de craqueo que pruebe fragmentos de código fuente válidos al azar y la regla de strength = possible_characters ^ number_of_characters seguirá siendo válida. Pero tan pronto como alguien sospeche que puedes usarlo, o cuando se convierta en un método común porque comiences a publicarlo como "una muy buena idea" en un sitio web, esto cambiará.

Tan pronto como alguien se sienta obligado a escribir una rutina de craqueo a medida, debe observar cuánta entropía hay realmente en su código fuente. Y cuando está limitado a un "pequeño y memorable fragmento de código en un lenguaje de programación común", es posible que tenga unos pocos miles de millones de frases de contraseña posibles, lo cual no es suficiente para resistir un intento serio de fuerza bruta.     

respondido por el Philipp 10.04.2015 - 15:02
fuente
3

Es mejor usar un método que permanezca seguro incluso si todos lo usaran. Tendrá menos de qué preocuparse y le permitirá colaborar con otros para ajustar el método para que sea el más seguro, porque no tiene que mantener sus métodos en secreto.

Este enfoque de "el enemigo sabe que el sistema" es un gran motor para la innovación y el avance en la seguridad de la información. De lo contrario, tendrías grupos independientes que trabajarán en sus propios diseños y principios oscuros, supuestamente inesperados.

Además, no tiene forma de cuantificar qué tan seguro está su sistema porque todo depende de la psicología y de lo que otros saben sobre usted.

En algunos aspectos de la vida, debe ser creativo y desarrollar su estrategia con una idea personal y única que debe mantener en secreto, pero la seguridad de la información no es así.

    
respondido por el isarandi 11.04.2015 - 23:46
fuente
2

A primera vista, parece que podría ser una buena idea. Como muchas sugerencias en relación con las contraseñas, en algunas situaciones incluso puede ser una solución correcta. Sin embargo, cuando lo considera con más detalle, se evidencian una serie de fallas.

Si estuviera intentando descifrar la contraseña de alguien, una de las primeras cosas que haría es intentar para averiguar la mayor cantidad de información posible sobre la persona. Si yo sé que eres un programador, entonces puedo suponer que usa algún código para su frase de contraseña Ahora he reducido el posible espacio de búsqueda.

Si sé cuál es su lenguaje de programación preferido, ahora he reducido la búsqueda espacio aún más lejos. Solo necesito considerar las formas legales de su preferencia. idioma.

Ahora, cuando considero las formas legales que están permitidas en su idioma preferido, He reducido el espacio de búsqueda aún más. Si hay un caracter máximo conocido límite para la frase de contraseña, ese espacio de búsqueda es aún más pequeño de nuevo, de hecho, para la mayoría idiomas, solo habrá un conjunto muy pequeño de posibles formas legales que se ajustarán a en los límites de caracteres permitidos para muchas contraseñas.

Como lo indican otras respuestas, el problema real con la contraseña / contraseña "inteligente" los esquemas es que confían en que otros no puedan adivinar cuál es su esquema. Como La popularidad de un esquema aumenta, el beneficio de ese esquema se reduce. Sobre todo, Cualquier esquema que elija debe ser algo que no se asocia fácilmente con usted.

El otro problema con los esquemas de contraseña inteligentes es que rara vez son tan inteligentes como crees que son Si analiza contraseñas descargadas de la contraseña robada repositorios, se sorprenderá de lo 'común' que muchos de estos esquemas inteligentes son. También te sorprenderás de la frecuencia con la que el esquema inteligente se relaciona con el dominio. las contraseñas vinieron Por ejemplo, vi contraseñas robadas de un sistema de la Fuerza Aérea y adivina qué, la gran mayoría de las contraseñas eran derivaciones de varios Nombres de aeronaves y números de modelo o nombres de personajes de películas o libros con una Tema militar o de la fuerza aérea. Igualmente, las contraseñas descargadas hace un par de años de un Christian Data Dating tenía un gran número de contraseñas que incluían frases, capítulo y los versos del verso de la biblia. Si iba a tratar de descifrar las contraseñas de github, casi con certeza vería el código como un posible patrón.

El beneficio menor de usar el código es que probablemente tengas una contraseña / frase de contraseña, que a menudo es tan importante o más importante como el subyacente complejidad. Muy a menudo, las personas usan contraseñas cortas porque son fáciles y rápidas de usar. tipo. En estos días, creo que la mayoría de las personas están mucho mejor asegurándose de que usan ya sea 2 factores de autenticación o 2 pasos de autenticación siempre que sea posible y utilice una administrador de contraseñas que generará contraseñas aleatorias para usted y en la mayoría de los casos, elimina tu necesidad de recordarlos.

    
respondido por el Tim X 17.04.2015 - 01:47
fuente
-2

Usa Malbolge. Después de todo eso es esencialmente aleatorio, ¿verdad?

(=<'#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?'=*z]Kw%oG4UUS0/@-ejc(:'8dc

Ese es el programa hola mundo.

    
respondido por el Lucas 11.04.2015 - 23:05
fuente
-3

Esto es realmente una muy buena idea. No encontrarás este tipo de contraseñas fácilmente en rainbowtables, y la mayoría de los ataques de fuerza bruta no incluyen caracteres como este ni buscan contraseñas tan largas.

Su única debilidad es el hecho de que es un código corto (no una contraseña corta), si alguien sabe que tiene un script como contraseña, podría ser fácil para ellos adivinarlo. Esto es asumido por la respuesta anterior por SOJPM.

    
respondido por el Tom 10.04.2015 - 14:39
fuente

Lea otras preguntas en las etiquetas