Partilhar via


Deteção de vivacidade facial

Este artigo explica o conceito de deteção de vivacidade facial, seu esquema de entrada e saída e conceitos relacionados.

Introdução

Captura de ecrã com ligação a um vídeo de introdução do Microsoft Azure Face Liveness.

A deteção de vivacidade facial é usada para determinar se um rosto em um fluxo de vídeo de entrada é real (ao vivo) ou falso (falsificado). É um bloco de construção importante em um sistema de autenticação biométrica para evitar que impostores tenham acesso ao sistema usando uma fotografia, vídeo, máscara ou outros meios para se passar por outra pessoa.

O objetivo da deteção de vivacidade é garantir que o sistema esteja interagindo com uma pessoa fisicamente presente e viva no momento da autenticação. Esses sistemas são cada vez mais importantes com o aumento das finanças digitais, controle de acesso remoto e processos de verificação de identidade on-line.

A solução de deteção de vivacidade facial do Azure AI defende com êxito contra vários tipos de falsificação, desde impressões em papel, máscaras 2D/3D e apresentações falsas em telefones e laptops. A deteção de vivacidade é uma área ativa de pesquisa, com melhorias contínuas sendo feitas para neutralizar ataques de falsificação cada vez mais sofisticados. Melhorias contínuas são implementadas para o cliente e os componentes de serviço ao longo do tempo, à medida que a solução geral fica mais robusta para novos tipos de ataques.

A API de deteção de vivacidade facial do Azure AI alcançou uma taxa de penetração de 0% nos testes iBeta Nível 1 e Nível 2 de Deteção de Ataques de Apresentação (PAD), conduzidos por um laboratório acreditado pelo NIST/NVLAP e em conformidade com a norma internacional ISO/IEC 30107-3 PAD.

Como funciona

A integração da solução liveness envolve dois componentes distintos: um aplicativo móvel/web frontend e um servidor/orquestrador de aplicativos.

