Explicación de la autenticación del portador

20 de Octubre de 2022

Introducción

La seguridad de los datos es el componente más importante de todo sistema de tecnología de la información. Saber quién accede a los datos y determinar su nivel de acceso y qué acciones pueden realizar es una prioridad de primer nivel para todas las empresas que manejan información confidencial.

Respondiendo a la pregunta "¿quién está accediendo a los datos?" se realiza a través de un proceso llamado autenticación: el acto de verificar y probar la identidad de un usuario final o una aplicación. La autenticación se realiza de varias formas, denominadas esquemas. Uno de esos esquemas es la autorización del portador, es decir, la autenticación.

Descubra qué es la autenticación de portador, qué son los tokens de portador y cómo funciona el proceso de autenticación.

API que autentica una aplicación cliente a través de tokens de portador.

¿Qué es la autenticación de portador?

La autenticación de portador es un esquema de autenticación HTTP que utiliza tokens de portador. fue introducido en RFC 6750, y se usa comúnmente dentro de la OAuth 2.0 marco, pero también se puede utilizar por separado.

La autenticación de portador surgió de la necesidad de reemplazar el flujo de trabajo de firma digital presente en OAuth 1.0. Abandonar la base criptográfica de OAuth 1.0 hizo que OAuth 2.0 fuera más fácil de configurar y usar, y simplificó la administración de claves.

¿Qué es un token de portador?

Un token de portador es una cadena cifrada generada por un servidor de autenticación. Es un tipo de token de acceso que utilizan los servidores de autorización para establecer la identidad de sus portadores (propietarios). Estos tokens otorgan a las aplicaciones cliente acceso a API y recursos protegidos.

Los tokens de portador se usan predominantemente dentro de un flujo de trabajo de OAuth 2.0 y requieren el uso de HTTPS/TLS para permanecer seguros.

Por tipo de datos, los tokens portadores pueden ser:

  • Cadenas de varias longitudes que contienen caracteres hexadecimales. 
  • Tokens estructurados, como JSON Web Tokens (JWT).

¿Cómo funciona la autenticación de portador?

El flujo de autenticación del portador consta de los siguientes pasos: 

  1. El propietario de una aplicación cliente registra la aplicación con un propietario de recursos/proveedor de API. 
  2. El propietario del recurso proporciona al propietario de la aplicación cliente un ID de cliente y un secreto de cliente. 
  3. La aplicación cliente hace una Llamada a la API para solicitar un token al portador. 
  4. La API solicita a la aplicación del cliente que proporcione las credenciales (ID y secreto) que se asociarán con el token del portador. 
  5. La aplicación cliente ingresa las credenciales. 
  6. La API verifica las credenciales y, si son válidas, devuelve un token de portador. 
  7. La aplicación cliente usa su token de portador y su ID de cliente para generar tokens de acceso de corta duración, que se usarán para realizar llamadas a la API.  

El siguiente ejemplo es cómo Comerciantes de CCBill generar un token de acceso para usar API de pago de CCBill

curl -X POST 
\ 
'https://api.ccbill.com/ccbill-auth/oauth/token' 
\ 
-i -u 'MERCHANT_APPLICATION_ID:APPLICATION_SECRET' 
\ 
-H 'Content-Type: application/x-www-form-urlencoded' 
\ 
-d 'grant_type=client_credentials' 

El token portador es una prueba de que una aplicación cliente está registrada y tiene permiso para acceder a los recursos protegidos. Por eso, cada solicitud de token de acceso debe contener un valor del token al portador en el encabezado de autorización de cada llamada API, expresado así: 

Authorization: Bearer <bearertokenvalue> 

El motivo de este formato específico es que muchos servidores admiten varios esquemas de autenticación, por ejemplo: 

  • Basic
  • Digest
  • Negociar
  • AWS4-HMAC-SHA256

En tales casos, simplemente ingresar el valor del token sin especificar el esquema de autenticación no es suficiente y da como resultado una solicitud de autenticación fallida. 

¿Es seguro un token de portador?

Independientemente del tipo de datos utilizado, los tokens de portador están diseñados para no revelar ninguna información confidencial. Sin embargo, el esquema de autenticación del portador se basa en la suposición de que el usuario del token también es el propietario legítimo del token. 

La implementación de un flujo de autenticación de portador sin mecanismos de seguridad adicionales no se considera segura. Si los tokens se filtraran, nada podría impedir que las aplicaciones no autorizadas los usen. 

Depende de los propietarios de los recursos y de las aplicaciones cliente analizar sus necesidades de seguridad y utilizar esos conocimientos para identificar: 

  • El método de autenticación que se adapta a su flujo de trabajo y modelo de negocio. 
  • Las medidas de seguridad adecuadas a implementar. 

Además de la autenticación del portador, otros métodos de autenticación comúnmente utilizados incluyen: 

Algunas de las medidas básicas de seguridad que protegen los tokens al portador y evitan su uso indebido son: 

  • HTTPS/TLS (obligatorio). 
  • Autenticación de dos factores en aplicaciones 
  • Educar a los propietarios de aplicaciones de clientes sobre las mejores prácticas de protección de tokens. 

Nota: Para obtener más información sobre la ciberseguridad para las empresas, lea ¿Qué es la Ciberseguridad? Desafíos y amenazas que enfrentan las organizaciones


Conclusión  

La autenticación del portador no es lo suficientemente segura como el único mecanismo de seguridad de la API para los sistemas bancarios y otras aplicaciones que manejan información confidencial. Sin embargo, este flujo fácil de implementar funciona para aplicaciones de redes sociales, juegos y otras aplicaciones de bajo riesgo.  

Verifique las necesidades de seguridad y cumplimiento de su empresa para determinar qué tipo de método de autenticación usar. 

Acerca del autor.
Mirjana Fodora
Mirjana Fodora es escritora técnica con experiencia en diseño y desarrollo web. A pesar de ser uno de los miembros más jóvenes de CCBill, sus habilidades de escritura y aptitud técnica la ayudan a producir contenido fáctico, informativo y fácil de usar. Si no está escribiendo o aprendiendo una nueva habilidad, la encontrará atracándose de fintech y videos de marketing o juegos.
Hable con un especialista en asistencia comercial