O blog da AWS

Como a Oiti modernizou sua plataforma de prevenção à fraude com a AWS

 

1. QUEM É A OITI

Oiti é uma IDTech brasileira, fundada em 1996, pioneira no desenvolvimento do Bureau de Faces, base biométrica colaborativa para enfrentamento da fraude.

Lançada em 2011, a plataforma Certiface® é uma suíte antifraude completa para identificação e autenticação por meio da biometria facial, de pessoas físicas que podem assumir obrigações e titularizar direitos. A plataforma oferta um conjunto completo de ferramentas de segurança: (a) Hub de Liveness Detection (detecção de vida) e suas alternativas tecnológicas para prova de vida (ativo, passivo, híbrido e 3D); (b) Bureau de Faces (com mais de 100 milhões de identidades biométricas e base com mais de 1,8 milhões de faces com passagem de fraude); (c) FaceMatch para validação do portador do documento de identidade; (d) SmartCap, e suas verificações na captura do documento de identificação (com foco em tecnologia OCR); (e) Autenticação de Documentos; e (f) FaceToken (autenticação biométrica transacional Near Real Time).

2. MODERNIZAÇÃO, FLEXIBILIDADE E SEGURANÇA NA CERTIFACE API

Em 2022, com o objetivo de aprimorar métodos e modernizar a arquitetura do Certiface, a Oiti se propôs a re-arquitetar a plataforma focando em:

Modernização: Criar uma arquitetura escalável para atender à crescente demanda do mercado de biometria facial;

Flexibilidade: Aprimorar a flexibilidade no processo de identificação e autenticação biométrica, personalizando-o conforme o perfil de cada usuário e garantir um desempenho sólido e rápido time-to-market;

Segurança: Modernizar os padrões de segurança para prevenir o roubo de identidade na camada de comunicação.

Figura 1: arquitetura da Certiface API.

Com esses pilares e o suporte da AWS, a Oiti construiu a Certiface API, a nova versão da plataforma. A interação com a aplicação é realizada via dispositivos móveis (Android e IOS) ou desktop. Para tal, é disponibilizado um SDK onde Clientes podem incorporá-lo à plataforma de FrontEnd.  As demais operações seguem um modelo Machine to Machine (M2M), em que a comunicação é feita inteiramente no backend.

Dentro do novo escopo da Certiface API, foram incorporados novos elementos na arquitetura, como o AWS WAF para a prevenção de ataques de camada 7, o serviço Amazon Cognito, utilizado para o controle de credenciais e Amazon API Gateway, responsável pela gestão e operações dos serviços de forma segura e eficiente.  Estes e outros serviços da AWS foram implementados para garantir segurança, autenticação, flexibilidade e escalabilidade, conforme descrito nas seções a seguir.

2.1. Autenticação

A jornada se inicia com a solicitação de um “access token”, por trás de uma camada de segurança do AWS WAF. Posteriormente, o fluxo prossegue com a obtenção de uma “session key”, para autenticação. Após essas etapas iniciais, o usuário pode dar início à jornada de identificação biométrica utilizando as ferramentas de prevenção à fraude disponíveis. Os serviços AWS adicionados estão caracterizados na figura 02 e descritos a seguir.

Figura 2: autenticação na Certiface API com uso da AWS WAF, AWS Cognito, AWS API Gateway e AWS Lambda.

 

Na camada de borda, foi utilizado o AWS WAF (Web Application Firewall) para proteção contra ameaças comuns. Isso proporcionou uma melhor visibilidade do tráfego e um controle mais preciso. As regras gerenciadas economizaram tempo de implementação.

Na camada de autenticação, optou-se por usar o Amazon Cognito e o Amazon API Gateway. Além da facilidade de integração entre essas duas ferramentas, o Amazon Cognito oferece uma maneira segura de gerenciar credenciais e padrões que permitem identificar o usuário. O Amazon API Gateway, por sua vez, fornece recursos para controle e segurança.

Para garantir a autorização adequada no uso autenticado das APIs públicas, foi utilizado uma função AWS Lambda para validar o token JWT.

2.2. Flexibilidade e escalabilidade

Entre as validações biométricas realizadas, uma delas envolve a comparação de uma face com uma base de dados (1 para N), o que resulta em um índice de risco. No caso da Oiti, essa base de dados contém mais de 100 milhões de faces.

Para realizar a busca, a plataforma utiliza um cluster biométrico com florestas de algoritmos, com abordagens holísticas e estruturais. Essa eficiência é potencializada pelo uso de instâncias EC2 de alto desempenho. Além disso, o Certiface é compatível às mais recentes tecnologias de GPU e aceleradores para processamento de imagens e inteligência artificial, o que garante compatibilidade com as APIs CUDA da NVIDIA, bem como os recentes aceleradores AMX, GNA e Habana da Intel já disponíveis na AWS. Com isso, o tempo médio de validação biométrica do Certiface é de até 3 segundos, o que representa uma operação sendo realizada em near real time.

Além da validação biométrica, existem outros processos que são executados, como as funcionalidades de Liveness Detection e Análise de Documentos. O cliente final tem o controle para orquestrar a ordem de execução dessas ferramentas, ajustar os fluxos de validação e reagir ao índice de risco. Essas ações são baseadas em parâmetros como: idade, localização, horário, perfil, nível de risco e informações do dispositivo.

