mABIS: Sistema Automático de Biometria Modulado · Como consequência, a utilização de...

81
U NIVERSIDADE F EDERAL DE G OIÁS I NSTITUTO DE I NFORMÁTICA J OÃO N ETO C RONEMBERGER G ALVÃO mABIS: Sistema Automático de Biometria Modulado Goiânia 2017

Transcript of mABIS: Sistema Automático de Biometria Modulado · Como consequência, a utilização de...

UNIVERSIDADE FEDERAL DE GOIÁSINSTITUTO DE INFORMÁTICA

JOÃO NETO CRONEMBERGER GALVÃO

mABIS: Sistema Automático deBiometria Modulado

Goiânia2017

TERMO DE CIÊNCIA E DE AUTORIZAÇÃO PARA DISPONIBILIZAR AS TESES EDISSERTAÇÕES ELETRÔNICAS NA BIBLIOTECA DIGITAL DA UFG

Na qualidade de titular dos direitos de autor, autorizo a Universidade Federal de Goiás(UFG) a disponibilizar, gratuitamente, por meio da Biblioteca Digital de Teses e Dissertações(BDTD/UFG), regulamentada pela Resolução CEPEC nº 832/2007, sem ressarcimento dos direi-tos autorais, de acordo com a Lei nº 9610/98, o documento conforme permissões assinaladasabaixo, para fins de leitura, impressão e/ou download, a título de divulgação da produção cien-tífica brasileira, a partir desta data.

1 1. Identificação do material bibliográfico: [X] Dissertação [ ] Tese

1 2. Identificação da Tese ou Dissertação2

Nome completo do autor: João Neto Cronemberger Galvão

Título do trabalho: mABIS: Sistema Automático de Biometria Modulado

3. Informações de acesso ao documento:

Concorda com a liberação total do documento [X] SIM [ ] NÃO1

Havendo concordância com a disponibilização eletrônica, torna-se imprescindível o en-vio do(s) arquivo(s) em formato digital PDF da tese ou dissertação.

________________________________________ Data: 17/03/2017 Assinatura do (a) autor (a)

1 Neste caso o documento será embargado por até um ano a partir da data de defesa. A extensão deste prazo suscita justi-ficativa junto à coordenação do curso. Os dados do documento não serão disponibilizados durante o período de embar-go.

JOÃO NETO CRONEMBERGER GALVÃO

mABIS: Sistema Automático deBiometria Modulado

Dissertação apresentada ao Programa de Pós–Graduação doInstituto de Informática da Universidade Federal de Goiás,como requisito parcial para obtenção do título de Mestre emCiência da Computação.

Área de concentração: Ciência da Computação.

Orientador: Prof. Dr. Fabrizzio Alphonsus A. M. N. Soares

Goiânia2017

Ficha de identificação da obra elaborada pelo autor, através doPrograma de Geração Automática do Sistema de Bibliotecas da UFG.

CDU 004

Galvão, João Neto Cronemberger mABIS: Sistema Automático de Biometria Modulado [manuscrito] / João Neto Cronemberger Galvão. - 2017. 80 f.: il.

Orientador: Prof. Dr. Fabrizzio Alphonsus A. M. N. Soares. Dissertação (Mestrado) - Universidade Federal de Goiás, Institutode Informática (INF), Programa de Pós-Graduação em Ciência daComputação, Cidade de Goiás, 2017. Bibliografia. Anexos. Apêndice. Inclui lista de figuras, lista de tabelas.

1. Biometria. 2. Sistema Biométricos. 3. Serviços Web. I. Soares, Fabrizzio Alphonsus A. M. N , orient. II. Título.

Todos os direitos reservados. É proibida a reprodução total ou parcial dotrabalho sem autorização da universidade, do autor e do orientador(a).

João Neto Cronemberger Galvão

Graduou-se em Tecnologia em Processamento de Dados pela Associação deEnsino Superior do Piauí. Durante o mestrado na UFG (Universidade Federalde Goiás), foi bolsista da CAPES.

Dedico este trabalho à minha amada, virtuosa e bem presente esposa Patrícia,pois sem ela eu não teria nenhuma chance de chegar ao fim desta etapa de minha vida.

Agradecimentos

Agradeço a Deus a oportunidade, os desafios e a força para superá-los.Agradeço à minha amiga e esposa, Patrícia, o amor, o companheirismo, a

ajuda e a paciência durante a realização do mestrado. Seu carinho e incentivos foramfundamentais para me dar forças nas horas certas. Não tenho dúvida que as minhasconquistas também são conquistas dela.

Agradeço a meus filhos, Bianca e Arthur o carinho e a compreensão que sempredemonstraram.

Agradeço à minha querida mãe, o apoio e a confiança que sempre depositou emmim. Seu incentivo foi determinante.

Agradeço aos meus irmãos Antônio e Lauanne que, mesmo distantes, estiverampresentes com sua preciosa ajuda e apoio durante essa jornada.

Agradeço ao professor Fabrízzio por ter me recebido no programa de pós-graduação e por me acompanhar durante toda minha jornada neste mestrado, sempreajudando e orientando nos problemas mais difíceis.

Agradeço a todos os amigos e colegas do mestrado que me ajudaram a correresta corrida.

Agradeço aos professores do INF e às secretárias Mirian e Mariana pela atençãoe ajuda.

Agradeço ao Programa de Mestrado em Ciência da Computação da UFG.Agradeço à CAPES o suporte à pesquisa através de uma bolsa estudantil que

permitiu-me ter dedicação integral ao projeto.Agradeço à FAPEG os recursos destinados à pesquisa, via edital no 06/2012.

Quanto maior o conhecimento menor o ego, quanto maior o ego menor oconhecimento.

,Albert Einstein.

Resumo

Galvão, João Neto Cronemberger. mABIS: Sistema Automático de BiometriaModulado. Goiânia, 2017. 80p. Dissertação de Mestrado. Instituto de Informá-tica, Universidade Federal de Goiás.

A cada dia que passa, a biometria vem se tornando um recurso valioso para identifica-ção humana, pois trata-se de uma técnica acessível, segura e confiável. Várias entidadesde segurança, por todo o mundo, públicas e privadas, estão empenhadas na utilizaçãoda biometria na área de segurança, tanto no controle de acesso, quanto para identifica-ção de investigados. Além disso, diversos crimes podem ser evitados com ferramentasque possibilitam o cruzamento de dados biométricos. No entanto, a maioria dos sistemabiométricos em uso atualmente são desenvolvidos e fornecidos por empresas como siste-mas proprietários, desenvolvidos isoladamente, sem o compartilhamento de informaçõese base de dados, não atendendo, a contento, as necessidades de agentes governamentaisno que se refere à escala, controle e economia no uso das aplicações de biometria. Poresta razão, o objetivo deste trabalho será a criação de um protótipo de uma ferramentalivre e aberta, desenvolvida dentro da abordagem de Serviços Web, associado ao desen-volvimento de uma API que visará a padronização dos serviços de biometria, tendo emvista o intercâmbio de dados entre aplicações biométricas distintas e independentes, comum nível reduzido de acoplamento e com interoperabilidade entre sistemas de diferentesplataformas e tecnologias, de modo que seja possível agregar ao serviço o uso de váriasfuncionalidades biométricas tais como: o reconhecimento de face, a voz, as impressõesdigitais, a geometria da mão, a íris, ou mesmo a combinação destas, dentre outras, paraexecutar a tarefa de identificação pessoal.

Palavras–chave

<Biometria, Sistema Biométricos, Código Aberto, Serviços Web, Web API >

Abstract

Galvão, João Neto Cronemberger. systems. Goiânia, 2017. 80p. MSc. Disserta-tion. Instituto de Informática, Universidade Federal de Goiás.

Over the years, biometrics has become a valuable resource for human identification be-cause it is an affordable, safe and reliable technique. Various security entities throughoutthe world, public and private, are committed to the use of biometrics in security; both inaccess control and for identifying suspects. In addition, many crimes can be preventedwith tools that allow crosschecking of biometric data. However, biometric systems cur-rently in use are developed and provided by companies as proprietary systems. For thisreason, the creation of a free and open tool will bring more security, control and savingsfor the government. For this reason, the objective of this work is to create a prototypeof a free and open tool, developed within the Web Services approach, associated to thedevelopment of an API that will aim at a standardization of biometrics services, conside-ring the exchange of data between distinct and independent biometric applications witha low level of coupling and interoperability between systems of different platforms andtechnologies, so that it is possible to add to the service and use of multiple biometricfunctionalities such as face recognition, voice, fingerprints, hand geometry, iris, or even acombination, among others, to perform a task of personal identification.

Keywords

<Biometrics, Biometric Systems, Open source, Web Service, Web API >

Sumário

Lista de Figuras 13

Lista de Tabelas 14

1 Introdução 151.1 Introdução 151.2 Proposta 161.3 Objetivos 16

1.3.1 Geral 161.3.2 Específico 17

1.4 Justificativa e motivação 171.5 Estrutura deste trabalho 18

2 Biometria 192.1 Introdução 192.2 Origem da biometria 202.3 Técnicas biométricas 22

Reconhecimento pela impressão digital 23Reconhecimento pela íris 24Reconhecimento pela retina 24Reconhecimento pela face 25Reconhecimento pela voz 26Reconhecimento pela geometria da mão 27Reconhecimento pela assinatura manuscrita 27Reconhecimento pela dinâmica da digitação 28Reconhecimento pela marcha 28

2.4 Biometria multimodal 29Integração de características 29Integração de decisão 29

3 Sistemas Biométricos 313.1 Introdução 313.2 Reconhecimento positivo e negativo 323.3 Sistemas automáticos de identificação de impressões digitais 333.4 Sistema automático de identificação biométrica 34

3.4.1 Características do ambiente de aplicação 353.4.2 Modelo de um sistema 363.4.3 Aplicações de sistemas biométricos 383.4.4 Uso na área criminal 39

Sistemas nacionais 39Sistemas locais 41Interoperabilidade 41

3.4.5 BioAPI 423.4.6 Principais sistemas biométricos no mercado 42

4 Serviços Web 464.1 Introdução 46

4.1.1 Contexto dos serviços web 464.2 Arquitetura Orientada a Serviços 474.3 REST 48

4.3.1 Representação de recursos 484.3.2 Princípios arquiteturais 49

JSON 534.4 Web APIs 53

4.4.1 Definições 534.4.2 Especificação OpenAPI 554.4.3 Web APIs biométricas 57

5 mABIS: Sistema Automático de Biometria Modulado 595.1 Diagrama de caso de uso 595.2 Recursos da API 615.3 Diagrama de Sequência 635.4 Diagrama de Recursos da API 63

6 Protótipo da API 676.1 Avaliação pelo método Richardson Maturity Model 68

6.1.1 Nível 0 686.1.2 Nível 1 - Recursos 686.1.3 Nível 2 - Os verbos e códigos de respostas do HTTP 686.1.4 Nível 3 - Controles Hipermídia 68

6.2 Avaliação pelo método Classification of HTTP-based APIs 696.3 Protótipo 70

6.3.1 Aplicação Web 716.3.2 Aplicação Desktop 716.3.3 Aplicação Mobile 726.3.4 Gerenciador de Serviços 736.3.5 Servidor BSP 73

7 Considerações finais 747.1 Trabalhos futuros 75

Referências Bibliográficas 76

Lista de Figuras

3.1 Inscrição, verificação e identificação 323.2 Fluxo de um sistema biométrico 373.3 Aplicações biométricas 403.4 Diagrama do Modelo da BioAPI 2.0 [10] 43

4.1 Representação de várias URIs para um mesmo recurso.[57] 494.2 Representação de um única URI para o recurso. [57] 494.3 Exemplo de requisições para um recurso 524.4 Exemplo de código JSON 534.5 Compartilhamento de base de dados entre aplicações 544.6 Modelo de aplicações distribuídas através de Web APIs 544.7 Documentação Swagger. Fonte: (Reverb Technologies, 2014) 56

5.1 Visão arquitetural das camadas da mABIS [41] 605.2 Diagrama Geral de Casos de Uso 615.3 Diagrama de recursos da API APP 625.4 Diagrama de recursos da API BSP 625.5 Diagrama de Sequência entre as camadas 645.6 Diagrama de Recurso da API APP 655.7 Diagrama de Recurso da API BSP 66

6.1 Níveis de Maturidade da Avaliação RMM [23] 696.2 Tela da Aplicação WEB 726.3 Tela da Aplicação Desktop 726.4 Tela da Aplicação Mobile 72

Lista de Tabelas

1.1 Tabela comparativa do tipos de seguranças [47] 16

CAPÍTULO 1Introdução

1.1 Introdução

Na sociedade moderna e conectada, necessidades de determinação e verificaçãode identidades são cada vez mais crescentes, mesmo em atividades corriqueiras e diárias,como realizar uma transação bancária ou embarcar em um avião. Tais ações, no entanto,quase sempre requerem autorizações atribuídas a um indivíduo específico ou a uma classedeles. Para essa tarefa, existem vários métodos utilizados que podem ser agrupados emtrês classes: Possessão; Conhecimento; e, Biometria [37].

Muitas vezes, esses métodos de identificação são utilizados em combinação,como no caso de transações bancárias que, além da posse do cartão, também requeremuma senha; ou ainda, controle de imigração que, mais que a posse do passaporte, tambémrequer verificação biométrica. No entanto, os métodos que utilizam apenas a posse e oconhecimento apresentam problemas que restringem sua confiança, tais como: podemser perdidos, forjados ou facilmente duplicados; o conhecimento pode ser esquecido; oconhecimento e os bens podem ser compartilhados ou roubados, etc. Tais inconvenientesnão são toleráveis em aplicações com controle de acesso físico de alta segurança. Aciência da biometria se propões a solucionar de forma efetiva problemas relacionadosà verificação de identidade de indivíduos, cuja abordagem de identificação é baseada nascaracterísticas físicas ou comportamentais das pessoas [47].

Pelo fato de provas biométricas não serem simples de se roubar, disfarçar,compartilhar, perder ou esquecer, o interesse em desenvolver métodos de verificação deidentidade pessoal com base em biometria tem aumentado consideravelmente, haja vistaser um método mais confiável e seguro do que os métodos convencionais.

Como consequência, a utilização de identificação biométrica na área forense temse mostrado muito promissora, tendo em vista sua confiabilidade e amplitude de aplicaçãoem investigações criminais em que indivíduos de interesse precisam ser identificados ereconhecidos.

Não é sem razão que a partir dos anos 60, grandes esforços foram dispendidosnos EUA e na Europa para o aperfeiçoamento dos algoritmos e técnicas de identificação

1.2 Proposta 16

Tabela 1.1: Tabela comparativa do tipos de seguranças [47]

Método Abordagem Exemplos ObservaçõesPossessões O que você tem Cartões, crachás, cha-

vesPossibilidade de perdaou roubo, bem comocompartilhamento e du-plicação

Conhecimento O que você sabe ID do usuário, senha,PIN

Esquecimento, facili-dade de compartilha-mento e possibilidadede deciframento

Biometria O que você é Impressões Digitais,Face, Iris, Geometriada Mão...

Autenticação pratica-mente incontestável

biométrica, cujas aplicações foram destinadas inicialmente na área de segurança, e que,com o tempo, se estenderam para a área civil e comercial [55]. Tais sistemas biométricossão essencialmente um programa que provê uma ferramenta de reconhecimento depadrões que verificam e identificam um indivíduo com base em um vetor específico,derivado a partir de uma característica fisiológica ou comportamental exclusiva que apessoa possui.

1.2 Proposta

O desafio deste trabalho está em desenvolver uma ferramenta multiplataformaque gerenciará a integração de vários serviços biométricos, de diferentes locais, tecnolo-gias, bem como, funcionalidades biométricas, de modo a tornar-se uma aplicação flexívele expansível.

1.3 Objetivos

1.3.1 Geral

O objetivo desse trabalho é implementar um modelo de arquitetura biométricaintegrada que seja capaz de incorporar várias técnicas biométricas, tais como o reconhe-cimento de face, a voz, as impressões digitais, a geometria da mão, a íris, dentre outras,ou mesmo a combinação destas, através do acréscimo de serviços com novas funcionali-dades para executar a tarefa de identificação pessoal, e que seja uma ferramenta códigoaberto, capaz de sofrer melhorias através da contribuição de vários pesquisadores, tendoem vista auxiliar os agentes de segurança em prevenção e investigação criminal.

1.4 Justificativa e motivação 17

1.3.2 Específico

• Fornecer um modelo Web que padronize a integração e incorporação de váriosserviços biométricos;

• Usar de tecnologia para web, permitindo acesso em qualquer computador em rede,podendo ser disponibilizado facilmente em uma intranet;

• Definir especificações para facilitar a interoperabilidade entre serviços biométricosde diversas plataformas e tecnologias; e,

• Desenvolver um protótipo exemplo para demonstração do sistema.

1.4 Justificativa e motivação

Realizamos um estudo para buscar trabalhos semelhantes de um sistema biomé-trico destinados à investigação criminal e não encontramos alternativas que atendessemaos requisitos de economia e transparência, disponíveis em programas de código aberto.As soluções mais comuns utilizadas são programas comerciais como AFIS-DMA [40],DERMALOG ABIS [17] e MorphoBIS [39], de código fechado.

Dentre as razões para se desenvolver um sistema em código aberto, que forneçaas funcionalidades desejadas, citamos as seguintes:

• Redução de custos: tendo em vista que o poder público deve fazer bom uso dos re-cursos públicos, a utilização de programas comerciais que acarretam elevados cus-tos com manutenção, atualização de versões e aumento de licenças por usuários nãose torna uma alternativa desejável, sem contar que sua utilização gera dependênciado setor público à empresa proprietária do sistema. Por esta razão, a utilização deprogramas de código aberto torna-se uma opção preferível.

