Por Qué Importa
La distinción entre autenticación y autorización es el concepto más importante en seguridad de APIs. La mayoría de las vulnerabilidades críticas de APIs surgen de la confusión entre estos dos conceptos o de fallos en uno mientras el otro funciona correctamente.
Considera una analogía con un edificio: la autenticación es el guardia de seguridad que verifica tu credencial de identificación en la entrada. La autorización es el sistema de tarjetas de acceso que determina a qué pisos y habitaciones puedes entrar. Un edificio que verifica las identificaciones en la puerta pero da acceso a todos a cada habitación tiene autenticación sin autorización adecuada. Esto es exactamente lo que sucede en la mayoría de las vulnerabilidades BOLA/IDOR.
En el OWASP API Security Top 10, tres de las cinco primeras categorías (API1, API3, API5) son fundamentalmente fallos de autorización, mientras que API2 cubre los fallos de autenticación. Comprender esta distinción es la clave para encontrar los bugs de API más comunes e impactantes.
Autenticación en la Práctica
Cómo Funciona la Autenticación
La autenticación verifica la identidad a través de uno o más factores:
- Algo que sabes: contraseñas, PINs, preguntas de seguridad
- Algo que tienes: tokens, tarjetas inteligentes, dispositivos móviles (usados en la autenticación de dos factores)
- Algo que eres: huellas dactilares, reconocimiento facial, biometría
En las APIs, la autenticación típicamente produce un token (JWT, cookie de sesión o API key) que el cliente envía con las solicitudes posteriores. El servidor valida este token en cada solicitud para confirmar la identidad del usuario.
Fallos Comunes de Autenticación
- Tokens que nunca expiran, permitiendo acceso permanente desde un token robado
- Flujos de restablecimiento de contraseña con tokens predecibles o reutilizables
- Cierre de sesión que solo limpia el token del lado del cliente sin invalidarlo del lado del servidor
- Falta de limitación de tasa en endpoints de login o OTP, permitiendo ataques de fuerza bruta
- Generación débil de tokens que permite predicción o repetición
Autorización en la Práctica
Cómo Funciona la Autorización
Después de que la autenticación confirma la identidad, la autorización determina los permisos. Los modelos de autorización incluyen:
- Control de Acceso Basado en Roles (RBAC): permisos asignados a roles (administrador, usuario, editor); los usuarios heredan los permisos del rol
- Control de Acceso Basado en Atributos (ABAC): permisos basados en atributos del usuario, atributos del recurso y condiciones del entorno
- Autorización a nivel de objeto: verificar que el usuario autenticado es propietario del objeto solicitado o tiene acceso a él
Fallos Comunes de Autorización
- Falta de verificaciones a nivel de objeto (BOLA/IDOR): la API verifica el inicio de sesión pero no la propiedad del recurso
- Falta de verificaciones a nivel de función: usuarios regulares llamando a endpoints de administración
- Asignación masiva: la API aceptando cambios de rol o permisos desde la entrada del usuario
- Escalada de privilegios: usuarios elevando sus propios permisos a través de la manipulación de la API
Pruebas de Autenticación y Autorización
Al probar APIs, los profesionales de seguridad evalúan ambas capas de forma independiente:
Pruebas de autenticación: ¿Se pueden reutilizar los tokens después del cierre de sesión? ¿Expiran? ¿Se pueden predecir los tokens de restablecimiento de contraseña? ¿Hay limitación de tasa en el login? ¿Se invalidan las sesiones antiguas después de un cambio de contraseña?
Pruebas de autorización: ¿Puede el Usuario A acceder a los datos del Usuario B cambiando un ID? ¿Puede un usuario regular llamar a endpoints de administración? ¿Puede el usuario añadir campos privilegiados a los cuerpos de solicitud? ¿Devuelve la API más datos de los que el rol del usuario debería ver?
Los bugs más impactantes ocurren en la intersección: una API que autentica correctamente a los usuarios pero no autoriza su acceso a objetos o funciones específicas.
Cómo enseñamos Autenticación vs Autorización
En nuestro Cybersecurity Bootcamp, no solo aprenderás sobre Autenticación vs Autorización en teoría. Practicarás con herramientas reales en laboratorios prácticos, guiado por profesionales de la industria que usan estos conceptos a diario.
Cubierto en:
Módulo 1: Fundamentos de Ciberseguridad
360+ horas de formación experta • CompTIA Security+ incluido