O processo de configuração dessa orquestração resulta em um fluxo de trabalho predefinido chamado Workflow. A definição do workflow ocorre após o envio de determinados parâmetros de entrada em uma etapa de inicialização, o que resulta na criação de uma Jornada. A jornada, já vinculada ao workflow, inclui os detalhes do fluxo que o usuário seguirá, bem como as informações biométricas necessárias.

Para o armazenamento de informações de configuração o DynamoDB foi escolhido, por sua consistente performance e fácil gerenciamento, além de suportar grandes volumes de dados, já que foi implementado uma arquitetura Event Sourcing para gestão de ciclo de vida desses dados.

 

Figura 3: orquestração do fluxo para Workflow e criação da Jornada.

 

Para garantir desempenho e escalabilidade, a Certiface API oferece a capacidade de processar qualquer fluxo de forma assíncrona. Isso significa obter o resultado do fluxo por meio de uma consulta posterior ou recebê-lo passivamente por meio de um WebHook.

A implementação desse processo assíncrono utiliza o AWS SNS para garantir que a jornada ocorra no menor tempo possível. Além disso, o uso do Amazon SQS é adotado para lidar com fluxos de exceções, casos de fallback e retentativas (retry), garantindo assim a resiliência do processo.

 

 

Figura 4: representação do processo assíncrono com uso do SNS e SQS.

 

2.3. Two-Layer Security

Devido à sua natureza sensível, a biometria é um campo que requer um alto nível de segurança, tanto na camada de comunicação quanto no processamento e armazenamento de dados. Para garantir a segurança da comunicação, utiliza-se protocolos de criptografia de rede como SSL (Secure Sockets Layer) e TLS (Transport Layer Security).

Também foram implementadas camadas adicionais de criptografia sobre o SSL/TLS, para reforçar a segurança das transmissões de dados e proporcionar múltiplas camadas de proteção. O AWS KMS foi utilizado para isso, já que foi projetado para garantir segurança das chaves de criptografia. O serviço faz uso de módulos de segurança de hardware (HSMs) que são validados ou estão em processo de validação, conforme padrão FIPS 140-2. Esses HSMs atuam na proteção da confidencialidade e integridade das chaves.  A parte pública da chave KMS assimétrica é retornada em um endpoint específico da Certiface API, enquanto a parte privada nunca sai do backend. A figura 05 a seguir detalha a utilização do serviço dentro da arquitetura:

 

 

Figura 5: uso da AWS KMS para segurança de chaves de criptografia.

 

3. CERTIFACE API COMO SaaS

A Oiti, em parceria com a AWS, lançou um produto flexível e seguro no mercado de biometria. O Certiface já atendia dezenas de clientes e, com a chegada da nova plataforma oferecida no modelo de Software como Serviço (SaaS), foram levantadas as seguintes melhorias:

Operações simplificadas: Com a Certiface API e o conceito de workflows, conforme explicado anteriormente, uma única integração abrange todos os produtos, isso permite que o cliente escolha diferentes usos sem a necessidade de retrabalho.

Maior facilidade para os clientes: A menor fricção na jornada do cliente resultou em uma experiência mais suave, promovendo a satisfação e a fidelidade do usuário.

Segurança aprimorada: A utilização dos recursos de nuvem da AWS proporciona níveis superiores de segurança e desempenho, garantindo que os dados sensíveis estejam protegidos.

Flexibilidade na verificação: Os clientes podem definir fluxos de verificação personalizados de acordo com seus produtos e ofertas, bem como fluxos baseados em comportamento e contexto, tornando as verificações mais precisas.

 

Considerações Finais

Os recursos gerenciados da AWS, como WAF, KMS, DynamoDB e AWS Lambda, oferecem capacidade e resiliência, permitindo à Certiface API focar nas complexidades do mercado de prevenção de fraudes por meio das análises de biometria facial e de documentos de identificação.

Por meio da integração com os serviços da AWS, a Oiti consolidou a oferta de uma API flexível e segura para o mercado de prevenção de fraudes. Após a transição para SaaS, percebemos os resultados alcançados por meio da melhoria na escalabilidade, operacionalidade, flexibilidade e segurança.

 


Sobre os autores

Thiago Pedroso possui grande experiência em soluções de Backend, Arquitetura de Software e Big Data. Há mais de 2 anos atuando na Oiti como Tech Lead no time responsável pela criação do Certiface API.

 

 

 

 

André Ferreira Lima possui 20 anos de experiência em TI, com projetos e soluções de desenvolvimento, arquitetura e infraestrutura. Atua há 2 anos como Arquiteto de Soluções na Oiti, sendo um dos principais responsáveis por modernizar a arquitetura das aplicações da empresa e expandir a cultura DevOps.

 

 

 

 

Diego Rocha é arquiteto de soluções na AWS e atua no segmento de ISV. Possui experiência em projetos de infraestrutura, identidade e DevOps.

 

 

 

 

Revisores

Felipe Brito é arquiteto de soluções na AWS e guia clientes nas melhores práticas de arquitetura na nuvem. Possui experiência com projetos de desenvolvimento de software e análise de dados.

 

 

 

 

Cesar Kuehl é arquiteto de soluções na AWS, atuando no segmento de ISV. Possui experiência em desenvolvimento de soluções de Software-as-a-Service (SaaS).