Introducción

Las contraseñas han formado parte de nuestra vida desde el primer correo que creamos, hoy en día recordar nuestra primera contraseña tal vez sea un tema de vergüenza porque puede que no fuera lo más elaborado o simplemente era tan sosa y de pronto hasta cómica, el numero telefónico, nombre propio, o un apodo. Los correos y tantos sitios web han impulsado el uso de nuevas contraseñas seguras para ayudar al usuario, para que el ingreso sea único y exclusivo del dueño, algunos sitios nos recomiendan ciertas longitudes, símbolos y algunos hasta verifican que no haya digitado en la contraseña parte de la información de registro (fecha, edad, numero telefónico, documento) todas estas condiciones que son tediosas nos permiten proteger nuestro correo o logeo a páginas que acabamos de registrarnos. En este estudio analizamos datos tomados de múltiples fuentes sobre el uso de contraseñas que aunque sean solo números ó cosas más elaboradas como letras con números, el problema real que planteamos aquí es que todas estas contraseñas son parte de diccionarios que usan muchos atacantes y consta no de miles ni millones de palabras sino billones de palabras, usando letras de nuestro abecedario común y los números. Los ataques a contraseñas han sido uno de los crímenes más dañinos y que permiten que usuarios mal intencionados obtengan acceso a uno o más servicios si la víctima es descuidada y usa la misma contraseña insegura en todas partes, en la tabla de estos datos los tiempos mostrados en años pueden parecer poco probables de ser vulnerados, pero como dije anteriormente toda contraseña analizada aquí es parte de una compilación de diccionarios donde serán los primeros valores para comparar y vulnerar cuentas.

¿Que tan segura es mi contraseña?

Seguir las recomendaciones del sitio web no es algo para tomar a la ligera, pero si usted quisiera saber que tan segura es la palabra o combinación de caracteres que ha elegido debe hacer uso de ecuaciones que no son complejas, y conviene tener mayor número de caracteres y de elementos y así pueden generar resultados mejores, por ende, más seguros.

el valor es resultado de: \(𝒌^{𝒏}\)

Donde K es el valor que puede tomar la “keyspace” este término se refiere al conjunto de posibles valores de un sistema criptográfico donde en el caso de ser solo letras del abecedario seria 26 o solo las vocales 5 o todos los números enteros seria 10, y si consideramos todos los símbolos especiales posibles seria 32 símbolos N se refiere al número de caracteres que tiene la contraseña.

