¿Qué tan seguro es este proceso para crear contraseñas?

6

He investigado cómo ser lo más seguro posible cuando se trata de seguridad de contraseña para servicios en línea y sitios web. Obviamente, hay algunos grandes no, no como usar palabras de diccionario, usar la misma contraseña para múltiples sitios web, información personal, etc.

He investigado los administradores de contraseñas y parecen ser una buena idea, pero también soy un poco escéptico sobre la seguridad de los administradores de contraseñas.

Me inclino por tener contraseñas únicas y seguras para diferentes sitios que pueda recordar, lo cual es prácticamente imposible de recordar si las tuvieras casi por completo.

¿Qué tan seguro es este proceso? Si tuviera, por ejemplo, una contraseña base de algo alrededor de las líneas de I^l@t(h$Y1G2 (No te preocupes, no es lo que realmente estoy usando)

Usaría esta contraseña base para todas mis contraseñas, pero para hacer cada una única, haría algo alrededor de las líneas de colocar la primera vocal del nombre del sitio web en el frente y la primera consonante al final.

Entonces, mi contraseña teórica para Twitter.com sería iI^l@t(h$Y1G2T

¿Qué tan seguro es usar este tipo de sistema?

    
pregunta Sam Kluender 20.02.2016 - 18:09
fuente

6 respuestas

5

Sobre una base práctica, voy a tener que decir que este tipo de sistema es extremadamente débil una vez que cualquiera de sus contraseñas se haya filtrado; no importa cuál.

Por ejemplo, si usaste} P _- ^ cWi_OD ~ w {qjjA4f (generado aleatoriamente) como tu contraseña "central", entonces tendrías

o} P _- ^ cWi_OD ~ w {qjjA4fN para NotSecureSite.

y a} P _- ^ cWi_OD ~ w {qjjA4fB para BankSite.

Suponiendo

  1. Su contraseña NotSecureSite es descubierta por un atacante de alguna manera, tal vez porque es un delincuente de texto simple y sufre una infracción

    a. Y luego esas contraseñas de texto sin formato se escapan, como lo hicieron las listas de RockYou y Facebook

  2. Luego, otro sitio en el que estás sufre una infracción; diremos que fue BankSite, que usaba hash MD5 (por simplicidad; en realidad, podrían usar cualquier cosa, incluso algoritmos bastante razonables)
  3. Un atacante con ambos conjuntos de datos que usa la siguiente regla simple encontrará su contraseña de Paypal usando John the Ripper o < a href="https://hashcat.net/oclhashcat/"> oclHashcat y la siguiente regla simple:

    a. Línea de comando:

    1. ./oclHashcat64.bin --hash-type = 0 --attack-mode = 0 --rules-file = random.rule random.word.md5 random.dict

    a. Una línea en random.rule lee

    1. [] ^ a $ B

      a. [- borra el primer caracter a. ] - borrar el último caracter a. ^ - Prepara el siguiente caracter a. $ - añadir el siguiente caracter a. Tenga en cuenta que solo hay 3.844 reglas para buscar exhaustivamente el espacio para cada contraseña de inicio si el atacante pasa por a-zA-Z0-9 para ambas; su esquema real generalmente se puede encontrar en 130 reglas (5 * 26) para cada contraseña.

      1. Peor aún, esto es bastante pequeño. Los conjuntos de reglas distribuidas con oclHashcat por defecto incluyen las 12 mil reglas de T0XlCv1.rule, las 35 mil reglas de d3ad0ne.rule y las 123 mil reglas de dive.rule, por lo que menos de 4 mil máximo es una gota en el cubo.

Intente usar contraseñas largas, criptográficamente únicas y un administrador de contraseñas como KeePass para generarlas y almacenarlas; tiene puertos para Apple, iPhone, Android, Linux, Windows, etc.

Asegúrese de ir a Configuración de la base de datos, Seguridad, y establezca el número de rondas en un valor de al menos un segundo, preferiblemente varios (hay un botón / enlace para un retraso de 1 segundo; luego hágalo más grande) particularmente en dispositivos más lentos.

Como alternativa, sugeriría algo muy diferente. Se puede hacer de muchas maneras, pero utilizando cualquiera de las diversas implementaciones de PBKDF2 en mi sitio de github , varios de que incluyen ejecutables de Windows, algunos de los cuales están en Python u otros idiomas comunes.

Luego, use su contraseña "core" como la contraseña, el nombre del sitio web como el salt, muchas iteraciones, ya que no tiene o casi ningún carácter especial, necesitará contraseñas más largas de lo normal, pero ' Podré cortar y pegar. En este momento me disculpo, ya que la salida de Base64 aún no está implementada, aunque estoy trabajando en ello. Sin embargo, la salida hexadecimal está bien, si lo usas todo y el parámetro -o, longitud de salida, es lo suficientemente largo, solo debes saber que el hex es dos veces más largo.

  • NotSecureSite:

    • ./pbkdf2 -p a} P _- ^ cWi_OD ~ w {qjjA4fB -s NotSecureSite.com -a SHA-512 -i 1024000 -o 20

      • 104d58f4c9fac5063ed9ed9303ccadc740053963
    • ./pbkdf2 -p a} P _- ^ cWi_OD ~ w {qjjA4fB -s NotSecureSite.com -a SHA-512 -i 1024000 -o 20 -O base64

      • EE1Y9Mn6xQY + 2e2TA8ytx0AFOWM
  • BankSite:

    • ./pbkdf2 -p a} P _- ^ cWi_OD ~ w {qjjA4fB -s BankSite.com -a SHA-512 -i 1024000 -o 20

      • acaafd556c984e1c225369a5b95e37a38e34e48f
    • ./pbkdf2 -p a} P _- ^ cWi_OD ~ w {qjjA4fB -s BankSite.com -a SHA-512 -i 1024000 -o 20 -O base64

      • rKr9VWyYThwiU2mluV43o4405I8
  • El hex más largo y el Base64 más corto son exactamente tan seguros, ya que provienen de los mismos 20 bits binarios.

  • tanto la contraseña base como el número de iteraciones deben ser iguales

  • tenga en cuenta que las contraseñas de NotSecureSite y BankSite no se parecen en nada, y no tienen patrones discernibles más allá de ser datos claramente codificados en hexadecimal o Base64.

  • note que usé más de un millón de iteraciones Y una contraseña de base aleatoria de 20 caracteres; Esto debería ayudar a proteger contra aquellos que han determinado su algoritmo (ya que debemos asumir que los atacantes lo descubrieron / aprendieron de alguna manera) al proporcionar un gran espacio de teclas y ralentizarlos.

respondido por el Anti-weakpasswords 21.02.2016 - 05:06
fuente
2

Regla # 1 de seguridad: suponga que los atacantes son más inteligentes que usted.

Imagínese si un atacante realmente quisiera obtener acceso a una cuenta que posee.

Buscan en la web y Pastebin en busca de infracciones pasadas y descubren que la cuenta [email protected] estuvo involucrada en dos infracciones.

  • En la primera infracción, la contraseña se descifró y fue oI^l@t(h$Y1G2G .
  • En la segunda violación, la contraseña crackeada fue AI^l@t(h$Y1G2s .

Será bastante obvio para el atacante que hay un esquema de contraseña en uso, especialmente porque el nombre de cada sitio web violado ya es conocido. Para cualquier variación sobre esto, vea la Regla # 1.

    
respondido por el SilverlightFox 22.02.2016 - 13:09
fuente
1

La respuesta es, ¡depende!

Básicamente, la seguridad de este concepto es lo mismo que reutilizar la misma contraseña en varios sitios web, pero agregar algunos caracteres al final.

Si la contraseña base en sí misma es compleja y lo suficientemente larga, esto se traduce en contraseñas que son más difíciles de aplicar a la fuerza bruta, asumiendo la seguridad adecuada en el back-end del sitio web.

El problema con esta técnica es que si un sitio web almacena su contraseña en texto sin formato y un atacante obtiene acceso a su base de datos, puede probar su sistema de contraseñas en otros sitios web. Él tendría su contraseña base y, por lo tanto, la complejidad se reduce a dos caracteres, lo que francamente no es mucho.

Si todos los sitios web almacenan su contraseña correctamente, sería lo suficientemente seguro. Pero nunca se sabe si ese es el caso y nunca se sabe si alguien podría orientar su cuenta específicamente.

    
respondido por el John 20.02.2016 - 18:25
fuente
1

Está en el camino correcto: lo más importante que puede hacer es tener una contraseña diferente para cada sitio en el que inicie sesión. El beneficio clave es que si un sitio es hackeado (lo son, todos los días), los sitios que usan métodos débiles para ofuscar su contraseña hacen que sea más fácil descifrar su contraseña. Tener la misma contraseña en todas partes significa que si conocen su contraseña una vez, también lo saben en muchos otros lugares.

La complejidad es importante porque ayuda a vencer los métodos de craqueo. Pero los esquemas que mencionas pueden ser un poco complicados, ya que hay otras maneras en que los hackers obtienen tu contraseña que no necesitan ser descifrados.

Por lo tanto, recomiendo encarecidamente a los administradores de contraseñas, y de todos, 1Password es el que más confío, ya que su estrategia es nunca almacenar su contraseña maestra en sus servidores. Otros administradores de contraseñas también pueden hacer esto, por lo que cualquier buena vale la pena. Un administrador de contraseñas hace que sea factible y conveniente tener una contraseña larga, compleja, aleatoria y única para cada sitio. Los mejores también hacen mucho más.

Y para los sitios más importantes, use su autenticación multifactor (MFA o 2FA). Es un dolor total porque necesita tener algo, normalmente un teléfono, que proporcionará un código secundario. Pero para la cuenta de correo electrónico que se usará para confirmar las contraseñas olvidadas, úsela.

Hay varias maneras en que las personas malas obtienen contraseñas. Los adivinan a partir de usos comunes como P @ ssw0rd! Las contraseñas débilmente cifradas se roban de sitios violados y luego se descifran utilizando palabras del diccionario. Tu método resuelve estos.

Pero hay un tercero: los sitios mal protegidos o pirateados, o las estafas de phishing / ingeniería social hacen que escriba una contraseña: los hackers ahora lo saben con muy poco esfuerzo. Los sitios serios sobre seguridad protegen contra esto y monitorean los patrones que sugieren violaciones. Pero la mayoría no lo hacen. (Hoy en día, estos métodos son la forma más común de obtener contraseñas de manera efectiva).

Si asumimos que un pirata informático conoce su contraseña para un sitio específico, ¿qué tan seguro es el método ahora?

Digamos que la parte común de la contraseña es una cadena larga y compleja. Usaré XXXX para representarla. Pero si crea un sufijo o prefijo basado en algo sobre el sitio, eso no es complejo o puede suponerse, como un SXXXX, utilizando la primera letra de "stackexchange", ahora está en cierto riesgo. Hazlo más largo, como sTaXXXX? En realidad más adivina. Haz que sea complicado, como sT @ XXXX o atsXXXX ... se está calentando. Incrustar dentro, como XsXtXaX, mejor aún, probablemente.

Pero esta técnica general es una estrategia ampliamente promovida porque es la única que los humanos realmente pueden recordar, por lo que las personas que intentan piratearla saben qué buscar.

Entonces, una vez que haya adivinado su patrón, tienen su dirección de correo electrónico, así que intente iniciar sesión allí: si es Google, entonces XgXoXoX, ¿verdad? Y ahora, cambian su contraseña de Google y comienzan a restablecer todas sus otras contraseñas. Ahora estás realmente hundido. ¿Cómo puedo saber? Casi me pasó en 2007, excepto que tuve suerte. Y desde entonces: 1Password.

Las contraseñas son un medio terrible, terrible de seguridad. Una llave física para su casa es mejor: ¡necesita la llave o una copia, y necesita estar en la casa! Las contraseñas aleatorias generadas a partir de software como 1Password, especialmente combinadas con autenticación multifactor para los sitios críticos, son el camino a seguir. No hay dos sitios en los que tenga cuentas para compartir una contraseña, y no conozco ninguno de ellos. Los que mi familia necesita se almacenan en una "bóveda" separada con una contraseña separada, y soy la única persona que conoce al maestro, y la cambio con frecuencia.

Espero que esto ayude!

    
respondido por el Tom Harrison Jr 20.02.2016 - 21:10
fuente
0

Dejemos de lado la seguridad por un momento y centrémonos en la usabilidad.

Suponga que al menos uno de los sitios web que utiliza está violado en algún momento. ¿Entonces qué?

Obviamente debes cambiar esa contraseña. Por suerte, pensó con anticipación y no usó la misma contraseña en todos los sitios que usa, por lo que solo un sitio se ha visto comprometido.

Si está utilizando un administrador de contraseñas , vaya a ese sitio web, haga clic en el botón "generar contraseña" en su administrador de contraseñas y copie y pegue en el nuevo campo de contraseña en el sitio web. Hecho.

Con su esquema de reutilización con modificaciones , no puede simplemente cambiar el prefijo, porque realmente no es mejor que un contador rotativo como password1, password2, password3, etc. Por lo tanto, debe cambiar la contraseña base.

Ahora que ha cambiado la contraseña base, debe recordar una excepción por sitio a su regla general o debe cambiar cada contraseña única que tenga para usar la nueva contraseña base. Cambiar la base es, en realidad, una mejor idea, ya que, como han señalado otras respuestas, su esquema es básicamente conocido en este punto.

¿Cuántas contraseñas tienes? En este momento, en mi administrador de contraseñas tengo 112 entradas guardadas (es cierto que no todas son contraseñas únicas, ni siquiera las contraseñas de sitios web; tal vez el número real sea aproximadamente 95). ¿Quieres visitar más de 100 sitios web y crear una nueva contraseña para cada uno de ellos? ¿Cuánto tiempo le tomará recordar incluso los 100 sitios web donde tiene una cuenta? ¿Qué pasa con los sitios web que visita solo una vez al año como software de preparación de impuestos? ¿Puedes recordar todos tus nombres de usuario? ¿Qué sucede si en el sitio web número 99, te encuentras con una restricción draconiana de contraseña que significa que tu contraseña base para los primeros 99 sitios web no funcionará? ¿Cambia su contraseña de base nuevamente y comienza de nuevo? ¿Existe una contraseña base que funcione para todos los sitios? Recuerde, algunos sitios requieren caracteres especiales, algunos prohíben . Algunos tienen un mínimo de 12 caracteres, otros tienen un máximo de 10.

Durante un tiempo utilicé un conjunto de 4-5 contraseñas reutilizadas en todos mis sitios, con una contraseña diferente para cada "nivel de seguridad", es decir, tenía mi contraseña bancaria, mi contraseña de redes sociales, mi contraseña de sitio desechable , etc. y otra contraseña completamente única para mi correo electrónico, ya que podría usarse para restablecer las contraseñas en cualquiera de los otros. Un día me enteré de una infracción en un sitio que estaba usando y pasé por este proceso. La segunda vez que sucedió esto, cuando me topé con los requisitos de contraseña draconianos en conflicto al fallar mi contraseña compartida YA DE NUEVO, fue el día que decidí usar un administrador de contraseñas.

Creo que la regla de usabilidad de AviD se aplica claramente aquí: "la seguridad a expensas de la usabilidad viene a expensas de la seguridad".

TL; DR: usa un administrador de contraseñas. Hay muchas opciones seguras por ahí.

    
respondido por el Ben 22.02.2016 - 17:22
fuente
-8

Habría algunos que dirían: "¡No hay entropía! ¡Eso es inseguro!" Así que aquí hay un punto de partida. En la gestión de la seguridad / los ámbitos de aprendizaje, las contraseñas (mecanismos de autenticación) se dividen en:

  • Algo que sabes (contraseña)
  • Algo que tienes (llavero / clave RSA)
  • Algo que eres (biométrica, escáner de huellas digitales)

Bajo las mismas premisas que las anteriores, puede crear algo complejo, pero fácil de memorizar. Habrá personas negativas: "Alguien puede darse cuenta de eso fácilmente" y no estaré de acuerdo con ellos de todo corazón, ya que puede haber demasiadas variables. Así que aquí va tu ejemplo:

  • Algo que sabes: mypassword
  • Algo que tienes: Twitter
  • Algo que eres: latín

SABES que tienes una contraseña múltiple, digamos que estás ingresando a Twitter y digamos que eres latino. Podría acordar la sustitución de caracteres aquí: a = @, e = 3, i =! Y así sucesivamente. Consigamos un separador ahora # ...

myp @ ssw0rd # Tw! tter # L @ t! n

¿Qué hay de decir Gmail? = myp @ ssw0rd # GM @! l # L @ tin ¿Qué te parece decir tu banco? = myp @ ssw0rd # myB @ nk # L @ tin

Ahora ... Habrá alguien que responderá con algo sarcástico: "Sí, pero si alguien usa un registrador de pulsaciones de teclas y ve la estructura ..." Si alguien está monitoreando las pulsaciones de teclas, tiene más problemas para preocuparse. acerca de. Ahora, habrá alguien que dirá algo sarcástico como: "Bueno, si alguien rompe UNA contraseña, toda la estructura se derrumbará". Este no es el caso. Mientras que uno PUEDE INTENTAR romper otras contraseñas usando esa estructura (algo que tiene algo que es, y algo que sabe), aún se convierte en un juego de adivinanzas. "¡Bueno, van a Citibank ... Déjame probar myp @ ssw0rd # C! T! B @ nk # L @ tin ... No funcionó ..." Todavía pasarían por muchas iteraciones de un estructura percibida. Podría mezclar las cosas: "Saber, Son, Tener" para las finanzas, "Ser, Tener, Saber" para los negocios, "Tener, saber, son" para lo personal. Hay muchos métodos para lograr esto.

¿Lado negativo? Buena suerte cuando te topas con sitios que no permiten contraseñas complejas. No hay nada malo con los administradores de contraseñas. Yo uso Lastpass, y funciona bien. Mi contraseña maestra es de 34 caracteres y la cambio cada 120 días, y nunca la olvido.

    
respondido por el munkeyoto 20.02.2016 - 18:21
fuente

Lea otras preguntas en las etiquetas