Introducción
Existen diferentes maneras de autenticar a los usuarios de los sistemas informáticos, ya bien sean locales o remotos, a través de huella dactilar, patrones de dibujo, contraseña numérica, imagen del rostro, pero la manera más común de autenticar a los usuarios es a través de una contraseña que está formada por un conjunto de letras, números y en algunos casos símbolos.
En años recientes cuando se crean credenciales de usuario, lo conveniente es formar contraseñas robustas que incluyan números, letras y símbolos especiales ($, %, &, ¡!, etc.) que algunas veces resulta imposible de memorizar y que muchas veces el usuario no la recuerda y tiene que recuperar a través de técnicas para ello. Morris y Thompson describen un esquema para la seguridad de las contraseñas en sistemas UNIX desde el año 1979, donde proponen password seguras para evitar que personas no autorizadas accedan a los sistemas (Morris & Thompson, 1979).
Yan y otros en 2004, realizan un estudio donde prueban con un estudio empírico las deficiencias en el uso de las contraseñas y presentan un método del uso de la mnemotecnia como una estrategia para la memorización de las contraseñas; los autores mencionan que muchas de las deficiencias en las contraseñas se deben a las limitaciones de memorización y que algunos no son capaces de recordar las contraseñas aun acabadas de crear y realizan una investigación cuantitativa para probar que las contraseñas se pueden romper con longitudes de 6 caracteres fácilmente (Yan, Alan, Anderson, & Grant, 2004).
En el año 1996, Jablon propone un método para robustecer las contraseñas cortas; este método llamado SPEKE, utiliza la criptografía y el modelado matemático para hacer más fuerte la contraseña y que no se pueda encontrar en los diccionarios de palabra, es comparado con otro método llamado DH-EKE, aunque genera palabras muy robustas son difíciles de memorizar para una gran mayoría de personas (Jablon, 1996).
Weir y otros realizan pruebas métricas con un conjunto de 32 millones de contraseñas a fin de determinar su efectividad usando la entropía, en sus resultados experimentales demuestran con pruebas de metodologías de ataque a contraseñas que puedan ser vulnerables y proponen políticas de seguridad en las contraseñas que no permitan contraseñas débiles, realizan pruebas con diferentes escenarios y combinaciones como letras mayúsculas, minúsculas, caracteres especiales en diferentes posiciones de las contraseñas y obtienen estadísticas de ellas (Weir, Aggarwal, Collins, y Stern, 2010).
En el año 2010, Shay y otros realizaron un estudio a través del cuestionamiento de 470 usuarios de la Universidad de Carnegie Mellon, donde encontraron lo siguiente en la composición de las contraseñas, 163 personas que representan 34.9% utilizan una palabra basada en un nombre como contraseña. Solo 79 personas el 16.8% utilizan la combinación de nombres, números y símbolos para formar su contraseña. Los demás utilizan su fecha de cumpleaños, su domicilio, su número telefónico pero no la combinación de estos, lo que es fácil encontrar en un diccionario de palabras de los diferentes idiomas y estos con un programa de fuerza bruta puede revelar la contraseña y tener accesos no autorizados a los sistemas (Shay et al., 2010).
Una buena guía para el establecimiento de políticas de contraseñas es el que muestra el Instituto Nacional de Estándares y Tecnologías (NIST National Institute Standard and Technology). Este instituto propone en un documento 800-63B requisitos para los secretos memorizados por ejemplo contraseñas y números de identificación personal. En el documento hace una recomendación de una longitud mínima de 8 caracteres y de diferentes tipos alfabético, numérico y caracteres especiales “NIST”.
El modelo de referencia de seguridad CIA (Confidencialidad, Autenticación y Disponibilidad, CIA por sus siglas en inglés) es muy utilizado para establecer las políticas de seguridad informática en todas las organizaciones. La autenticación es una primera línea de defensa ante los ataques de personas no autorizadas accedan a los sistemas computacionales. En este sentido, existen técnicas que permitan facilitar la memorización de las contraseñas dándole fortaleza a esas contraseñas, Cherdmuangpak y otros han propuesto un trabajo de investigación utilizando imágenes reemplazando los caracteres que se usan en las contraseñas, han demostrado que su técnica es efectiva para jóvenes de secundaria y previenen algunos ataques con el uso de la técnica que proponen (Cherdmuangpak, Anusas-Amonkul, & Limthanmaphon, 2017).
Existen algunos otros trabajos de investigación que utilizan técnicas contraseñas gráficas, porque los usuarios pueden recordar con más facilidad una imagen que un texto. Otros trabajos proponen el realizar un dibujo como contraseña, el uso de esta técnica puede producir problemas porque no se pueden solapar los vértices o las aristas en un trazo (Blonder, 1996; Chakrabarti, Landon, & Singhal, 2007).
Existen algunas otras técnicas que se basan en imágenes del rostro humano, dibujos animados y los autores de las técnicas afirman que puede ser más eficaz que se cree la propia contraseña con estas técnicas que las que se puedan generar por los sistemas informáticos (Gurav, Gawade, Rane, y Khochare, 2014).
Otras técnicas de autenticación utilizan dos vías, utilizan la contraseña capturada en texto y la huella digital, el rostro, el iris del ojo o algún patrón dibujado, y en algunos casos un mensaje de texto por la telefonía móvil, argumentando que este proceso de autenticación es más seguro que el uso de una sola contraseña (Khanaa, Thooyamani, y Udayakumar, 2014); sin embargo, estas técnicas se vuelven complicadas de implementar en cualquier entorno debido a los dispositivos hardware informáticos que utilizan para capturar la huella, el iris, o el patrón de dibujo, son costosos y algunos poco portables.
Alodhyani y otros realizaron un estudio mixto del uso de los gestores de contraseñas en donde encontraron como principal factor de no usar estos administradores de contraseñas como la desconfianza y la transparencia en el uso de ellas, y encontraron que algunos administradores tienen problemas con las interfaces y las funciones que utilizan (Alodhyani, Theodorakopoulos, y Reinecke, 2020).
Maqbali y Mitchel presentan un esquema generador de contraseñas llamado AutoPass, basado en cliente-servidor, donde con una entrada mínima el usuario puede generar o regenerar una contraseña robusta utilizando funciones compendio como hash-256, aunque cumple con los requisitos para generar una contraseña del mundo real, necesita un servidor y una pasarela para generar la contraseña, lo que supone un inconveniente al momento de su implementación (Maqbali y Mitchell, 2017).
Glory y otros han desarrollado un generador de contraseñas basado en un único algoritmo que utiliza palabras y números que proveen los usuarios y que no representan un reto de recordar esa contraseña generada, han probado su efectividad a través de ataques de fuerza bruta donde presentan resultados satisfactorios (Glory, Ul Aftab, Tremblay-Savard, y Mohammed, 2019).
Desarrollo
En el presente trabajo, hemos desarrollado un generador de contraseñas utilizando los números de tres dialectos mexicanos (Otomí, Náhuatl y Maya) para darle mayor robustez a las contraseñas, en una aplicación que permita la generación sin necesidad de memorizar la contraseña generada. A continuación, presentamos el desarrollo e implementación de la propuesta.
Algoritmo
En el algoritmo primero tomamos como entrada un texto que el usuario elija, es un texto que el fácilmente puede memorizar como un nombre, una dirección, un número telefónico o la combinación entre ellos, una vez se tiene el texto proponemos una conversión en 2 pasos, el primer paso es convertir las 5 letras vocales en números arábigos; por ejemplo (a=4, e=3, i=1, o=5, u=6), para en un segundo paso convertir esos números arábigos por números en el dialecto de su elección; se ha seleccionado el 5 y 6 debido a que en algunos dialectos no se cuenta con un número cero para ser utilizado y el 6 se selecciona por ser el consecutivo. Continuando con la técnica, los siguientes pasos serían seleccionar un dialecto de los tres posibles, el otomí, el maya o el náhuatl y reemplazar los números arábigos por los números en el dialecto elegido. A continuación, se describe el algoritmo que se utilizó para realizar la técnica antes descrita.
Requisitos
Texto sin límite de caracteres, sin espacios, incluya números, letras o caracteres especiales.
1. Inicio.
2. Cadena1 <- texto plano.
3. N <- número de caracteres.
4. Mientras cadena1 < N.
5. Hacer.
a. alfabeto1 <-{a, e, i, o, u}
b. alfabeto2 <-{4, 3, 1, 5, 6}
c. cadena2 <-reemplaza.cadena1(alfabero1,alfabeto2)
d. alfabeto-maya <-{kan, óox, jun, jo’o, waak}
e. alfabeto-otomí <-{goho, hñu, n’a, kütá, r’ato}
f. alfabeto-náhuatl <-{nähui, ëyi, cë, mäcuïlli, chicuacë}
g. selecciona dialecto
h. cadenafinal <-reemplaza.cadena2(alfabeto seleccionado)
A continuación, en la Figura 1, se ilustra un ejemplo con un texto plano con la palabra “rolando” en la aplicación del algoritmo utilizando el dialecto otomí, quedando como resultado “ryoncelnahuindyonce”, donde se puede observar que la longitud de la contraseña se ha incrementado de 7 a 19 caracteres, quedando de longitud aceptable para la mayoría de las aplicaciones que necesitan autenticación.
Se ha seleccionado el lenguaje de marcación de hipertexto, así como las hojas en cascada, el lenguaje javascript y el framework json para el desarrollo de una aplicación que se implementará como una extensión del navegador Google Chrome®; esto debido a que se tiene la idea que se use para la autenticación de los portales y aplicaciones web que son de uso más común en la actualidad.
La aplicación de extensión de Google Chrome® se puede observar en la Figura 2, donde en un cuadro de texto se introduce la palabra que puede ser alfanumérica que incluya minúsculas, mayúsculas y caracteres especiales. Esa palabra puede ser común y fácil de memorizar para el usuario. Se selecciona el botón con el dialecto a convertir, y en el siguiente cuadro de texto se obtendrá la contraseña, se le ha colocado un botón de copiar que permitirá tener la contraseña en una memoria temporal para que el usuario pueda disponer de ella en la aplicación que le solicite la contraseña.
Resultados
A manera de ejemplo, se han generado tres contraseñas a partir de nombres de personas, utilizando la técnica propuesta para los tres dialectos y los resultados se pueden observar, donde se ha incrementado considerablemente su longitud e inclusive incluye caracteres especiales en algunos casos.
palabra | Otomí | Maya | Náhuatl |
rolando | rküt’an’agohondküt’a | rjo’ojunkanndjo’o | rmäcuïllicënähuindmäcuïlli |
clarisa | clgohorn’asgoho | clkanrjunskan | Clnähuircësnähui |
rodrigo | rküt’adrn’agküt’a | rjo’odrjungjo’o | Rmäcuïllidrcëgmäcuïlli |
Fuente: Elaboración propia.
Continuando con la experimentación con pruebas de laboratorio, se han utilizado portales web que verifican la seguridad de contraseñas, midiendo entre otros parámetros la robustez y la capacidad de craqueo (craking del idioma inglés).
Los verificadores de contraseñas utilizados fueron The Password Meter, Kapersky Lab., Password Checker Online y Strength Test. Cada uno de ellos tienen diferentes salidas de resultados, pero en todos ellos se ha demostrado que las contraseñas utilizando la técnica propuesta han superado las pruebas de fortaleza y de resistencia al pirateo. En la Figura 3 se muestra el resultado de la evaluación usando el portal The Password Meter, en donde los indicadores marcan 4 valores excepcionales, 9 suficientes, 2 precauciones y 1 error.
Conclusiones
En el presente trabajo existen dos aportes importantes: primero, se mejora el fortalecimiento de las contraseñas usadas como medio de autenticación en los sistemas de computadora con el uso de la técnica antes descrita. Segundo, se desarrolla una extensión de Google Chrome para instalar en las computadoras de la institución educativa y que permita el uso de ella a los estudiantes, docentes y personal administrativo.
Con el uso de la aplicación de la técnica propuesta, la convertirá en una contraseña robusta; actualmente no contamos con resultados de la aplicación de la técnica en institución educativa a nivel superior. Para futuros trabajos se realizará el análisis cuantitativo del uso de la técnica y de la aplicación extensión de Google Chrome, donde se pueda medir el uso de la herramienta y la efectividad.