Autenticación de dos factores para sitios web

La autenticación de dos factores, también conocida como 2FA, verificación en dos pasos o TFA (como acrónimo), es una capa adicional de seguridad conocida como «autenticación multifactor» que requiere no solo una contraseña y un nombre de usuario, sino también algo que solo, y únicamente, ese usuario posea, es decir, un dato que solo él debería conocer o tener inmediatamente a mano, como un token físico; en nuestro caso, un teléfono. Un teléfono que tenga asignado un número de teléfono rastreable.

El siguiente tutorial explicará cómo configurar la autenticación de 2 factores para su sitio web nuevo o existente.

En primer lugar, inicie sesión en su cuenta y busque la pantalla de autenticación de dos factores:

- Haga clic en el mosaico "Aplicaciones":

Autenticación en 2 pasos - Paso 1

- Una vez en la página de Aplicaciones, haga clic en el icono "2 Factor Auth":

Autenticación en 2 pasos - Paso 2

- Una vez en la página «2 Factor Auth» (Autenticación de 2 factores), haga clic en el botón «Create New» (Crear nuevo).

Estas son las opciones que verá:

Autenticación en 2 pasos - Paso 3

Aquí encontrará una explicación de las distintas opciones disponibles:

1. Nombre : nombre de esta instancia de autenticación de dos factores

2. Descripción: una breve descripción

3. CallerID: Este es el CallerID que se utilizará al realizar llamadas salientes (si las llamadas salientes están habilitadas).

4. SenderID : Este es el SenderID de SMS/mensajes de texto (número remitente) que se usará al enviar SMS o mensajes de texto. Tenga en cuenta que, para EE. UU./Canadá, debe tener en su cuenta un número de teléfono habilitado para SMS antes de poder seleccionar esta opción.

5. Permitir marcado : esta opción ofrecerá a sus usuarios finales/visitantes la opción de verificar sus números de teléfono recibiendo llamadas. Cuando se establece en «Sí» (Yes), aparecerá otro conjunto de opciones. Desplácese hacia abajo para ver la descripción.

6. Longitud del PIN : longitud del PIN, por defecto 4 caracteres

7. URL para solicitudes POST : Esta es una de las opciones más importantes que puede configurar: es la URL que usaremos para enviarle la información de autenticación/verificación. Todo esto ocurre en el servidor, por lo que sus usuarios finales no conocerán esta URL.

8. URL local para POST (Local Post URL) : Esta es la URL a la que nuestro applet enviará solicitudes POST en la interfaz orientada al cliente (para que su aplicación pueda procesar posteriormente sus acciones de registro o inicio de sesión)

9. DIV ID : Nuestra aplicación de autenticación de dos factores usará este id de div para mostrar la interfaz de usuario (UI) integrada. Además, debe definirse en el código HTML de tu página como un DIV vacío .
Por ejemplo, si estableces DIV ID como «2fa» , debes editar tu página de inicio de sesión o registro y añadir un div vacío como este :

. Aquí es donde aparecerá el applet de 2FA.

10. Tipo de autenticación : Tiene dos opciones: «Post URL» (que activará una llamada a la URL/opción que explicamos anteriormente en «7. POST URL») y «Enable Directly», que simplemente permitirá que el formulario continúe enviando los datos en «8. Local Post URL» (menos seguro)

11. Dominio : Puede y debe restringir esto al dominio que utiliza su sitio web. Si su sitio web es www.test.com, restrinja el uso a este dominio para que la aplicación 2FA solo funcione en este dominio.

12. Mostrar Captcha: Esta opción controla la visualización de Captcha en la interfaz de usuario 2FA que se integra en el sitio web.

13. Número máximo de reintentos: ¿Cuántos reintentos debemos permitir por visitante?

14. Identificador único : Este es el identificador único que utilizará para este applet 2FA listo para integrar. Explicaremos cómo utilizarlo más adelante (siga leyendo este artículo :) )

15. Reintentos máximos de SMS : ¿Cuántas veces se debe permitir al usuario final reintentar el envío del SMS?

