La seguridad se ha convertido en un punto de referencia obligatorio en la actualidad, y la seguridad en el acceso de los usuarios un tema de suma importancia.
No solo las redes inalámbricas debieran requerir autenticación de usuarios, sino todo acceso a la red (incluyendo las terminales de escritorio con conexión cableada y los teléfonos) y toda aplicación. La seguridad de los datos personales o de la información personal (IP en algunos documentos) es un tema que incluso puede tener implicaciones legales.
Con lo que la autenticación del usuario es un tema de singular importancia hoy.
Mecanismos de autenticación
Al momento de acreditar la identidad en un acceso a la red o a un recurso, hay 3 mecanismos posibles a utilizar:
- Usar algo que se conoce
Es el mecanismo quizás más habitualmente utilizado.
Es por ejemplo el uso de una clave o un PIN para acreditar identidad. - Presentar algo que se tiene
Se trata de un elemento físico o lógico que identifica.
Es el caso de los tokens USB o un certificado digital que sirven para acreditar identidad.
Suele implementarse en sistemas que requieren un mayor nivel de seguridad. - Utilizar algo que quien desea ingresar es
El ejemplo más habitual es el uso de biometría: reconocimiento facial, de huella digital, etc.
Al momento de buscar sistemas más seguros o robustos se suele utilizar la autenticación de factor múltiple (MFA) o de factor dual. En ese caso la verificación de identidad se realiza utilizando al menos 2 elementos de diferente tipo.
Por ejemplo, hay autenticación de factor dual cuando se utiliza la verificación de una clave de acceso o PIN (algo que se sabe o conoce) y huella digital (algo que se es). No es autenticación de múltiple factor cuando se requiere usuario y clave, usuario y PIN, clave y PIN o semejantes.
Creo que el mecanismo más habitualmente utilizado para la acreditación de identidad tanto en los sistemas de acceso a recursos como en aplicaciones es la clave. Incluso los sistemas que requieren autenticación de factor múltiple suelen requerir una clave o PIN como elemento conocido.
Las claves se han convertido en un elemento recurrente en la cultura del siglo XXI. Tenemos una clave para acceder a nuestro teléfono, pero también una para el acceso al sistema bancario; una clave para nuestro correo electrónico personal y también una para el acceso a recursos en nuestra área de trabajo. Las claves están presentes en todas circunstancia y situaciones, tanto personales como laborales.
Esto hace que se constituyan en un elemento fundamental para asegurar el acceso a datos reservados y/o personales, y por lo tanto un elemento central en todo intento de violar la privacidad o confidencialidad de esos datos.
Seguramente todos nosotros hemos escuchado una serie de recomendaciones respecto de estas claves:
- Las claves son de uso personal y no deben ser compartidas con nadie.
- Deben utilizarse diferentes claves para diferentes sistemas.
- Las claves no deben documentarse de cualquier forma, si se lo hace, hacerlo de modo igualmente seguro.
- Las claves deben ser utilizadas de modo seguro, de modo tal de evitar que alguien acceda a ellas al momento de ingresarlas en un sistema.
- Debe ser ingresadas exclusivamente en sistemas seguros.
- En caso de duda, no debe ingresarse la clave.
- Se deben utilizar "claves seguras"
¿Qué es una clave segura?
Para comprender el concepto de clave segura debemos conocer antes los mecanismos de ataque que se suelen utilizar para violar la privacidad o confidencialidad de los datos.
Hay en este punto múltiples mecanismos desplegados por posibles atacantes como son la ingeniería social o la captura de claves, mecanismos que pueden ser contrarrestados a partir de reglas de comportamiento seguras como las que mencioné antes (no compartir las claves, etc.). Pero cuando estos mecanismos de ataque se agotan hay uno que es siempre posible y que es conocido como "ataque de fuerza bruta".
Un ataque de fuerza bruta es un método de prueba y error utilizado para obtener contraseñas, claves de cifrado u otra información de acceso a sistemas. El atacante prueba todas las combinaciones posibles de caracteres hasta encontrar la correcta.
Por ejemplo, si tenemos una caja fuerte con una combinación de 4 dígitos, el atacante de fuerza bruta probaría todas las combinaciones posibles desde 0000 a 9999, una por una, hasta encontrar la que abre la caja fuerte. Con 4 dígitos hay 10.000 combinaciones posibles a probar.
¿Qué es una clave segura o fuerte, entonces?
Una clave segura es una cadena de caracteres lo suficientemente larga y compleja para que un ataque de fuerza bruta se vuelva difícil o ineficaz.
Características de una clave segura
Hay que considerar en este punto algunos principios básicos:
- Los caracteres de la contraseña deben ser lo más aleatorios posible.
Es necesario evitar correlaciones lógicas entre caracteres como pueden ser palabras del diccionario (el ataque de diccionario suele ser la primera etapa de un ataque de fuerza bruta) o patrones lógicos o físicos de caracteres. Por ejemplo, elegir caracteres por su posición en el teclado como puede ser "QWErty123". - Evitar caracteres en combinaciones frecuentes.
Por ejemplo, en los idiomas occidentales es poco frecuente una secuencia de consonantes y cuando son 3 consonantes consecutivas se incluye generalmente una "h", una "l" o una "r". Hay letras que son utilizadas más frecuentemente según el idioma, como la "e" en el inglés o la "a" en el castellano.
En un ataque de fuerza bruta se tiene estos puntos en cuenta para iniciar por allí la búsqueda. - Cuidado con los generadores de claves.
Muchos generadores de claves (servicios en línea o aplicaciones) son cazabobos desarrollados para capturar credenciales.
Otros son legítimos y ofrecen generar claves "al azar". Pero esta generación se hace utilizado variables pseudorandom, es decir, no son realmente al azar sino que simulan serlo. La consecuencia de esto es que las claves que se generan presentan patrones comunes o incluso se repiten. Esto también facilita la tarea de los atacantes. - Utilice la mayor variedad de caracteres posibles.
Cuando se utilizan contraseñas de una determinada cantidad de caracteres, si esos caracteres son simplemente letras, la cantidad de contraseñas diferentes posibles es 26 elevado a la N, donde N es la cantidad de caracteres de la contraseña.
Si la contraseña es de 8 caracteres la cantidad de variantes es 26 a la 8 = 208.827.064.576 claves posibles.
Si la contraseña es de 10 caracteres la cantidad de variantes es 26 a la 10 = 141.167.095.653.376 claves posibles.
Consecuencia: cuando mayor es la cantidad de caracteres, más difícil será el ataque de fuerza bruta.
El otro elemento sobre el que se puede trabajar, es sobre cada uno de los diferentes caracteres. Si son simplemente letras hay 26 caracteres posibles en cada posición, pero si se utilizan letras mayúsculas y minúsculas combinadas hay 56 caracteres posibles, y si se suman caracteres especiales (-_%$#!) pueden ser 60, 62 o más.
Así, en nuestro ejemplo, una contraseña de 10 caracteres la cantidad de variantes será 62 a la 10 = 839.299.365.868.340.224 claves posibles.
Y si llevamos la longitud a 12 caracteres, la cantidad de claves posibles será 62 a la 12 = 3.226.266.762.397.899.816.960
De ahí que en la actualidad la sugerencia para tener una clave segura es:
- Longitud mínima, 12 caracteres
- Que no incluya palabras, nombres o fechas, sea al derecho o al revés
- Que incluya letras (mayúsculas y minúsculas), números y caracteres especiales
- Seleccionados aleatoriamente
¿Cuál es el problema?
El problema está en los sistemas de autenticación que utilizamos en los mecanismos de control de acceso y en la autenticación de aplicaciones y otros sistemas.
Aún el día de hoy:
- Encontramos sistemas de autenticación que no admiten claves de más de 8 caracteres (incluso, a veces, menos).
- Muchos sistemas no discriminan mayúsculas y minúsculas, o no admiten números.
- Muchos sistemas no admiten caracteres especiales, y cuando se admiten no siempre son los mismos.
Esto hace que muchas veces sea complicado definir políticas de claves clara y consistente ya que no todos los sistemas admiten las mismas características.
Sin embargo, al día de hoy hay muchos sistemas de autenticación en el mercado que permiten definir (aún cuando se deja al usuario elegir la clave) parámetros tales como una longitud mínima admitida para la clave, qué caracteres son admitidos (incluidos qué caracteres especiales se incluyen), se pueden excluir cadenas de caracteres permitidas (por ejemplo no permito incluir la palabra "cisco" al derecho o al revés), definir períodos de renovación obligatorios y obligar a no repetir las claves.
Es decir, hay en el mercado mecanismos eficientes que permiten proteger los accesos. Solo es necesario tener esto presente al momento de definir las políticas de claves para las aplicaciones propietarias o los sistemas que se van a contratar para la autenticación de los usuarios.
Los manuales que publico los podés adquirir en el sitio web de EduBooks: https://www.edubooks.com.ar/
Los cursos on line que desarrollo se pueden adquirir a través del sitio web de Educática: https://www.educatica.com.ar/
Estás invitado a seguirme en Instagram:
https://www.instagram.com/libros.networking/
También podés participar de nuestro grupo en Facebook:
https://www.facebook.com/groups/librosnetworking/
podés participar de nuestro grupo en VKontakte
https://vk.com/libros.networking
O también puedes seguir las principales novedades en el grupo de Telegram:
https://t.me/LibrosNetworking
No hay comentarios.:
Publicar un comentario
Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.