Diagrama do fluxo de trabalho de detecção de vivacidade no Azure AI Face.

  • Orquestre o serviço Azure AI Face no seu servidor de aplicações: O servidor de aplicações atua como backend para criar sessões de deteção de liveness, obter um token de autorização de curta duração do serviço Azure AI Face para cada sessão, autorizar a aplicação frontend a realizar a deteção de liveness e recuperar e visualizar os resultados de deteção de liveness. Este design assegura uma gestão segura das sessões e acesso controlado para o frontend.
  • Integre o Azure Vision no Foundry Tools Face SDK no frontend: Incorpore o Vision Face SDK (iOS, Android ou Web) na sua aplicação frontend. O SDK abre a câmara, guia o utilizador através de fluxos passivos ou ativos, captura imagens e envia-as para o endpoint Azure AI Face para realizar a classificação de vivacidade. Seguimos normas rigorosas de privacidade de dados, conforme aqui definido: Dados e privacidade para a Face.
  • Opcional: Use Microsoft-Hosted Liveness Quick Link: Para reduzir o esforço de integração dos programadores, pode saltar a incorporação do SDK e usar uma experiência alojada pela Microsoft. Troque o token de sessão por um Liveness Quick Link único: Liveness Quick Link (https://liveness.face.azure.com/?s=…). Redirecione o utilizador para esta URL, e o Azure aloja todo o fluxo de captura no navegador. O status de conclusão pode ser recebido através de um callback opcional. Esta opção elimina a necessidade de integrar o SDK na sua aplicação, garantindo que recebe automaticamente todas as atualizações, mantendo-se alinhado com as últimas melhorias do Azure.

Modos de deteção de vivacidade

A API de deteção de vivacidade do Azure Face inclui opções para os modos de deteção Passivo e Passive-Active.

O modo Passivo utiliza uma técnica de vivacidade passiva que não requer ações extras do usuário. Requer um ambiente de iluminação não brilhante para ter sucesso e pode falhar em ambientes com luz forte com o erro "Ambiente não suportado". Também requer um brilho elevado do ecrã para um desempenho ótimo, que é configurado automaticamente nas soluções móveis (iOS e Android). Esse modo pode ser escolhido se você preferir uma interação mínima com o usuário final e esperar que os usuários finais estejam principalmente em ambientes não brilhantes. Uma verificação do modo passivo leva cerca de 12 segundos, em média, para ser concluída.

O modoPassive-Active comporta-se da mesma forma que o modo Passivo em ambientes de iluminação não brilhante e só aciona o modo Ativo em ambientes de iluminação brilhante. Este modo é preferível em soluções de navegador Web devido à ausência de controlo automático do brilho do ecrã disponível nos navegadores, o que dificulta o envolvimento operacional do modo Passivo. Este modo pode ser escolhido se quiser que a verificação de vivacidade funcione em qualquer ambiente de iluminação. Se a verificação ativa for acionada devido a um ambiente de iluminação brilhante, o tempo total de conclusão pode levar até 20 segundos, em média.

Você pode definir o modo de deteção durante a etapa de criação da sessão (consulte Executar deteção de vivacidade).

Verificação facial opcional

Você pode combinar a verificação facial com a deteção de vivacidade para verificar se o rosto em questão pertence à pessoa específica designada. A tabela a seguir descreve detalhes dos recursos de deteção de vivacidade:

Característica Descrição
Deteção de vivacidade Determine se uma entrada é real ou falsa, e apenas o servidor do aplicativo tem autoridade para iniciar a verificação de vivacidade e consultar o resultado.
Deteção de vivacidade com verificação facial Determine se uma entrada é real ou falsa e verifique a identidade da pessoa com base em uma imagem de referência que você forneceu. O servidor de aplicativos ou o aplicativo frontend pode fornecer uma imagem de referência. Somente o servidor do aplicativo tem autoridade para iniciar a verificação de vivacidade e consultar o resultado.

Formato de saída

A API de deteção de vivacidade retorna um objeto JSON com as seguintes informações:

  • Uma decisão real ou uma paródia de viver. Tratamos da precisão e dos limites subjacentes, para que você não precise se preocupar em interpretar "pontuações de confiança" ou fazer inferências por conta própria. Esta abordagem torna a integração mais fácil e fluida para os programadores.
  • Opcionalmente, um resultado de verificação facial pode ser obtido se a verificação de vivacidade for realizada com verificação (consulte Executar deteção de vivacidade com verificação facial).
  • Uma "imagem-sessão" filtrada de qualidade que pode ser usada para fins de auditoria, revisão humana ou realização de análises adicionais usando as APIs do serviço Face.

Privacidade de Dados

Não armazenamos quaisquer imagens ou vídeos do Face Liveness Check. Uma vez terminada a sessão de liveness, não permanecem dados de imagem ou vídeo no serviço. A imagem ou vídeo carregado durante a verificação é usado apenas para realizar a classificação de liveness para determinar se o utilizador é real ou uma falsificação, podendo também ser usado para comparar com uma imagem de referência no cenário de liveness-with-verify. Estes ficheiros não podem ser visualizados por nenhum humano e nunca são usados para treinar ou melhorar modelos de IA.

Segurança

Importante

É importante que os desenvolvedores estejam cientes das implicações de segurança ao escolher a solução certa — Web ou Mobile. Embora as soluções Web e Mobile estejam em conformidade com os padrões PAD ISO/IEC 30107-3 de Nível 1 e Nível 2 da iBeta, a solução móvel inclui auto-proteções de aplicações em tempo real (RASP) adicionais fornecidas pelo GuardSquare, que não estão disponíveis na solução Web.

Notavelmente, a solução Web tem limitações inerentes à execução em ambientes de navegador e pode ser mais vulnerável a certos tipos de ataques. Por isso, recomendamos a utilização da solução Mobile sempre que possível.

Se você escolher a solução da Web, é fundamental seguir de perto as práticas recomendadas de responsabilidade compartilhada, garantir que a câmera em uso seja um dispositivo físico confiável e considerar a implementação de proteções e monitoramento adicionais para mitigar possíveis ataques de tempo de execução.

Deteção de abuso

Incluímos capacidades integradas de deteção de abuso projetadas para ajudar os programadores a identificar sessões em tempo real que possam apresentar um alto risco de atividade fraudulenta ou maliciosa. O recurso de deteção de abuso executa várias verificações, incluindo avaliações de risco baseadas em IP, para fornecer sinais acionáveis que você pode usar em sua própria lógica de aplicativo ou revisar fluxos de trabalho.

Esta funcionalidade é útil em ambientes de alta segurança ou cenários com risco elevado de fraude (por exemplo, integração de contas, verificação de identidade ou autenticação remota). Ele permite que você detete proativamente padrões de atividade suspeitos antes de concluir as etapas de verificação.

Para obter orientações detalhadas sobre como interpretar e agir nos resultados da deteção de abuso, consulte: Liveness Abuse Monitoring

Isolamento de rede

Opcionalmente, permitimos recursos de isolamento de rede para dar aos desenvolvedores mais controle sobre como as chamadas de deteção de vivacidade são feitas a partir de clientes front-end. Com esta opção, pode desativar completamente o acesso à rede pública para chamadas da API de deteção Liveness, garantindo que só são acessíveis dentro dos limites da sua rede privada definida.

Esse recurso é especialmente valioso em ambientes regulamentados ou corporativos, onde as políticas de conformidade exigem que todas as chamadas de serviço permaneçam dentro de um perímetro de rede controlado. Também ajuda a reduzir a superfície de ataque, impedindo chamadas diretas de redes não confiáveis ou desconhecidas. Mais informações

Opções de suporte

Além de usar as principais opções de suporte das Foundry Tools, pode também colocar as suas perguntas na secção de problemas do repositório SDK.

Próximo passo

Agora que você está familiarizado com os conceitos de deteção de vivacidade, implemente a deteção de vivacidade em seu aplicativo.