Autenticación biométrica de voz con Twilio
Tiempo de lectura: 4 minutos
¿Qué pasaría si pudiera usar su voz como una contraseña, diciendo una frase que solo funcionará si es usted quien la dice? Eso sería incluso más seguro que una contraseña compleja, porque la voz de una persona es más difícil de duplicar que cualquier contraseña.
Bueno, puede utilizar la autenticación biométrica de voz. Las técnicas de autenticación biométrica de voz, mediante el uso de técnicas de muestreo digital para reconocer la voz de un orador, están ganando popularidad en numerosas industrias. Las organizaciones que han implementado con normalidad la tecnología de autenticación de voz son grandes, como bancos y departamentos gubernamentales. Organizaciones que han aumentado sus preocupaciones por la seguridad tanto como los fondos para implementar una compleja tecnología de autenticación de voz.
Sin embargo, el campo está cambiando, y ahora se puede acceder a la autenticación de voz a través de las API, la forma en que Twilio ha puesto a disposición las comunicaciones a través de las API.
¿Qué es?
He querido establecer una prueba de concepto con autenticación biológica por voz desde la primera vez que escuché acerca de esta, pero me costó encontrar una API que fuera utilizable sin una sobrecarga grande. Afortunadamente, Noel Grover, de VoiceIt se comunicó con nosotros y pude configurar una demostración de autenticación de voz basada en Twilio en un instante.
Un caso de uso común es la autenticación de dos factores. Por ejemplo, durante una transferencia bancaria o el inicio de sesión en la aplicación, el flujo sería similar a la autenticación de dos factores de Twilio, pero en lugar de ingresar un código mediante SMS o IVR, se debe reconocer una voz.
Puedes intentarlo tú mismo llamando al +1 612-400-7423
Elementos básicos:
Primero, es necesario familiarizarse con algunos conceptos clave que me resultaron un complicados al principio, pero son bastante estándares en el campo.
1. Inscripción: este es el proceso de creación de una impresión de voz. Por lo general, se le pedirá a un usuario que repita una frase varias veces y la grabación de estos enunciados se comparará con los futuros intentos de autenticación.
2. Autenticación: esta es la comparación de una frase de usuario con una inscripción registrada. Estos algoritmos son sintonizables, acompañan y determinan cuán estricto o flexible debe ser el algoritmo de coincidencia. Y VoiceIT tiene la capacidad de autenticarse a través de una API de REST y un archivo wav, que es particularmente conveniente con Twilio.
3. Usuarios: autoexplicativo; para usar VoiceIt, necesita crear un usuario. Este usuario es un consejo para utilizar Twilio con VoiceIt. En lugar de hacer que un usuario cree un nombre de usuario, es probable que desee utilizar su número de teléfono y colocarlo en el formato de correo electrónico que requieran.
4. Estos conceptos y otros se tratan en la API de VoiceIt.
El código
En esta demostración, utilizaré un sistema que, cuando recibe una llamada, reconoce el número y, si el usuario existe, le permite iniciar sesión mediante su frase de contraseña. Si su voz coincide con la frase pregrabada, la demostración simplemente dirá “thanks your voice has been recognized” (Gracias, tu voz ha sido reconocida). Si no se reconocen las personas que llaman, pueden inscribirse como un usuario nuevo.
Para la API de VoiceIT basada en REST, se realizó la integración con Twilio de forma súper fácil. Aquí hay un ejemplo en Node, que ha hecho muy fácil la solicitud de un servicio a otro.
Comenzaremos con algunos requisitos básicos de Node y utilizaremos Express para que podamos recibir solicitudes web de Twilio.
Necesitarás una ID de desarrollador de VoiceIt; puedes registrarte directamente en su sitio web para establecerla. En este código, el ID para desarrolladores se almacena en una variable de entorno llamada VOICEIT_DEV_ID.
A continuación, escribimos una función auxiliar , callerCredentials, que se utilizará más adelante, cada vez que recibamos una nueva llamada al sistema.
A continuación, configuramos la sección del código que aceptará solicitudes de Twilio cuando se realice una llamada entrante. Tenga en cuenta que el método es /incoming_call. Si su servidor se ejecuta en http://yourtwilioserver.yourcompany.com/, debe configurar la URL de voz de su número de teléfono Twilio a = http://yourtwilioserver.yourcompany.com/incoming_call.
Esto enviará llamadas entrantes a esta sección del código. A partir de entonces, ocurrirá lo siguiente:
1. El número de teléfono entrante de la persona que llama se utilizará para crear credenciales de usuario con la función calderCredentials. Hay que tener en cuenta que en esta demostración la única parte excepcional del registro del usuario es el número de teléfono desde el que llaman.
2. Se realiza una llamada a la API contra VoiceIt usándolas para obtener información sobre el usuario. Si no existe, crear el usuario en VoiceIt.
3. Si el usuario de VoiceIt no existe, iniciar el proceso para /enroll (inscribir) al usuario.
4. Reproducir algunos comentarios a la persona que llama mediante TwiML.
La experiencia será diferente en función de si el usuario se inscribe por primera vez o si se está autenticando.
La función /enroll, si se selecciona, se utiliza para crear una impresión de voz para el usuario. Deben decir la frase 3 veces para inscribirse. Esta inscripción se guardará en VoiceIt y se comparará con /authentications (autenticaciones) futuras.
La ruta /authenticate es el núcleo del sistema de autenticación de voz real. Cuando un usuario llegue a esta sección, dirá su frase de Twilio y la grabación de Twilio se enviará a VoiceIt para que coincida con su inscripción.
Si coincide, se mostrará un mensaje simple “Great Success!” (Gran éxito), y se reproducirá un archivo JSON de VoiceIt, que indicará el porcentaje de coincidencia de autenticación. En una aplicación real, esto seguiría a la siguiente función; por ejemplo, permitirle acceder a su saldo bancario, etc.
Y eso es todo. La máquina ahora reconoce su voz. Y yo, personalmente, le doy la bienvenida a nuestros nuevos líderes robots.
El código también está disponible en GitHub:
Publicaciones relacionadas
Recursos relacionados
Twilio Docs
Desde API hasta SDK y aplicaciones de muestra
Documentación de referencia de API, SDK, bibliotecas auxiliares, inicios rápidos y tutoriales para su idioma y plataforma.
Centro de Recursos
Los últimos libros electrónicos, informes de la industria y seminarios web
Aprenda de los expertos en participación del cliente para mejorar su propia comunicación.
Ahoy
Centro de la comunidad de desarrolladores de Twilio
Mejores prácticas, ejemplos de códigos e inspiración para crear comunicaciones y experiencias de participación digital.