0% encontró este documento útil (0 votos)
53 vistas3 páginas

Metodos de Autenticación para API REST v.2

Este documento explora diferentes métodos de autenticación para API REST como autenticación básica, basada en tokens, basada en clave API y OAuth 2.0. Explica que la autenticación basada en tokens JWT es una opción segura debido a que los tokens contienen información para autenticar y autorizar solicitudes sin consultas adicionales a la base de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
53 vistas3 páginas

Metodos de Autenticación para API REST v.2

Este documento explora diferentes métodos de autenticación para API REST como autenticación básica, basada en tokens, basada en clave API y OAuth 2.0. Explica que la autenticación basada en tokens JWT es una opción segura debido a que los tokens contienen información para autenticar y autorizar solicitudes sin consultas adicionales a la base de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

1

Métodos de autentificación API REST


Adrián Hernández Granda
[email protected]

Resumen— En este ensayo se exploraron diversos métodos de II. DESARROLLO


seguridad y autenticación utilizados en las API REST, como la
Para comenzar, se debe conocer a diferencia entre la
autenticación básica, basada en token, basada en clave API y
OAuth 2.0. Entre ellos, la autenticación basada en tokens de autentificación y la autorización. Entonces, se puede decir que
acceso con JWT se considera una opción sólida debido a su “la autentificación es el método o acción de verificar la
eficiencia, escalabilidad y seguridad. Los tokens JWT contienen identidad de un usuario, en cambio, la autorización, son los
toda la información necesaria para autenticar y autorizar una privilegios de acceso a los recursos a un usuario en una
solicitud, evitando consultas adicionales a la base de datos. aplicación.” [1]
Además, permiten transmitir datos adicionales y utilizan firmas Como se muestra en la (Fig. 1), el proceso de autenticación
digitales para garantizar la integridad y autenticidad de los implica enviar las credenciales al servidor en una solicitud de
tokens. Finalmente se dio respuesta a que la autenticación basada inicio de sesión. El servidor verifica la autenticidad de las
en tokens JWT es una opción confiable y segura para proteger las
credenciales comparándolas con los registros almacenados en
API REST en la era digital actual.
su base de datos o sistema de autenticación. Si las credenciales
Palabras Clave— API REST, JWT, Oauth, Autenticación,
son válidas, el servidor devuelve una respuesta de éxito y
Seguridad
proporciona un mecanismo para que el cliente pueda acceder a
los recursos protegidos de la API.
Abstract—- This essay explored various security and
authentication methods used in REST APIs, such as basic, token-
based, API key-based, and OAuth 2.0 authentication. Among
them, access token-based authentication with JWT is considered a
strong option due to its efficiency, scalability, and security. JWT
tokens contain all the information needed to authenticate and
authorize a request, avoiding additional database queries. In
addition, they allow additional data to be transmitted and use
digital signatures to guarantee the integrity and authenticity of
the tokens. Finally, an answer was given that JWT token-based
authentication is a reliable and secure option to protect REST
APIs in today's digital age.
Keywords— REST API, JWT, Oauth, Authentication, Fig. 1 Proceso de autenticación
Security Existen numerosos métodos de seguridad y formas de
autenticación disponibles para adaptarse a diferentes
necesidades y escenarios en el mundo de las API REST.
I. INTRODUCCIÓN
Los métodos básicos de autenticación para una API REST
E n la era digital actual, las API REST (Application
Programming Interfaces) se han convertido en un
componente esencial para el intercambio de datos y servicios
son:

1. Autenticación básica: Es el método más simple de


entre aplicaciones. La seguridad en las API REST es un autenticación que se puede enviar con el encabezado
aspecto importante que no se puede pasar por alto. Al permitir de "autorización" en cada aplicación. Sin embargo,
el acceso a datos confidenciales o acciones importantes, es este método no se considera seguro porque la
esencial implementar un método de autenticación y aprobación información de inicio de sesión se envía en texto
sólidos para proteger estas API de ataques maliciosos ilegales y plano sin cifrado.
posibles.
En este ensayo, exploraremos en profundidad los diferentes 2. Autenticación basada en token: Este método implica
métodos de seguridad y autenticación basados en tokens que se la generación y el envío del token de acceso en lugar
utilizan en las API REST. Analizaremos sus características, de los datos de contabilidad en cada aplicación. Los
ventajas y desventajas, y evaluaremos cuál de ellos puede tokens de acceso suelen ser cadenas largas y aleatorias
considerarse el método óptimo en función de los requisitos de y se utilizan para identificar y autorizar el usuario o la
seguridad, la escalabilidad y la facilidad de implementación. aplicación. El servidor puede generar tokens después
de la autenticación exitosa e incluirse en el
encabezado de "Authorization" de las solicitudes.

Uno de los tipos de token más utilizados es el JWT


Adrián Hernández | Desarrollo Basado en Plataformas | Unidad 2 (JSON Web Token), que es un estándar abierto que
2

define una forma compacta y segura de transmitir


información entre dos partes como un objeto JSON.
La (Fig. 2) muestra como está estructurado el JWT:

Fig. 3 Envio del Token SSH

3. Autenticación basada en clave API: En este método,


