Ir al contenido principal

Autenticación Multifactor con SMS OTP en WSO2 Identity Server

En este artículo hablaremos de como WSO2 Identity Server (IS) puede reforzar la seguridad de acceso a nuestras aplicaciones incluyendo un segundo paso de autenticación y se explicará cómo habilitar y configurar la autenticación multifactor utilizando SMS OTP.

¿Qué es OTP (One Time Password)?

Una contraseña de un sólo uso (OTP), es una contraseña diseñada para utilizarse una sola vez o que será válida durante un plazo breve de tiempo.

En este proceso se está utilizando el móvil de la persona para verificar su identidad. Se asume que sólo el propietario tendrá acceso al móvil para recibir la contraseña.

Este sistema es comúnmente utilizado para operaciones de banca, alta en plataformas digitales, recuperación de contraseñas, etc.

Pre-requisitos para la autenticación con SMS OTP

  1. Descargar la última versión de WSO2 IS, la cual podemos obtener mediante el siguiente enlace Identity Server – On-Premise and in the Cloud.

  2. Para el envío de SMS utilizaremos Vonage como proveedor de SMS, para esto debemos crear una cuenta mediante el siguiente enlace Vonage API Dashboard.

  3. Una vez creada la cuenta en Vonage, obtener el API Key y el API Secret ya que los utilizaremos para configurar nuestro Proveedor de Identidades.

Vonage API Dashboard

Creación de un Usuario

En este punto se hablará de los pasos a seguir para crear un usuario:

1.Ingresar a la consola de administración de WSO2 IS mediante la siguiente url: https://localhost:9443/carbon

creación usuario en WSO2 Identity Server

2. En la siguiente ventana dar clic en la opción Add New User:

Add new user
3. Posteriormente llenar los datos del usuario que vamos a crear, para este ejemplo se creara el usuario demo, para continuar dar clic en el botón Next.
Next

4. En la siguiente ventana seleccionar un rol con permisos de login, para concluir con la creación del usuario daremos clic en el botón Finish:

Finish

5. Posteriormente debemos actualizar el perfil del usuario, incluyendo un número de móvil valido.

Perfil

Configurar el proveedor de identidades

Para configurar el proveedor de identidades se deberán seguir los siguientes pasos:

1.En el menú Home, debajo de Identity Providers debemos dar clic en la opción Add.

Add

2. En la siguiente ventana, en la sección Basic Information llenar los siguientes datos:

Parámetro

Valor

Identity Provider Name

SMSOTP

Alias

https://localhost:9443/oauth2/token

Basic Information

3.En la sección SMS OTP Configuration llenar los siguientes datos:

Parámetro

Valor

Enable

Activar checkbox

SMS URL

https://rest.nexmo.com/sms/json?api_key=<ENTER_API_KEY>&api_secret=<ENTER_API_SECRET>&from=NEXMO&to=$ctx.num&text=$ctx.msg

HTTP Method

POST

SMS OTP Configuration

Configurar el Service Provider

Para este ejemplo utilizaremos el service provider User Portal y haremos lo siguientes pasos:

1.En la consola de administración debemos dar clic en la opción Service Providers.

Add list

2. Ahora editaremos el service provider User Portal, esto lo haremos dando clic en el botón Edit.

Service Providers

3.Posteriormente daremos clic en la opción Advanced Configuration.

Advanced Configuration

4.En la siguiente ventana daremos clic en el botón Add Authentication Step y en el Step2 seleccionaremos de la lista la opción SMSOTP y para agregarlo daremos clic en Add Authenticator.

Advanced Authentication

Probar la configuración

Para probar las configuraciones que acabamos de realizar en los apartados anteriores, seguiremos los siguientes pasos:

1.Nos dirigiremos a la siguiente url: https://localhost:9443/user-portal

2. En ella, escribiremos las credenciales de nuestro usuario demo que creamos en WSO2 Identity Server.

Credenciales

3. Una vez ingresadas las credenciales, en la siguiente ventana nos solicitará ingresar el OTP que nos habrá llegado por mensaje de texto a nuestro móvil.

Ingresar el OTP
Introducir OTP

4. Si el código es correcto, nos permitirá el acceso al Portal de usuario, en caso contrario nos indicará que el OTP es incorrecto.

OTP Correcto

Conclusión

Como pudimos observar en este artículo, con WSO2 Identity Server podemos reforzar la seguridad de acceso a nuestras aplicaciones incluyendo un segundo paso de autenticación, en este caso fue el envío de OTP por SMS, pero se puede realizar el envío por email o incluir un tercer paso utilizando un biométrico para la lectura de huella digital.

Si quieres saber cómo Chakray puede ayudarte en reforzar la seguridad de acceso mediante OTP, ¡contáctanos!