• Transparência: programas proprietários podem, de forma intencional ou não, pos-suir partes do código com funções que causem erros ou mesmo que permitam bularregras, pois não é possível que estes sejam auditados pelos usuários. O mesmo nãoocorre com os programas de código aberto, cujo código-fonte está disponível aopúblico e pode ser auditado livremente.

• Cumprimento da lei: os legisladores brasileiros definiram no art. 24. Inciso V da leiNo 12.965, de 23/04/2014 ou Lei do Marco Civil a seguinte diretriz:

adoção preferencial de tecnologias, padrões e formatos abertos e livres

Portanto, o setor público deve dar preferência a essa tecnologia livre, o que resultaem uma demanda por esse tipo de sistemas abertos.

Desta forma, a grande motivação do trabalho é propor uma arquitetura que façauso de infraestrutura computacional integrada em código aberto, tendo como finalidade

1.5 Estrutura deste trabalho 18

apoiar os profissionais da área criminal na identificação de indivíduos de interesse, dandosuporte às suas decisões de investigação através do uso de diferentes técnicas biométricas.

1.5 Estrutura deste trabalho

O trabalho está organizado conforme estabelecido a seguir. No Capítulo 2 seráfeita uma introdução referente à biometria, seguida de uma breve abordagem histórica daorigem da ciência e encerrada com a apresentação das principais técnicas biométricas. NoCapítulo 3 abordar-se-á os Sistemas Biométricos em geral, considerando-se o seu funci-onamento, classificações, ambientes de aplicações, modelagem etc. No Capítulo 4 serãodemonstradas as tecnologias utilizadas no desenvolvimento da ferramenta objeto destetrabalho, tendo como fundamento garantir a execução do objetivo proposto. No Capítulo5 será descrita a arquitetura proposta do sistema integrado, bem como serão apresenta-dos aspectos referentes à modelagem da Web API responsável pelo gerenciamento dosserviços biométricos. No Capítulo 6 será descrito a criação do protótipo da solução. E,finalmente, o Capítulo 7 apresentará as considerações finais do trabalho e sugestões paratrabalhos futuros.

CAPÍTULO 2Biometria

2.1 Introdução

Biometria é uma tecnologia emergente que está se tornando cada vez maisutilizada dentro das organizações [43]. Derivado do grego, a palavra Biometria é compostapelos termos "bios"(vida), seguido da derivação de "metron"(medir), o que lhe confere umsignificado literal de "medida de vida", em outras palavras, mensuração de característicasbiológicas de um ser [58].

Além desse significado básico, por biometria também se entende como ummétodo automático de identificação de pessoas que faz uso de traços distintos, como porexemplo, características de comportamento ou características físicas do corpo humano,únicas de um indivíduo, capaz de identificá-lo em meio aos demais. [55]

Duas palavras merecem atenção nessa definição. A primeira delas é automático,que destaca a biometria do enorme campo da ciência de identificação humana. Essecampo maior engloba técnicas de laboratório forense, tais como impressões digitaislatentes, DNA, análises de fibras e cabelos, que não são considerados como autenticaçõesbiométricas, embora muitas vezes utilizem métodos automáticos.

A segunda palavra-chave é pessoas, haja vista que o objetivo principal daautenticação biométrica é identificação de seres humanos vivos, de modo que, embora taistécnicas de identificação automatizadas possam ser usadas em animais, frutas, produtosagrícolas, ou até mesmo seres falecidos [5], não são considerados dentro do campoda biometria. Desta forma, quando se trata de sistemas biométricos, dois fatores sãodeterminantes: método automático de autenticação e objeto de análise exclusivamentede seres humanos vivos, razão pela qual talvez essa técnica devesse ser chamada commais precisão como "autenticação antropométrica". [55]

Assim, as tecnologias de verificação ou reconhecimentos biométricos tornam aBiometria uma ciência de grande interesse em áreas onde é indispensável a verificação eidentificação de pessoas, haja vista que, através desse método, os indivíduos podem seridentificados por meio de traços fisiológicos, dentre os quais podemos citar o formato daíris, as impressões digitais, a forma das mãos e a estrutura da face, e, ainda, por meio

2.2 Origem da biometria 20

de aspectos comportamentais únicos, como por exemplo a assinatura, a marcha ou atémesmo a voz. [43]

Vale destacar que essa variável comportamental introduz "fatores humanos"ouaspecto "psicológicos"na verificação que reforçam a característica humana da autentica-ção biométrica. [55]

Além disso, ressaltamos que os métodos biométricos possuem várias vantagensem comparação com o reconhecimento tradicional. Em algumas aplicações, pode-sesubstituir ou complementar as tecnologias existentes; em outras, é a única técnica viávelpara reconhecimento pessoal. [43]

2.2 Origem da biometria

Sistemas biométricos automatizados só se tornaram disponíveis ao longo dasúltimas décadas devido aos avanços significativas no campo de processamento computa-cional. Muitas destas novas técnicas automatizadas, no entanto, são baseados em ideiasque foram originalmente concebidas centenas, e até mesmo milhares de anos atrás. [38]

Há evidências arqueológicas do uso de impressões digitais para associar umapessoa com um evento ou transação em países como a China antiga, a Babilônia ea Assíria, há cerca de 6000 AC [32]. Em 1686, Marcello Malpighi, um professor deanatomia da Universidade de Bolonha, escreveu um artigo sobre características dasimpressões digitais como cumes, espirais e curvas, apesar de não se referir ao possíveluso para a identificação pessoal [9].

Em tempos contemporâneos, especificamente no final do século XIX, o francêsAlphonse Bertillon demonstrou grande interesse em biometria nas suas pesquisas crimina-lísticas, onde tentou associar medidas do corpo humano, tal como o diâmetro transversalda cabeça, comprimento dos dedos, antebraços, pés, estatura etc., [35], que eram regis-tradas em cartões de identificação, constituindo um banco de informações físicas para amensuração e identificação de indivíduos.

Não obstante, o sistema de Bertillon não se mostrou eficaz ao que se propunha,por não utilizar características exclusivas de uma pessoa, resultando em sucessivos errosde identificação, causando o descrédito do sistema. Um desses erros de identificação ficoubastante conhecido, quando um homem que alegara jamais ter ido à prisão, foi identificadocomo um prisioneiro, sendo levado à prisão. Porém, após se verificar os dados, observou-se que outro homem com mesmas características do primeiro estava detido em outraprisão [35]. Ainda assim, esse sistema foi usado nos EUA para identificar os prisioneirosaté a década de 1920. [55]

Assim, a ideia de mensurar traços físicos foi adiante. Na Suíça, após o surgi-mento da fotografia, imagens de face passaram a ser utilizadas como principal processo

2.2 Origem da biometria 21

de identificação criminal.A área comercial da Índia foi pioneira na utilização de dados biométrico no

estabelecimento de contratos comerciais, tendo em vista a redução do grande númerode contratos descumpridos por comerciantes locais, exigindo-se assim a assinatura, bemcomo a gravação das impressões digitais nos documentos de contratos. A intensão,segundo o oficial Herschel, era assustar os comerciantes, de modo que não pudessemrepudiar sua assinatura [35]

Ainda em 1880 Henry Faulds, William Herschel e Francis Galton propuseramidentificação por meio de impressões digitais e faciais. [55]

No período da II Guerra Mundial, com a utilização em grande escala de men-sagens transmitidas através de código Morse, foi desenvolvido um método biométricochamado "The Fist of the Sender", ou, "O Punho do Remetente", que consistia na identi-ficação do ritmo desenvolvido por cada militar ao realizar os pontos e traços digitados namensagem. Tais ritmos distintos e específicos de cada indivíduo permitia que se distin-guisse um aliado de um inimigo [24].

A partir de meados do século passado, os sistemas biométricos avançaramde forma considerável, com o surgimento de vários métodos diferentes, melhorados erefinados que se mostraram bem-sucedidos na tarefa de identificação de pessoas, a pontode serem comercializados.

Em 1960, com o desenvolvimento das técnicas de processamentos de sinaisdigitais, a identificação humana começou a ser automatizada. Técnicas de conhecimentode voz e impressões digitais foram as primeiras a serem exploradas e, em 1960, o potencialdessa tecnologia para controle de acesso, segurança, bloqueios de pessoas e transaçõesfinanceiras foram finalmente exploradas [55].

Os anos 70 foram marcados pelo desenvolvimento e implantação de sistemas degeometria da mão, associado ao crescente interesse do governo no uso desta tecnologia[55].

Apenas na década de 1980 as técnicas de Retina e verificação de assinaturassurgiram. Já no que se refere a técnicas de reconhecimento de íris, os primeiros sistemasforam desenvolvidos na década de 90 [55].

Vale destacar que na última década, o avanço do uso da biometria foi inigualável,de modo que as indústrias biométricas e indústrias especializadas disputam clientes emum mercado global dinâmico no que se refere ao uso das aplicações diárias e que seencontra em elevado crescimento.

2.3 Técnicas biométricas 22

2.3 Técnicas biométricas

Como visto anteriormente, os métodos biométricos são baseados em dois tiposde características humanas: estruturais e comportamentais. Sobre essas características, énecessário ressaltar que as medidas estruturais são traços físicos relativamente estáveisde uma parte do corpo humano, que, espera-se, não sejam imutáveis, como exemplo: aface, a impressão digital, a geometria das mãos, a retina, a íris, o padrão das veias, entreoutras [11]. Já no que se refere às características comportamentais, elas nada mais são doque traços baseados em ações individuais únicas que foram desenvolvidas e aprendidasao logo da vida.[55].

Como exemplo de traços comportamentais podemos citar a assinatura, o modode andar, a fala, a dinâmica de digitação, etc. Vale destacar que tais características sãoconsideradas não estáticas, pois podem mudar ao longo do tempo e sofrer alteraçõesmomentâneas conforme o estado emocional do indivíduo. Um exemplo disso é a voz, quepor exemplo, conforme o estado de saúde ou estado emocional, pode sofrer alteraçõesem situações que vão desde uma simples gripe até um estado de pânico. [21]. Por estarazão, os sistemas biométricos que fazem uso desse método, em sua maioria, permitemque sejam feitas atualizações de amostras biométricas à medida que vão sendo utilizadas,reduzindo as distorções e tornando o sistema de identificação mais eficiente [11].

Dentro dessa abordagem, um aspecto que merece atenção é que embora sejafácil distinguir as características estruturais das características comportamentais, elas sãoligeiramente interligadas, pois uma característica comportamental é influenciada por umaparte física, como por exemplo a forma das cordas vocais, utilizadas no reconhecimentode voz ao identificar o som, ou, ainda, a agilidade de mãos e dedos, determinantes naassinatura. O contrário também é verdadeiro, onde a captura de características estruturaistambém sofre influência de aspectos comportamentais, como a maneira que um usuárioposiciona o olhar diante de um dispositivo biométrico de reconhecimento de íris, ou comopressiona o dedo para identificação digital [55].

Com isso, todas as medidas utilizadas contêm ambos os componentes estruturaise comportamentais, que podem variar bastante ou ser muito semelhante dentro de umapopulação de indivíduos, de modo que nenhuma delas é apenas de um tipo ou de outro,embora algumas medidas pareçam ser mais influenciadas pelo comportamento, enquantooutras pela estrutura física [55].

Outro fator interessante é que, independente do tipo, para uma característica serconsiderada ideal para biometria, ela deve, necessariamente, conter os cinco aspectosseguintes: estabilidade, distinção, universalidade, acessibilidade e aceitabilidade [56][55].

Estabilidade significa que é praticamente imutável no indivíduo ao longo do

2.3 Técnicas biométricas 23

tempo; por distinção, entendemos que o formato do traço deve ser exclusivo no indivíduo;universalidade significa que toda a população deve possuir esse tipo de característica;acessibilidade representa a facilidade que há de, através de dispositivos automáticos,capturar a característica; e, aceitabilidade nada mais é do que o grau de aceitação dapopulação no que diz respeito ao uso da biometria. [55]

As aplicações para essa tecnologia são inúmeras e crescentes. Podemos citarentre elas os seguintes exemplos: cartões de imigração que registram tanto o número dopassaporte quanto as medidas da mão do usuário; impressões digitais como uma exigêncialegal para uma licença de motorista, embora não venha impressa no documento; sistemasde reconhecimento facial automático em busca de fraudes em casinos; bilhetes para umparque de diversões cadastrados com a forma dos dedos do ingressante; controles de vozem prisões domiciliares supervisionadas; entrega de resultados de exames confidenciaisatravés reconhecimento de íris, etc [55].

Diante disso, é impossível definir um traço ou característica humana mais ade-quado para todas as aplicações, populações, tecnologias e políticas de administração .[55]Não obstante, percebe-se que algumas características biométricas são claramente maisadequadas do que outras para certas aplicações, devendo ser a opção dos administradoresde sistema que desejam empregar autenticação biométrica.

Nas subseções seguintes, analisaremos alguns aspectos dos principais tipos decaracterísticas humanas e suas aplicações correspondentes.

Reconhecimento pela impressão digital

Um dos métodos de identificação pessoal mais antigos, a impressão digital(Fingerprint) ganhou credibilidade ao longo da história, tornando-se bem estabelecidana sociedade, sendo, há muito tempo, utilizada em registros civis e em investigaçõescriminais [55]. Segundo [27], essa característica física é desenvolvida ainda no ventre, atéo sétimo mês de gestação do indivíduo; são traços distintos entre os indivíduos, mesmoem gêmeos idênticos conferindo ao método, grande confiabilidade. Também, não sofrealterações ao longo do tempo, com exceção de acidentes como cortes, queimaduras,razões ambientais, ou profissionais, de modo que, em tais casos, isso se torna umempecilho a tal método [27]. Outro fator interessante é a rapidez e a confiança aliadaao baixo custo e fácil implementação com um grau de confiabilidade satisfatório.

O método da impressão digital consiste na extração das características dasdigitais, tendo como fundamento, encontrar pequenos pontos especiais denominados deminúcias, apresentados nas digitais. Eles são os pontos de finalização de linhas, pontos dejunção de linhas, e quantidades de vales e sulcos existentes entre os pontos [55].

2.3 Técnicas biométricas 24

Reconhecimento pela íris

