Introducing Eleven v4Introducing Eleven v4, our fastest and most emotive voice model

Ir al contenido

Diseño de autenticación segura de llamadas para agentes de voz

Publicado
Última actualización

EscucharEscucha este artículo

Los agentes de voz están evolucionando rápidamente: pasan de responder preguntas frecuentes sencillas a convertirse en sistemas que modifican cuentas, procesan transacciones y acceden a datos sensibles de clientes. Este cambio plantea un reto fundamental: ¿cómo autenticas la identidad de quien llama en un sistema de IA conversacional en el que no existen los métodos tradicionales de verificación visual?

Cuando un agente de voz puede actualizar suscripciones, consultar saldos de cuentas o iniciar reembolsos, debe autenticar a quien llama con el mismo rigor que un centro de atención telefónica, pero mediante una interacción totalmente basada en la voz. A diferencia de los agentes humanos, que siguen las políticas de la empresa, los agentes de IA requieren una autenticación determinista y basada en herramientas que no dependa del criterio de un LLM.

Este artículo describe patrones de autenticación probados a partir de nuestro trabajo como ingenieros de despliegue en implementaciones empresariales. Veremos cinco enfoques principales, desde la autenticación basada en sesiones para widgets integrados hasta métodos específicos de telefonía y la verificación mediante OTP, y explicaremos cómo implementar cada uno mediante el control determinista de workflows en la plataforma de ElevenLabs.

Y, lo más importante, mostraremos por qué la autenticación no puede dejarse en manos de la inferencia conversacional. En su lugar, debe diseñarse mediante subagentes aislados, verificación basada en herramientas y enrutamiento condicional de workflows que garantice que solo usuarios autenticados accedan a operaciones privilegiadas.

Resumen

  • La autenticación de quien llama para agentes de voz debe ser determinista y basarse en herramientas; no puede dejarse a la inferencia conversacional del LLM.
  • La autenticación de la aplicación anfitriona transmite los datos de sesión existentes al agente, por lo que usuarios que ya han iniciado sesión no tienen que volver a autenticarse.
  • La autenticación basada en conocimientos verifica los datos proporcionados por quien llama, como el número de cuenta o la fecha de nacimiento, con un sistema de backend mediante una llamada a una herramienta del lado del servidor.
  • Las implementaciones de telefonía pueden utilizar variables dinámicas del sistema, como el identificador de llamada, para autenticar de forma silenciosa, pero deben combinarse con un segundo factor, ya que el identificador de llamada puede falsificarse o compartirse.
  • La verificación mediante código de un solo uso envía un código por SMS o correo electrónico y lo valida a través de un servicio de backend.

La base arquitectónica de la autenticación determinista

Para garantizar que solo usuarios autenticados puedan acceder a información relacionada con sus cuentas, recomendamos una separación estricta de entornos y accesos mediante los workflows de ElevenLabs. La autenticación debe implementarse siempre mediante una llamada a una herramienta que devuelva un resultado booleano de éxito o error, configurada como una herramienta de dispatch en el creador de workflows de ElevenLabs.

Al vincular directamente la condición de transferencia al resultado de la llamada a la herramienta, el subagente con acceso a los datos de la cuenta solo puede alcanzarse tras una autenticación correcta y permanece totalmente aislado de usuarios no autenticados. Esto garantiza que la autenticación sea determinista, que no dependa de una decisión del LLM y que no se pueda avanzar a nodos posteriores sin una identidad verificada.

Como alternativa, puedes utilizar expresiones de transferencia como un método de transferencia fiable. Estas expresiones hacen referencia a variables dinámicas que se actualizan mediante los resultados de las llamadas a herramientas.

Ejemplo de implementación

Verifica al usuario en Salesforce (llamada a una herramienta). Si la verificación se realiza correctamente, recupera los datos de transacciones del cliente de Salesforce (otra llamada a una herramienta) y, a continuación, transfiere al usuario a un subagente encargado de utilizar estos datos para comunicarse con el cliente y realizar otras acciones si es necesario.

auth-flow