se asigna una clave única a cada usuario o aplicación
autorizada. La clave de API se envía en cada solicitud
como parte de los parámetros de la URL o en el
Fig. 2 Estructura de un JSON Web Token encabezado. El servidor autentica y autoriza la
solicitud utilizando la clave de API correspondiente.
Según [3] la descripción de la estructura de un JWT
es: 4. OAuth 2.0 (Autorización abierta): Este es un
protocolo de autorización utilizado para permitir que
El Encabezado (Header) normalmente está las aplicaciones accedan a los recursos en nombre de
compuesto por dos elementos: el tipo de token, que los usuarios, sin revelar sus credenciales. Proporciona
generalmente es "JWT", y el algoritmo de firma un flujo de autorización seguro y permite a los
utilizado, como HMAC (Hash-based Message usuarios otorgar permisos a las aplicaciones de
Authentication Code), RSA (Rivest-Shamir-Adleman) terceros para acceder a sus recursos sin compartir sus
o ECDSA (Elliptic Curve Digital Signature contraseñas.
Algorithm).
Para [4] la autenticación en OAuth 2.0, se utiliza un
Carga útil (Payload) la cual contiene la información flujo específico llamado "Flujo de Concesión de
que se quiere transmitir y almacenar en el token. Credenciales del Cliente" (Client Credentials Grant).
Puede incluir datos como el identificador del usuario,
roles, permisos u otra información relevante [3]. Como muestra la (Fig. 4), este flujo permite que una
La carga útil no está encriptada y se puede leer aplicación o servicio se autentique directamente con el
fácilmente, por lo que no debe incluir información servidor de autorización en lugar de actuar en nombre
confidencial. de un usuario final.

Finalmente, la Firma (Signature) que se utiliza para El flujo de autenticación descrita en [4] del Flujo de
garantizar la integridad de los datos y verificar que el Concesión de Credenciales del Cliente involucra los
token no haya sido modificado por terceros no siguientes pasos:
autorizados. Esta firma se genera combinando el
encabezado codificado en Base64, la carga útil 1. El cliente envía una solicitud de autenticación al
codificada en Base64 y una clave secreta conocida servidor de autorización, incluyendo su ID de cliente
solo por el emisor y el receptor del token [3]. El y su secreto de cliente (credenciales confidenciales).
algoritmo de firma especificado en el encabezado se 2. El servidor de autorización valida las credenciales del
utiliza para calcular la firma. cliente y autentica al cliente.
3. Si la autenticación es exitosa, el servidor de
Los JWTs son comúnmente utilizados como tokens de autorización emite un token de acceso al cliente.
acceso en la autenticación basada en token para API 4. El cliente puede utilizar este token de acceso para
REST. realizar solicitudes autenticadas a los recursos
protegidos en el servidor de recursos.
Como refleja la (Fig. 3), también se incluye el SSH
(Secure Shell) en la autenticación basada en el token, Es importante tener en cuenta que, en este flujo, no
ya que es utilizado para establecer conexiones seguras hay una interacción directa con un usuario final para
y autenticar en entornos de acceso remoto. autenticarse. En cambio, la aplicación o servicio se
autentica directamente con el servidor de autorización
utilizando sus credenciales de cliente.
3

IV. CONCLUSIÓN

La protección y el control de la información en los servicios


públicos a través de una API o cualquier otro sistema son
requisitos fundamentales. La elección de los métodos de
autenticación y autorización adecuados es esencial para
garantizar la seguridad de los datos y prevenir accesos no
autorizados. El uso de tokens, como JWT, y protocolos
como OAuth 2.0, proporcionan mecanismos efectivos para
asegurar la comunicación y controlar el acceso a los recursos
protegidos en una API REST.

REFERENCIAS

[1] Vergara, S. (2019, 20 de junio). ¿Cuál es el mejor método de


autentificación en un API REST? Blog ITDO - Agencia de desarrollo
Web, APPs y Marketing en
Barcelona. https://www.itdo.com/blog/cual-es-el-mejor-metodo-de-
autentificacion-en-un-api-rest/
[2] Buenas prácticas de Seguridad para las API REST. (s.f.). Club de
Tecnología. https://www.clubdetecnologia.net/blog/2020/buenas-
practicas-de-seguridad-para-las-api-rest/
Fig. 4 Flujo de Concesión de Credenciales del Cliente [3] JWT.IO - JSON Web Tokens Introduction. (s.f.). JSON Web Tokens -
jwt.io. https://jwt.io/introduction
Cabe destacar que OAuth 2.0 también se utiliza en conjunto [4] OAuth2 Overview | SoapUI. (s.f.). The World's Most Popular API
Testing Tool | SoapUI. https://www.soapui.org/docs/oauth2/oauth2-
como la autenticación basada en token, para obtener un flujo
overview/
de autorización más robusto y seguro [1].

La elección del método adecuado dependerá de diversos


factores, como el tipo de dispositivo utilizado, el nivel de
confidencialidad de la información, los requisitos de
seguridad, la escalabilidad y la facilidad de implementación.

III. ¿CUÁL ES EL MEJOR MÉTODO DE AUTENTICACIÓN PARA


API REST QUE USTED USARÍA?
Considero que la autenticación basada en tokens de acceso
con JWT (JSON Web Tokens) sería una opción sólida para
una API REST. Por 4 razones [3]:

1. Integridad y autenticidad: Los tokens JWT utilizan


firmas digitales para garantizar que el token no haya
sido modificado por terceros no autorizados.

2. Transmisión segura: Los tokens JWT se transmiten a


través de canales seguros, como HTTPS, lo que
protege la confidencialidad de los datos.

3. Control de acceso: Los tokens JWT permiten


especificar alcances y permisos que determinan qué
recursos o acciones pueden accederse.

4. Expiración y revocación: Los tokens JWT pueden


tener una fecha de expiración establecida, lo que
limita su tiempo de validez. Además, si se sospecha
de un token comprometido o se desee revocar el
acceso, se puede mantener una lista negra de tokens o
implementar técnicas de revocación basadas en listas
de permitidos (White lists).

También podría gustarte