Como técnica de biometria, o reconhecimento da íris (iris-scan) é um métodorelativamente novo, cujos primeiros resultados significativos foram apresentados apenasno início dos anos noventa. [55]. Consiste no reconhecimento do indivíduo através daanálise da íris, a região anular do olho delimitada pela pupila e a esclerótica (branco doolho) de cada lado. A textura visual da íris é formada durante o desenvolvimento fetale estabiliza durante os dois primeiros anos de vida (a pigmentação, contudo, continua amudar ao longo de um tempo[28] .

Uma grande vantagem que se obtém ao utilizar a íris como característica bio-métrica de identificação é que ela não sofre alteração com o passar do tempo, e, mesmocirurgicamente, é muito difícil alterar a sua textura; nem mesmo a utilização de óculos oulentes de contatos prejudicam o processo de reconhecimento [16].

O uso pioneiro da íris como base para identificação biométrica para pessoas foifeito no sistema penal em Paris, onde eram inspecionadas as íris dos detentos, observando-se especialmente o padrão da cor [55] [28]. Ainda que só nas últimas décadas essatécnica tenha obtido resultados confiáveis, a viabilidade de utilização da íris como traçohumano foi indicada desde 1936, porém, só em 1987, a ideia de forma de identificação foipatenteada [13]. Destaca-se que nas primeiras experiências de automatização da biometriada íris, os experimentos eram feitos com a participação de indivíduos extremamentecolaborativos e a uma pequena distância [55].

Para a captura da imagem da íris é necessária a utilização de dispositivo biomé-trico de alta qualidade, que faça uso de luz infravermelha que seja capaz de iluminar a írise, ao mesmo tempo, não gerar nenhum incômodo ao usuário. Para tanto, é necessário apresença do indivíduo no lugar de identificação para que sua íris seja submetida ao uso deequipamentos avançados e com custos elevados. [26]

Mais recentemente, os esforços têm sido destinados a permitir o reconhecimentoda íris em distâncias um pouco maiores e com a participação menos ativa por parte dosujeito [55]. Devido as características de confiabilidade e por ser um método não invasivo,o reconhecimento da íris é uma abordagem promissora para verificação e identificação depessoas. Por isso, avanços significativos foram feitos para tirar o reconhecimento de írisde dentro do laboratório e colocá-lo de forma ampla e efetiva no mundo real.

Reconhecimento pela retina

A retina é uma das membranas que reveste a face interna do olho, cuja funçãoé, através das células conhecidas como fotorreceptoras, transformar o estímulo luminosoem um estímulo nervoso e enviá-lo ao cérebro, para que as imagens sejam lidas[59].

2.3 Técnicas biométricas 25

Essa técnica de identificação foi sugerida pelos oftalmologistas Carleton Simone Isodore Goldstein em 1935, quando descobriram que cada olho tem seu próprio (único)padrão de vasos sanguíneos, de modo que as imagens da retina poderiam ser usadas paraidentificar pessoas.[59] Assim, desde a década de 50, experimentos comprovaram essahipótese, afirmando que os padrões dos vasos sanguíneos das retinas de cada olho sãodistintos entre os indivíduos, mesmos entre gêmeos univitelinos, o que permitiria umelevado grau de confiança nesse método de identificação [13].

A primeira patente de identificação biométrica usando o padrão de vaso sanguí-neo da retina data de 1978, cuja técnica consistia em digitalizar o vaso sanguíneo da retinacom a ajuda de dois anéis de LEDs. A quantidade de luz refletida para trás da retina eramedida, de maneira que quando o feixe atingia um vaso sanguíneo, era absorvido emmaior extensão do que quando atingia outros tecidos. No entanto, verificou-se que a luzvisível provocava desconforto para o indivíduo identificado, bem como a contração dapupila, causando perda de intensidade do sinal.[59]

Atualmente, a análise dos padrões dos vasos sanguíneos é feita através dedispositivos que fazem uso de um laser de baixa intensidade, associado a uma câmera[13].

A identificação da retina mostrou-se uma das técnicas biométrica mais confiáveise seguras. Falsificar uma imagem de um padrão de vaso sanguíneo parece impossível[59]. Não obstante, alguns fatores significativos reduzem a viabilidade de tal alternativade identificação, haja vista a facilidade da retina sofrer alterações ao longo do tempo emvirtude de certas anomalias como pressão alta, diabetes, miopia, hipermetropia e catarata,influenciando no escaneamento da retina[13].

Reconhecimento pela face

Uma das características mais marcantes dos indivíduos, a face, é frequentementeusada para identificação e distinção de pessoas. Desta forma, o reconhecimento facial visaanalisar características das imagens de face como os olhos, nariz, lábios, sobrancelhas,queixo, dentre outras, obtidas através de fotos ou vídeos digitais de forma automática [27].Em outras palavras, o reconhecimento facial envolve o reconhecimento automatizado deidentidade pessoal com base em características geométricas ou estatísticas, derivadas deimagens faciais [55].

Mesmo que os seres humanos possam detectar e identificar rostos em uma cenacom pouco ou quase nenhum esforço, construir um sistema automatizado que possarealizar essa tarefa é bastante desafiador [55], sobretudo no que se refere à superaçãode problemas como: variações na iluminação, alteração na pose, mudança na expressãofacial, variação na idade, além de ruídos na imagem [33]. Isto se deve ao fato de quea eficiência desse método pode ser reduzida ou até mesmo falhar por completo quandoalgum atributo estético do indivíduo é alterado, tal como o cabelo, a barba, o bigode, o

2.3 Técnicas biométricas 26

uso de acessórios como óculos, chapéu e lenços [7]. Ainda, outras imprecisões podem seapresentar no processo de identificação das características faciais em função do ângulo ouposição da face do indivíduo diante da câmera, ou quando a face se mostra parcialmenteou totalmente obstruída por objetos, ou alterações bruscas na expressão facial, ou ainda,fundo da imagem complexa, ou condições de luz limitantes etc[18].

Apesar disso, muito já se avançou nos últimos anos no que se refere ao reconhe-cimento facial, isto porque é considerado um dos métodos biométricos mais importantes[33] uma vez que não requer a cooperação das pessoas para olhar em um scanner de íris,ou para colocar suas mãos em um leitor de impressões digitais, ou ainda para falar comum microfone próximo ao local. [55].

A natureza discreta e passiva do reconhecimento facial confere grande vantagensàs aplicações de vigilância e de segurança, por exemplo. Isto porque, um sistema automa-tizado de reconhecimento de face é capaz de capturar imagens de rostos a uma distânciaconsiderável, usando uma câmera de vídeo, associada a um algorítimo de reconhecimentode face capaz de processar os dados capturados: detectar, rastrear e, finalmente, reconhe-cer pessoas de interesse, como terroristas ou traficantes de drogas, sem o conhecimentoda pessoa [55].

Essa tecnologia é amplamente utilizada em aplicações comerciais, jurídicas emilitares, tal como em segurança de aeroportos e controle de acesso, vistos, vigilânciae monitoramento, interação homem-computador, interfaces e ambientes inteligentes emcasa, no escritório e em carros [15] [27].

Embora esses sistemas sejam um desafio em visão computacional, eles atraemuma atenção significativa devido à acessibilidade de câmeras digitais e computadores debaixo custo, além das aplicações em biometria e vigilância, como em [60] , para pesquisasde reconhecimento de face.

Reconhecimento pela voz

Considerada uma tecnologia relativamente menos intrusiva pelos usuários, o re-conhecimento de voz é uma biometria predominantemente comportamental, na qual uti-liza a voz para a identificação de um indivíduo [55], que pode ser capturada de duas ma-neiras: ou através de um texto preestabelecido que o usuário fala diante do equipamentode captura, ou, através de frases aleatórias ditas pela pessoa a ser identificada, sendo que,embora essa última seja mais complexa do que a primeira, é mais segura quanto às fraudes[47].

Dentre as vantagens desse sistema podemos citar os baixos custos dos equipa-mentos necessários, bem como sua disponibilidade no mercado como, por exemplo, umtelefone ou um microfone de computador, que em geral, não requerem tratamentos com-

2.3 Técnicas biométricas 27

plexos, e, ainda, pode ser feito de forma remota, através da internet ou de um telefone[13].

Não obstante, sua utilização é reduzida em função do fato do seu nível de confi-abilidade ser considerado baixo, em função de suas desvantagens, como sensibilidade aoruído, mudanças comportamentais dos usuários, ou mesmo, alterações na forma de falarem razão de causas emocionais ou mesmo enfermidades no aparelho respiratório, comouma gripe. Mas, a principal falha de segurança apresentada pelo método é a possibilidadede roubo de dados através de grampos telefônicos ou gravações [13].

Reconhecimento pela geometria da mão

Uma das técnicas mais simples, baratas e fáceis de usar, muito utilizada paracontrole de acesso em áreas restritas é a biometria com geometria da mão (hand geometry)

[27]. Essa técnica consiste em um conjunto de traços e detalhes da forma da mão humana,tal como largura e área da mão, ou comprimentos e larguras dos dedos, contornosexternos, linhas internas e até mesmo veias que são características consideradas exclusivasentre as pessoas, que são capturadas por meio de imagens digitais adquiridas através deum leitor biométrico, onde são definidos alguns pontos e cálculos para a definição dasdimensões das medidas geométricas da mão, que, após análise, permite ou restringe oacesso do usuário.

Nas Olimpíadas de Atlanta, em 1996, essa técnica foi experimentalmente usadana identificação dos atletas que participavam do torneio, tendo sido bem-sucedido o seuuso, de modo que, no evento seguinte, em Sidney, o sistema foi utilizado para a iden-tificação não só dos atletas, mas também, para identificação dos técnicos, funcionários,patrocinadores, e imprensa, com diferentes níveis de acesso [13].

Não obstante, o fator limitante de tal método é que tais características e traçosmencionados acima sofrem mudanças resultantes de ganho de peso, idade, inchaços,cicatrizes, tornando-se necessário, nesses casos, o recadastramento do usuário [26].Ainda, para melhor eficiência dos sistemas que fazem uso dessa tecnologia, é necessárioque os pontos de captura sejam dispostos em ambientes fechados e de temperaturacontrolada, haja vista que fatores ambientais, tal como a luz solar que, incidindo sobreo dispositivo biométrico, pode distorcer o contorno da mão [30].

Reconhecimento pela assinatura manuscrita

A assinatura é um dos métodos de biometria mais aceitos para a comprovação deuma identidade, sendo que sua aplicação ocorre desde tempos remotos, sendo aceita porlongos períodos históricos como vínculo entre um indivíduo e um contrato ou título [13].

2.3 Técnicas biométricas 28

Com o avanço das tecnologias de computação, o reconhecimento da assinatura(signature-scan) não só pode ser feito através da forma antiga-estática (off-line), comotambém, nos dias de hoje, através de um método dinâmico (on-line) [47], onde noprimeiro, há décadas utilizado no sistema financeiro para verificação de assinaturasem cheques ou cartões de créditos, é necessário apenas a imagem da assinatura, feitaatravés de uma caneta normal [47], de onde serão extraídas as características geométricasda assinatura, tal como a inclinação da escrita, altura e comprimento dos caracteres,quantidade de palavras, etc [30]; enquanto que, na assinatura dinâmica, o reconhecimentonecessita de um dispositivo com uma superfície sensível, tal como um tablet e canetasóticas, para que, então sejam extraídos traços biométricos como pressão da caneta, ritmoda escrita, tempo de duração, intervalos em que a caneta sai do papel, aceleração, trajetóriaetc [54].

O principal problema dessa técnica de biometria, tanto estática quanto dinâmicaé o fato de que a forma da assinatura pode variar de acordo com o ambiente, papel, caneta,etc, e que, embora alguns usuários sejam seguros e estáveis em suas assinaturas, outrossão inconstantes e irregulares, dificultando o sucesso do reconhecimento [13].

Reconhecimento pela dinâmica da digitação

Também chamado de ritmo de digitação, a Dinâmica de Digitação tem comofundamento a análise do modo ou ritmo que um indivíduo costuma digitar desde senhas,palavras ou frases, ou até mesmo um texto em um computador [4], na qual são mensuradosas sequências de valores alfanuméricos digitados, bem como o intervalo de tempo entre adigitação de teclas sucessivas.

Por necessitar apenas de um teclado e um software de autenticação, é um métodoconsideravelmente barato, sobretudo quando comparado com outras técnicas biométricasde alto custo que requerem dispositivos biométricos de captura e análise de dados maiscomplexos.

É interessante destacar que nesse método, quanto maior for a perícia e habilidadedo usuário, o grau de confiabilidade da autenticação será mais elevado. Isto se deveem função do fato de que a variação de desempenho na digitação, nesses casos, érelativamente baixa. Outra vantagem dessa técnica é que por ser um procedimento nãointruso, pode ser aplicável de modo bem-sucedido em aplicações de segurança de acessode computador [2].

Reconhecimento pela marcha

É uma característica biométrica tanto física, quanto comportamental, compreen-dida pelo processo de locomoção rítmica e exclusiva de uma pessoa, gerado pelo ato de

2.4 Biometria multimodal 29

caminhar ou de correr.A técnica biométrica de identificação de pessoas através da marcha ou modo de

caminhar tem sido objeto de muitos estudos na atualidade. Para tanto, esse método utilizacaracterísticas exclusivas contidas na marcha e possui grande potencial em aplicações desegurança e análise forense, haja vista ser um dado biométrico que pode ser capturadoà distância, sem a obrigatoriedade de consentimento ou cooperação da pessoa a seranalisada. Pode ser obtida por câmeras de baixa resolução e até mesmo quando o corpoestá parcialmente ocluso [28].

2.4 Biometria multimodal

Consideramos que o Sistema Biométrico é multimodal quando é fundamentadoem várias técnicas biométricas físicas ou comportamentais simultaneamente, de maneiraque, com tal associação de métodos distintos, se possa superar as limitações dos SistemasBiométricos Unimodais, ou, em outras palavras, sistemas que fazem uso de apenas umatécnica biométrica [28], elevando consideravelmente a confiabilidade do resultado deidentificação e reduzindo a ocorrência de fraudes.

Para tanto, as arquiteturas de integração dos Sistemas Biométricos Multimodaispodem ser basicamente de dois tipos: Integração de Características e Integração deDecisão [7].

Integração de características

Chamamos de Integração de Características quando a integração é realizada pormeio da associação de amostras biométricas obtidas por diversos dispositivos biométricos.Ou seja, captura-se os dados por dispositivos específicos para o tipo de biometria, como,por exemplo, um scanner de captura de imagem da mão ou um microfone que capturaa voz. Apesar dessa ser uma arquitetura que menos se desperdiça dados, não é muitoutilizada em sistemas multimodais [55].

Integração de decisão

Neste outro modelo de integração, as características biométricas são capturadaspor um dispositivo dedicado, que classifica e gera uma resposta única, oriunda dacombinação de todas as sub-respostas segundo os traços biométricos capturados. Durantea análise, o classificador especialista observa o resultado de todas as características deentrada e o resultado pode ser apresentado através de dois métodos diferentes: tolerante erigoroso.

2.4 Biometria multimodal 30

No modo tolerante, o resultado de cada classificador pode variar em um valorreal entre 0 e 1. Por outro lado, no tipo rigoroso, a resposta possível se limita a apenas 2resultados: 0 para rejeitar ou 1 para aceitar o padrão. [55]

Abordaremos no capítulo seguinte o funcionamento, a classificação, o ambientede aplicação e a modelagem dos Sistemas Biométricos.

CAPÍTULO 3Sistemas Biométricos

3.1 Introdução

Um sistema biométrico é essencialmente um sistema de reconhecimento depadrões que reconhece uma pessoa com base em um vetor específico, derivado a partir deuma característica física ou comportamental exclusiva que a pessoa possui.

Durante a fase de inscrição, um leitor biométrico, tal como um sensor deimpressão digital ou câmara digital, verifica inicialmente a característica biométrica doindivíduo para produzir a sua amostra digital. O sistema geralmente executa um controlede qualidade para assegurar que seja confiável o processo de registro da amostra adquirida.Para facilitar a correspondência, um extrator de recurso processa a amostra de entradapara gerar uma representação compacta e expressiva, chamada de modelo. Dependendoda aplicação, o sistema biométrico pode armazenar o modelo na sua base de dados centralou gravá-lo em um cartão inteligente emitido para o indivíduo [43].

Dependendo do contexto de aplicação, um sistema biométrico funciona emcondições normais em um dos seguintes modos: verificação ou identificação.

No modo de verificação, o sistema valida a identidade de uma pessoa através dacomparação da característica biométrica capturada com modelo biométrico do indivíduo,que foi pré-armazenados no banco de dados do sistema, enquanto que, no modo deidentificação o sistema distingue um indivíduo através da pesquisa em todo banco dedados, com base no modelo capturado, tendo em vista o seu reconhecimento [43].

A Figura 3.1 contém diagramas de blocos de um sistema de verificação e deum sistema de identificação. Nas duas há a tarefa inicial de registrar o usuário realizadapelo módulo de inscrição que registra os dados/características dos indivíduos no bancode dados do sistema biométrico. No item seguinte, abordaremos mais detalhadamente asespecificidades de cada tipo de reconhecimento.

3.2 Reconhecimento positivo e negativo 32

Figura 3.1: Inscrição, verificação e identificação

3.2 Reconhecimento positivo e negativo

A questão a ser respondida é: "A pessoa é realmente quem afirma ser?"Nessesentido, verificação de identidade é tipicamente utilizada para o reconhecimento positivo,em que o objetivo é evitar que várias pessoas usem a mesma identidade, de modo que osistema verifica se a identidade alegada pelo indivíduo corresponde ou não à amostracadastrada no banco de dados, realizando-se, para tanto, uma comparação entre duasamostras. Ou seja, o sistema, realiza uma comparação de um-para-um para estabelecera identidade do indivíduo. Este modelo permite que os dados possam ser armazenados deforma Centralizada, em um servidor central, ou Descentralizada, através de dispositivostais como leitura óptica, tarja magnética ou cartões inteligentes, onde se rejeita o acessoquando os dados capturados não encontram nenhuma correspondência entre as amostrascadastradas no banco de dados [55].

Por outro lado, quando a pergunta a ser respondida é: "Quem é essa pessoa?"aIdentificação se refere a aplicações de reconhecimento negativo, na qual o sistemadetermina se a pessoa é quem ela (implícita ou explicitamente) nega ser. Para tanto, osistema reconhece um indivíduo através de pesquisa em todo o banco de dados com baseno modelo da amostra obtida. A finalidade de reconhecimento negativo é impedir que

3.3 Sistemas automáticos de identificação de impressões digitais 33

uma única pessoa utilize múltiplas identidades. Neste caso, essa aplicação é chamada de"identificação negativa", com base na comparação um-para-muitos. Por esta razão, talmétodo faz uso de armazenamento de dados impreterivelmente Centralizado [55].

Enquanto os métodos tradicionais de reconhecimento pessoal, como senhas,PINs, chaves e tokens trabalham para reconhecimento positivo, apenas a biometria podeser utilizado para o reconhecimento negativo [43]. Destaca-se que independente do tipo desistema, falsas rejeições são um incômodo para os usuários e falsas aceitações permitema ocorrência de fraude [55].

3.3 Sistemas automáticos de identificação de impressõesdigitais

Impressão digital é a técnica biométrica pioneira e ainda hoje, a mais utili-zada. O advento de várias tecnologias de digitalização de impressões digitais sem tinta,juntamente com o aumento exponencial do desempenho do processador, levou o reco-nhecimento de impressões digitais para além das aplicações de identificação criminais,sendo, portanto, utilizado em diversas aplicações civis, como controle de acesso; tempoe frequência; login de usuário do computador, etc. Ao longo da última década, muitastécnicas novas foram desenvolvidos para adquirir impressões digitais sem o uso de tinta,por meio de scanners, o que facilitou o uso e tornou o processo mais amigável [47].

Segundo [55], até os anos 60, a catalogação e a pesquisa de digitais era feitade forma bastante rudimentar, onde eram utilizados arquivos gigantescos contendo oscartões com as digitais impressas, o que dava ao processo altas taxas de erro e lentidão.Sobretudo quando o banco de dados utilizado possuía milhões de cartões cadastrados.Por esta razão, não está claro se, àquela época, as impressões digitais realmente eram umsistema de identificação efetivo ou apenas tinha a vantagem de as pessoas prontamenteacreditarem que eram [55].

No entanto, a partir da segunda metade dos anos 60, vários projetos de automa-tização de impressões digitais foram iniciados pelo Federal Bureau of Investigation - FBIem conjunto com o National Institute of Standards and Technology - NIST, em colabo-ração com as indústrias privadas e as agências nacionais de outros países, resultando emimportantes implementações na tecnologia de automatização [55], mais conhecidas comoAFIS que vem do inglês Automated Fingerprint Identification System, fazendo esse tipode biometria ganhar destaque no que se refere à facilidade de implementação e aplicações,que perpassam em vários campos, dentre os quais podemos citar: Forense, onde talvez aidentificação digital seja mais amplamente utilizada; Genética, com pesquisas que ligamcaracterísticas de grupos humanos com características digitais, mais ainda, há evidências

3.4 Sistema automático de identificação biométrica 34

que relacionam predisposições genéticas à doenças com traços das digitais; civil e co-mercial, onde desde o início dessa tecnologia, se tenta associar indivíduos a contratos oucontroles de acesso; e, por fim, aplicações no governo, de modo que muitos países regis-tram as impressões digitais de seus cidadãos em algum momento da vida, quando estessolicitam emissão de documentos de identidade.

Esses esforços, bem como os que os sucederam, proporcionaram, nos dias dehoje, que esse método confiável de identificação biométrica, se tornasse também maisrápido, barato e realmente eficiente no que se refere a identificação de pessoas em bancode dados volumosos.

3.4 Sistema automático de identificação biométrica

Nas últimas décadas, houve uma evolução significativa em tecnologias biométri-cas. Além dos tipos padrão de biometria utilizadas em aplicações comuns hoje em dia, porexemplo face, impressões digitais e íris, os avanços estão sendo feitos na segunda gera-ção de biometria, que incluem, entre outros, análise onda neural, a luminescência da pele,íris, reconhecimento facial avançado, marcha, fala, biometria comportamental e assim pordiante [38].

O primeiro Sistema Biométrico Automatizado de Identificação ou simplementeABIS (Automated Biometric Identification System) teve origem no Departamento de De-fesa Americano, tendo sido criado posteriormente ao sistema automático de identificaçãode impressões digitais - AFIS , desenvolvido pelo FBI. [55], capaz não só de analisar tra-ços de impressões digitais, como também, recolher, armazenar e partilhar outros tipos dedados biométricos.

Foi concebido inicialmente para aplicações militares e governamentais, paracombate ao terrorismo. Sua arquitetura é semelhante à arquitetura de informações dosAFIS, pois ambos tentam integrar em um único banco de dados as informações de suspei-tos ou pessoas de interesse, sendo que no AFIS, os dados foram captados essencialmentepela polícia enquanto que no ABIS, as informações foram recolhidas em operações deguerra, pelos grupos de combatentes. No entanto, a principal diferença entre esses doissistemas consiste no fato de que no ABIS, os dados biométricos recolhidos incluíam alémdas 10 impressões digitais, fotos da face e perfil e amostras de DNA.

O seu conceito norteador foi chamado de dominância da identidade, que tinhapor objetivo aumentar o nível de confiança na identificação dos indivíduos, bem comocontrole de seus antecedentes criminais ou possíveis atividades terroristas nos EstadosUnidos e em outros países, de modo que os dados biométricos colhidos eram tratadosseparadamente e comparados no banco de dado para possíveis correspondências.

3.4 Sistema automático de identificação biométrica 35

3.4.1 Características do ambiente de aplicação

À medida que os dispositivos biométricos tornaram-se mais evoluídos e confiá-veis, ainda nos anos de 1990, observou-se que a variação no ambiente de aplicação in-fluenciava significativamente o desempenho do dispositivo. Em vista disso, um ambienteoperacional previamente estabelecido é primordial para escolha da melhor tecnologia bio-métrica, bem como das características do sistema. Deste modo, para melhor compreensão,analisaremos um ambiente operacional baseado em seis categorias importantes:

• Aparente ou SecretaEsta categoria diz respeito à ciência ou não do usuário em relação ao identificadorbiométrico a que está exposto. Se o usuário tem conhecimento do procedimento,dizemos que a aplicação é aparente, do contrário, dizemos que é secreta. Em geral,controles de acesso são aplicações aparentes enquanto que, aplicações forenses sãoem sua maioria secretas.

• Habitual ou Não-habitualA segunda característica se refere à familiaridade dos usuários quanto ao uso dodispositivo biométrico. Em outras palavras, significa dizer que o ambiente é con-siderado Habitual quando os indivíduos cadastrados fazem uso do dispositivo comfrequência. Um exemplo são os aplicativos de controle de frequência de funcio-nários. Por outro lado, quando os usuários previstos no sistema fazem uso deleesporadicamente, como por exemplo, controle de imigração de passageiros inter-nacionais não frequentes, denominamos a aplicação de Não-habitual. Deste modo,não é difícil deduzir que toda aplicação, em seus primeiros dias de implementação,são considerados Não-habituais.

• Supervisionado ou Não SupervisionadosEsta classificação refere-se à ocorrência ou não de supervisão por parte da adminis-tração do sistema durante o uso do dispositivo biométrico pelos usuários cadastra-dos. Em geral, operações não-cooperativas requerem a supervisão de um responsá-vel, enquanto que as operações cooperativas podem ou não fazer uso de supervisão[55].

• Ambiente Padronizado ou Ambiente Não PadronizadoEsta característica preocupa-se com o ambiente em que se dará a aplicação. Seela ocorrerá em um lugar coberto, com temperatura normal, com pressão normal,bem como o com controle de aspectos como iluminação, chamamos a aplicação deAmbiente Padronizado. Desta forma, sistemas ao ar livre, cujas características sãomais difíceis de se determinar, são considerados Ambientes Não Padronizados [55].

• Publico ou PrivadoQuando os usuários dos sistemas são clientes de algum ente governamental, cha-

3.4 Sistema automático de identificação biométrica 36

mamos de aplicação pública. Por outro lado, quando os usuários são clientes deentidades privadas, estamos tratando do uso de uma aplicação privada [55].

• Aberto ou FechadoEsta característica diz respeito ao compartilhamento de dados com outros sistemasbiométricos. Por exemplo, algumas agências de serviços sociais de Estado dos EUAtrocam informações biométricas com alguns estados. Se um sistema é aberto, sãonecessárias normas de coleta de dados, compressão e formato das informaçõespara que tais dados compartilhados sejam reconhecíveis pelos diversos sistemasimplementados nos diferentes entes e entidades. No entanto, quando um sistema éfechado, ele funciona perfeitamente bem em formatos completamente proprietários[55].

3.4.2 Modelo de um sistema

Ainda que esses dispositivos contem com diferentes tecnologias, muito pode serdito sobre eles em geral. A figura a seguir mostra um sistema de autenticação biométricagenérico dividido em cinco subsistemas: coleta de dados, transmissão, processamentode sinal, de decisão e de armazenamento de dados. Vamos considerar estes subsistemasseparadamente [55].

A Figura 3.2 contém um modelo de sistema biométrico genérico.

Coleta de Dados Os sistemas biométricos começam com a medição de uma caracte-rística comportamental ou física. A chave para todos os sistemas é a suposição de que acaracterística biométrica medida é tanto distinta entre os indivíduos, quanto permanenteao longo do tempo em cada um deles. No entanto, os problemas para medir e controlaressas variações começam no subsistema de coleta de dados. Neste momento, quando sãoapresentados as características biométricas do usuário em um sensor, variáveis comporta-mentais/psicológicas influenciam a coleta. Tal componente comportamental pode variaramplamente entre os utilizadores, entre aplicações, e entre o laboratório de ensaio e oambiente operacional. Se um sistema é aberto, as características apresentadas ao sensordevem ser padronizadas para garantir que os dados recolhidos coincidam com os dadoscoletados do mesmo indivíduo por outro sistema. Além disso, quando um sistema é utili-zado numa aplicação aparente e não cooperativa, o usuário não deve ser capaz de alterarintencionalmente a característica biométrica ou a sua apresentação de forma a evitar acombinação com registos anteriores [55].

Transmissão Alguns sistemas de coleta de características biométricas exigem a trans-missão de dados, quando o dispositivo encontra-se distante do banco de dados. Quandose trata de uma grande quantidade de dados,compressões podem ser necessárias antes da

3.4 Sistema automático de identificação biométrica 37

Figura 3.2: Fluxo de um sistema biométrico

transmissão ou armazenamento de modo que se conserve a largura de banda e o espaçode armazenamento. Em tais casos, os dados comprimidos transmitidos ou armazenadosdevem ser expandidos antes de posterior utilização. Vale destacar que o processo de com-pressão e expansão geralmente provoca perda da qualidade do sinal de modo que quantomaior for a taxa de compreensão, maior será a perda de qualidade. Assim, torna-se impor-tante definir a técnica biométrica, bem como os métodos de compressão com o mínimoimpacto sobre o subsistema de processamento de sinal. Quando um sistema é aberto, pro-tocolos de compressão e transmissão devem ser patronizados de forma que cada usuáriopossa reconstruir o sinal original[55].

Processamento de Sinais Depois de se coletar e possivelmente transmitir uma caracte-rística biométrica, deve-se capacitá-la para combinações com outras medidas semelhan-tes. Para tanto, o subsistema de processamento de sinal é dividido em quatro tarefas: seg-mentação, extração de características, controle de qualidade e padrão de correspondência.A segmentação é o processo de localizar o padrão biométrico dentro do sinal transmitido.Por exemplo, um sistema de reconhecimento facial deve primeiro encontrar os limites daface ou faces da imagem transmitida. Uma vez que o padrão biométrico bruto de interessefoi encontrado e extraiu-se a partir do sinal maior, o padrão é enviado para o processo deextração de características. Em geral, a extração de característica é uma forma de com-

3.4 Sistema automático de identificação biométrica 38

pressão não-reversível, o que significa que a imagem biométrica original não pode ser re-construída a partir das características extraídas. Em alguns sistemas, a transmissão ocorreapós a extração de parâmetros para reduzir a necessidade de largura de banda. O controlede qualidade nada mais é do que a verificação do sinal recebido do subsistema de coletade dados, tendo em vista sua qualidade. Por fim, o processo de correspondência de pa-drão consiste na comparação de uma amostra com uma ou mais anteriormente coletadas earmazenadas. Desta forma, o subsistema de processamento de sinal é implementado como objetivo de reduzir as distâncias entre as amostras cadastradas e as amostras coletadasposteriormente do mesmo indivíduo [55].

Armazenamento O subsistema remanescente a ser considerado é o de armazenamento.Haverá uma ou mais formas de armazenamento usados, dependendo do sistema biomé-trico. Amostras de usuários inscritos serão armazenados em um banco de dados para acomparação pela correspondente padrão de amostras de dados recebidos. Para os sistemasde correspondência "um-para-um", o banco de dados pode ser distribuído em cartões inte-ligentes, cartões de leitura ótica ou cartões de banda magnética emitidos para cada usuárioinscrito. Dependendo da política do sistema, nenhuma base de dados central precisa exis-tir, embora nesta aplicação uma base de dados centralizada possa ser usada para detectarcartões falsificados ou reemitir cartões perdidos sem recoleta o padrão biométrico. Noentanto, a base de dados será centralizado se o sistema executar correspondência um-para-muitos, pois desta forma, qualquer amostra de dados será combinada com amostrasarmazenadas em uma partição, ou indexados usando uma estrutura de dados adequada, oque permitirá aumentar a velocidade do sistema e diminuir falsas partidas devido a errosde separação [55].

Decisão O subsistema de decisão implementa a política do sistema, orientando a buscade banco de dados, determinando os resultados com base nas medidas de distânciaou similaridade recebidos do correspondente padrão e, finalmente, faz um "aceitar /rejeitar"do usuário. Exemplos de política de decisão são: rejeitar a afirmação de identidade(positivo ou negativo) de qualquer usuário cujo padrão não pôde ser obtido corretamenteou, ainda, na ausência de um modelo reivindicado. A política do sistema poderia ser paradirigir a busca a todo, ou apenas a uma parte do banco de dados e retornar um único ouvários possíveis "candidatos". A política de decisão empregada é uma decisão de gestãoque é específica para os requisitos operacionais e de segurança do sistema [55].

3.4.3 Aplicações de sistemas biométricos

Aplicações biométricas se dividem em três grupos principais: aplicações comer-ciais, aplicações governamentais e aplicações forenses.

3.4 Sistema automático de identificação biométrica 39

Como aplicações comerciais podemos citar logins de rede de computadores, se-gurança eletrônica de dados, e-commerce, acesso à Internet, caixas eletrônicos, cartões decrédito, controle de acesso físico, telefones celulares, PDAs, gerenciamento de registrosmédicos, e ensino à distância. No que se refere às aplicações governamentais podemoscitar os cartões de identidade nacionais, acesso a instalações, carteiras de motorista, segu-rança social, controle de fronteira , controle de passaporte, e programas assistencialistas;e, por fim, citamos como aplicações forenses a identificação de cadáveres, investigaçãocriminal, identificação de terrorista, determinação de paternidade e crianças desapareci-das.

Tradicionalmente, nas aplicações comerciais foram utilizados sistemas baseadosem conhecimento que empregam PINs e senhas; aplicações do governo têm sistemasutilizados com base em fichas, tais como cartões de identificação; e, na área forense,as aplicações têm contado com especialistas para combinar características biométricashumanas.

Nas aplicações comerciais, os sistemas exigem o reconhecimento positivo, po-dendo fazer uso da biometria na verificação ou identificação. Por outro lado, as aplicaçõesutilizadas pelo governo e forenses consistem principalmente de aplicações de reconheci-mento negativo que exijam a identificação [43].

A Figura 3.3 mostra alguns exemplos de aplicações biométricas em uso.Diante do escopo de nosso trabalho, será dado destaque, a seguir, a aplicação

dessa tecnologia na área criminal, tendo em vista o grande potencial de contribuição noprocesso de identificação e reconhecimento de pessoas.

3.4.4 Uso na área criminal

Os sistemas de identificação de criminosos com base em técnicas manuais dearquivos e registros de impressões digitais são utilizados há mais de um século. Desdeentão, sua aplicação é feita desde pequenas populações como cadeias e presídios, pas-sando por grandes regiões metropolitanas, até chegar a nível nacional. A interação entresistemas, em diferentes esferas era muito rara, não só em função da separação geográ-fica ou operacional, mas também porque geralmente haviam diferenças significativas nosprocedimentos de catalogação e pesquisa, dificultando a integração. Mesmo após o desen-volvimentos dos AFIS, não houve o imediato interesse em se estabelecer interatividade epadronização entre tais sistemas. [55]

Sistemas nacionais

Até meados dos anos 70, apenas a polícia nacional do Japão havia instaladoum sistema de identificação automático de impressões digitais a nível nacional. Isto se

3.4 Sistema automático de identificação biométrica 40

Figura 3.3: Aplicações biométricas

deve prioritariamente a duas razões: primeiro, eram necessários grandes esforços parase digitalizar os imensos e volumosos arquivos de impressões digitais dos dez dedos,arquivados em tinta; e, segundo, os riscos técnicos da implementação do complexo fluxode trabalho, automação de tarefas e treinamento de pessoal, eram elevados.

No entanto, houve um grande esforço despedindo por organizações nacionaiscomo o FBI nos EUA e o Ministério do Interior no Reino Unido tendo em vista apesquisa e implementação de sistemas pilotos. A implementação nos EUA iniciou emmeados de 1970, onde foi avaliado, inicialmente em um ambiente pequeno, resultados deinvestigações sobre processamento de imagem, tendo sido automatizado e padronizaçãoa classificação, bem como as estratégias de busca e correspondências de minúcias,otimizando as métricas de desempenho [55].

Nessa época, o FBI contratou uma série de organizações, bem como desenvolveusua própria organização de pesquisa para gerenciar os vários projetos que impulsionaramo Sistema Integrado e Automatizado de Identificação de Impressões Digitais (AFIS) parase tornar uma ferramenta eficiente nesse processo. Ao mesmo tempo em que o FBI estavaempenhado em incrementar o sistema AFIS, dispositivos de captura de impressão digitalao vivo começavam a ser implementados por muitas agências estaduais e locais paraeliminar o processo de obtenção de impressões digitais à tinta em cartões de papel, o

3.4 Sistema automático de identificação biométrica 41

que fez com que o FBI estendesse os padrões das imagens para incluir os dispositivos deescaneamento de digitais fabricados por vários fornecedores diferentes [55].

Fora dos EUA, vários sistemas AFIS a nível nacional foram colocados emprática a partir de 1984. Em particular, os sistemas foram instalados na Suíça, Noruegae Holanda. Depois disso, AFIS foram instalados no Reino Unido, Dinamarca, Suécia,Finlândia, Bélgica, França, Alemanha, Espanha, Portugal, Áustria, Hungria, RepúblicaCheca, Eslovênia e Eslováquia. Desde então, muitos outros países já instalaram ou estãoem processo de instalação do AFIS [55].

Sistemas locais

Nos EUA, as agências locais, principalmente das cidades e condados, estavamentre os primeiros utilizadores de AFIS, isto se deve talvez pelo fato de que as metró-poles tinham necessidades mais imediatas e urgentes em investigações criminais do queagências estaduais. Ao final dos anos 70, tais agências locais viam-se diante de grandesoportunidades de melhoria de sua capacidade de pesquisa de impressões digitais latentes,obtidas nos locais de crimes, através do uso de AFIS, melhorando, assim, drasticamente,sua capacidade de capturar criminosos. Além disso, outro fator importante para que ossistemas AFIS fossem melhor implementados inicialmente a nível local era o tamanho dobanco de dados de impressões digitais, que nesses casos, eram menores. Independente-mente das razões, as agências locais lideraram o caminho na adoção AFIS, e até o finalda década de 1970, havia pelo menos meia dúzia de cidades nos EUA com sistemas AFISinstalados [55].

Interoperabilidade

À medida que mais estados implementavam os sistemas AFIS, o problema dainteroperabilidade entre as agências locais ganharam importância. Além disso, era comumque os estados buscassem impressões digitais nas agências locais antes de solicitarempesquisas no banco de dados criminais do FBI. Isto fez com que fosse desejável patronizarprotocolos para pedidos eletrônicos de correspondência de impressão digital da agêncialocal para o estado e, finalmente, para o AFIS nacional. Em vista disso, grandes esforçosforam feitos pelo NIST, sob patrocínio do FBI, que resultaram num padrão de intercâmbiode dados. Esta norma foi inicialmente concebida e aplicada em meados de 1980, e éatualizada a cada 5 anos, definindo formatos de dados de imagens, de características e detexto [55].

Fora da América do Norte, houve um esforço similar em direção a padronizaçãoe intercâmbio do formato básico da norma ANSI / NIST. Há pelo menos 11 países (Brasil,Canadá, França, Alemanha, Japão, México, Noruega, África do Sul, Espanha, Reino

3.4 Sistema automático de identificação biométrica 42

Unido e EUA), e um observador da Europol que participam neste esforço internacional[55].

3.4.5 BioAPI

Tendo por objetivo disponibilizar um padrão de autenticação biométrica ade-quado para qualquer tipo de tecnologia biométrica, foi fundado o Consórcio BioAPI, nosEUA, que desenvolveu uma especificação destinada a desenvolvedores de aplicativos eprovedores de serviços biométricos, possibilitando a independência de plataforma. Paratanto, a especificação define a interface de programação de aplicativos e a interface doprovedor de serviços tendo em vista a interface da tecnologia biométrica padrão. Essepadrão se tornou muito respeitado na comunidade desenvolvedora, em função de man-ter de um modo conciso e organizado as funcionalidades pertinentes em tais aplicações,o que resultou em uma segunda versão (BioAPI 2.0) desenvolvida pelo Comitê de Pa-drões Internacionais para Biometria da ISO (International Organization for Standardiza-tion) (ISO/IEC JTC1 SC37), cujo modelo de arquitetura possibilita que os componentesde um sistema biométrico sejam fornecidos por distintos fabricantes e se relacionem pormeio de APIs completamente definidas [10].

A BioAPI interface especifica a comunicação entre o Framework BioAPI e àsaplicações biométricas da seguinte forma: A aplicação solicita as especificações na Bio-

API interface, suportadas pelo Framework BioAPI que é responsável pela interação comos componentes BSP (Biometric Service Provider). O SPI (Service Provider Interface),por sua vez, fornece a interface entre o Framework BioAPI e vários componentes BSPs.O Framework BioAPI é responsável por chamar as funções descritas na especificação doSPI. Além disso, ele gerencia os BSPs instalados no sistema. Um aplicativo pode aces-sar as funções de um BSP somente após ter sido devidamente carregado ao sistema. Domesmo modo, quando uma aplicação já não requer a utilização da BSP, este deve ser re-movido adequadamente [10]. Vale ressaltar que uma aplicação pode fazer uso de mais deum BSP ao mesmo tempo. Da mesma forma, um BSP pode ser incorporado a mais deuma aplicação, ao mesmo tempo. Veja o diagrama demonstrado na Figura 3.4 .

3.4.6 Principais sistemas biométricos no mercado

Para darmos continuidade ao trabalho, se faz de grande necessidade apresentaras principais aplicações disponíveis no mercado atualmente, que tem como proposta aidentificação biométrica através do reconhecimento de padrões, conforme caracterizado aseguir:

Nome do Sistema: AFIX TrackerEmpresa Fornecedora: AFIX Technologies

3.4 Sistema automático de identificação biométrica 43

Figura 3.4: Diagrama do Modelo da BioAPI 2.0 [10]

Site:http://www.afix.net/País de Origem: EUACaracterísiticas Biométricas: Impressão Digital, Íris e FaceDescrição: O sistema DERMALOG ABIS é um pacote de software escalável e

personalizável que permite executar uma ampla variedade de tarefas para processamento,edição, pesquisa, recuperação e armazenamento de modelos biométricos e registros deassuntos. Separados do nosso sistema padrão AFIS, oferecemos um sistema de identifi-cação biométrico automatizado multimodal (ABIS) que pode combinar a identificação deimpressões digitais com uma modalidade de reconhecimento de íris ou facial.

3.4 Sistema automático de identificação biométrica 44

Nome do Sistema: AFIS-DMAEmpresa Fornecedora: NECSite: http://br.nec.com/País de Origem: JapãoCaracterísiticas Biométricas: Impressão Digital e FaceDescrição: O sistema DMA (Array Matching Dinâmico) da NEC integra as

funções de reconhecimento de face a um Sistema Automatizado de Identificação de Im-pressões Digitais - AFINS. O sistema NEC-DMA é um produto que permite comparaçõesde impressões digitais de massa e/ou imagens de rostos, baseado em uma arquiteturacliente-servidor utilizando software de comparação padrão de mercado(COTS), não-proprietário. É composto por servidores, matrizes redundantes de discos, econômicos(RAID), dispositivos de armazenamento e estações de trabalho, de impressões digitais ede faces, interligadas por um ambiente de rede,TCP/IP. As funções são divididas entreos componentes para proporcionar um sistema de processamento eficientemente distri-buído. O sistema foi desenvolvido no conceito de processamento distribuído, além de sermodular e escalável. Sua arquitetura permite uma escalabilidade gradual, possibilitandomelhoria no desempenho do sistema de forma dinâmica, aumentando a capacidade dasbases de dados e os encargos de tarefas com um mínimo de componentes adicionais,minimizando o custo de expansão a longo prazo. Nele, aumentar a capacidade ou me-lhorar o desempenho é tão simples quanto adicionar servidores para acelerar a busca. E,além disso, o cliente tem a possibilidade de melhorar alguns ou todos os componentes dosistema de acordo com a evolução tecnológica de computadores e servidores no mercado[40].

Nome do Sistema: DERMALOG ABISEmpresa Fornecedora: DERMALOGSite: http://www.dermalog.com/País de Origem: AlemanhaCaracterísiticas Biométricas: Impressão Digital, Face e ÍrisDescrição: O sistema DERMALOG ABIS é um pacote de software escalável e

personalizável que permite executar uma ampla variedade de tarefas para processamento,edição, pesquisa, recuperação e armazenamento de modelos biométricos e registros deassuntos. Separados do nosso sistema padrão AFIS, oferecemos um sistema de identifi-cação biométrico automatizado multimodal (ABIS) que pode combinar a identificação deimpressões digitais com uma modalidade de reconhecimento de íris ou facial[17].

Nome do Sistema: MorphoBIS

3.4 Sistema automático de identificação biométrica 45

Empresa Fornecedora: SAFRANSite:http://www.morpho.com/ e http://www.safran-group.com/País de Origem: FrançaCaracterísiticas Biométricas: Impressão Digital, Face e ÍrisDescrição: O Sistema MorphoBIS é uma combinação das melhores especiali-

dades de dois sistemas ABIS: BIS e MetaMorpho da Printrak. Foi desenvolvido atravésde uma tecnologia projetada para abordar todos os desafios de identificação, desde osmercados civis até os controles de fronteira, sendo capaz de atender a especialistasbiométricos, delegacias de polícia, agências de aplicação da lei, bem como necessidadesde admissão e libertação [39].

Nome do Sistema: Hybrid Biometric PlatformEmpresa Fornecedora: M2SYS AFISSite: http://www.m2sys.com/País de Origem: EUACaracterísiticas Biométricas: Impressão Digital, Face, Geometria das Veias,

Reconhecimento de Voz e ÍrisDescrição: Trata-se de uma solução biométrica pronta para uso com hardware

de servidor ou como software biométrico que será executado em um PC normal. Usando omiddleware Bio-Plugin patenteado pela M2SYS, os desenvolvedores de software podemintegrar Hybrid Biometrics em questão de horas e imediatamente ter a capacidade deimplantar a forma de tecnologia biométrica que melhor neutraliza as condições variáveis,demográficas e ambientais do usuário.

No próximo capítulo, descreveremos a arquitetura do sistema integrado propostonesse trabalho, apresentando, em detalhes, os aspéctos referentes à modelagem da pro-posta.

CAPÍTULO 4Serviços Web

4.1 Introdução

Serviços Web, também chamados de Web Services, conforme a língua inglesa,nada mais são do que ferramentas que possibilitam o compartilhamento de dados entresistemas desenvolvidos em diferentes localidades. Dependendo do grau de distribuição, ossistemas podem estar sujeitos à diferentes políticas. Sistemas distribuídos podem utilizardiferentes tecnologias e plataformas. Tais sistemas podem ser construídos com base naArquitetura Orientada a Serviços, ou SOA (Service-Oriented Architecture), que incorporauma série de conceitos que visam assegurar a interoperabilidade e flexibilidade exigidaspor processos de negócios.

4.1.1 Contexto dos serviços web

No final dos anos de 1990, Tim Berners-Lee, então diretor do World Wide

Web Consortium, em conjunto com Robert Cailliau, publicou uma proposta formalapresentando o que hoje conhecemos como World Wide Web. Desde então, a iniciativade informação global da World Wide Web vem usando o Protocolo de Transferênciade Hipertexto (HTTP), que, de acordo com a especificação IETF (Internet Engineering

Task Force ) [44], é um protocolo de nível de aplicação para sistemas de informaçãodistribuídos, colaborativos e hipermídia, que tem por característica ser um protocologenérico, stateless, orientado a objetos e que pode ser usado para muitas tarefas atravésda extensão de seus métodos de solicitação. Uma característica do HTTP é a digitaçãoe negociação da representação de dados, o que possibilita a construção de sistemasindependentemente das informações que estão sendo transferidas. Berners-Lee foi umdos autores da especificação padrão HTTP / 1.0 [52] e HTTP / 1.1 [44] [45]. Outroautor foi Roy Thomas Fielding, que aperfeiçoou seu modelo até transformá-lo em umconjunto de princípios, propriedades e restrições [20], surgindo, dessa forma, o termoREpresentational State Transfer (REST), abordado em sua tese de doutorado no ano 2000[20].

4.2 Arquitetura Orientada a Serviços 47

Considerando que a World Wide Web utiliza HTTP e, também, considerando arelação entre REST e HTTP, o REST pode ser definido como o conjunto de princípiosimplícitos à Web, em outras palavras, é uma coleção de princípios e restrições arquiteturaispara o desenvolvimento de aplicações distribuídas na Web, que adota o paradigma cliente-servidor, onde as requisições partem inicialmente do cliente e são respondidas peloservidor [20], utilizando uma abordagem leve para o desenvolvimento de Serviços Web,prezando a simplicidade e baixo acoplamento.

A ascensão do uso de REST se deu, sobretudo pelo fato de as Arquiteturas deServiços Web do passado terem esquecido ou ignorado a característica mais importanteque torna a Web bem-sucedida: a simplicidade, ao fazerem uso de uma arquiteturapesada para o acesso a objetos distribuídos[49]. Enquanto que, por outro lado, o RESTapresentou-se como uma alternativa fiel aos princípios da Web.

4.2 Arquitetura Orientada a Serviços

Embora façamos uso do termo ’arquitetura’, a arquitetura SOA não é umaarquitetura propriamente dita, tampouco uma tecnologia específica. A melhor formade defini-la é como um paradigma para implementação e manutenção de processos denegócios em sistemas distribuídos. Em outras palavas, poderíamos retratá-la como umestilo ou conceito, flexível a ponto de ser aplicável a diferentes circunstâncias, o quecoaduna com o termo paradigma para a sua definição [29].

A arquitetura SOA tem como fundamento três importantes aspectos: serviços,interoperabilidade e baixo acoplamento. Serviços constituem uma funcionalidade denegócio, por exemplo: armazenar ou carregar dados de clientes; Interoperabilidade dizrespeito à infraestrutura requerida para simplificar a distribuição dos processos de negócioatravés de sistemas distribuídos, em diferentes plataformas e tecnologias; E, por fim,entende-se por baixo acoplamento o reduzido nível de dependência entre os sistemas, demodo que os impactos causados pela evolução e manutenção deles independentemente,são minimizados [29].

Apesar da arquitetura SOA poder ser implementada através de Serviços Web, suaadoção não está necessariamente vinculada a uma determinada tecnologia. Nesse con-texto, vale destacar que existem duas principais formas de implementação de ServiçosWeb. A forma mais tradicional de implementação é através do padrão SOAP (Simple Ob-

ject Access Protocol)[29], cuja abordagem é amplamente utilizada por grandes organiza-ções, além de ser um modelo que tem a recomendação de uso da W3C. A segunda formaprincipal, que vem ganhando destaque nos últimos anos é a abordagem REST (REpresen-

tational State Transfer). No que se refere ao REST, vale ressaltar que é uma opção queestá em plena expansão, sobretudo em função de ser de fácil aprendizagem e integração.

4.3 REST 48

Não obstante, por ser mais leve, alguns aspectos de segurança e controles transacionaisnão estão presentes nesse modelo, sendo recomendado em ambientes onde o objetivo éapenas proporcionar acesso a dados para sistemas externos [29]. A seguir, apresentaremosos conceitos sobre Serviços Web, com ênfase nos princípios arquiteturais REST, necessá-rios para o desenvolvimento de Web APIs RESTful, que faremos uso no modelo propostopor esse trabalho.

4.3 REST

REpresentational State Transfer (REST) é um estilo arquitetônico que define umconjunto de restrições visando melhorar o desempenho, disponibilidade e escalabilidadede sistemas distribuídos com base na Web [20]. Baseia-se no paradigma cliente-servidortradicional, no qual as solicitações emitidas pelos clientes são executadas por um servidor.Esta seção tem por objetivo levantar as principais características dessa abordagem.

4.3.1 Representação de recursos

É imprescindível destacar que recursos formam a base dos princípios RESTe podem ser qualquer informação que se deseja tornar acessível a clientes remotos,e que são endereçados através de um identificador único, denominado URI (Uniform

Resource Identifier). Recursos podem ser uma lista de músicas em uma playlist, relaçãode funcionários de uma empresa, uma página pessoal ou um perfil de um usuário de umarede social, por exemplo,representando um objeto e não uma ação.

Ainda que um recurso possa ser identificado por diversas URIs, uma URIendereça apenas um recurso. Além disso, uma característica que merece destaque é que orecurso pode ser representado de diferentes maneiras, sendo uma amostra dos valores desuas propriedades em um determinado momento do tempo, e não sendo jamais acessadodiretamente, mas através de uma representação. Isto faz com que uma URI esteja sempreassociada a pelo menos uma representação, que pode estar disponível em diferentesformatos, como XML, JSON, TXT, PDF, HTML e assim por diante. As representaçõessão obtidas através da emissão de pedidos aos serviços Web fornecidos por uma aplicaçãoRESTful. Uma implementação RESTful é aquela que segue as restrições definidas peloestilo arquitetônico REST.[50]

As Figura 4.1 e Figura 4.2 apresentam a relação existente entre um recurso,URIs e diferentes representações. A nota fiscal de uma venda representa um recurso queestá disponível em três formatos (HTML, PDF e XML).

Na Figura 4.1 cada representação (formato) pode ser acessada através de umaURI distinta, embora o recurso continue sendo apenas um. No entanto, não é necessário

4.3 REST 49

que exista uma URI exclusiva para cada representação. Pode haver uma única URIassociada a diferentes representações como na ( Figura 4.2 ), onde é especificado oformato desejado no cabeçalho do HTTP. De forma que a representação mais adequada éresultado da negociação entre cliente e servidor.

Figura 4.1: Representação de várias URIs para um mesmorecurso.[57]

Figura 4.2: Representação de um única URI para o recurso. [57]

4.3.2 Princípios arquiteturais

Leonard Richardson e Sam Ruby [49] introduziram na definição de REST otermo recurso-orientado dentro do contexto de Serviços Web, definindo os princípios dedesign concreto, que descrevem um Serviço Web orientado a recursos. De um modo geral,uma arquitetura orientada a recursos tem a finalidade de tornar os recursos acessíveis. Nocontexto do REST: recursos são entidades de dados.

Apresentamos, a seguir, os princípios fundamentais do REST:

• EndereçabilidadeEste princípio diz que todos os recursos devem ser disponibilizados através de umúnico endereço [6]. No mundo real, este endereço é descrito pelo uso de URI (Uni-

que Resource Identifiers). Este princípio também é crucial para a web. Recursoscomo uma imagem, por exemplo, devem estar disponíveis através de um URI. To-davia, isso nem sempre é possível na web em função de aplicações AJAX (Asynch-

ronous Javascript And XML)[49], que pode carregar conteúdo dinamicamente sem

4.3 REST 50

alterar o URI. Para obter um recurso de um serviço REST, pode-se solicitar umURI, de modo que as APIs mantenham o design do URI o mais lógico possível,sendo geralmente projetadas hierarquicamente. As hierarquias aumentam a capaci-dade de leitura e tornam mais fácil para os desenvolvedores abordarem os recursos.Além disso, facilita o entendimento dos clientes, permitindo-lhes descobrir algunsrecursos de forma dedutiva.

• StatelessSem estado ou stateless, significa que o servidor REST pode atender a solicitaçãodo cliente em completo isolamento [49]. Em outras palavras, o cliente pode enviartodas as informações que o servidor necessita, junto com a solicitação. Em vistadisso, o servidor não precisa manter uma sessão, ou seja, ele pode processarinformações sem armazenar sessões, que precisariam de muita memória e cálculospara serem manipulados. Esta é uma das razões pelas quais o estilo arquiteturalREST pode construir soluções altamente escaláveis [20].

• Representação OrientadaRepresentações descrevem em que formato os dados estão sendo trocados entre oservidor e o cliente [6]. As mais comuns são XML, JSON e HTML. No entanto,como há uma diferença precisa entre o recurso e a sua representação, o recursopode ser convertido em qualquer representação. Esta é uma das razões pelas quaisas arquiteturas REST são consideradas vagamente acopláveis [42]. Além disso, arepresentação também pode lidar com o idioma do conteúdo. Em termos práticos,o estilo arquitetural orientado à representação permite que os servidores dêm aocliente exatamente o formato que eles exigem, tornando fácil estender a API RESTcom uma nova representação.

• HATEOASO estilo arquitetural REST faz uso do princípio HATEOAS (Hypermedia as the

Engine of Application State)[20]. Este princípio define que as alterações de estadoda aplicação devem ser guiadas por meio de controles hipermídia. No contexto deREST, entende-se por aplicação o conjunto de recursos e seus respectivos estadosmanipulados por um cliente. Controles hipermídia podem assumir a forma de links,que guiam a navegação entre diferentes recursos. Um formulário HTML é outroexemplo de controle hipermídia, que oferece mecanismos para criação ou alteraçãode informações. HATEOAS implica que as representações de recursos, além deconter dados, devem conter controles hipermídia com transições válidas para umdeterminado estado.Dependendo do estado do aplicativo, a resposta contém os dados e links para outrosrecursos relacionados, produzindo, desta forma, não apenas os dados, mas tambémlinks para outros recursos [49]. HATEOAS estabelece que o REST pode utilizar

4.3 REST 51

links para conectar um recurso a outros recursos relacionados. Isso é parecido coma web, onde usamos hiperlinks para ligar sites distintos da rede.Este princípio REST tem várias vantagens. Primeiro, ele dá ao servidor muita fle-xibilidade, pois pode mudar onde e como as transições de estado acontecem preci-samente [6]. Além disso, essa abordagem permite que o cliente navegue por outrosrecursos, sugeridos a ele pelo servidor, permitindo-lhe descobrir automaticamenteos recursos do serviço.

• Interface UniformeEmbora uma interface uniforme ofereça apenas um conjunto de operações [42], elaoferece operações suficientes para recuperar, alterar ou criar dados. A simplicidadeda interface uniforme é importante para o REST, porque mantém a interação entrecliente e servidor tão simples quanto possível. Na prática, o HTTP é usado comoa interface uniforme dos serviços REST, proporcionando uma arquitetura simplifi-cada e desacoplada. Para tanto, é necessário respeitar a semântica do protocolo, oque significa utilizar adequadamente os seus verbos e códigos de mensagens. Osverbos HTTP mais utilizados são:

POST É o método do HTTP utilizado para criar um novo recurso em umadeterminada URI [48].

GET É o método do HTTP que serve para buscar ou consultar os recurso da URI[48].

PUT e PATCH São métodos do HTTP utilizados para alterar um recurso emuma URI. O PUT é utilizado para alterar o recurso por completo. Por outro lado, oPATCH, tem por objetivo alterar apenas uma parte do recurso[48].

DELETE É o método do HTTP utilizado para remover um recurso[48].

A Figura 4.3 apresenta um exemplo de requisições para um determinadorecurso. O ponto de entrada é o recurso Clientes, obtido através de uma requisiçãoGET(1), onde se obtém a lista de todos os clientes. Com a requisição POST(2),podemos criar um novo cliente ou com DELETE(3) excluir todos os clientes. Arequisição GET(4) retorna apenas o cliente selecionado. Para alterar apenas partedo cadastro do cliente usamos PATCH(5), para altera todo o cadastro utilizamosPUT(6) e para excluir o cliente usamos DELETE(7).Ocorre neste momento uma mudança de perspectiva, onde o foco deixa de ser emserviços e passa a ser em representações de recursos e suas transições de estado.

4.3 REST 52

Figura 4.3: Exemplo de requisições para um recurso

As transições são as requisições que alteram o estado de um recurso, embora nemtodas as requisições causem mudança de estado. Quando o Serviço Web obedece àsemântica do protocolo HTTP, fica mais fácil identificar a natureza das requisições,facilitando a utilização por parte das aplicações clientes.É desejável que os significados dos verbos HTTP sejam obedecidos e respeitados,de modo a se empregar o verbo adequado para cada ação, ainda que muitasimplementações REST ignorem esta restrição e utilizam GET para obter, criar,alterar e remover recursos, dentre outras combinações.

• Códigos de statusVale destacar ainda que outra restrição imposta pelo REST é a correta utilização decódigos de status. Assim, tendo como base que todas as requisições tratadas peloservidor recebem um código de status que informa ao cliente o resultado da re-quisição, tais códigos devem obedecer a padronização estabelecida, que determinatamanho fixo de três dígitos, organizados da seguinte forma:

– 1XX - Informações;– 2XX - Sucessos;– 3XX - Redirecionamentos;– 4XX - Erros causados pelo cliente;– 5XX - Erros causados no servidor.

Desta forma, requisições bem-sucedidas devem retornar uma resposta com um doscódigos do grupo 2XX - Sucessos. De outro modo, quando o cliente faz umarequisição para a qual não possui autorização, o código de resposta deve ser 4XX,indicando ao cliente que está diante de um erro de autenticação inválida. Da mesmaforma, quando ocorre algum erro interno do servidor, a resposta deve apresentaro erro 5XX. Os códigos de status do protocolo HTTP fornecem uma maneiraadequada de categorizar e padronizar respostas das requisições, e os princípiosREST pedem atenção neste aspecto [45].

4.4 Web APIs 53

JSON

Uma das representações de recurso mais utilizadas em Serviços Web REST ea que utilizaremos neste trabalho é o JSON [48], que nada mais é do que uma formatextual de representação de dados estruturados em um conjunto de pares no formato denome/valor [12]. O nome sempre fará uso de texto em sua descrição, e o valor poderáser expresso de diversas formas como: texto, número, booleano, nulo, objeto ou umasequência ordenada de valores. JSON é muito utilizado no intercâmbio de informações,haja vista ser independente de linguagem de programação, além de ser de fácil criação,manipulação e análise [34]. Todavia, apesar dos benefícios, o formato JSON apresentarestrições: possui tipos de dados simples; não possui um tipo para data, sendo estarepresentada ora por uma cadeia de caracteres ora por um número; não possui suportea controles hipermídia; além de ser de difícil integração de dados de diferentes fontes,podendo haver ambiguidades e conflitos nos pares nome/valor [31]. A Figura 4.4 mostraum exemplo de um arquivo estruturado no formato JSON.

1 {2 "name":"Joao Pereira",3 "homepage":"http://joaopereira.com.br/",4 "image":"http://joaopereira.com.br/avatar.png"5 }

Figura 4.4: Exemplo de código JSON

4.4 Web APIs

4.4.1 Definições

Aplicações em grande escala baseadas no princípio REST devem ser implemen-tadas usando estratégias e mecanismos apropriados para produzir sistemas que sejam fá-ceis de desenvolver, reutilizar e manter. As interfaces de integração fornecidas por essessistemas, chamadas Web APIs, têm uma influência importante nas características da im-plementação resultante.

O termo Web API é utilizado para designar Serviços Web que utilizam osprincípios arquiteturais REST [48]. Neste cenário, cada aplicação possui sua própria basede dados, sem compartilhá-la com demais sistemas. As informações são expostas atravésde Web APIs, que formam uma camada de integração. Os dados são representados emformatos estabelecidos, geralmente JSON e XML, e transportados através do protocoloHTTP. Com esta abordagem de integração, a Web se torna uma infraestrutura paraconstrução de sistemas distribuídos, conforme discutido anteriormente.

4.4 Web APIs 54

Este modelo de integração possui a vantagem de reduzir o acoplamento entre asaplicações, possibilitando que evoluam em ritmos diferentes, sem grandes impactos nasdemais aplicações, pois alterações nos modelos de dados não influenciam diretamentena integração. Outro ponto positivo é a possibilidade da integração se estender para forados domínios da organização, em função do fato de não ser necessário que a base dedados seja compartilhada, tal como ilustrado na Figura 4.5 , em vez disso, apenas osdados selecionados e protegidos por controle de acesso precisam ser disponibilizados, oque proporciona maior abrangência de integração, veja Figura 4.6 . Por outro lado, énecessário acrescentar a complexidade de implementação de uma camada extra, na formade uma API que será responsável por realizar e atender chamadas a outras Web APIs, alémde converter os dados nos formatos estipulados [48].

Figura 4.5: Compartilhamento de base de dados entre aplicações

Figura 4.6: Modelo de aplicações distribuídas através de WebAPIs

4.4 Web APIs 55

Na integração através da base de dados, as aplicações podem executar operaçõesde consulta, criação, alteração e remoção de dados. Aplicações baseadas principalmentenestas operações são conhecidas como CRUD (Create, Read, Update, Delete). É espe-rado que a integração através de Web API seja capaz de realizar as mesmas operações. Narealidade, grande parte das Web APIs desenvolvidas atualmente possuem a característicaCRUD. Aplicações dessa natureza parecem se encaixar adequadamente ao estilo arquite-tural REST. Além disso, aplicações CRUD podem facilmente ser construídas utilizandoa Web como plataforma de desenvolvimento. Esta consideração baseia-se na utilizaçãodo protocolo HTTP, e no uso correto de seus verbos GET, POST, PUT, DELETE, dentreoutros. Respeitar a semântica dos métodos HTTP é uma das boas práticas, além de ser umdos pilares do design REST.

4.4.2 Especificação OpenAPI

Como visto até aqui, REST tornou-se o estilo arquitetural de sistemas da World

Wide Web, superando outras abordagens como o SOAP, devido a muitos razões: foiprojetado para trabalhar com HTTP de uma forma facilitada, bem como tornou-seo serviço web mais simples de projetar e mais escalável. Serviços Web precisam deinterfaces de programação de aplicativos para os diferentes recursos e serviços queoferecem. Com o serviço RESTful, essas APIs basicamente consistem em um conjuntode solicitações HTTP e suas respostas associadas [49].

No entanto, as APIs RESTful costumavam ser descritas de formas heterogêneas,o que dificulta sua compreensão por parte dos potenciais consumidores e aumenta aquantidade de lógica de implementação necessária para interagir com diferentes serviços.A fim de resolver esses problemas e padronizar o processo de definição de APIs RESTful,algumas propostas surgiram. A mais popular é a "Especificação OpenAPI", que emergiupropondo-se a permitir que tanto humanos quanto máquinas compreendam os ServiçosWeb sem acessar seu código-fonte [25].

A Especificação OpenAPI, originalmente conhecida como Especificação Swag-ger, é uma especificação para arquivos de interface legíveis por máquina para descrever,produzir, consumir e visualizar serviços da Web RESTful. O desenvolvimento da Especifi-cação OpenAPI (OpenAPI Specification - OAS) é supervisionado pela Open API Initiative,um projeto colaborativo de código aberto gerenciado pela Fundação Linux. [22].

A Especificação Swagger, bem como a implementação de seu framework surgiucom a iniciativa de Tony Tam em 2010. Essa especificação, de propriedade da ReverbTechnologies, apresentou um framework capaz de gerar a documentação de Web APIs deforma automática através da análise do código fonte de Web APIs desenvolvidas através detecnologias, como Java, Go, .Net, PHP, Scala, Ruby, dentre outras. A Figura 4.7 mostra

4.4 Web APIs 56

um exemplo de documentação HTML gerado pelo Swagger. Como se pode observar, adocumentação apresenta os detalhes dos recursos Web manipulados pela Web API, alémde permitir a execução das operações na própria página HTML da documentação.

Figura 4.7: Documentação Swagger. Fonte: (Reverb Technologies,2014)

Em novembro de 2015 a empresa que mantinha o Swagger informou que ajudariaa criar uma nova organização, sob o patrocínio da Linux Foundation, chamada OAI(Open API Initiative), através da doação da Especificação Swagger para a entidade. Váriasempresas de grande porte incluindo Google, IBM e Microsoft são membros fundadoresda OAI [25]. Assim, em janeiro de 2016, a Especificação Swagger foi renomeada paraEspecificação OpenAPI e foi movida para um novo repositório no GitHub [25].

Existem outros formatos de especificação para definir APIs REST além daEspecificação OpenAPI. Todos eles compartilham uma ideia e estrutura semelhantes,porém, diferem em alguns detalhes de sintaxe e em seu nível de adoção.

A alternativa mais popular para a Especificação OpenAPI é a API Blueprint [3].Sua principal diferença é que ela usa Markdown como sua linguagem de especificação,o que torna mais fácil aprender e entender. No entanto, seu nível de adoção é baixo, porisso carece de grande número de ferramentas e de mais apoio da comunidade.

Outra alternativa é a RAML (RESTful API Modeling Language) [46]. Suasdefinições estão escritas em YAML, uma linguagem mais legível para humanos queamplia o JSON. Este formato torna mais fácil representar a hierarquia das operações ereutilizar algumas partes do código. Ele também tem algumas ferramentas interessantes:Gerador automático de documentação, editor on-line, gerador de código para Java eHTTP, etc. No entanto, a especificação OpenAPI tem ainda mais suporte e ferramentas,porque foi o formato escolhido pela Linux Foundation.

4.4 Web APIs 57

4.4.3 Web APIs biométricas

Existem no mercado algumas APIs que fornecem serviços biométricos, gratuitosou pagos, tal como apontaremos a seguir: API do Google

A API https://cloud.google.com/vision é fornecida pela empresa Google quepossui detecção de face, sendo capaz de detectar múltiplas faces dentro de uma imagem,bem como os atributos faciais chaves, associados com o estado emocional. No entanto, oreconhecimento facial não é suportado.

Essa API possui apenas um único recurso para o envio da imagem a ser analisada:POST https://vision.googleapis.com/v1/images:annotate. O retorto é um arquivo JSONcom o resultado do processamento.

Foi observado que na documentação não são especificados os códigos de erros.Ao simular um erro, obteve-se a resposta 200 com a informação do erro no JSON "error":

{ "code": 3, "message": "image-annotator::Malformed request.: Arguments must specify

image and features!"} em vez de retornar um código do padrão 400. API da MicrosoftOutra API é a https://azure.microsoft.com/en-us/pricing/details/cognitive-

services/face-api/, fornecida pela Microsoft, embora seja paga, possui serviços livrecom limitações. Foi observado que em alguns recursos são utilizadas ações, enquantoque conforme as boas práticas do padrão REST, utiliza-se o nome do objeto, exemplo:https://api.projectoxford.ai/face/v1.0/verify, que seria melhor entendido se fosse utilizadohttps://api.projectoxford.ai/face/v1.0/verification. Assim, em vez de se utilizar a palavradetect, seria mais conveniente o uso da palavra discovery.

Em português, ao se traduzir a requisição ’POST verify’, seria o mesmo quedizer ’Criar a vericar’, o que não tem sentido. O correto seria ’POST verification’, quetraduzindo seria ’Criar a verificação’, por isso, não se deve utilizar verbos para os nomesdos recursos.

Além disso, a API utiliza sempre o código 200 para toda resposta com sucesso,de modo que poderia utilizar, o ’201’ para quando criar, conforme o padrão do HTTP doRESTful. Por outro lado, faz um bom uso dos verbos do HTTP, bem como possui versi-onamento da API, ainda, documentação interativa, com exemplos em várias linguagens.Por fim, destaca-se que possui os códigos de erro 4XX bem definidos. API da Kairos

Existe também a API https://www.kairos.com/face-recognition-api, fornecidapela Kairos. É uma ferramenta paga, porém disponibiliza o uso inicial grátis, comlimitação. Esta API possui uma explicação detalhada dos retornos de erro, porém, todosos retornos utilizam o código ’200’, com definição do erro no corpo da mensagem, em vezde utilizar o código ’4XX’, segundo o padrão. Em todos os recursos para processamentode tarefas foram utilizados nomes de ações. Exemplos:

• enroll x enrollment

4.4 Web APIs 58

• verify x verification• recognize x recognition• detect x detection

Todos os recursos fazem uso apenas do verbo POST, conforme exemplificadoabaixo:

POST https://api.kairos.com/gallery/list_all, quando deveria ser: GEThttps://api.kairos.com/gallery

POST https://api.kairos.com/gallery/view, quando deveria ser: GEThttps://api.kairos.com/gallery/gallery_name

POST https://api.kairos.com/gallery/remove, quando deveria ser: DELETEhttps://api.kairos.com/gallery/gallery_name

POST https://api.kairos.com/gallery/remove_subject, quando deveria ser: DE-LETE https://api.kairos.com/gallery/gallery_name/enrollment/subject_id

Com base nas observações feitas nas APIS analisadas, observa-se que nãoexiste um padrão seguido no desenvolvimento das mesmas, o que dificulta a integraçãoentre as diversas ferramentas. Em vista disso, explanaremos no próximo capítulo, ummodelo de uma API padrão destinada para servir como um ABIS, capaz de fazer uso dediversos serviços biométricos, em diferentes locais e fornecido por diferentes entidadesou pessoas.

CAPÍTULO 5mABIS: Sistema Automático de BiometriaModulado

A plataforma mABIS fornece uma modelagem que auxilia nas tarefas de análisebiométrica disponíveis pelos serviços a ela agregados. Com isso, de acordo com as tarefasde processamento viabilizadas por cada serviço, pode-se realizar diversas tarefas taiscomo: verificação e identificação biométricas; detecção e extração de características paraanálise forense, entre outras.

Com intuito de dividir o problema e consequentemente facilitar sua construção eutilização, o mABIS adotou a seguinte divisão: camada aplicativo, camada gerenciadorade serviços e camada de serviços biométricos.

Na Figura 5.1 é apresentada uma visão arquitetural das camadas. Na primeiracamada, localizam-se os aplicativos front-end utilizados como interface para o usuário.Pretende-se que através dessa modelagem seja possível a utilização dos serviços debiometria em diversas plataformas, tais como: plataforma desktop, plataforma mobile

e plataforma web. A segunda camada é um serviço que pode ser disponibilizado narede local ou na internet, de modo a facilitar a acessibilidade do sistema em qualquerparte. Nessa camada, são armazenadas as configurações de todo o sistema e os arquivosbiométricos fornecidos. Além disso, essa camada é responsável por gerenciar os serviçosbiométricos concedidos pela terceira camada. Por fim, na última camada, são fornecidosos serviços biométricos criados por outros desenvolvedores, podendo o serviço estar emqualquer outro local e ser desenvolvido através de qualquer outra tecnologia, desde quemantenha o padrão de comunicação da API.

5.1 Diagrama de caso de uso

Tendo em vista o nível de simplicidade da API, podemos observar na Figura 5.2a quantidade reduzida de comandos. Os programadores de biometria criarão seus BSPsna linguagem e arquitetura preferível, seguindo os requisitos do padrão da API-BSPproposta. O administrador apenas necessitará cadastrar o endereço (URL) do recurso

5.1 Diagrama de caso de uso 60

Figura 5.1: Visão arquitetural das camadas da mABIS [41]

principal no sistema de gerenciamento de serviços. O próprio sistema entrará em contatocom o serviço para buscar as configurações necessárias.

O usuário investigador terá as seguintes ações básicas:Cadastrar arquivos biométricos. Nessa ação será possível cadastrar os mais

variados tipos de arquivos biométricos, como por exemplo, imagens, áudio, fotos, etc.Essa ação é destinada apenas para o carregamento do arquivo no servidor para fins dearmazenamento, facilitando o reuso e evitando duplicidade.

Criar uma atividade de pesquisa. Nessa ação, o investigador iniciará umapesquisa no sistema. Para tanto, escolherá o BSP que deseja utilizar. Ao escolher oBSP, receberá dinamicamente as opções de tarefas fornecidas por ele. Nesse momento,o sistema não se preocupará em possuir as opções de tarefas fixas, ou seja, em obter oscomandos e arquivos suportados de modo permanente pelo BSP, em vez disso, solicitaráas informações de tarefas, arquivos e metadados do servidor de BSP, para que o usuárioescolha o que deseja processar.

Consultar o resultado da pesquisa. Após a finalização da atividade, o investiga-dor poderá consultar o resultado fornecido pelo serviço, na forma um de arquivo de dadosem formato PDF. Esse esquema simples tem como objetivo tornar o sistema dinâmico edesacoplado.

5.2 Recursos da API 61

Figura 5.2: Diagrama Geral de Casos de Uso

5.2 Recursos da API

Nossa proposta divide a modelagem do sistema em duas APIs.A primeira API chama-se API APP que tem como finalidade definir o relacio-

namento entre os aplicativos e o servidor de gerenciamento de serviços. Ela possui osseguintes recursos: Usuários, Atividades, Tarefas, BSPs, Metadados, Arquivos e Pessoas-DeInteresse.

O recurso Usuários representa os usuários do sistema; o recurso Atividades dizrespeito às atividades de pesquisas criadas pelo usuário; o recurso tarefas corresponde àstarefas de pesquisas disponibilizadas pelos BSPs; o recurso BSPs se refere aos provedoresde serviços biométricos disponibilizados no sistema; o recurso Metadados representa osinformações dinâmicas solicitadas pelo BSP; o recurso Arquivos tem como finalidadearmazenar o endereço e as informações dos arquivos biométricos cadastrados no sistema;e, o recurso PessoasdeInteresse permite que os usuários agrupem os arquivos de ummesmo indivíduo. A Figura 5.3 demonstra os relacionamentos entre os recursos da APIAPP.

A segunda API do nosso sistema chama-se API-BSP que é responsável pelacomunicação entre o gerenciador de serviços e os provedores de serviços biométricos(BSP). Para tanto ela possui os seguintes recursos: BSPs, Perfil, Tarefas, Metadados,Processamentos, Grupos e Arquivos.

O recurso BSPs representa os provedores de serviço de biometria que estão dis-poníveis; o recurso Perfil corresponde às configurações do BSP que serão fornecidas aogerenciador de serviço; o recurso Tarefas se refere às tarefas disponíveis no serviço, a

5.2 Recursos da API 62

Figura 5.3: Diagrama de recursos da API APP

exemplo: reconhecimento e detecção de face, íris, impressões digitais etc.; o recurso Me-tadados corresponde às informações específicas que a tarefa necessita para ser executada,por exemplo: idade, sexo, cor da pele etc.; o recurso Processamentos diz respeito às ta-refas processadas e às informações de resultados obtidos por elas; o recurso Arquivos serefere aos arquivos biométricos utilizados no processamento; e, o recurso Grupos tratado agrupamento de arquivos para a representação de uma pessoa individualmente ou decaracterísticas específicas de pessoas de interesse, tal como raça, sexo, idade etc.

A Figura 5.4 demonstra os relacionamentos entre as recursos da API BSP.

Figura 5.4: Diagrama de recursos da API BSP

5.3 Diagrama de Sequência 63

5.3 Diagrama de Sequência

A comunicação entre as três camadas é realizada por meio da API APP e daAPI BSP, de modo que a API APP é responsável pela comunicação entre o aplicativodo usuário e o gerenciador de serviços. Já a API BSP cuida da comunicação entre ogerenciador de serviço e os diversos BSPs criados para a API. A comunicação inicia-secom o cadastro do BSP no gerenciador através da API APP, no modo administrador.Então, o gerenciador busca o perfil solicitado através da API BSP. É permitido aousuário cadastrar arquivos, serviços e tarefas junto ao gerenciador por meio da API APP.Quando é criada uma atividade no gerenciador, este se comunica com o BSP gerando umprocessamento biométrico, iniciando-se uma função callback, de modo que ao términodo processamento o BSP informa ao gerenciador a conclusão, enviando o resultado.Posteriormente, é possível ao usuário consultar a atividade criada, verificando o resultadodo processamento. Para exemplificar, veja a Figura 5.5 que demonstra a comunicaçãocom as chamadas das APIs.

5.4 Diagrama de Recursos da API

Buscando seguir o termos do padrão REST, criamos as URIs únicas para osrecursos. Cada ação é realizada pelos verbos do HTTP e não por caminhos na URIs.As representações dos recursos Tarefas e Serviços possuem a propriedade Contextoque serve, de maneira genérica, para informar ao usuário sobre os próximos recursosdisponíveis a serem utilizados, tal como no caso de um serviço que pode conter dez tiposde tarefas disponíveis, cujas características são informadas no Contexto.

A Figura 5.6 representa o Diagrama de Recursos da API APP, onde pode-seobservar os relacionamentos entre os recursos.

A fim de ilustrar como é feita a manipulação dos recursos no sistema, apresenta-se alguns exemplos de usos de recursos: Para se utilizar o recurso Arquivos é necessáriorealizar um GET e assim obter a representação ListaArquivos. Através do parâmetro Tipoé possível filtrar os arquivos obtidos na lista, conforme o tipo de arquivo e segundo o inte-resse do investigador. A fim de salvar o arquivo selecionado, utiliza-se um POST, que ar-mazenará o arquivo no servidor. Para se obter um único arquivo, deve-se realizar um GETno caminho /arquivos/id, enquanto que, para excluir ou alterar o arquivo, deve-se utilizaro DELETE ou PUT. Além disso, é possível buscar as atividades em GET/atividades ouapenas as atividades de um usuário específico usando o filtro uid. Também, com o PUTatividades/id é possível atualizar os metadados da atividade. Estes metadados são apre-sentados com os valores informados pelo usuário, diferente dos metadados em BSP queconsistem apenas em um esquema. Temos ainda, o POST/atividades/id/resultado, onde

5.4 Diagrama de Recursos da API 64

Figura 5.5: Diagrama de Sequência entre as camadas

o BSP enviará o resultado da atividade processada. Por fim, no /bsps é possível, atravésde um GET, buscar um ListaBSPs, e então, solicitar um BSP específico através de umGET/bsps/{id}. Vale destacar que junto ao BSP encontram-se as suas tarefas disponíveise nelas, seus metadados.

Na Figura 5.7 é representado o Diagrama de Recursos da API BSP. Não épermitido buscar todos os arquivos no servido do BSP, apenas um arquivo específicoGET/arquivos/id. Ao criar um novo processamento com POST/processamento é iniciadaa tarefa no servidor BSP, mas esta é stateless, assim o gerenciador ao gravar não espera oresultado, pois não tem estado a transação. Ficando a cargo do servidor BSP de executar achamada na url de callback. A única ação possível para o recurso perfil é GET/perfil ondeneste é possível saber dados sobre o servidor, como, urlNovoEndereco que caso tenhavalor informa que o servidor tem novo endereço e que o gerenciador deve mudar paraeste, isso faz com que o sistema se autoatualize. Em ListaTarefasMetadados temos umobjeto JSON com as configurações de tarefas e metadados disponíveis.

5.4 Diagrama de Recursos da API 65

Figura 5.6: Diagrama de Recurso da API APP

5.4 Diagrama de Recursos da API 66

Figura 5.7: Diagrama de Recurso da API BSP

CAPÍTULO 6Protótipo da API

Como visto nos capítulos anteriores, a utilização de Web APIs proporcionainterfaces para interação entre sistemas baseados na infraestrutura existente para hospedarsites e aplicativos da Web. No entanto, ao se utilizar o estilo arquitetônico REST, aflexibilidade obtida pode resultar em implementações com design de baixa qualidade,reutilização limitada e documentação deficiente[51].

Por esta razão, surgiram algumas metodologias que visam estabelecer um di-agnóstico de qualidade baseado em alguns critérios, cujo o objetivo principal é auxiliaros desenvolvedores a identificar problemas nos sistemas, passíveis de reescrita e reen-genharia. Meskens [36] aponta que os principais fatores de qualidade são: flexibilidade,manutenção e testabilidade. Isto se justifica pelo fato de que é a partir desses três fatoresque algumas características do sistema são resultantes, como por exemplo: consistência,auto-documentação, modularidade, simplicidade e concisão. No entanto, segundo Daude Kadir [14] e Chahal e Singh [8], coesão, acoplamento e complexidade são as métricasmais importantes para avaliar a qualidade dos sistemas de computadores. Isto porque oacoplamento mede o nível de dependência entre os módulos do sistema; a coesão avaliase as características internas de um módulo estão intimamente relacionadas; e, a comple-xidade é uma característica resultante do acoplamento e da coesão, sendo definida comoo grau dificuldade de administrar um sistema [19]. Por fim, Tahir e Macdonell [53] inves-tigam as características relacionadas às métricas dinâmicas, ou seja, as métricas aplicadasdurante a execução do sistema.

A fim de analisar a qualidade relacionada especificamente a Web APIs, foramdesenvolvidos alguns modelos de classificação, denominados modelos de maturidade,que visam avaliar e classificar as APIs com base em parâmetros preestabelecidos. Dentreesses modelos, podemos citar como principais os seguintes: Richardson Maturity Model(RMM) e CoHA.

6.1 Avaliação pelo método Richardson Maturity Model 68

6.1 Avaliação pelo método Richardson Maturity Model

O Richardson Maturity Model (RMM) [20] utiliza o design como foco para suaavaliação. Para tanto, ela divide os critérios de qualidade nos quatro seguintes níveis deabstração:

6.1.1 Nível 0

Neste nível temos o POX, sigla derivada do estilo Plain Old XML. É definidocomo o nível mais baixo de maturidade, no qual se estabelece o uso do HTTP apenascomo um protocolo de transferência de dados, sem obedecer à semântica dos métodos doHTTP e os princípios de arquitetura REST. Apenas é enviado o XML como formato derepresentação.

A API proposta cumpriu o requisito exigido nesse nível, pois está utilizando oHTTP como protocolo de transferência de dados.

6.1.2 Nível 1 - Recursos

Esse nível se refere à organização das Web APIs seguindo o conceito de recursosda Web, de modo que as informações acessíveis através da API devem ser modeladasatravés de vários recursos, que são identificados e endereçados individualmente, e quedisponibilizam um conjunto de operações aplicáveis a eles próprios.

Nossa proposta atendeu esse requisito ao ser definido os recursos para todas asrepresentações acessíveis ao usuário, possuindo uma única URI para cada recurso.

6.1.3 Nível 2 - Os verbos e códigos de respostas do HTTP

Diz respeito à conformidade semântica do protocolo HTTP, exigindo a utilizaçãocorreta das mensagens no padrão HTTP, cujas operações principais utilizam os verbosGET, POST, PUT e DELETE. Além disso, requer também a utilização de status code

para descrever as respostas às solicitações realizadas.Outra vez nossa API atende a esse requisito pois fazemos uso dos verbos

adequadamente para definir as ações realizadas nos recursos e também utilizamos oscódigos de status de erros mapeados conforme estabelecido pelas regras HTTP.

6.1.4 Nível 3 - Controles Hipermídia

O mais alto nível de maturidade requer a utilização de HATEOAS, ou seja, con-trole de hipermídias, permitindo aos clientes da Web API explorar os recursos indepen-dente dos detalhes de implementação.

6.2 Avaliação pelo método Classification of HTTP-based APIs 69

Uma vantagem óbvia de controles hipermídia é que ele permite que o servidorseja capaz de mudar seu esquema de URI sem impactar nos clientes.

Como nos outros níveis acima, a API proposta por esse trabalho atende osrequisitos desse nível pois ao se cadastrar a URI do recurso principal do serviço, todasas outras URIs disponíveis são informadas ao gerenciador.

A Figura 6.1 representa essa escala dos níveis de maturidade de uma Web APIno padrão RMM, partindo do nível mais baixo, até chegar no mais alto, de modo queconsidera-se que a Web API atingiu o seu grau de exaltação quando atende a todos osníveis.

Figura 6.1: Níveis de Maturidade da Avaliação RMM [23]

6.2 Avaliação pelo método Classification of HTTP-basedAPIs

O segundo modelo de maturidade que merece destaque é o CoHA (Classification

of HTTP-based APIs) [1], que define cinco níveis de maturidades, também associadosao design da Web API, assim como o RMM. Porém, é considerado mais amplo pelofato de considerar qualquer sistema baseado em HTTP, não se restringindo aos sistemasimplementados com REST. A figura XX demonstra os cinco níveis de maturidade dessemodelo.

WS* é o primeiro nível, ou nível mais baixo da escala. Se refere a implementaçõesfeitas com o uso do protocolo SOAP que transferem dados através do protocolo HTTP.Essa abordagem é considerada inconveniente do ponto de vista de custo/benefício, pois,para a sua adoção, é requerido alto custo com fornecedores de tecnologias, sem contarcom o custo necessário para a melhoria do sistema.

6.3 Protótipo 70

RPC URI-Tunneling corresponde ao segundo nível da escala de maturidade no modeloCoHA. Ele exige que as informações sejam estruturadas como recursos, no entanto, nãoexige da mesma forma, que seja respeitada a semântica do protocolo utilizado pela Web

API em suas operações. Vale destacar o fator desarrazoável desse nível que é o altoacoplamento entre cliente e servidor, sendo isto um empecilho à evolução independentedos mesmos.

HTTP-based Type I é o terceiro nível da escala e diz respeito à semântica do protocoloutilizado pela Web API, no qual requer o uso correto dos termos. Nesse nível os recursossão manipulados por meio de representações em diferentes formatos de dados. Umponto positivo é o comportamento Sem Pátria apresentado nesse nível, o que amplia acapacidade de escalabilidade da Web API, embora haja um alto custo de evolução emfunção ao elevado nível de acoplamento entre clientes e servidor.

HTTP-based Type II trata-se do quarto nível da escala de maturidade, o qual requerque as mensagens sejam auto-descritivas. Para tanto, estabelece que os recursos, opera-ções e formatos de dados sejam descritos no planejamento do design.

REST é o quinto e último nível, cuja denominação é dada em razão do fato de que nestenível, a Web API cumpriu todas as restrições definidas pelo princípio arquitetural REST.Deste modo, é necessário que os aspectos seguintes tenham sido obedecidos: recursosidentificáveis e endereçáveis; manipulação através de representações; mensagens auto-descritivas; recursos com controles de hipermídia. Embora esse nível queira alta curvade aprendizado, apresenta menor custo de manutenção e evolução, haja vista que asaplicações dos clientes não sofrem impactos.

Com base nesses dois modelos de avaliação de Web APIs, acima estudados,aplicaremos as suas técnicas de controle de qualidade no objeto deste trabalho, atravésda demonstração do protótipo do Sistema Biométrico Web, apontando suas característicase conectando-as com os critérios dos modelos de maturidade.

6.3 Protótipo

Para se analisar essa modelagem da API foi construído um protótipo atendendo-se à modelagem da API. Esse protótipo foi desenvolvido constituído por três camadas:Cliente, Gerenciador de Serviços e BSPs.

Na camada Cliente foi desenvolvida três aplicações front-end da seguinte ma-neira: a primeira consiste em uma Aplicação Web, que faz uso do framework AngularJS

6.3 Protótipo 71

1 , desenvolvida em Javascript; a segunda interface foi desenvolvida com SDK Android2; e, a terceira interface desktop, faz uso da IDE Lazarus 3, sendo compilada para Linux eWindows.

A camada Gerenciador de Serviços foi desenvolvida na linguagem Java com oframework JAX-RS/Jersey e banco de dados MySQL, com servidor Cloud de arquivos.

Na terceira camada foram criados alguns BSPs de exemplo: Um BSP desenvol-vido em C++, utilizando a biblioteca OpenCV 4; e o outro desenvolvido em Java fazendouma adaptação (Adapter pattern) para uma API em outro formato.

Neste momento, é preciso ressaltar que foi criada a documentação da API com ouso da ferramenta Swagger UI na especificação do OpenAPI 2, permitindo, dessa forma,que os desenvolvedores sejam capazes de de criar front-ends e BSPs com as facilidadesda ferramenta Swagger. As vantagens relacionadas ao seu uso dessa ferramenta sãoinúmeras, dentre as quais merecem destaque as seguintes: A documentação da API atrairáum maior número de interessados para utilizá-la; como consequência, haverá maiorfacilidade em estudar a API proposta; e, por fim, será mais fácil para o desenvolvedorcriar exemplos e testar a API.

6.3.1 Aplicação Web

Como protótipo da Aplicação Web Figura 6.2 foi escolhido, o framework

AngularJS que é mantido pela Google, e que tem evoluído e ganhado destaque a cadadia. Mesmo sendo uma tecnologia recente, já possui muitos recursos. Esse framework

escrito em Javascript possibilita que a aplicação rode do lado do cliente e se comuniquecom o servidor através da API. Foi utilizado a biblioteca Bootstrap 5 e JQuery 6

6.3.2 Aplicação Desktop

Como protótipo da Aplicação Desktop Figura 6.3 foi escolhida a IDE open

source Lazarus, que utiliza o compilador Free Pascal e permite criar aplicações paraWindows, Linux, MacOS e outros sistemas operacionais. Essa aplicação foi desenvolvidapara compilar o código e gerar executáveis para diferentes plataformas a partir de ummesmo código fonte, cuja a única exigência é que seja utilizado o compilador adequado.

1https://angularjs.org/2https://developer.android.com3http://www.lazarus-ide.org4http://opencv.org5http://getbootstrap.com.br/6https://jquery.com

6.3 Protótipo 72

Figura 6.2: Tela da Aplicação WEB

Figura 6.3: Tela da Aplicação Desktop

6.3.3 Aplicação Mobile

Como protótipo da Aplicação Mobile Figura 6.4 foi escolhido o sistemaAndroid haja vista estar presente em muitos smartphone e tablets, de variados modelos.A plataforma Android oferece como recurso nativo o desenvolvimento de aplicativos nalinguagem Java.

Figura 6.4: Tela da Aplicação Mobile

6.3 Protótipo 73

6.3.4 Gerenciador de Serviços

O Gerenciador de Serviços é um servidor que fornece uma API para os front-

ends e direciona as consultas para os serviços de biometria. Para facilitar o protótipo daAPI REST, foi escolhido a especificação JAX-RS (Java API for RESTful Web Services)usando a implementação de Referência Jersey.

6.3.5 Servidor BSP

Entende-se que os Servidores BSPs serão implementações livres, nas quais osdesenvolvedores fornecerão serviços de biometria à solução. Assim cada serviço poderáter sua própria implementação na tecnologia mais adequada e conveniente. Como exem-plo foi desenvolvido um serviço para a API em C++ com a biblioteca Intel OpenCV (Open

Source Computer Vision Library) que é uma biblioteca voltada para o desenvolvimentode aplicações na área de Visão Computacional desenvolvida inicialmente pela Intel.

CAPÍTULO 7Considerações finais

A ausência de sistemas biométricos de código aberto, voltados para a área deinvestigação criminal que fossem de baixo custo motivou a criação dessa arquitetura.

Por esta razão, nesta dissertação foi apresentada uma abordagem para a criaçãode um Sistema Biométrico com a capacidade de incorporação de novos provedoresbiométricos, tonando essa abordagem expansível e colaborativa. O uso do modelo SOAcom REST possibilita uma solução simples e de fácil desenvolvimento para a criação denovos BSP, facilitando a integração entre as diversas linguagens e plataformas. Todas astecnologias utilizadas na criação foram de código aberto e gratuitas, tornando a evoluçãodo projeto e futura continuação um empreendimento de baixo custo.

Nosso propósito era, por intermédio desse sistema, apoiar os profissionais daárea criminal na identificação de indivíduos de interesse, dando suporte às suas decisõesde investigações através do uso de diferentes técnicas biométricas.

Para tanto, o trabalho desenvolveu um framework para padronizar as váriasestruturas previstas em um sistema biométrico, tendo como exemplo, o módulo dereconhecimento facial.

A principal contribuição desta dissertação consiste no desenvolvimento de umaAPI e um protótipo que servirá de base para proporcionar às entidades de investigaçãocriminal uma ferramenta para cruzamento de dados biométricos e antropométricos (ima-gens de faces, impressões digitais) de pessoas suspeitas com o banco de imagens criminal,sendo possível tornar-se, em um futuro próximo, um sistema de apoio a decisão em in-vestigações, tendo em vista a elucidação de crimes, identificação de pessoas de interessede forma segura, rápida, confiável e de baixo custo.

Como consequência, espera-se a ampliação de recursos de análises biométricasatravés da participação de outros pesquisadores que desenvolvam algorítimos de verifica-ção e identificação e que façam uso das mais variadas técnicas biométricas, com a criaçãode novos servidores BSPs.

Desta forma, acreditamos que a arquitetura será de grande benefício para a áreade segurança pública no desempenho de sua tarefa de proteger e garantir segurança aocidadão.

7.1 Trabalhos futuros 75

7.1 Trabalhos futuros

Em função de se tratar de uma arquitetura expansível, as possibilidades detrabalhos futuros são abundantes. Isto se deve ao fato de ser uma ferramenta de códigoaberto que permite o acréscimo de novas funcionalidades de análises biométricas poroutros pesquisadores.

Tecnicamente, esta proposta pode ser viabilizada também através de processa-mento distribuído. Neste caso, não se teria apenas um único servidor relativamente sim-ples, mas um sistema distribuído que possibilite uma maior rapidez nas respostas.

Desta maneira, podemos esperar e desejar que este projeto avance sem grandesempecilhos, de modo que, através de sucessivas melhorias e acréscimos realizados pordistintos pesquisadores, seja uma ferramenta efetiva de apoio à segurança pública e queseus reflexos sejam sentidos não só pelos profissionais que atuam diretamente na área,como também pela população em geral.

Referências Bibliográficas

[1] ALGERMISSEN, J. Quantifying integration architectures. In: REST: From Research

to Practice, p. 137–159. 2011.

[2] ARAUJO, L. Uma Metodologia para Autenticacao Pessoal Baseada em Dinamica

da Digitacao. Dissertacao de mestrado, Faculdade de Engenharia Eletrica e de

Computacao, Universidade Estadual de Campinas, 2004.

[3] BLUEPRINT, A. Api blueprint (on-line). Disponível online em https://

apiblueprint.org/.

[4] BOECHAT, G. C.; FERREIRA, J. C.; FILHO, E. C. B. C. Authentication personal. In:

Intelligent and Advanced Systems, 2007. ICIAS 2007. International Conference on,

p. 254–256, Nov 2007.

[5] BOLLE, R. M.; CONNELL, J. H.; HAAS, N.; MOHAN, R.; TAUBIN, G. Veggievision:

a produce recognition system. In: Applications of Computer Vision, 1996. WACV

’96., Proceedings 3rd IEEE Workshop on, p. 244–251, Dec 1996.

[6] BURKE, B. RESTful Java with JAX-RS. O’Reilly Media, 2009.

[7] CAVALCANTI, G. D. C. Composicao de biometria para sistemas multimodais

de verificacao de identidade pessoal. Tese de doutorado, Centro de Informatica,

Universidade Federal de Pernambuco, 2005.

[8] CHAHAL, K. K.; SINGH, H. A metrics based approach to evaluate design of

software components. In: 2008 IEEE International Conference on Global Software

Engineering, p. 269–272, Aug 2008.

[9] COLE, S.; COLE, S. Suspect Identities: A History of Fingerprinting and Criminal

Identification. Harvard University Press, 2009.

[10] CONSORTIUM, B. Bioapi consortium (on-line). Disponível online em https:

//bioapi.org/ acessado por https://web.archive.org.

Referências Bibliográficas 77

[11] COSTA, C. Autenticacao Biometrica via Teclado Numerico Baseada na Dinamica

da Digitacao. Dissertacao de mestrado, Faculdade de Engenharia Eletrica e de

Computacao, Universidade Estadual de Campinas, 2006.

[12] CROCKFORD, D. The application/json media type for javascript object notation

(json). Disponível online em https://tools.ietf.org/html/rfc4627.

[13] DA COSTA, R. M. Uma nova abordagem para reconhecimento biomà c©trico

baseado em caracteristicas dinamicas da iris humana. Tese de doutorado, Escola

de Engenharia de Sao Carlos da Universidade de Sao Paulo, 2009.

[14] DAUD, N. M. N.; KADIR, W. M. N. W. Static and dynamic classifications for

soa structural attributes metrics. In: 2014 8th. Malaysian Software Engineering

Conference (MySEC), p. 130–135, Sept 2014.

[15] DAUGMAN, J. Face and gesture recognition: overview. IEEE Transactions on

Pattern Analysis and Machine Intelligence, 19(7):675–676, Jul 1997.

[16] DAUGMAN, J. G. High confidence visual recognition of persons by a test of

statistical independence. IEEE Transactions on Pattern Analysis and Machine

Intelligence, 15(11):1148–1161, Nov 1993.

[17] DERMALOG. Dermalog abis. Disponível online em http://www.dermalog.com/

en/products_solutions/afis/.

[18] DUNSTONE, T.; YAGER, N. Biometric System and Data Analysis: Design, Evalu-

ation, and Data Mining. Biometric System and Data Analysis: Design, Evaluation,

and Data Mining. Springer US, 2008.

[19] FENTON, N. E. Software complexity: Measures and methods, by horst zuse,

published by walter de gruyter, 1990 (book review). Softw. Test., Verif. Reliab.,

1(3):41–42, 1991.

[20] FIELDING, R. T. Architectural styles and the design of network-based software

architectures (tese de doutorado). Disponível online em http://www.ics.uci.

edu/~fielding/pubs/dissertation/top.htm.

[21] FILHO, S. S. Autenticacao Continua pela Dinamica da Digitacao usando Ma-

quinas de Comite. Universidade Federal de Santa Catarina. Programa de pos-

graduacao em ciencia da computacao, Florianopolis, SC, 2005.

[22] FOUDATION, L. New collaborative project to extend swagger specification for

building connected applications and services (on-line). Disponível online em

https://www.linuxfoundation.org/.

Referências Bibliográficas 78

[23] FOWLER, M. Richardson maturity model: steps toward the glory of rest

(on-line) 2010. Disponível online em http://martinfowler.com/articles/

richardsonMaturityModel.html.

[24] GAINES, R. Authentication by keystroke timing: some preliminary results. R

(Rand Corporation). Rand, 1980.

[25] INITIATIVE, O. Especificação openapi. Disponível online em https://www.

openapis.org.

[26] JAIN, A. K.; ROSS, A.; PRABHAKAR, S. An introduction to biometric recognition.

IEEE Transactions on Circuits and Systems for Video Technology, 14(1):4–20, Jan

2004.

[27] JAIN, A.; HONG, L.; PANKANTI, S. Biometric identification. Commun. ACM,

43(2):90–98, Feb. 2000.

[28] JAIN, A. K.; FLYNN, P.; ROSS, A. A. Handbook of Biometrics. Springer-Verlag New

York, Inc., Secaucus, NJ, USA, 2007.

[29] JOSUTTIS, N. SOA in Practice: The Art of Distributed System Design. O’Reilly

Media, 2007.

[30] JR, L. H. R. S. Uma Metodologia para Avaliacao de Pacotes de Software

Biometricos. Dissertacao de mestrado, Faculdade de Engenharia Eletrica e de

Computacao, Universidade Estadual de Campinas, 2004.

[31] LANTHALER, M.; GÜTL, C. On using json-ld to create evolvable restful services.

In: Proceedings of the Third International Workshop on RESTful Design, WS-REST

12, p. 25–32, New York, NY, USA, 2012. ACM.

[32] LEE, H.; RAMOTOWSKI, R.; GAENSSLEN, R. Advances in Fingerprint Technology,

Second Edition. Forensic and Police Science Series. CRC Press, 2001.

[33] LI, S.; JAIN, A. Handbook of Face Recognition. SpringerLink : Bücher. Springer

London, 2011.

[34] MANU SPORNY, DAVE LONGLEY, G. K. M. L. N. L. Json-ld 1.1 a json-based

serialization for linked data. Disponível online em http://json-ld.org/spec/

latest/json-ld/.

[35] MARCOS ELIAS CLAUDIO DE ARAUJO, L. P. Historico dos Processos de Identifi-

cacao.

Referências Bibliográficas 79

[36] MESKENS, N.; LEBON, F. Software quality analysis by a multicriteria approach.

In: Proceedings of the 17th IASTED International Conference on Applied Informatics,

February 15-18, 1999, Innsbruck, Austria, p. 375–378, 1999.

[37] MILLER, B. Vital signs of identity [biometrics]. IEEE Spectrum, 31(2):22–30, Feb

1994.

[38] MORDINI, E.; TZOVARAS, D. Second Generation Biometrics: The Ethical, Legal

and Social Context. The International Library of Ethics, Law and Technology.

Springer Netherlands, 2012.

[39] MORPHO. Morphobis. Disponível online em http:

//www.morpho.com/en/public-security/investigate/

morphobis-state-art-automated-biometric-identification-systems-abis-criminal-identification.

[40] NEC. Afis-dma. Disponível online em http://br.nec.com/pt_BR/products/

itplatform/biometric/afisdma.html.

[41] OPENCLIPART. OpenClipart. Disponível online em https://openclipart.org,

acessado em agosto de 2016.

[42] PAUTASSO, C.; WILDE, E. Why is the web loosely coupled?: A multi-faceted

metric for service design. In: Proceedings of the 18th International Conference on

World Wide Web, WWW ’09, p. 911–920, New York, NY, USA, 2009. ACM.

[43] PRABHAKAR, S.; PANKANTI, S.; JAIN, A. K. Biometric recognition: security and

privacy concerns. IEEE Security Privacy, 1(2):33–42, Mar 2003.

[44] R. FIELDING, J. GETTYS, J. M. H. F. L. M.-P. L. T. B.-L. Hypertext transfer

protocol – http/1.1. junho de 1999. Disponível online em https://www.ietf.

org/rfc/rfc2616.txt.

[45] R. FIELDING, J. GETTYS, J. M. H. F. T. B.-L. Hypertext transfer protocol –

http/1.1. janeiro de 1997. Disponível online em https://www.ietf.org/rfc/

rfc2068.txt.

[46] RAML. Raml (on-line). Disponível online em http://raml.org/.

[47] RATHA, N. K.; SENIOR, A. W.; BOLLE, R. M. Automated biometrics. In: Proce-

edings of the Second International Conference on Advances in Pattern Recognition,

ICAPR ’01, p. 445–474, London, UK, UK, 2001. Springer-Verlag.

[48] RICHARDSON, L.; AMUNDSEN, M.; AMUNDSEN, M.; RUBY, S. RESTful Web APIs.

O’Reilly Media, 2013.

Referências Bibliográficas 80

[49] RICHARDSON, L.; RUBY, S. RESTful Web Services. O’Reilly Media, 2008.

[50] SALVADORI, I. L.; SIQUEIRA, F. A maturity model for semantic restful web apis.

In: Miller, J. A.; Zhu, H., editors, ICWS, p. 703–710. IEEE Computer Society, 2015.

[51] SJØBERG, D. I. K.; DYBÅ, T.; JØRGENSEN, M. The future of empirical methods in

software engineering research. In: International Conference on Software Enginee-

ring, ISCE 2007, Workshop on the Future of Software Engineering, FOSE 2007, May

23-25, 2007, Minneapolis, MN, USA, p. 358–378, 2007.

[52] T. BERNERS-LEE, R. FIELDING, H. F. Hypertext transfer protocol – http/1.0. maio

de 1996. Disponível online em https://tools.ietf.org/html/rfc1945.

[53] TAHIR, A.; MACDONELL, S. G. A systematic mapping study on dynamic metrics

and software quality. In: 2012 28th IEEE International Conference on Software

Maintenance (ICSM), p. 326–335, Sept 2012.

[54] VIGLIAZZI, D. BIOMETRIA - MEDIDAS DE SEGURANÇA. VISUAL BOOKS.

[55] WAYMAN, J.; JAIN, A.; MALTONI, D.; MAIO, D. An Introduction to Biometric

Authentication Systems, p. 1–20. Springer London, London, 2005.

[56] WAYMAN, J. L. Fundamentals of biometric authentication technologies. Inter-

national Journal of Image and Graphics, 01(01):93–113, 2001.

[57] WEBBER, J.; PARASTATIDIS, S.; ROBINSON, I. REST in Practice: Hypermedia and

Systems Architecture. O’Reilly Series. O’Reilly Media, Incorporated, 2010.

[58] XIAO, Q. Technology review - biometrics-technology, application, challenge,

and computational intelligence solutions. IEEE Computational Intelligence Maga-

zine, 2(2):5–25, May 2007.

[59] YANG, J.

[60] ZHAO, H.; SHIBASAKI, R. A novel system for tracking pedestrians using mul-

tiple single-row laser-range scanners. IEEE Transactions on Systems, Man, and

Cybernetics - Part A: Systems and Humans, 35(2):283–291, March 2005.