16. Número máximo de reintentos de llamada: ¿Cuántas veces debemos permitir que el usuario final intente volver a llamar a su número?

17. Mensaje SMS : Le permite enviar un mensaje SMS configurable (opción aún no disponible)

18. Enlace de ayuda : Este será el enlace de ayuda mostrado en el subprograma integrable de 2FA. Si no se especifica ninguno, no se mostrará nada.

Cuando "Allow Dialing" (permitir llamadas) se establece en yes (sí), estarán disponibles las siguientes opciones:

Autenticación en 2 pasos - Paso 4

Aquí tiene una explicación sobre las opciones adicionales:

1. Elección de audio (Audio Choice) : le permite elegir cómo se proporcionará al usuario su número PIN de autenticación. Las opciones disponibles son TTS y Audio. Si selecciona Audio se ocultarán las opciones «Texto a voz» (Text to speech) y «Idioma de texto a voz» (Text to speech language) y se reemplazarán por «Voz de audio pregrabada» (Prerecorded audio voice) (¿qué tipo de voz debemos usar?) y «Idioma de voz de audio pregrabada» (Prerecorded audio voice language), como se muestra a continuación:

Autenticación en 2 pasos - Paso 5

2. Texto a voz : si Elección de audio está establecido en "TTS", entonces este es el texto que el motor TTS leerá al usuario final (se aplican cargos de TTS).

3. Idioma de texto a voz : este será el idioma en el que se leerá el texto a voz.

4. Permitir marcado de extensiones : Si se establece en sí, el usuario final también podrá introducir su número de extensión (para que pueda llegar a usuarios finales detrás de IVR, en lugar de solo a usuarios finales con números de teléfono directos)

5. Tarifa máxima por llamada: dado que usted paga las llamadas salientes, también tiene la opción de limitar el coste por minuto asociado a estas llamadas. Probablemente no querrá que sus usuarios finales se autentiquen con teléfonos por satélite (eso sería muy caro, ¡ay!).

6. Esperar el saludo : Si se establece en "No" , nuestro sistema leerá el número PIN en cuanto se conteste la llamada. Si se establece en "Yes" , nuestro sistema esperará primero el primer saludo (mejora de algún modo la entregabilidad, pero puede hacer que algunos usuarios abandonen la llamada antes de oír el PIN: normalmente alrededor del 3% de los usuarios abandonan la llamada antes de oír el PIN cuando esta opción está habilitada).

Una vez que haya terminado con todas estas opciones, simplemente haga clic en el botón «Submit». ¿Recuerda el «Unique Identifier» que dijimos que explicaríamos más adelante? Ahora es el momento de utilizarlo (¿Ve «WHATEVERID» en el script siguiente?)

Así es como implementaría la autenticación en dos pasos en su sitio web:

<!DOCTYPE html>
<head>
  <title>2Factor Authentication test</title>
  <script type="text/javascript">
    (function(d, script) {
      script = d.createElement('script');
      script.type = 'text/javascript';
      script.async = true;
      script.onload = function(){
          // remote script has loaded
      };
      script.src = 'https://api.multitel.net/tfa/js/WHATEVERID/WHATEVERCUSTOMER';
      d.getElementsByTagName('head')[0].appendChild(script);
    }(document));
  </script>
</head>
<html>
  <body>
    <div id="multitel" width="100px"></div>
  <body>
</html>

Ejemplo de código · Ver código fuente

Y esto es lo que verá al abrir esa página:

Autenticación en 2 pasos - Paso 6

Cuando los usuarios finales empiecen a escribir un número de teléfono, el país empezará a aparecer:

Para números de EE. UU.:

Autenticación en 2 pasos - Paso 7

Para números del Reino Unido:

Autenticación en 2 pasos - Paso 8

Los usuarios finales ahora pueden hacer clic en “Enviar SMS” o “Llamada telefónica”. Una vez que reciban su mensaje SMS/texto o llamada telefónica, pueden introducir el código recibido y hacer clic en “Verificar”.

Si se establece, enviaremos esa información mediante POST, junto con "WHATEVERCUSTOMERID"

Buscar documentación