Métodos de autenticación de identidad de usuarios

Estos métodos de autenticación no son compatibles de forma nativa con la plataforma de ElevenLabs. Puedes implementarlos mediante herramientas del lado del servidor que se integren con tu CRM o backend/base de datos, donde se almacenan los datos de autenticación.

Autenticación de la aplicación anfitriona

En el caso de agentes de voz integrados en un sitio web, la aplicación anfitriona puede transmitir datos de sesión del usuario (como el estado de inicio de sesión, el ID de cuenta o tokens de sesión) mediante variables dinámicas al inicializar el agente o widget. Estas variables se insertan automáticamente en las llamadas a herramientas mediante las mismas variables dinámicas, lo que permite al agente recuperar datos personalizados de sistemas integrados sin requerir una autenticación independiente.

Esto permite un flujo de asistencia sin interrupciones, ya que la aplicación anfitriona ya ha verificado al usuario. Puedes configurarlo de forma personalizada o utilizar el widget de ElevenLabs, donde transmites variables en tiempo de ejecución mediante la configuración del widget (por ejemplo, <elevenlabs-convai dynamic-variables='{"user_id": "123", "account_tier": "premium"}'>).

Consulta la documentación de Variables dinámicas para ver la configuración completa.

Autenticación basada en conocimientos (KBA) 

El agente de voz pide a quien llama que proporcione datos de autenticación, como el número de cuenta, el código postal, la fecha de nacimiento o respuestas de seguridad. Una herramienta del lado del servidor (webhook o llamada al backend) verifica estos valores con tu base de datos (por ejemplo, un CRM o un almacén de identidades). La herramienta devuelve un resultado de éxito o error que incluye tanto un estado booleano (is_error) como texto descriptivo.

Puedes implementarlo mediante un control determinista del workflow: después de solicitar la información pertinente, configura un dispatch de herramientas y utiliza conexiones de transferencia condicionales del workflow que se ramifiquen según el estado de éxito o error de la herramienta, dirigiendo a usuarios autenticados a nodos de agentes «privilegiados». 

Este enfoque admite tanto preguntas de seguridad estáticas como verificaciones dinámicas de tipo «out-of-wallet», según tus requisitos de riesgo de fraude.

Consulta la documentación sobre herramientas de servidor y el nodo de herramienta de dispatch en workflows de agentes para obtener más información.

Variables dinámicas del sistema (solo telefonía)

En las conversaciones telefónicas (a través de Twilio o un troncal SIP), tu agente tiene acceso automáticamente a variables del sistema específicas de telefonía, incluido system__caller_id (el número de teléfono de quien llama). Esta variable se rellena automáticamente al iniciar la conversación.

Puedes hacer referencia a ella de dos formas:

  1. En prompts/mensajes: Haz referencia a ellas mediante dobles llaves, por ejemplo, {{system__caller_id}}, y se sustituirán por los valores reales.
  2. En parámetros de herramientas: Configura los parámetros de las herramientas para usar estas variables y habilitar la autenticación silenciosa sin mencionarlas en el prompt.

Por ejemplo, puedes configurar una herramienta para transmitir automáticamente el identificador de llamada a la ruta de API de consulta de tu CRM, lo que permite al agente verificar de forma silenciosa si el número entrante coincide con el número registrado del cliente para autenticar al usuario. En lugar de una llamada a una herramienta, la autenticación también puede configurarse como un webhook de inicio de conversación que se ejecuta antes de que comience la conversación. 

Nota de seguridad: Dado que quien llama puede utilizar números distintos de los registrados, o que personas no autorizadas pueden tener acceso a los números almacenados, la autenticación basada en el identificador de llamada debe requerir la aceptación previa del cliente o combinarse con métodos de autenticación adicionales (por ejemplo, preguntas basadas en conocimientos).

Para más información, consulta la documentación sobre Variables dinámicas del sistema y webhook de inicio.

Autenticación avanzada basada en conocimientos o preguntas de seguridad

