O blog da AWS

Melhore a prevenção de fraudes em Instituições Financeiras, criando uma solução de detecção de vida

O reconhecimento facial é uma ferramenta importante para identificar uma pessoa. Os sistemas de reconhecimento facial já são populares no Brasil e no mundo e são usados para evitar fraudes, especialmente em Instituições Financeiras como bancos e seguradoras.

Embora os sistemas de reconhecimento facial sejam relativamente novos, os falsificadores já descobriram maneiras de contorná-los, incluindo rostos falsos, ou com o uso de máscaras, fotos ou vídeos. Esses ataques de falsificação podem enfraquecer o fluxo de reconhecimento facial para autenticar ou autorizar qualquer pagamento. No entanto, essa falha no reconhecimento pode ser superada pela detecção de vida. Nossa abordagem para executar a detecção de vida é por desafio (movimento do nariz) e resposta usando os serviços da AWS como Amazon Rekognition, Amazon API Gateway, AWS Lambda e Amazon DynamoDB.

Por exemplo, no novo Sistema de Pagamento Instantâneo (PIX) do Banco Central do Brasil (BACEN), o reconhecimento biométrico, incluindo o reconhecimento facial, é permitido como uma opção para autorizar pagamentos e transações. As validações de segurança podem incluir solicitação de autenticação offline ao gerar o QR Code, como o uso de biometria. Ao adicionar a etapa de detecção de vida, é possível melhorar a mitigação e a prevenção de fraudes nesse tipo de operação financeira.

A ideia desta solução é encontrar um equilíbrio entre um fluxo sem atrito, melhorando a experiência do usuário e tentando reduzir tentativas de personificação falsas.

Vantagens

As vantagens de uma solução de detecção de vivacidade para Instituições Financeiras incluem:

  1. Ampla aplicabilidade (sites, aplicativos móveis, caixas eletrônicos, quiosques etc.).
  2. Capacidade de implantar como uma autenticação sem senha (sem atrito).
  3. Alternativa à demanda atual sem contato, devido à contaminação por contato (pandemia de COVID-19).
  4. A capacidade de detectar se há mais de uma pessoa na caixa delimitadora.
  5. Rastreador de rosto na caixa delimitadora, impedindo que outra pessoa continue o processo, depois de iniciado.
  6. Face match.
  7. Detecção de vida.
  8. Capacidade de fornecer um desafio ativo (movimento do nariz para pontos randômicos, evitando movimentos repetitivos, etc.)
  9. Solução de baixo custo.
  10. Uso dos serviços da AWS na arquitetura de back-end da solução, facilitando a integração com outros serviços da AWS, como Amazon S3 ou Amazon Textract (identifique o conteúdo dos campos nos formulários e as informações armazenadas nas tabelas).
  11. Solução escalável e de alta disponibilidade.
  12. O armazenamento de fotos dos clientes é opcional.

O que é prova de vida?

Detecção de vida é qualquer técnica usada para detectar uma tentativa de falsificação, determinando se a fonte de uma amostra biométrica é um ser humano vivo ou uma representação falsa. Isso é realizado através de algoritmos, que analisam dados coletados de sensores/câmeras para determinar se a fonte está viva ou é reproduzida.

Existem duas categorias principais de detecção de vida:

  • Ativo: solicita que o usuário execute uma ação que não pode ser facilmente replicada com uma falsificação. Também pode incorporar várias modalidades, como reconhecimento da voz. Pode analisar o movimento da boca, olhos, nariz, etc. para determinar a vivacidade.
  • Passivo: usa algoritmos para detectar indicadores de uma imagem não viva sem interação do usuário. A captura de dados biométricos de alta qualidade durante o registro, por exemplo, melhora o desempenho da correspondência facial.

Por que prova de vida?

A importância da distinção na sociedade moderna foi reforçada pela necessidade de sistemas de gerenciamento de identidade em larga escala, cuja funcionalidade depende da dedução precisa da identidade de um indivíduo na estrutura de aplicativos de Instituições Financeiras.

Alguns exemplos desses aplicativos incluem a realização de transações financeiras remotas ou o embarque de um novo usuário/membro/participante. A principal tarefa de um sistema de segurança é a verificação da identidade de um indivíduo, e um dos principais desafios listados pelos bancos está relacionado à prevenção de fraudes e a evitar possíveis perdas de dados/dinheiro, inclusive por meio de canais de acesso digital. Atualmente, as Instituições Financeiras estão focadas em evitar o acesso não autorizado às contas bancárias dos clientes.