Si el sitio web nos exige estas condiciones: Al menos una mayúscula Al menos un numero Al menos 8 caracteres Al menos un carácter especial de estos (#$%&/?+~)

Entonces tenemos para el primer paso al menos una mayúscula, tomando las 26 letras y cada una tiene su versión en mayúscula tenemos 52 posibles variaciones

Para el segundo solo serian 0-9 por ende 10 posibles variaciones

para el tercero, nos dicen cuántos caracteres y el ultimo solo 8 símbolos de esos, entonces procedemos a sumar:

\(k= 52+10+8 ==70\)

y ya reemplazando en nuestra ecuación tenemos:

\(70^ {8} = 576'480.100'000.000\)

Es lo mínimo que podemos crear siguiendo los requisitos que nos plantearon, pero esto no previene que con el suficiente tiempo el actor malicioso pueda ingresar. Estos modelos presentados fueron analizados por diversas empresas de seguridad y con los actuales sistemas computacionales, dentro de poco la computación cuántica va a desplazar las mejores contraseñas y posiblemente toque que recurrir a alternativas donde las contraseñas sean cosa del pasado.

La forma de los datos

Hoy en dia las contraseñas que manejamos son de 6 digitos en adelante, pero como vimos en la tabla anteior, algunas contraseñas de 6 digitos no llegan ni a un nivel medio de seguridad. nuestra tabla de datos esta compuesta por 500 contraseñas, algunas son pequeñas variaciones de otras contraseñas contenidas aqui ej: password y passw0rd, y otras son variaciones que parecen ser más complejas, para mostrar algunas caracteristicas de los datos fue necesario una variable adicional que es la longitud, con esta podemos ver que tanto aporta a la seguridad la cantidad de digitos de la contraseña. Primero veamos como esta compuesto el conjunto de datos:

Como podemos ver, en esta tabla hay una gran presencia de contraseñas con 6 digitos,luego las que tienen 7 y 8 , tenemos 1 sola contraseña con 9 digitos pero como vayamos cocmparando los resultados notaremos que en este caso particular la cantidad de digitos no ofrece una seguridad adicional.

La siguiente grafica es una ayuda para poder apreciar las longitudes vs fortaleza con una organizacion de color dependiendo a que categoria de datos pertenezcan

##Fortaleza y sus influencias como lo vimos anteriormente en la tabla ademas de sus longitudes, la fortaleza de las mismas tambien es influenciada por los tipos de caracteres involucrados.

Tomemos una grafica que relacione nuestras categorias de claves y que tanta fortaleza estan reflejando.

Con esto podemos ver que son pocos los datos que son de la categoria alfanumerico simple que tienen una fortaleza decente, las categorias con mas texto podrian considerarse mas seguras y la pop/geek que encierra nombres formados por texto y numeros tiene varios elementos con mucha fortaleza.

por ultimo una grafica que relaciona Las longitudes en funcion de la unidad de tiempo

Era de esperar que estuvieran tan estrechamente relacionadas, ya que al analizarse el keyspace que permite estimar el tiempo, tambien tenemos en cuenta la longitud, ademas de los tipos de digitos(letras minusculas, letras mayusculas,numeros y/ó caracteres especiales) .

Algo que podemos notar es que al momento toda contraseña formada por un tipo de digito(texto ó número) siempre esta de ultimo, en casi todos nuestros analisis.

##Analisis de tiempos.

Como he mencionado anteriormente los datos aqui presentados son inseguros, ninguno sirve como una contraseña, basta con mirar la siguiente grafica.

Tiene valores tan pequeños para la mayoria de escalas de tiempo que es preocupante, esto se logró por medio de un metodo mucho mas eficiente que un ataque de fuerza bruta con diccionario. Un ataque OFFLINE, consiste en tomar la clave totalmente protegida de la victima y llevarla a un equipo con las capacidades computacionales ideales y lejos de toda deteccion de parte de la victima, con el tiempo suficiente este podra obtener acceso al sistema como si fuera el administrador y/o propietario y poder realizar un ataque más grande o generar perdidas irreparables en la compañia. Detallando la grafica, podemos ver que la contraseña de más duracion solo toma 29 segundos en ser vulnerada, eso es una reduccion del 99,9999990026897% de tiempo al respecto a los ataques online, que ademas de ser lentos son detectables, y pueden contar con limitadores que dilaten aun más este tiempo, por ejemplo: solo 10 intentos por minuto o bloqueo al usuario despues de pocos intentos.

#Calculos para variables cuantitativas

Unidad de tiempo: tiempo.ataques.OFFLINE:

##        0%       25%       50%       75%      100% 
## 1.110e-07 3.210e-03 3.210e-03 8.350e-02 2.927e+01
## [1] 107.4077
## [1] 9.999244
## [1] 0.5000096
## [1] 2.658132
## [1] 7.065665

Unidad de tiempo: years(años)

##    0%   25%   50%   75%  100% 
##  2.56  6.91  6.91  6.91 92.27
## [1] 14.22774
## [1] 3.62892
## [1] 11.82831
## [1] 20.79197
## [1] 432.3062

Unidad de tiempo: month(meses)

##   0%  25%  50%  75% 100% 
## 3.19 3.19 3.19 3.19 3.19
## [1] NaN
## [1] NaN
## [1] 3.19
## [1] 0
## [1] 0

Unidad de tiempo: weeks(semanas)

##   0%  25%  50%  75% 100% 
## 1.84 3.70 3.70 3.70 3.70
## [1] 3.25
## [1] -1.5
## [1] 3.328
## [1] 0.8318173
## [1] 0.69192

Unidad de tiempo: days(dias)

##   0%  25%  50%  75% 100% 
## 1.29 3.72 3.72 3.72 3.72
## [1] 45.62146
## [1] -6.67993
## [1] 3.66895
## [1] 0.349226
## [1] 0.1219588

Unidad de tiempo: hours(horas)

##    0%   25%   50%   75%  100% 
##  3.09  3.43  3.43  3.43 17.28
## [1] 40.88407
## [1] 6.30919
## [1] 3.728372
## [1] 2.11762
## [1] 4.484314

Unidad de tiempo: minutes(minutos)

##    0%   25%   50%   75%  100% 
##  1.85  7.92  7.92 18.52 18.52
## [1] 1.583625
## [1] 0.4239038
## [1] 11.42314
## [1] 5.422729
## [1] 29.40599

Unidad de tiempo: seconds(segundos)

##    0%   25%   50%   75%  100% 
## 11.11 11.11 11.11 11.11 11.11
## [1] NaN
## [1] NaN
## [1] 11.11
## [1] 0
## [1] 0

#Intervalos de confianza

## Loading required package: lattice

## Size (n)  Missing  Minimum   1st Qu     Mean   Median   TrMean   3rd Qu 
##  500.000    0.000    0.000    0.003    0.500    0.003    0.196    0.084 
##      Max    Stdev      Var  SE Mean   I.Q.R.    Range Kurtosis Skewness 
##   29.270    2.658    7.066    0.119    0.081   29.270  103.978    9.969 
## SW p-val 
##    0.000
## 
##  One Sample t-test
## 
## data:  passwordsEntrega$tiempo_hackeo.offline.
## t = -4.206, df = 499, p-value = 1
## alternative hypothesis: true mean is greater than 1
## 95 percent confidence interval:
##  0.3041135       Inf
## sample estimates:
## mean of x 
## 0.5000096
## 
##  One Sample t-test
## 
## data:  passwordsEntrega$fortaleza
## t = -10.603, df = 499, p-value = 1
## alternative hypothesis: true mean is greater than 10
## 95 percent confidence interval:
##  7.032892      Inf
## sample estimates:
## mean of x 
##     7.432

#Conclusiones. A lo largo de este trabajo se ha analizado lavulnerabilidad y los elementos que afectan la seguridad de cada contraseña aqui mostrada, a pesar de todas ser debiles y facilmente hackeables estas fueron seguras hace un tiempo, antes de que existira tantas capacidades computacionales, donde tenemos redes neuronales funcionando edetras de los aspectos mas cotidianos de nuestras vidas. Aqui hubo varios datos que mostraban que no todos los datos estan limitados por su longitud, tambien habian contraseñas un poco cortas pero con mas fortaleza. Solo queda mencionar que a pesar de que hay mucha ciencia detras de cada avance referente a tecnologia para contraseñas , algo que muchos no saben es que este es un sistema que algunas compañias ya intentan eliminar para evitar que exista la posibilidad de que existan vulnerabilidades. Los computadores cuanticos, las ml, y los sistemas GPT son lo suficientemente poderosos para tumbar contraseñas que son mas largas que lo que nosotros podemos memorizar.

##Enlaces consultados