Apresentamos o Eleven v4Conheça o Eleven v4, nosso modelo mais expressivo até agora.

Pular para o conteúdo

Como criar autenticação segura de chamadas para agentes de voz

Publicado
Última atualização

OuvirOuça este artigo

Agentes de voz estão evoluindo rapidamente, deixando de ser simples respondentes de perguntas frequentes para se tornarem sistemas que realizam ações, modificam contas, processam transações e acessam dados confidenciais de clientes. Essa mudança traz um desafio crítico: como autenticar a identidade de quem liga em um sistema de IA conversacional no qual não existem métodos tradicionais de verificação visual?

Quando um agente de voz pode atualizar assinaturas, consultar saldos de conta ou iniciar reembolsos, ele precisa autenticar quem liga com o mesmo rigor de centrais de atendimento humanas, mas em uma interação inteiramente por voz. Ao contrário de atendentes humanos, que seguem as políticas da empresa, agentes de IA exigem autenticação determinística e baseada em ferramentas, sem depender do julgamento de um LLM.

Este artigo apresenta padrões comprovados de autenticação com base no nosso trabalho como Forward Deployed Engineers em implementações corporativas. Vamos abordar cinco abordagens principais, da autenticação baseada em sessão para widgets incorporados a métodos específicos de telefonia e verificação por OTP, e explicar como implementar cada uma usando controle determinístico de fluxo de trabalho na plataforma ElevenLabs.

Mais importante ainda, vamos demonstrar por que a autenticação não pode ser deixada a cargo da inferência conversacional. Em vez disso, ela deve ser estruturada com subagentes isolados, verificação baseada em ferramentas e roteamento condicional de fluxo de trabalho, garantindo que apenas usuários autenticados cheguem a operações privilegiadas.

Resumo

  • A autenticação de quem liga para agentes de voz deve ser determinística e baseada em ferramentas; ela não pode ser deixada para a inferência conversacional do LLM.
  • A autenticação do aplicativo host envia os dados de sessão existentes ao agente, para que usuários que já fizeram login não precisem se autenticar novamente.
  • A autenticação baseada em conhecimento verifica dados fornecidos por quem liga, como número da conta ou data de nascimento, em um sistema de backend por meio de uma chamada de ferramenta no servidor.
  • Implementações de telefonia podem usar variáveis dinâmicas do sistema, como o identificador de chamadas, para autenticar de forma silenciosa, mas isso deve ser combinado com um segundo fator, pois o identificador de chamadas pode ser falsificado ou compartilhado.
  • A verificação por código de uso único envia um código por SMS ou e-mail e o valida por meio de um serviço de backend.

A base arquitetural da autenticação determinística

Para garantir que apenas usuários autenticados possam acessar informações relacionadas à conta, recomendamos uma separação rigorosa de ambiente e acesso por meio dos fluxos de trabalho da ElevenLabs. A autenticação deve sempre ser implementada com uma chamada de ferramenta que retorne sucesso ou falha como valor booleano, configurada como uma ferramenta de despacho no construtor de fluxos de trabalho da ElevenLabs.

Ao vincular a condição de transferência diretamente ao resultado da chamada de ferramenta, o subagente com acesso aos dados da conta só pode ser alcançado após uma autenticação bem-sucedida e permanece totalmente isolado de usuários não autenticados. Isso garante que a autenticação seja determinística, sem depender de uma decisão do LLM, e impede qualquer progressão para nós posteriores sem uma identidade verificada.

Como alternativa, expressões de transferência podem ser usadas como um método de transferência confiável. Essas expressões fazem referência a variáveis dinâmicas atualizadas pelos resultados de chamadas de ferramenta.

Exemplo de implementação

Verifique o usuário no Salesforce (chamada de ferramenta). Se for bem-sucedido, recupere os dados de transações do cliente no Salesforce (outra chamada de ferramenta) e, em seguida, transfira o usuário para um subagente responsável por usar esses dados para se comunicar com o cliente e realizar outras ações, se necessário.

auth-flow

Métodos de autenticação da identidade do usuário

