Controlar el acceso a los sistemas se ha vuelto una tarea compleja para los usuarios finales y un dolor de cabeza permanente para los administradores.

Cuenta la leyenda que para realizar sus actividades cotidianas los usuarios requieren acceso a una red donde comparten recursos como impresoras, digitalizadores o servidores de archivos; necesitan hacer uso de servicios de groupware como el correo electrónico y requieren de aplicaciones de negocio como un ERP (Enterprise Resource Planning) o un sistema de CRM (Customer Relationship Management). Seguramente para cada uno de esos sistemas hará falta su respectiva contraseña de acceso y, por si eso no fuera suficiente, las organizaciones se están viendo obligadas a trabajar más estrechamente con redes sociales como Facebook, Twitter y Linkedin, todas con contraseñas de acceso.

En la comunidad de TI estamos habituados a trabajar con contraseñas para cualquier sistema, muchos de nosotros tenemos varias cuentas de correo: la corporativa, la de nuestro(s) correo(s) personales, la de mensajería instantánea, la clave de acceso a un servidor universitario que solo mantenemos para “evocar viejos tiempos”, los NIP de las tarjetas bancarias, claves para entrar al portal bancario o de algún fabricante y hasta para entrar a los sitios de organizaciones que respaldan nuestras certificaciones.

Como se puede notar, hemos ido complicando nuestra existencia al grado de que podemos manejar por persona cuando menos una docena de accesos diferentes, y para todos esos accesos nos solicitan construir contraseñas de al menos ocho caracteres, que incluyan caracteres alfanuméricos, mayúsculas y minúsculas, que haya por lo menos un caracter especial y además que no se reciclen.

Agregue a lo anterior que de acuerdo a las mejores prácticas, las políticas de contraseñas de acceso obligan a renovarlas cada 30 días en promedio, multiplique eso por el tamaño de la organización y el resultado es que se ha gestado un grave problema para el que aún no encontramos la solución.

Para complicar más las cosas hay que tomar en cuenta aspectos culturales, sociales y laborales. Por ejemplo, uno de mis clientes comenta que además de todo lo anterior, tiene que tomar en cuenta que él debe negociar con su sindicato porque entre sus prerrogativas está la de “salvaguardar los derechos” de sus trabajadores, lo cual lleva a tener estrictamente prohibido hacer cualquier sugerencia de seguridad que complique o atente contra su labor cotidiana.

¿Cuántos usuarios se preocupan por proteger adecuadamente sus accesos? ¿Cuántos más tienen las posibilidades de blindar realmente sus cuentas de acceso? Solemos ser predecibles, las contraseñas tienden a seguir un patrón y en muchos casos también a replicarse en varios sistemas, de manera que si uno de esos es interceptado, el usuario y la información que este maneja queda a merced de un potencial atacante no solo en el sistema inicial sino también en algunos otros.

Hay infinidad de artículos que se dedican al tema de ingeniería social, de ataques de  “hombre en medio”, de phishing o de uso de sniffers para husmear el tráfico en la red, con el fin de interceptar las claves de acceso de los usuarios.  El resto de este artículo lo dedicaré a plantear las soluciones que hoy están disponibles para apoyar a una mejor administración de identidades desde el punto de vista de la seguridad de cómputo.

.

Lo básico: identificación, autenticación, autorización y “accountability”.

El proceso de acceso comienza con la “identificación” del usuario, que se realiza a través de una cuenta que le asigna el administrador del sistema y que usualmente se construye con la inicial del nombre del usuario y el apellido, al estilo jperez, pero pueden existir otras convenciones que la hagan menos predecible, combinando números, letras mayúsculas y minúsculas, algo similar a la manera en que solemos formar una contraseña, por ejemplo  MX03rj26.

Una vez identificado el usuario, los sistemas piden que el mismo pruebe que es quien dice ser. A esta parte del proceso se le conoce como “autenticación” y la idea es contar con mecanismos de seguridad robustos para avalar el acceso; estos mecanismos suelen incluir tokens, tarjetas inteligentes o el apoyo de algún sistema biométrico.

La siguiente etapa, “autorización”, se presenta una vez que el usuario tiene acceso a los sistemas  y consiste en cotejar contra una matriz de usuarios y permisos si existen privilegios suficientes para el acceso a ciertos recursos y cuál es el nivel de autorización sobre los mismos.

Finalmente, derivado de todo el manejo que se efectúe sobre los recursos, los sistemas deben recabar, a través de un proceso llamado “accountability” (rendición de cuentas en español), toda la actividad que realiza el usuario: apertura, modificación, borrado de archivos, etcétera. Dicha actividad queda registrada en una bitácora o registro de auditoría.

 .