Abaixo estão outros motivos que apóiam o uso do reconhecimento biométrico (facial) associado à detecção de vivacidade:

  1. Evitar perdas de dinheiro recorrentes com golpes.
  2. Alternativa à senha no processo de autenticação/autorização.
  3. Registro de novos clientes em regiões remotas de um país.

Onde essa solução poderia ser aplicada?

Em resumo, pode ser aplicado em situações em que é necessária autenticação e autorização, para qualquer instituição financeira:

  1. Aplicativos de bancos, seguradoras de dispositivos móveis pessoais.
  2. Caixas de auto-atendimento.
  3. Associação com reguladores, como Serviço de Proteção ao Crédito, Federações Bancárias, etc.
  4. Cartão de benefícios para revalidar usuários.
  5. Incorporar ao processo de integração de funcionários e clientes das Instituições Financeiras.

Como?

Os métodos de biometria facial levam em consideração alguns pontos no rosto durante o processo de identificação. A maioria deles pode ser dividida em soluções 2D (duas dimensões) e 3D (3 dimensões).

A solução 2D:

  1. Ele leva em consideração a altura e largura da face durante o processo de identificação e medição dos pontos nodais da face (distância entre os olhos ou a boca do nariz, etc.).
  2. Depende da cooperação do usuário, que deve olhar diretamente para a câmera (celular ou notebook) para capturar sua imagem e fazer o reconhecimento.

A solução 3D:

  1. Captura a topografia do rosto em detalhes. Como no sistema 2D, a imagem é transformada em um código biométrico, um tipo de assinatura facial exclusiva.
  2. O indivíduo não precisa ficar de pé olhando para a câmera para fazer o reconhecimento.

A ideia de nossa solução é mimetizar uma solução 3D, usando um sistema de reconhecimento facial (Amazon Rekognition) e calculando a distância euclidiana, normalizada pela quantidade total de pontos, resultando em solução de detecção de vida no modo ativo.

No nosso caso, temos 30 pontos de referência faciais, capturados pelo Amazon Rekognition (operação DetectFaces). Isso possibilita capturar o movimento do nariz e a rotação da cabeça.

O desafio do movimento do nariz é realizado com um quadrado na tela, que aparece de maneira aleatória, na qual o cliente/usuário deve associar a ponta do nariz ao quadrado uma vez. O aplicativo poderia incluir mais de um desafio, como 2 movimentos do nariz e consequentemente da cabeça, ou piscar dos olhos, etc..

A operação DetectFaces retorna as seguintes informações para cada face detectada:

  • Caixa delimitadora – As coordenadas da caixa delimitadora que circunda a face.
  • Confiança – O nível de confiança de que a caixa delimitadora contém uma face.
  • Pontos faciais – Uma variedade de pontos de referência faciais. Para cada ponto de referência (como olho esquerdo, olho direito e boca), a resposta fornece as coordenadas x e y.
  • Atributos faciais – Verifica se a face tem ou não uma barba. Para cada atributo, a resposta fornece um valor. O valor pode ser de tipos diferentes, como uma sequência (se a pessoa é do sexo masculino ou feminino). Além disso, para a maioria dos atributos, a resposta também dá confiança no valor detectado para o atributo.
  • Qualidade – Descrição do brilho e a nitidez do rosto.
  • Pose – descreve a rotação do rosto dentro da imagem.
  • Emoções – um conjunto de emoções com índices de confiança.

Você pode usar a combinação dos dados BoundingBox e Pose para desenhar a caixa delimitadora em torno das faces exibidas pelo aplicativo.

Por padrão, a API do DetectFaces retorna apenas os 5 atributos faciais a seguir: Caixa delimitadora, Confiança, Pose, Qualidade e Pontos Faciais. Os pontos de referência padrão retornados são: Olho Esquerdo, Olho Direito, Nariz, Boca Esquerda e Boca Direita (5). Para obter todos os pontos de referência faciais (30), representados na ilustração abaixo, na resposta, você deve chamar a API que especifica o parâmetro de atributos com o valor ALL.

Definição da solução

A arquitetura sem servidor (serverless) abaixo é uma solução possível para detecção de vida em um processo de autenticação e autorização de pagamento, por exemplo, usando um aplicativo em um telefone celular ou computador.

A tabela abaixo descreve cada componente da arquitetura:

Componente Descrição
Aplicativo do cliente Aplicativo cliente por meio do qual os usuários finais podem acessar a experiência do desafio de detecção de animação. O aplicativo pode capturar e fazer upload de quadros de vídeo e chamar uma API do lado do servidor para executar a lógica de detecção de animação na nuvem. Além disso, para fornecer feedback em tempo real aos usuários enquanto eles interagem com a câmera no dispositivo, alguma parte da lógica do desafio também pode ser executada localmente no aplicativo cliente.
API Gateway Endpoint O Amazon API Gateway pode ser usado para expor uma API REST/HTTP para iniciar e verificar um desafio de detecção de vida.
Lambda Function A lógica da API do servidor para iniciar e verificar um desafio pode ser executada em uma função do AWS Lambda.
Amazon Rekognition Image O Amazon Rekognition Image pode ser usado pela função AWS Lambda para verificar um desafio. Ele fornece as APIs de detecção de rostos, capazes de identificar rostos em uma imagem, juntamente com sua posição e pontos de referência (olhos ou nariz ou boca etc.)
DynamoDB (tabela) Uma tabela do Amazon DynamoDB pode armazenar informações sobre as tentativas de desafio de cada usuário, como ID do usuário, carimbo de data e hora e parâmetros relacionados ao desafio (coordenadas de posição da área da face, coordenadas da posição do nariz, etc.)

Aplicativo cliente móvel

Um aplicativo móvel pode ser desenvolvido para permitir que os usuários acessem o desafio de detecção de animação fornecido pela arquitetura acima.

1. Para iniciar um desafio no aplicativo, uma solicitação é emitida para a API de back-end; a resposta da API contém todos os parâmetros de desafio. No caso de um desafio em que o usuário precise mover a ponta do nariz para uma área, a área do nariz de destino será incluída na resposta da API.

2. Será exibida uma tela com a visualização em tempo real da câmera do dispositivo, apresentando instruções sobre o que o usuário deve fazer, como mostra as capturas de tela abaixo:

3. A lógica de desafio também é executada localmente no aplicativo cliente para fornecer feedback em tempo real ao usuário. Após a conclusão bem-sucedida do desafio localmente (por exemplo, o usuário moveu a ponta do nariz para a área de destino), os quadros capturados durante o processo seriam enviados à API para uma validação final do desafio na nuvem.

O desafio pode falhar pelos seguintes motivos, como:

  1. Mais de um rosto detectado;
  2. O rosto detectado é diferente do primeiro rosto detectado (recurso de rastreamento de rosto);
  3. Nenhum rosto é detectado depois que o primeiro rosto é detectado (por exemplo, o usuário para de olhar para a câmera);
  4. O rosto se move para fora da área demarcada;
  5. Ultrapassar o tempo limite em um dos estados (por exemplo, o usuário leva mais de 10 segundos para mover o nariz para a posição designada).

Conclusão

Neste blogpost (parte 1 de 2), mostramos uma arquitetura para criar uma solução de detecção de vida, a fim de complementar o reconhecimento facial. Ele pode ser usado no processo de autenticação e autorização, combinando apenas serviços da AWS, como Amazon Rekognition, Amazon API Gateway, AWS Lambda e Amazon DynamoDB. Além disso, você pode aprimorar o fator de segurança encadeando outros desafios com base em seus números de documentos (coletando por meio do Amazon Textract) e outros tipo de autenticação, como Multifator (Amazon Cognito).

O ponto de partida da construção da solução foi atender a uma demanda crescente da maioria das Instituições Financeiras da região da América Latina. Por esse motivo, as soluções web e móvel estão em construção. Isso está sendo realizado como um trabalho transversal entre a equipe de R&D Innovation da AWS LATAM e o arquiteto de soluções focado em Serviços Financeiros (LATAM).


 

Sobre os autores

RAFAEL WERNECK é arquiteto de soluções de R&D na AWS, com sede no Brasil. Anteriormente, ele trabalhou como engenheiro de desenvolvimento de software no Amazon.com.br e no Amazon RDS Performance Insights.

 

 

 

 

HENRIQUE FUGITA é um arquiteto de R&D na AWS no Brasil. Ele ajuda os clientes a inovar utilizando à nuvem AWS, através da construção de protótipos funcionais. Com mais de 15 anos de experiência em desenvolvimento de software e arquitetura de soluções, ele atualmente se concentra em inteligência artificial e aprendizado de máquina.

 

 

 

JOÃO PAULO ARAGÃO PEREIRA é um arquiteto de soluções da AWS focado no setor de Serviços Financeiros (LATAM) e suas principais áreas de interesse são: prevenção e detecção de fraudes, Open API, modernização de sistemas legados. Ele trabalha com arquitetura em bancos e seguradoras há mais de 15 anos.

 

 

 

 

Se você tem perguntas sobre a AWS ou algum projeto que queira discutir, preencha este formulário e um representante entrará em contato com você.