Esses métodos de autenticação não têm suporte nativo na plataforma ElevenLabs. Eles podem ser implementados por meio de ferramentas no servidor que se integram ao seu CRM ou backend/banco de dados, onde os dados de autenticação são armazenados.

Autenticação do aplicativo host

Para agentes de voz incorporados a um site, o aplicativo host pode transmitir dados da sessão do usuário, como status de login, ID da conta ou tokens de sessão, por meio de variáveis dinâmicas ao inicializar o agente/widget. Essas variáveis são inseridas automaticamente nas chamadas de ferramenta usando as mesmas variáveis dinâmicas, permitindo que o agente recupere dados personalizados de sistemas integrados sem exigir uma autenticação separada.

Isso permite um fluxo de suporte contínuo, pois o usuário já foi verificado pelo aplicativo host. Você pode configurar isso com uma configuração personalizada ou usar o widget da ElevenLabs, no qual as variáveis são transmitidas em tempo de execução pela configuração do widget (por exemplo, <elevenlabs-convai dynamic-variables='{"user_id": "123", "account_tier": "premium"}'>).

Consulte a documentação sobre Variáveis Dinâmicas para ver a configuração completa.

Autenticação baseada em conhecimento (KBA) 

O agente de voz pede que quem liga forneça dados de autenticação, como número da conta, CEP, data de nascimento ou respostas de segurança. Uma ferramenta no servidor (webhook ou chamada de backend) verifica esses valores no seu banco de dados, como CRM ou repositório de identidades. A ferramenta retorna um resultado de sucesso/falha que inclui um status booleano (is_error) e um texto descritivo.

Você pode implementar isso por meio do controle determinístico de fluxo de trabalho: depois de solicitar as informações relevantes, configure um despacho de ferramenta e use conexões de transferência condicionais no fluxo de trabalho que se ramificam com base no status de sucesso/falha da ferramenta, direcionando usuários autenticados para nós de agentes “privilegiados”. 

Essa abordagem oferece suporte a perguntas de segurança estáticas e à verificação dinâmica no estilo “out-of-wallet”, dependendo dos seus requisitos de risco de fraude.

Consulte a documentação sobre ferramentas de servidor e sobre o nó de ferramenta de despacho em fluxos de trabalho de agentes para mais detalhes.

Variáveis dinâmicas do sistema (somente telefonia)

Em conversas por telefone, via Twilio ou tronco SIP, seu agente tem acesso automático a variáveis do sistema específicas de telefonia, incluindo system__caller_id (o número de telefone de quem liga). Essa variável é preenchida automaticamente quando a conversa começa.

Você pode referenciá-la de duas formas:

  1. Em prompts/mensagens: Faça referência a elas usando chaves duplas, por exemplo, {{system__caller_id}}, e elas serão substituídas pelos valores reais.
  2. Em parâmetros de ferramentas: Configure os parâmetros da ferramenta para usar essas variáveis, permitindo a autenticação silenciosa sem mencioná-las no prompt.

Por exemplo, você pode configurar uma ferramenta para encaminhar automaticamente o identificador de chamadas ao endpoint de consulta do seu CRM, permitindo que o agente verifique silenciosamente se o número recebido corresponde ao número registrado do cliente para autenticação do usuário. Em vez de uma chamada de ferramenta, a autenticação também pode ser configurada como um webhook de início de conversa executado antes de a conversa começar. 

Observação de segurança: Como quem liga pode usar números diferentes dos registrados ou números armazenados podem estar acessíveis a pessoas não autorizadas, a autenticação baseada em identificador de chamadas deve exigir consentimento prévio do cliente ou ser combinada com métodos de autenticação adicionais, como perguntas baseadas em conhecimento.

Para mais informações, consulte a documentação sobre Variáveis Dinâmicas do Sistema e webhook de início.

Autenticação avançada baseada em conhecimento/perguntas de segurança