Contraseñas (passwords y passphrases)

Los sistemas que requieren contraseñas (passwords) han evolucionado con el paso de los años, pasando de sistemas que aceptaban cualquier longitud, como por ejemplo “123”, a sistemas que requieren de una longitud mínima con combinaciones de números, letras y caracteres especiales. Para facilitar el uso de contraseñas complejas, una alternativa en años recientes ha sido la incorporación de contraseñas compuestas a partir de varias palabras o passphrases que el usuario puede asociar con mayor facilidad y que a la vez complican el trabajo de quien quiere obtener acceso ilícito a sus cuentas.

.

Acceso de una sola vez (single-sign-on)

Al principio de este artículo planteé que conforme aumenta el número de sistemas a los que requiere acceder el usuario, es más complicado mantener una cultura de protección de contraseñas pues se tiende a replicar los accesos. Existen usuarios que guardan todas sus contraseñas en un archivo de su computadora que puede dañarse o ser copiado sin su conocimiento. En la práctica es muy difícil tener al mismo tiempo varias contraseñas complejas y es aún más difícil reemplazarlas cada 30 días como suelen dictar las mejores prácticas.

Por lo anterior surgieron las soluciones de acceso de una sola vez, que permiten el acceso a varios sistemas con un mismo proceso de autenticación, de manera que el esfuerzo de administración se realice en un solo lugar. Un ejemplo de esto es Kerberos.

.

Kerberos

Es un popular sistema de autenticación de una sola vez que fue diseñado por el MIT a mitad de los ochenta para autenticar dos servidores a través de criptografía simétrica y un tercer servidor en el que ambos confiaran. Kerberos funciona de forma muy parecida a los parques temáticos de diversiones donde el usuario tiene un acceso principal y una vez dentro tiene que obtener boletos (tickets) para hacer uso de diferentes recursos (una impresora de calidad, un escáner, un servidor de archivos, etcétera). Los boletos se asignan en función de los privilegios asignados al usuario en cuestión y tanto los usuarios como los servicios dentro del parque confían unos en otros porque hay una taquilla general (el tercero) en la que ambos confían.

.

Federación de identidades

La federación de identidades es una forma de fomentar la interacción de diferentes entidades dentro del comercio electrónico en beneficio de los consumidores; por ejemplo, cuando una persona está planeando sus vacaciones y entra al portal de un proveedor de servicios, este, a su vez, está realizando las conexiones a otros sistemas para armar un propuesta completa: el portal bancario para realizar la transferencia, la línea aérea, el hotel, una agencia de renta de automóviles y sitios para comprar boletos de las diferentes atracciones del destino turístico. Con estas opciones los costos de operación bajan y se pueden armar ofrecimientos integrales donde todos ganan.

.

Biometría

Cuando se habla de esta disciplina queda la idea de que aún tiene mucho de ciencia ficción, pero hoy están disponibles varias modalidades que enumero a continuación:

  • Huella digital – Reconoce puntos únicos dentro de la digitalización de las huellas digitales. Muchos piensan que la imagen de la huella digital es fácilmente replicable pero en los dispositivos de hoy se manejan algoritmos matemáticos muy elaborados y se requiere la presencia del usuario para que el sistema intente siquiera autenticarlo.
  • Escaneo de retina – Inspecciona la distribución de los vasos sanguíneos del globo ocular para hacer el reconocimiento del individuo. Este también es un método con un alto nivel de aceptación.
  • Escaneo de iris – Funciona mediante la identificación de patrones únicos dentro de la composición del iris, que es una característica única de cada persona.
  • Escaneo de la voz humana –  Estos sistemas registran y comparan las frecuencias únicas que emite cada ser humano con su voz y que no pueden ser replicadas ni por el mejor imitador.
  • Comportamiento en la escritura – Una forma reciente de reconocer al usuario es la que se realiza a través de la identificación de la presión que se hace al escribir y también la forma en que hacen ciertos trazos.
  • Comportamiento por movimientos – Los usuarios pueden autenticarse pasando por tapetes que identifican características únicas como la amplitud de la apertura de sus pasos.

En mi siguiente colaboración continuaré revisando algunas soluciones adicionales que  apoyan el  control de acceso. Entre ellas escribiré sobre la administración de identidades, las bóvedas de contraseñas y el estándar OpenID para autenticación descentralizada de usuarios.

Continuará…

[email protected]