Noticias

Historia de la gestión de identidades de código abierto (parte 1)

Pocos conceptos informáticos son tan omnipresentes como la gestión de identidades y accesos. No pasa un día sin que nos pidan datos de acceso, contraseñas o códigos PIN. Pero muy pocos conocen los orígenes y el desarrollo de las tecnologías detrás de ellos.

Esta es la primera de dos publicaciones de blog en las que profundizamos en la historia de la gestión de identidades de código abierto. Cubriremos los principales protocolos y estándares de código abierto que le han dado forma, desde sus orígenes hasta los tiempos modernos. Este artículo se centra en los orígenes y los dos protocolos «antiguos» más importantes: Kerberos y LDAP.

Los orígenes de la gestión de identidades de código abierto

La autenticación ha sido una parte importante de la seguridad informática durante mucho tiempo. Se originó en 1961 con el MIT Compatible Time Sharing System (CTSS) para resolver el problema de quién tiene acceso a qué recursos.

IBM 709 en el MIT Computation Center

La computadora del MIT en ese momento, la IBM 709, tenía una cantidad limitada de recursos, por lo que se pidió a los operadores que iniciaran sesión con credenciales que les otorgarían un rango de límites o recursos en el tiempo de CPU y la memoria que el servidor Provide podría usar. Desde entonces, esta idea de regular el acceso a los recursos sigue siendo el principal motivo de autenticación.

Publicaciones relacionadas

En los años siguientes, la identidad se convirtió en el concepto fundamental de la seguridad general del sistema. Aunque ha habido muchos intentos de estandarizar la forma en que nos autenticamos en los sistemas informáticos, LDAP y Kerberos han ganado la mayor prominencia.

Kerberos

Kerberos fue un proyecto interno del Instituto de Tecnología de Massachusetts (MIT) que originalmente tenía como objetivo proteger los servicios de red proporcionados por el Proyecto Athena. Kerberos se lanzó oficialmente al público a fines de la década de 1980 y se revisó varias veces, y la iteración actual (versión 5) se remonta a 1993.

Logotipo de Kerberos del sitio web del MIT

Kerberos precedió a SSL / TLS y se introdujo para autenticar a los usuarios en una red insegura donde el tráfico se interceptaba activamente. Esto resolvió un problema común: las operaciones criptográficas eran costosas en las CPU en los años 90 y principios de los 2000, lo que hacía que TLS fuera imposible para todas las conexiones.

Kerberos es un sistema que, gracias a una serie de intercambios de tickets, permite la autenticación sin tener que transmitir la contraseña a través de la red. Más tarde, Kerberos podría instalar capas de cifrado similares a TLS y convertir Kerberos en un protocolo que puede proporcionar una base de confianza.

LDAP

LDAP se introdujo en 1997 como sucesor del protocolo de acceso a directorios, que forma parte del estándar X500. Estos fueron creados por International Telecom Union e incluían conceptos que todavía usamos hoy, como los certificados x.509 (que originalmente estaban pensados ​​como un artefacto estándar para la autenticación de directorios).

LDAP es un protocolo binario similar a SQL y HTTP que permite el acceso a una base de datos de directorio comparable a una guía telefónica. Esta guía o directorio telefónico contiene un grupo de usuarios anidados en grupos y permite que una computadora conectada consulte y organice esta información. Como efecto secundario de cómo funciona LDAP, también es posible verificar las contraseñas de los usuarios asociadas con sus cuentas.

Los datos de estos directorios no están estructurados como una tabla en SQL. Más bien, está mucho más cerca de JSON porque los objetos (o entradas) contienen varios pares clave-valor. La lista de los pares clave-valor que pueden existir se define mediante una construcción llamada «esquema».

Además, estas entradas se pueden anidar y estructurar en un árbol, lo que habilita funciones de búsqueda en organizaciones jerárquicas que habilitan muchos elementos importantes de consulta y estructura.

Ejemplo de una entrada LDAP

La implementación LDAP de código abierto más conocida es OpenLDAP, que fue publicada en 1998 por Kurt Linienga. Usó la mayor parte del código fuente del proyecto LDAP original desarrollado por la Universidad de Michigan en 1996.

Puede aprender a integrar Ubuntu con LDAP y Kerberos descargando el siguiente documento técnico:

Aumento y caída en popularidad

Cuando se introdujeron estos protocolos, trajeron una serie de beneficios que alentaron su adopción:

  • Rendimiento y disponibilidad
    Se ha invertido mucho trabajo en la replicación constante activa activa, lo que significa que puede tener una distribución geográfica muy amplia.
  • Expandible
    El esquema LDAP se ha diseñado para que la adición de atributos adicionales pueda ampliarlo para satisfacer diferentes necesidades comerciales.
  • compatible
    Es muy raro encontrar un sistema que no tenga un complemento de autenticación LDAP.

La autenticación se consideró un problema «resuelto» durante un tiempo relativamente largo. Sin embargo, con la creciente popularidad de los teléfonos móviles y las API, también se desarrollaron los requisitos de autenticación y autorización en el panorama informático.

LDAP y Kerberos no pudieron cumplir con los nuevos requisitos de administración de acceso e identidad por las siguientes razones:

  • Principalmente en C. escrito
    Las implementaciones de código abierto de estos protocolos están escritas principalmente en C, lo que las abre a muchos CVE y problemas de seguridad de la memoria (el 70% de los problemas de seguridad de Microsoft surgen de problemas de seguridad de la memoria).
  • Conservador
    Los problemas de seguridad crearon barreras y complejidad adicionales al introducir nuevas funciones y mejoras compatibles con la web.
  • Complicado de manejar
    LDAP y Kerberos ofrecieron una experiencia de desarrollador relativamente pobre, lo que llevó a una aceptación cada vez menor por parte de los desarrolladores y expertos en TI.
  • Solo contraseña
    A medida que los ataques de phishing aumentan año tras año, el mero uso de contraseñas es una forma de autenticación muy insegura. El estándar TOTP no se integró hasta finales de 2011.

Muchas aplicaciones y sistemas operativos modernos todavía usan LDAP y Kerberos (incluido Ubuntu). Sin embargo, su popularidad está disminuyendo lentamente a favor de protocolos modernos compatibles con la web / dispositivos móviles.

En el próximo artículo, veremos estándares más modernos como OAuth, OpenID y FIDO.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba