Quando cadastramos uma pessoa em um sistema de autenticação biométrica, as características faciais e digitais são armazenadas em um banco de dados. Ao tentar fazer login no sistema, essas informações são novamente verificadas e comparadas com os dados anteriormente coletados. Se houver correspondência, o acesso é permitido.
Apesar da conveniência do uso da biometria, é possível fraudar ou manipular os sensores biométricos de forma deliberada ou inadvertida. Portanto, além da comparação, é extremamente importante prestar atenção ao nível de similaridade entre os dados biométricos combinados, o que garantirá ainda mais a segurança da autenticação.
A seguir, vou mostrar o passo a passo de como usar o Postman e fazer a comparação entre biometrias, utilizando o pacote de funcionalidades do BioPass ID para efetuar as requisições à API.
1. Obtenha a chave de acesso à API biométrica via Postman
Para realizar operações na API biométrica, você precisará de uma chave de acesso que o identifique e forneça acesso às diversas funcionalidades do sistema. Para obtê-la, veja o artigo anterior sobre cadastramento de biometria facial de um indivíduo via postman.
2. Extraia os templates de imagem no Postman
Como a plataforma biométrica utiliza apenas os "modelos" retirados das imagens para as diferentes características de identificação biométrica, você precisa realizar, antes do pedido de "face match", a operação de extração dos modelos das imagens de face que você deseja comparar.
2.1 Configure a requisição de extração de templates no Postman
No cabeçalho da autorização, selecione o tipo para "API Key". Depois preencha os campos "Key" e "Value" respectivamente com Ocp-Apim-Subscription-Key e o valor da "API key", que é a chave de acesso mencionada acima. Você também precisa selecionar a opção "Header" no campo "Add to".
Como mostra a documentação biométrica API, a url utilizada para esta chamada é https://api.biopassid.com/multibiometrics/extract e o método é "POST". Todos os campos mencionados estão marcados em vermelho, como mostrado na imagem abaixo:
Em seguida, preencha os parâmetros do corpo da requisição. Depois selecione a seção “Body”, marque o ponto "raw" e escolha o formato JSON na lista suspensa. O JSON é um padrão de formatação de dados utilizado na troca de informações entre sistemas por ser leve e de fácil compreensão para humanos e computadores.
A estrutura do corpo tem o objeto "Extract", que representa o modelo extraído da imagem, dentro dele os campos: "Type", que se refere ao tipo de biometria da imagem fornecida, podendo assumir os valores “FINGER” e “FACE”, "Format", que determina o formato do modelo a ser retornado. Os formatos suportados são: BIOPASS, ISO_IEC_2005_19794_2, ISO_IEC_2011_19794_2 e ANSI_INCITS_378. E o campo "Artifact", que recebe a imagem biométrica codificada em string base64.
Veja como fica a estrutura no Postman:
Observe que o parâmetro “Type” está recebendo o tipo de biometria “FACE”, já que iremos comparar imagens faciais e para o Format escolha o “BIOPASS”. Em relação ao "Artifact", onde se faz necessário converter a imagem em base64, leia o passo 5 do tutorial Como registrar uma biometria facial de um indivíduo via Postman. por que utilizar e como realizar a conversão do arquivo.
Para auxiliá-lo na operação, abaixo está o código parcialmente preenchido. Você só precisa substituir o conteúdo do “Artifact”:
2. 2. Consulte o status da operação
Após o envio da requisição, você recebe de imediato uma resposta de sucesso ou de falha da operação. Em caso de sucesso, é possível ver o status “200 OK” e o corpo da resposta com o objeto "Extract" e o campo "Template", contendo o modelo extraído da imagem a ser comparada. Salve o conteúdo do Template no bloco de notas.
Agora veja o exemplo de uma transação bem sucedida:
Se a operação não for bem sucedida, recebemos como resposta um código numérico começando com os números 4 ou 5, juntamente com a razão do erro. Aqui está um exemplo:
Para ver todas as descrições e razões de falhas, consulte a documentação biométrica API.
2.3 Extraia a segunda imagem para comparação
Antes de declarar a extração finalizada, é importante lembrar que você precisa de duas imagens para realizar a comparação. Sendo assim, é necessário realizar duas extrações de templates. Como o conteúdo da primeira requisição está salvo, repita os mesmos passos para extrair da segunda imagem e também guarde o conteúdo em um bloco de notas. Feito isto, podemos avançar para a fase de comparação.
3. Compare as imagens
Para executar a operação que compara biometrias faciais de uma pessoa, mantemos no cabeçalho de autorização a mesma configuração da requisição anterior. Apenas alteramos a url da chamada para: https://api.biopassid.com/multibiometrics/match e o corpo da requisição, onde acrescentamos os templates extraídos nas operações anteriores.
A estrutura de solicitação é composta de um objeto "Match", que representa a correspondência entre as imagens comparadas, e dentro dele os campos: "Type", "Format" (ambos explicados na transação de extração de templates), "Artifact_A" e "Artifact_B", que recebem o conteúdo previamente extraído, aqueles salvos no bloco de notas.
A resposta da requisição será uma mensagem JSON com um objeto Match que possui dois campos: “ISGenuine”, um campo do tipo booleano que indica através das respostas true ou false se as duas biometrias informadas são correspondentes. E o "Score", um campo numérico que informa o nível de similaridade das duas biometrias. Seu valor pode variar de 0 a 100.
Os casos de falha seguem um padrão semelhante ao da solicitação de extração: um código de status começando com os números 4 ou 5, seguido do motivo. A imagem abaixo exemplifica uma operação fracassada, onde o motivo é inválido no formato JSON.
4. Pronto para usar o Postman?
Neste artigo, mostrei como a comparação entre biometrias atua com o pacote de funcionalidades do BioPass ID por meio da plataforma Postman, a fim de efetuar as requisições à API.
Um processo importante para evitar possíveis fraudes biométricas que garante a segurança da autenticação.
Por enquanto é tudo e nos vemos no próximo artigo!
Tradução: Thalita Ferreira