El agente puede autenticar a un usuario formulando un conjunto de preguntas de seguridad y concediendo acceso solo si quien llama responde correctamente a un número predefinido de ellas. Puedes indicar al agente que seleccione preguntas aleatorias de una lista predefinida (por ejemplo, fecha de nacimiento, código postal o nombre de una mascota) y valide las respuestas de quien llama mediante una llamada a una herramienta de tu base de datos.

La herramienta de autenticación devuelve una respuesta JSON que incluye el recuento actual de verificaciones correctas. Mediante asignaciones de herramientas, este recuento se extrae automáticamente y se almacena o actualiza en una variable dinámica (por ejemplo, auth_success_count). Tras cada verificación correcta, la variable se incrementa.

Una vez que se alcanza el número requerido de verificaciones (por ejemplo, 3), una condición de expresión del workflow comprueba el valor de la variable dinámica y pasa a un nodo de subagente privilegiado. La expresión utiliza operadores de comparación (por ejemplo, auth_success_count >= 3) para controlar el acceso de forma determinista según el estado de autenticación.

Expressions

Nuestra documentación sobre conexiones y control de flujo contiene más información que puedes consultar.

Código de un solo uso

Este es un método universal en el que se envía un código de un solo uso al dispositivo del usuario por SMS o correo electrónico. A continuación, el usuario debe comunicar el código al agente para verificarlo y obtener acceso.

Este es el workflow de implementación en más detalle:

  1. Generación del código: El agente inicia el proceso con una llamada a una herramienta del servidor dirigida a una ruta de API específica. Esta acción activa la generación de un código seguro de un solo uso y lo envía al usuario a través de su canal preferido (SMS o correo electrónico).
  2. Solicitud al usuario: A continuación, el agente pide al usuario que proporcione el código que ha recibido. En el modo de voz, usuarios dicen el código en voz alta y se captura mediante Voz a Texto.
  3. Verificación del código: El agente envía el código proporcionado por el usuario a un servicio de verificación de backend mediante una segunda llamada a una herramienta. El backend valida que el código coincide, que no ha caducado y que no se ha utilizado ya.
  4. Enrutamiento del workflow: El agente gestiona el resultado según la respuesta de verificación: Éxito: si el código es correcto, el usuario pasa a la parte del workflow posterior a la autenticación mediante una condición de éxito. Error: si el código es incorrecto, el agente puede pedir al usuario que vuelva a introducirlo o iniciar un procedimiento alternativo (por ejemplo, enviar un código nuevo).

Consideraciones de seguridad: debes implementar límites de frecuencia para evitar intentos de fuerza bruta, los códigos deben tener períodos de caducidad cortos (de 3 a 5 minutos) y los intentos de reintento deben registrarse y limitarse. En las interacciones de voz, considera usar prompts de confirmación para garantizar la precisión de Voz a Texto al capturar códigos.

Empieza con ElevenAgents para una autenticación de voz segura

Estos métodos de autenticación son componentes flexibles, no soluciones prescriptivas. Tu elección debe reflejar tu perfil de riesgo específico, los requisitos normativos y los objetivos de experiencia de usuario. Un bot de atención al cliente necesita una seguridad distinta de la de un asistente bancario que gestiona transacciones. La flexibilidad de la plataforma garantiza que tu estrategia de seguridad pueda evolucionar a medida que cambian las amenazas y crecen los requisitos, manteniendo siempre el equilibrio entre protección y experiencia de usuario.

ElevenAgents te proporciona el control determinista de workflows, las herramientas de dispatch y las variables específicas de telefonía descritas anteriormente, para que puedas crear una autenticación de quien llama que nunca dependa del criterio del LLM.

Explora la plataforma ElevenAgents para ver el creador completo de workflows, o contacta con ventas para empezar hoy a crear tu primer workflow de agente de voz autenticado.

Crea agentes de voz autenticados con nuestro equipo de ingenieros

¿Buscas otra cosa? Visita nuestro Centro de ayuda

Preguntas frecuentes sobre flujos seguros de autenticación de identidad de quien llama

Artículos relacionados

Crea con el audio IA de la más alta calidad