O agente pode autenticar um usuário fazendo um conjunto de perguntas de segurança e concedendo acesso apenas se quem liga responder corretamente a uma quantidade predefinida. O agente pode ser instruído a selecionar perguntas aleatórias de uma lista predefinida, como data de nascimento, CEP e nome do animal de estimação, e validar as respostas de quem liga por meio de uma chamada de ferramenta ao seu banco de dados.

A ferramenta de autenticação retorna uma resposta JSON que inclui a contagem atual de sucessos. Usando atribuições de ferramenta, essa contagem é extraída automaticamente e armazenada/atualizada em uma variável dinâmica, como auth_success_count. A variável é incrementada após cada verificação bem-sucedida.

Quando o número necessário de verificações é atingido, por exemplo, 3, uma condição de expressão do fluxo de trabalho verifica o valor da variável dinâmica e faz a transição para um nó de subagente privilegiado. A expressão usa operadores de comparação, como auth_success_count >= 3, para controlar o acesso de forma determinística com base no status de autenticação.

Expressions

Nossa documentação sobre conexões e controle de fluxo tem mais informações para consulta.

Código de uso único

Este é um método universal em que um código de uso único é enviado ao dispositivo do usuário por SMS ou e-mail. Em seguida, o usuário deve informar o código ao agente para verificá-lo e obter acesso.

Veja o fluxo de implementação em mais detalhes:

  1. Geração do código: O agente inicia o processo com uma chamada de ferramenta no servidor para um endpoint dedicado. Essa ação gera um código seguro de uso único e o envia ao usuário pelo canal de preferência dele, SMS ou e-mail.
  2. Solicitação ao usuário: Em seguida, o agente pede que o usuário informe o código recebido. No modo de voz, os usuários dizem o código em voz alta, que é capturado por Speech to Text.
  3. Verificação do código: O agente envia o código informado pelo usuário a um serviço de verificação de backend usando uma segunda chamada de ferramenta. O backend valida se o código corresponde, não expirou e ainda não foi usado.
  4. Roteamento do fluxo de trabalho: O agente trata o resultado com base na resposta da verificação: Sucesso: se o código estiver correto, o usuário é direcionado à parte pós-autenticação do fluxo de trabalho por meio de uma condição de sucesso. Falha: se o código estiver incorreto, o agente pode pedir que o usuário informe o código novamente ou iniciar um procedimento alternativo, como enviar um novo código.

Considerações de segurança: implemente limitação de taxa para evitar tentativas de força bruta, use códigos com prazo curto de expiração, de 3 a 5 minutos, e monitore e limite as tentativas de repetição. Em interações por voz, considere usar solicitações de confirmação para garantir a precisão do Speech to Text ao capturar códigos.

Comece a usar o ElevenAgents para autenticação de voz segura

Esses métodos de autenticação são blocos de construção flexíveis, não soluções prescritivas. Sua escolha deve refletir seu perfil de risco específico, requisitos regulatórios e objetivos de experiência do usuário. Um bot de atendimento ao cliente precisa de uma segurança diferente de um assistente bancário que processa transações. A flexibilidade da plataforma garante que sua estratégia de segurança possa evoluir à medida que as ameaças mudam e os requisitos aumentam, sempre equilibrando proteção e experiência do usuário.

O ElevenAgents oferece o controle determinístico de fluxo de trabalho, as ferramentas de despacho e as variáveis específicas de telefonia descritas acima, permitindo criar uma autenticação de quem liga que nunca dependa do julgamento de um LLM.

Explore a plataforma ElevenAgents para conhecer o construtor completo de fluxos de trabalho ou fale com vendas para começar a criar hoje seu primeiro fluxo de trabalho de agente de voz autenticado.

Crie agentes de voz autenticados com nossos engenheiros

Precisa de outra coisa? Acesse nossa Central de ajuda

Perguntas frequentes sobre fluxos seguros de autenticação da identidade de quem liga

Escrito por

A young woman with long blonde hair, wearing a black zip-up top and gold hoop earrings, posing against a beige background.

Louise Meyer-Schoenherr

Forward Deployed Engineer

Artigos relacionados

Crie com o áudio de IA da mais alta qualidade