UNIVERSIDADE PRESBITERIANA MACKENZIE
BRUNO GUEDES FARIA
IMPLEMENTAÇÃO E AVALIAÇÃO DO ABID (APLICATIVO BIOMÉTRICO DE IMPRESSÃO DIGITAL) UTILIZANDO O MÉTODO FUZZY VAULT E
FERRAMENTAS OPENSOURCE
São Paulo 2014
BRUNO GUEDES FARIA
IMPLEMENTAÇÃO E AVALIAÇÃO DO ABID (APLICATIVO BIOMÉTRICO DE IMPRESSÃO DIGITAL) UTILIZANDO O MÉTODO FUZZY VAULT E
FERRAMENTAS OPENSOURCE Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Engenharia Elétrica da Universidade Presbiteriana Mackenziecomo requisito parcial para obtenção do título de Mestre em Engenharia Elétrica na área de concentração Engenharia da Computação. Orientadora: Prof.ª Dr.ª Sandra Maria Dotto Stump
São Paulo 2014
F224i Faria, Bruno Guedes
Implementação e avaliação do ABID (Aplicativo Biométrico de Impressão Digital) utilizando o método fuzzy vault e ferramentas open source. / Bruno Guedes Faria – São Paulo, 2014.
57 f.: il.; 30 cm.
Dissertação (Programa de Pós-Graduação (Stricto Sensu) em
Engenharia Elétrica) - Universidade Presbiteriana Mackenzie - São Paulo, 2014.
Orientador: Prof. Dra. Sandra Maria Dotto Stump Bibliografia: f. 57-58
1. Biometria. 2. Impressão digital. 3. Fuzzy vault. 4. Criptografia. 5. Sistemas biométricos. I.Título.
CDD 005.8
BRUNO GUEDES FARIA
IMPLEMENTAÇÃO E AVALIAÇÃO DO ABID (APLICATIVO BIOMÉTRICO DE IMPRESSÃO DIGITAL) UTILIZANDO O MÉTODO FUZZY VAULT E
FERRAMENTAS OPENSOURCE Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Engenharia Elétrica da Universidade Presbiteriana Mackenzie como requisito parcial para obtenção do título de Mestre em Engenharia Elétrica na área de concentração Engenharia da Computação.
Aprovado em
BANCA EXAMINADORA
Prof.ª Dr.ª Sandra Maria Dotto Stump Universidade Presbiteriana Mackenzie
Prof.ª Dr.ª Yara Maria Botti Mendes de Oliveira
Universidade Presbiteriana Mackenzie
Prof. Dr. Sergio Luiz Pereira Universidade de São Paulo
AGRADECIMENTOS
A minha família, mãe vó e irmã, por todo apoio e carinho que recebi e por entenderem
os incontáveis dias, semanas e meses que passei tão longe e não pude estar por
perto.
Ao corpo docente do Mackenzie, por me acolherem com tanta atenção e dedicação.
À Universidade Presbiteriana Mackenzie por ter me concedido a bolsa de estudos o
qual foi tão importante para esta minha caminhada.
A minha orientadora, professora Sandra Maria Dotto Stump pela sua dedicação,
amizade, companheirismo e confiança depositada em mim e neste trabalho, mais do
que minha professora e orientadora levarei para sempre como minha amiga.
Se eu vi mais longe, foi por estar de pé sobre ombros de gigantes.
Isaac Newton
RESUMO
A utilização de sistemas biométricos tem apresentado um cenário de crescimento nos
últimos anos e que se reflete, principalmente, naqueles que têm a impressão digital
como forma de identificação. No que tange à segurança, sistemas baseados em
biometria necessitam da mesma preocupação que se tem com sistemas tradicionais
de senhas e cartões. Neste contexto, o método Fuzzy Vault aparece para prover a
segurança de sistemas biométricos, particularmente, protegendo a amostra
biométrica armazenada. Esta pesquisa consiste na implementação do método Fuzzy
Vault, aplicando-o para ocultar uma chave de 128 bits, onde o método será utilizado
juntamente com algoritmos de código aberto, para o desenvolvimento de um aplicativo
biométrico de impressões digitais, denominado por ABID. Serão expostas avaliações
sobre o desempenho e segurança do aplicativo e também resultados experimentais
comuns a sistemas biométricos, como: Taxa de Falso Aceite (FAR - False Accept
Rate), Taxa de Aceite Genuíno (GAR - Genuine Accept Rate) e Taxa de Falsa
Rejeição (FRR - False Rejection Rate).
Palavras-chave: Biometria. Impressão Digital. Fuzzy Vault. Criptografia. Sistemas
Biométricos.
ABSTRACT
Biometric Systems has increasingly been growing in the past years, mainly those
based on fingerprints. In terms of security, they need the same care which is given to
traditional systems that uses cards and passwords. The Fuzzy Vault methods comes
in this scenario to provide security to biometric systems, specifically, protecting the
stored biometric template. This research will present the Fuzzy Vault scheme
development and how it can be used to hide a 128 bits secret. The scheme will be
used into the context of a biometric application based on fingerprints. Evaluation of
security and performance of the application will be shown, as well as the experimental
results, common to biometric systems — FRR (False Rejection Rate), GAR (Genuine
Accept Rate), FAR (False Accept Rate).
Keywords: Biometrics. Fingerprint. Fuzzy Vault. Criptography. Biometric Systems.
LISTA DE FIGURAS
Figura 1: Ridges e valleys em uma impressão digital ............................................... 20
Figura 2: Tipos de minúcias encontradas em uma impressão digital ........................ 21
Figura 3: Tipos de minúcias encontradas em uma impressão digital, adaptado de
(Maltoni et al. 2009). .................................................................................................. 22
Figura 4: Processo de detecção de minúcias do algoritmo MINDTCT ...................... 24
Figura 5: Bozorth3 combinador de minúcias, invariante a rotação e translação (). ... 26
Figura 6: Taxonomia de ataques que podem ser realizados contra um sistema
biométrico .................................................................................................................. 28
Figura 7: Funcionamento do esquema Fuzzy Vault aplicado à biometria por impressão
digital ......................................................................................................................... 32
Figura 8: Modelo de encriptação tradicional .............................................................. 35
Figura 9: Arquitetura do Software desenvolvido (acervo próprio). ............................. 42
Figura 10: Tela de codificação do segredo ............................................................... 43
Figura 11: Tela da base de dados FVC 2004 ............................................................ 44
Figura 12: Tela de encriptação de arquivos com o algoritmo AES ............................ 45
Figura 13: Tela de codificação com os campos preenchidos .................................... 46
Figura 14: Tela de impressão digital com as coordenadas das minúcias ................. 47
Figura 15: Tela de Fuzzy Vault onde os chaff points e os pontos genuínos são
mesclados ................................................................................................................. 48
LISTA DE TABELAS
Tabela 1 – Comparação entre impressões do mesmo indivíduo para cálculo de FRR
.................................................................................................................................. 52
Tabela 2:Tabela de avaliações realizadas com o aplicativo biométrico .................... 53
Tabela 3: Tabela onde mostra o tempo necessário para descobrir a chave de 128 bits
via ataque aleatório comumente chamado de "Força Bruta" ..................................... 54
LISTA DE ABREVIAÇÕES
ABID Aplicativo Biométrico de Impressão Digital
AES Advanced Encryption Standard
CRC Cyclic Redundancy Check
FAR False Accept Rate
FBI Federal Bureau of Investigation
FNM False Non-Match
FRR False Rejection Rate
FTA Fail To Acquire
FTC Fail To Capture
FTD Failure To Detect
FTE Fail To Enroll
FTP Fail To Process
GAR Genuine Accept Rate
IBG International Biometric Group
NIST National Institute of Standards and Technology
SUMÁRIO
CONSIDERAÇÕES INICIAIS .................................................................................... 13
1 REFERENCIAL TEÓRICO ..................................................................................... 17
1.1 BIOMETRIA ......................................................................................................... 17
1.2 BIOMETRIA POR IMPRESSÃO DIGITAL ........................................................... 20
1.3 EXTRATOR DE MINÚCIAS MINDTCT ............................................................... 23
1.4 COMBINADOR BOZORTH3 ............................................................................... 25
1.5 SEGURANÇA EM SISTEMAS BIOMÉTRICOS .................................................. 27
1.6 CRIPTOSSISTEMA FUZZY VAULT .................................................................... 30
1.7 FUNDAMENTOS DE CRIPTOGRAFIA ............................................................... 34
2 IMPLEMENTAÇÃO DO MÉTODO FUZZY VAULT ............................................... 37
2.1 EXTRAÇÃO DE MINÚCIAS ................................................................................ 37
2.2 CODIFICAÇÃO DO SEGREDO .......................................................................... 38
2.3 DECODIFICAÇÃO .............................................................................................. 40
3 IMPLEMENTAÇÃO DO ABID ................................................................................ 41
3.1 ARQUITETURA DO ABID ................................................................................... 41
3.2 FUNCIONAMENTO DO ABID ............................................................................. 42
4 RESULTADOS ....................................................................................................... 51
4.1 AVALIAÇÕES DE FRR, FAR E GAR .................................................................. 51
4.2 AVALIAÇÃO DE SEGURANÇA E PERFORMANCE DO ABID ........................... 53
4.3 ANÁLISE DOS RESULTADOS ........................................................................... 54
CONSIDERAÇÕES FINAIS ...................................................................................... 57
REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................... 59
13
CONSIDERAÇÕES INICIAIS
O avanço tecnológico vem permitindo que a biometria se torne cada vez mais
presente em sistemas que necessitam de identificação pessoal, como: o voto
(Tanzânia e Brasil), a identificação criminal, o acesso lógico (terminais bancários,
computadores e smartphones) e físico (instalações e áreas restritas). Esta crescente
adoção de sistemas biométricos, apresenta duas principais vantagens: não repudiação
e conveniência para o usuário (ULUDAG; PANKANTI; JAIN, 2005).
Sistemas biométricos que utilizam a impressão digital como identificação são a
grande maioria, isto é o que mostra dados do IBG (International Biometric Group) de
2009 (MALTONI et al., 2009), onde é apontado que dentre as categorias de sistemas
biométricos (íris, voz, face, veias), a de impressão digital detém mais de 50% de
presença no mercado. A identificação de um indivíduo pela sua impressão digital é a
forma mais antiga de biometria (LIU et al., 2011) e, mesmo já consolidada, no momento
em que se traz esta forma de biometria para mundo computacional e a transforma em
um sistema biométrico automatizado, este sistema torna-se passível a ataques
cibernéticos como qualquer outro. Devido ao fato de existir vulnerabilidades, que
podem resultar em ataques cibernéticos, o aspecto da segurança nos sistemas
biométricos se torna uma preocupação primordial.
Para Jain, Ross e Nandakumar (2011), um sistema biométrico de impressões
digitais possui 8 pontos vulneráveis, sendo que o ponto mais crítico é o de
armazenagem do template, e este é o objeto principal desta pesquisa. Proposto por
Juels e Sudan (2002), o método Fuzzy Vault é uma construção criptográfica que une
a biometria à criptografia com o objetivo de proteção do template biométrico de uma
impressão digital. Atualmente, de acordo com Jain, Ross e Nandakumar (2011) e Liu
(2010), o Fuzzy Vault é um dos métodos mais promissores, pois fornece uma forma
de segurança por keybinding, onde uma amostra (o template) biométrica e um segredo
são associados através de um framework, gerando assim, uma nova amostra em um
formato protegido. Juels e Sudan (2002) ilustram o método Fuzzy Vault da seguinte
maneira: Alice aprecia certos tipos de filmes e deseja encontrar alguém em uma rede
social que compartilhe de seu gosto; se Alice encontrar alguém que possua um gosto
por filmes semelhante ao seu, então ela deixará esta pessoa ver seu telefone. Neste
caso, se Bob compartilhar do mesmo gosto de Alice por filmes, acontecerá uma
combinação ou casamento de dados (match) e ele visualizará o telefone dela.É
14
importante ressaltar que Bob não necessita gostar de todos os filmes que Alice gosta.
É possível que ocorra uma combinação, mesmo na situação em que ambos possuam
um número mínimo pré-definido em comum de filmes.
Saindo desta representação fictícia e expondo em uma linguagem matemática,
Nandakumar, Jain e Pankanti (2007) e Uludag et al. (2004) descrevem o exemplo do
método de Fuzzy Vault da seguinte maneira: Alice possui um conjunto não ordenado
A=−1,−2,3,2, que fazendo uma analogia, seriam seus filmes. Um certo polinômio
p(x)=x2-3x+1 é escolhido, sendo que cada coeficiente deste polinômio corresponde a
um número do telefone de Alice, ou seja, o telefone de Alice seria: (1,−3 e 1) que é o
segredo a ser escondido em sua rede social, impossibilitando aos demais usuários de
o visualizarem. Realizando as avaliações do conjunto A no polinômio p tem-se os
seguintes pontos (x,y) em um plano cartesiano: (−1,5),(−2,11),(3,1),(2,−1), e com o
intuito de esconder estes pontos legítimos, são adicionados pontos chaff (coordenadas
falsas para esconder as legítimas) de um conjunto C=(0,2),(1,0), ou seja, pontos
falsos. Sendo assim, juntando as avaliações polinomiais com os pontos chaff constrói-
se um conjunto R=(−1,5),(−2,11),(3,1),(2,−1),(0,2),(1,0). Neste conjunto R se Bob
conseguir encontrar 3 pontos legítimos (do conjunto A de Alice), ele conseguirá
encontrar o segredo dela, que neste caso seria seu telefone.
Diversas implementações foram propostas para o método de Fuzzy Vault, entre
elas, por Moon (et al., 2008), Uludag, Pankanti e Jain (2005), Jeffers e Arakala (2006),
Nandakumar, Jain e Pankanti (2007) e Uludag et al. (2004) . Cada uma possui suas
particularidades e distinções, isto porque os autores originais Juels e Sudan (2002)
deixaram algumas lacunas em aberto sobre o funcionamento do método, ou seja, não
foi fornecido pelos autores uma implementação real do método em questão, nem
detalhes completos sobre alguns passos específicos e, por consequência, resultados
preliminares ou experimentais não puderam ser verificados nem utilizados como
parâmetro de comparações. A abordagem de segurança por Fuzzy Vault, proposta em
2002, ainda se mostra incipiente do ponto de vista de aplicação em um sistema real,
devido ao problema de alinhamento entre as características biométricas extraídas no
momento da consulta (query) e no momento de cadastro (enroll) Maltoni et al. (2009).
Das implementações propostas, a de Uludag et al. (2004) propôs que as minúcias
fossem extraídas por um especialista e que a combinação fosse realizada com
algoritmos onde a rotação e translação das imagens não são consideradas. É comum
que aconteça variações de rotação e translação entre a imagem de cadastro e a de
15
consulta, porém, estas variações não foram consideradas pelos autores. Em suma, ao
se realizar uma combinação entre duas impressões, não teria sucesso em identificar
que pertencem a mesma pessoa, mesmo que as imagens apresentassem qualidade
satisfatória; certamente, as impressões de consulta e cadastro, na abordagem em
questão, teriam que ser as mesmas. Um outro problema desta abordagem é a
necessidade da identificação das minúcias por um especialista, levando a um trabalho
tedioso e lento que poderia ser resolvido com algoritmos de visão computacional, que
substituiriam o especialista e identificariam os pontos de interesse da imagem. O
trabalho de Uludag, Pankanti e Jain (2005) considera que todas as impressões
pertencentes a um mesmo indivíduo sempre serão capturadas de uma mesma forma
por um sensor biométrico; é visível que esta abordagem apresenta limitações, uma
vez que um indivíduo dificilmente conseguiria gerar duas ou mais amostras idênticas.
A implementação de Nandakumar, Jain e Pankanti (2007) possui um tempo de
decodificação do segredo não performático, o que poderia causar uma espera
considerável, caso fosse aplicado em um sistema real.
Os estudos de Jeffers e Arakala (2006) mostraram a possibilidade de se
representar minúcias invariantes a rotação e translação em um plano 2D. Três formas
desta representação de minúcias foram apresentadas: voronoi neighbors, triangle
based structures e five nearest neighbor based structures. Até então, a literatura da
área não havia apresentado aplicações envolvendo estes tipos de algoritmos pelo
método de Fuzzy Vault. Entretanto, no trabalho destes autores, não foi realizada uma
implementação completa do método de Fuzzy Vault abrangendo todas as suas etapas.
Embora esta implementação completa não tenha ocorrido, alguns resultados
preliminares mostraram-se positivos e constatou-se a possibilidade de prosseguir
neste sentido.
Os algoritmos da NIST (NBIS, 2013), bozorth3 e MIDTCT, apresentam profunda
similaridade com os algoritmos presente no estudo de Jeffes e Arakala (2006), citado
anteriormente. Essas similaridades apresentam-se tanto no algoritmo de combinação,
quanto no extrator de minúcias, invariáveisà rotação e à translação. Optou-se por este
tipo de aplicação por não se encontrar literatura que versasse sobre estes algoritmos
para o método de Fuzzy Vault. Ressalta-se que os algoritmos em questão são todos
de código aberto (open source) e de domínio público. De acordo com a NBIS(2013),
estes são os únicos algoritmos de extração de características e combinação de
impressões digitais disponíveis gratuitamente e com código aberto.
16
O objetivo deste trabalho é implementar e avaliar o método Fuzzy Vault, utilizando
para combinação de impressões e extração de minúcias, respectivamente, os
algoritmos Bozorth3 e MINDTCT(NBIS, 2013) e (PETROVSKA-DELACRTAZ;
CHOLLET; DORIZZI, 2009). Para combinação de impressões, o algoritmo Bozorth3
apresenta semelhanças com os aqueles propostos por Jeffers e Arakala (2006), onde
as variações de translação e rotação de uma impressão digital são consideradas. Com
o algoritmo MINDTCT, é possível realizar extração de minúcias automaticamente, sem
a ajuda de um especialista. Também pretende-se desenvolver um aplicativo, que nesta
pesquisa é identificado por ABID (Aplicativo Biométrico de Impressão Digital), que
possa encriptar e decriptar arquivos, tendo como finalidade, a avaliação do
desempenho do método Fuzzy Vault, análise de sua segurança e ilustração de seu
funcionamento. Além de implementar e avaliar o método Fuzzy Vault, são realizados
também experimentos comuns a sistemas biométricos, como: FRR1, GAR2, FAR3.
Este trabalho está dividido em quatro capítulos. No capítulo 1 é apresentado os
fundamentos teóricos do trabalho, onde são abordados os temas de segurança em
sistemas biométricos, biometria por impressão digital, o método Fuzzy Vault,
algoritmos de combinação e extração de minúcias e criptografia.
O capítulo 2 descreve a implementação do método Fuzzy Vault, enquanto, o
capítulo 3 versa sobre a implementação do ABID, bem como sobre o seu desenho
arquitetural contendo os componentes inerentes ao aplicativo.
O capítulo 4 apresenta as análises inerentes à implementação do método Fuzzy
Vault e do ABID, além das taxas de falso aceite, aceite genuíno e falsa rejeição, que
são testes pertencentes ao combinador bozorth3.
Por fim, as considerações finais são apresentadas.
1FRR ou False Rejection Rate refere-se a experimentos que medem a porcentagem de indivíduos genuínos que são incorretamente identificados como impostores pelo sistema biométrico.
2GAR ou Genuine Accept Rate refere-se a experimentos que medem a porcentagem de indivíduos genuínos que são corretamente identificados pelo sistema biométrico.
3 FAR ou False Accept Rate refere-se a experimentos que medem a porcentagem de usuários impostores que são identificados como genuínos pelo sistema biométrico
17
1 REFERENCIAL TEÓRICO
1.1 BIOMETRIA
A tarefa de reconhecer um indivíduo possui importância significativa e está
presente nas mais variadas e distintas situações em uma sociedade, como acontece
nas fronteiras entre países, no acesso lógico à informação e nas instalações onde há
acesso restrito. Em todas estas situações é necessário que haja o reconhecimento do
indivíduo por terceiros, sejam estes equipamentos ou humanos.
Segundo Jain, Ross e Nandakumar (2011), existem três formas de identificação
de um indivíduo: a) pelo que ele sabe, b) pelo que ele possui extrinsecamente, e c)
pelo que ele é intrinsicamente. Na primeira, a identificação é feita levando em
consideração o conhecimento de alguma senha, ou informação pessoal a qual o
indivíduo conheça; na segunda, a identificação é feita tendo em vista a possessão por
parte do indivíduo de algum identificador que pode ser um cartão magnético, uma
carteira de identidade ou algum objeto específico; na terceira e última, o
reconhecimento é feito através de traços físicos e é chamado de reconhecimento
biométrico.
A palavra biometria é derivada das palavras gregas bio, que significa vida, e metria
que se refere à medida, sendo assim é a medida da vida, a medida do corpo humano.
Segundo Matoni et al. (2009), qualquer traço anatômico pode ser considerado um
identificador biométrico, contanto que satisfaça as seguintes restrições:
a) Universalidade: toda pessoa deve possuir a característica biométrica.
b) Distinção: duas pessoas devem ser diferenciadas no que tange a característica
biométrica.
c) Permanência: invariância, que significa que a medida que o tempo passa a
característica não deve mudar.
d) Coletabilidade: a característica biométrica deve poder ser medida
quantitativamente.
Além das restrições indicadas, existem outras questões que devem ser levadas em
conta nos sistemas biométricos, que são:
18
a) Performance: a precisão do reconhecimento e sua quantidade processada por
unidade de tempo (thoughput), devem obedecer às restrições previamente
impostas.
b) Aceitabilidade: indivíduos que utilizarão o reconhecimento biométrico, devem
estar dispostos a fornecer suas características (impressão digital, íris, face).
c) Circunvenção: a facilidade a qual uma característica biométrica pode ser imitada
utilizando métodos fraudulentos (dedos falsos, voz alterada).
Sistemas biométricos medem uma ou mais características de um indivíduo para
verificar, determinar ou reconhecer sua identidade. Jain, Ross e Nandakumar (2011)
dividem em duas etapas o processo de reconhecimento de um indivíduo por um
sistema biométrico: cadastro (enrollment) e reconhecimento (recognition). Na etapa de
cadastro, a identidade da pessoa é armazenada juntamente com sua característica
biométrica adquirida. É pertinente observar, que em diversas situações é feito um pré-
processamento, capturando apenas características mais relevantes da amostra
biométrica. Na etapa de reconhecimento é adquirida do usuário uma amostra
biométrica no momento em que ele deseja se autenticar, comparando-a com amostras
pré-existentes (já cadastradas) para determinar sua identidade. Em outras palavras,
uma consulta é feita procurando por um padrão "igual" ao do usuário que pretende se
autenticar.
Os autores ainda afirmam que, genericamente, um sistema biométrico pode ser
considerado um reconhecedor ou combinador de padrões, que consiste de quatro
pilares: a) sensor, b) extrator de características, c) banco de dados e d) combinador
(matcher).
Um sensor ou leitor é necessário para capturar a informação biométrica do
individuo, na maioria dos casos (impressão digital, íris e rosto) uma imagem de duas
dimensões é capturada. É preciso salientar que a qualidade da amostra capturada
depende de fatores como: a qualidade do leitor biométrico e a forma a qual o indivíduo
fornece seu dado biométrico. Após a leitura biométrica, é necessário um pré-
processamento para identificar a viabilidade de extração de características, neste pré-
processamento é analisado a qualidade da amostra lida, pontos importantes e uma
tentativa de melhoria da amostra através de técnicas de visão computacional
(segmentação, filtros). Ao fim do pré-processamento, é gerada uma representação
digital que também é chamada de amostra (template).
19
Após a geração da amostra, é necessário seu armazenamento em uma base de
dados juntamente com informações do indivíduo o qual ele pertence. Após a
armazenagem, a amostra está pronta para ser consultada, ficando a cargo do
combinador (matcher), a tarefa de comparar uma amostra capturada com uma pré-
existente na base de dados. Jain, Ross e Nandakumar(2011) e Maltoni et al. (2009)
enumeram duas funcionalidades para gerenciamento de identidades as quais um
sistema biométrico pode prover:
a) Verificação: o sistema verifica se o indivíduo é quem alega ser consultando a
base de dados e fazendo uma comparação um-para-um entre o template
armazenado e o atual. Esta comparação é feita de um-para-um, pois o
indivíduo já se identifica como um usuário do sistema fornecendo como
identificação uma carteira de identidade, carteira de motorista, PIN Card, dentre
outros identificadores.
b) Identificação: o sistema verifica a existência do indivíduo na base de dados.
Nesta funcionalidade é realizada uma comparação um-para-muitos, pois o
sistema realiza uma consulta que encontra um template que tenha um grau de
semelhança com o fornecido pelo indivíduo, não é necessária uma alegação
de identidade explícita por parte do indivíduo.
Nestes processos de identificação e verificação, diversas questões devem ser
analisadas para que a amostra cadastrada e a amostra capturada posteriormente
sejam combinadas com sucesso quando ambas forem do mesmo indivíduo. Por
exemplo: no reconhecimento por impressão digital, o indivíduo pode inserir seu dedo
no sensor de várias formas e ângulos diferentes, apresentando, assim resultados
parciais ou inexatos; no reconhecimento por face, no caso de gêmeos idênticos, como
a semelhança é muito grande, existe uma dificuldade grande em determinar uma
identificação, ainda neste tipo de reconhecimento, o indivíduo pode apresentar-se em
diferentes ângulos(perfil ou frente) e expressões facial.
Jain, Ross e Nandakumar (2011) e Maltoni et al. (2009) ainda apontam algumas
questões envolvendo erros e problemas que podem ocorrer em um sistema biométrico.
Uma delas é o sensor que captura o dado biométrico, ele pode estar com sua
superfície suja ou o indivíduo pode colocar apenas sua ponta do dedo para leitura,
neste cenário ocorre uma Falha de Captura (FTC, Failure to Capture). No cenário onde
20
o sistema biométrico não realiza a captura da amostra, independente do motivo, tem-
se a Falha de Detecção (FTD, Failure To Detect).
Na etapa de extração de características, após a captura do dado biométrico, se a
amostra for de baixa qualidade, o extrator não conseguirá colher as características,
gerando a Falha de Processamento (FTP, Fail To Process). Todas estas falhas que
acontecem tanto no momento da captura quanto no momento da extração, são
denominadas como: Falha de Obtenção (FTA, Fail To Acquire). Relacionado ao
processo de cadastro (enroll) de uma característica biométrica, pode haver um erro,
que é denominado por Falha de Cadastro (FTE, Fail To Enroll).
O módulo que realiza a combinação (matching) entre o template cadastrado e o
dado biométrico fornecido posteriormente, também pode apresentar erros. Quando o
sistema fornece acesso a um usuário não cadastrado, tem-se o erro de falsa
combinação (False Match), por outro lado, quando um usuário legítimo tenta acessar
o sistema e é bloqueado, tem-se o erro de falsa rejeição (False Non-Match).
1.2 BIOMETRIA POR IMPRESSÃO DIGITAL
O armazenamento de impressões digitais iniciou-se primeiramente para a área
forense com o intuito de identificar e catalogar suspeitos e criminosos. Com o avanço
da tecnologia, a utilidade desta técnica foi expandida para outras áreas (RATHA,
2003). Um sistema biométrico de impressão digital funciona como um sistema
biométrico genérico, constituindo-se das etapas de cadastro (enroll), de extração de
características (feature extraction) e combinação (matcher).
A imagem da Figura1 mostra as cristas (ridges) e vales (valleys) que estão
presentes em impressões digitais.
Figura 1 –Cristas e vales em uma impressão digital
21
Fonte: Maltoni (et al., 2009).
As Figuras 2 e 3 mostram as minúcias encontradas em impressões digitais que
são utilizadas pelo combinador em algumas abordagens para comparação de
impressões digitais.
Figura 2 – Tipos de minúcias encontradas em uma impressão digital
Fonte: Adaptado de Maltoni (et al., 2009).
22
Figura 3 – Tipos de minúcias encontradas em uma impressão digital
Fonte: Adaptado de Maltoni (et al., 2009).
De acordo com Maltoni et al. (2009), a captura da impressão digital pode ser offline
ou através de livescan. Offline consiste em capturar manualmente a impressão digital
com papel e tinta, uma vez no papel, ela é digitalizada e armazenada. O livescan
consiste em capturar a impressão digital via sensor, bastando o usuário apenas
pressionar seu dedo no dispositivo, sem o uso de tintas e papel. Na fase de extração
de características, é necessário que haja uma representação saliente (saliency) e
adequada (suitability), onde saliente se refere à distinção da característica biométrica
e adequada se refere à facilidade de extração desta característica. Maltoni et al. (2009)
propõe três abordagens para a fase de combinação (matcher) utilizada em sistemas
biométricos de impressão digital:
a) Combinação baseada em correlação (Correlation-based matching): se procura
encontrar correlações entre duas imagens de impressão digital sobrepondo uma
a outra.
b) Combinação baseada em minúcias (Minutiae-based matching): minúcias são
colocadas em um plano 2D e pretende-se encontrar um alinhamento entre elas.
c) Combinação não baseada em minúcias (Non-minutiae feature-based matching):
neste tipo de abordagem, leva-se em conta a orientação e frequência dos vales
e cristas contidos na imagem. Esta abordagem é utilizada quando a extração de
minúcias se torna difícil pela baixa qualidade da imagem.
23
Petrovska-Delacrtaz, Chollet e Dorizzi (2009) relatam que a abordagem de
combinação baseada em minúcias é a mais comumente utilizada e explorada, pois se
baseia na forma de combinação realizada por especialistas forenses.
1.3 EXTRATOR DE MINÚCIAS MINDTCT
MINDTCT é um extrator de minúcias de código aberto, gratuito e sem licença;
disponibilizado, desenvolvido e mantido pelo National Institute of Standards and
Technology (NIST) para o Federal Bureau of Investigation (FBI) and Department of
Homeland Security (DHS). O MINDTCT, segundo o NBIS (2013), dentre suas
capacidades está a habilidade de identificar a qualidade (baixa, média e alta) da
imagem lida pelo sensor de impressão digital e extrair as características(features) da
mesma. A figura 4 mostra o processo de detecção de minúcias do algoritmo MINDTCT.
24
Figura 4 –Processo de detecção de minúcias do algoritmo MINDTCT
Fonte: Adaptado de (NBIS, 2013)
No primeiro passo do algoritmo (Entrada do Arquivo de Impressão Digital), uma
imagem de entrada é necessária para realizar o processo de extração de
características, o algoritmo aceita os seguintes formatos de imagem: ANSI/NIST,
WSQ, JPEGB, TIF, JPEGL e IHEAD. Na seguinte etapa (Geração de Mapas de
Imagem), consiste em encontrar dentro da imagem inserida áreas de média, alta e
baixa qualidade; esta análise é importante pois as vezes áreas de baixa qualidade são
consideradas e possivelmente tem grandes possibilidades de causar problemas nas
próximas etapas.
No terceiro passo do processo, que compreende a binarização da imagem, os
pixels da imagem são analisados e classificados em uma de duas cores: preta ou
branca. Aos pixels, identificados como cristas, é atribuído a cor preta, aos demais
25
identificados como vales, é atribuída a cor branca. Na quarta etapa, detecção de
minúcias, a imagem uma vez binarizada na etapa anterior, é escaneada e nela
identificado possíveis padrões existentes de ridges. Após a detecção de minúcias, a
etapa de remoção de falsas minúcias é realizada, onde os padrões de cristas
capturados na etapa anterior, tem grandes possibilidades de não efetivamente serem
válidos, dessa forma, nesta etapa, uma análise mais profunda é feita tentando
identificar padrões não válidos e removê-los, deixando apenas aqueles considerados
válidos.
Contagem de cristas vizinhas é a etapa onde é atribuído a cada uma das cristas,
uma vizinhança das 5 cristas mais próximas. Avaliação de qualidade das minúcias é o
passo onde é atribuído a cada minúcia encontrada sua qualidade; o passo final, saída
do arquivo de minúcias, fornece o resultado da extração e grava em um arquivo os
seguintes parâmetros extraídos da imagem e relacionados a minúcia: coordenadas x
e y em um plano cartesiano, qualidade e orientação (em graus).
1.4 COMBINADOR BOZORTH3
Bozorth3 é um algoritmo também disponibilizado pelo NBIS-EC (2013)
gratuitamente e com código aberto. A figura 5 ilustra a forma a qual o bozorth3 realiza
o matching entre duas impressões, sendo o mesmo invariante a rotação e translação.
Para realizar a combinação, o algoritmo leva em conta apenas as coordenadas
das minúcias (x,y) e sua orientação. Basicamente, o algoritmo recebe duas imagens
de impressões digitais, denominadas de probe e gallery, que são as imagens que
serão comparadas entre si; a seguir, é criada uma tabela chamada de Intra-Fingerprint
para cada uma das impressões, e então, cria-se uma nova tabela denominada Inter-
Fingerprint que funciona como uma tabela de compatibilidade, onde são acumulados
pontos em comum entre as tabelas anteriores de Intra-Fingerprint e, por fim, um
resultado em forma de número é fornecido. Quanto maior a pontuação, maior a
probabilidade das duas impressões inseridas no algoritmo serem do mesmo indivíduo.
Uma pontuação de 30 pontos é um forte indício que as impressões comparadas
pertencem ao mesmo indivíduo (NBIS-EC, 2013); no algoritmo disponibilizado é
utilizado como padrão o valor de limiar (threshold) 30. Modi e Elliott (2006), ao realizar
testes com o combinador bozorth3 utilizou um limiar de 40, os autores justificaram a
26
escolha deste valor por ter sido utilizado um banco de dados de impressões digitais
com baixa qualidade.
Figura 5 – Bozorth3 combinador de minúcias, invariante a rotação e translação .
Fonte: NBIS-EC (2013)
27
1.5 SEGURANÇA EM SISTEMAS BIOMÉTRICOS
A segurança é essencial para o sucesso de um sistema biométrico; assim como
todos os sistemas mais tradicionais, os sistemas baseados em biometria também
estão suscetíveis a ataques cibernéticos por indivíduos maliciosos. Prover sua
segurança é algo não trivial.
De acordo com Jain, Ross e Nandakumar (2011), a taxonomia de ataques que
podem ser praticados contra um sistema biométrico é apresentada na Figura 6, onde
as falhas intrínsecas estão relacionadas aos erros de falsa rejeição e falsa combinação
em que todos os sistemas biométricos estão vulneráveis. Estes erros são geralmente
causados nas etapas de captura do dado biométrico, onde o dispositivo ou leitor
biométrico pode apresentar falhas e, sendo assim, a etapa de extração de
características e combinação são comprometidas. Os ataques de adversários são
aqueles que se aproveitam das vulnerabilidades do sistema. Neste cenário, um
usuário malicioso visa acesso ao sistema para benefício próprio e sem autorização
legítima. Este tipo de ataque pode ser dividido em dois grupos, ataques internos e
ataques de infraestrutura.
28
Figura 6 – Taxonomia de ataques que podem ser realizados contra um sistema biométrico
Fonte: Adaptado de Jain, Ross e Nandakumar (2011).
No ataque interno é comum e necessário que haja interação humana para
parametrização do sistema, que pode ser feita para definir níveis de aceitação mínima
de combinação entre duas amostras, controle de performance, intervenção do
administrador, caso não haja disponibilidade do sistema ou falha de captura de
amostra. Estas interações humanas necessárias podem gerar cinco tipos de
problemas:
• Collusion: refere-se ao cenário onde um usuário autorizado sozinho ou em
colaboração com outros usuários ataca o sistema para benefício próprio, por
exemplo: ganho monetário. Este tipo de ataque é mais crítico quando o usuário
mal intecionado é um administrador que geralmente tem acesso e pode realizar
29
as operações mais impactantes dentro do sistema. A única forma de coibir este
tipo de situação é treinando os usuários com orientação sobre suas
responsabilidades, realizar auditorias periodicamentee realizando um
monitoramento constante e rigoroso.
• Coerção: é um tipo de ataque similar ao de Collusion, entretanto, neste caso, o
usuário não realiza o ataque por vontade própria, mas sim por coerção de outros,
por exemplo: uma ameaça com arma.
• Negligência: refere-se aos ataques aos quais são realizados por usuários não
autorizados que aproveitam da negligência de usuários genuínos. Por exemplo,
um usuário genuíno não realizar o logout do sistema pode permitir que um outro
usuário (malicioso)realize um ataque.
• Fraude de cadastro: neste tipo de ataque, um usuário pode cadastrar-se no
sistema utilizando credenciais falsas como: passaporte, carteira de identidade,
licença de motorista, entre outros. No caso de sistemas biométricos legados, um
usuário pode se cadastrar duas vezes possuindo, assim, dupla identidade no
sistema.
• Abuso de exceções: ao acontecer situações as quais o sistema biométrico fique
indisponível, por razões de hardware ou software, devem existir mecanismos
alternativos que permitam a um administrador realizar reconhecimento baseado
em outras credenciais que o usuário possua, como: senhas e tokens.
De acordo com os autores, como um sistema biométrico é constituído de uma
infraestrutura composta de vários módulos de software e hardware interligados,
envolvendo captura, extração de características, banco de dados de amostras,
combinador e módulo de decisão, é entendível que possa haver brechas em pontos
desta infraestrutura que comprometem a sua segurança. Estas brechas podem ser
citadas como sabotagem e sobrecarga, onde sabotagem se refere a danos físicos
cometidos contra os componentes da infraestrutura. Um exemplo de sabotagem é o
desligamento do fornecimento de energia ou prática de danos ao sensor biométrico.
Sobrecarga se refere a causar a não disponibilidade do sistema disparando várias
requisições ao mesmo tempo, e isso pode fazer com que o sistema fique em algum
modo alternativo e consequentemente mais vulnerável para outros tipos de ataques.
Tentativas de ataques relacionadas ao apresentar uma característica biométrica
30
(impressão digital, retina, iris ou palma da mão) ao sensor biométrico de captura, estão
associadas a ataques no nível de interface de usuário: Impersonation, Obfuscation e
Spoofing. Impersonation consiste na tentativa de um indivíduo se passar por um
usuário autorizado do sistema, aproveitando-se de alguma falha. Obfuscation
acontece quando um indivíduo tenta burlar o sistema biométrico para não ser
reconhecido. Spoofing refere-se ao uso de algum dispositivo que imite a característica
biométrica (voz gravada, dedo de borracha) para acesso ao sistema.
Ataques cibernéticos aos módulos do sistema podem ser realizados para sua
indisponibilização ou invasão, por exemplo, um trojan4 pode ser colocado entre o
módulo extrator de características e o combinador. Neste caso, o combinador
interagiria com um trojan ao invés de um extrator, assim, um usuário mal-intencionado
poderia utilizar desta falha de segurança ao seu favor. Ataques nas interconexões dos
módulos podem ser realizadas entre qualquer interligação entre os módulos, um
exemplo é o homem-do-meio (man-in-the-middle) onde um intruso gerencia os dados
enviados entre os módulos. A base de dados que contém as amostras também esta
vulnerável a ataques. Tendo isso em vista, existe uma série de abordagens que podem
ser aplicadas para minimizar estas vulnerabilidades, a que é utilizada neste estudo é
a abordagem por Criptosistema Keybinding. Para Maltoni et al. (2009) um
criptossistema por keybinding consiste em transformar um template desprotegido de
uma impressão digital dentro de um framework criptográfico, juntamente com uma
chave criptográfica em uma amostra pública e protegida, sendo que esta amostra
estaria disponível para o módulo de combinação.
1.6 CRIPTOSSISTEMA FUZZY VAULT
Proposto por Juels e Sudan (2002), o método Fuzzy Vault está incluído dentro dos
criptosistemas por keybinding e, particularmente, consiste em uma construção
criptográfica onde tanto o template biométrico armazenado quanto a impressão
retirada do leitor são protegidas dentro de um cofre (vault). Estes autores ilustram o
funcionamento de Fuzzy Vault da seguinte maneira: Alice possui uma lista de filmes e
deseja encontrar alguém que compartilhe de seu gosto por estes, entretanto ela não
4trojan é um software malicioso que a princípio parece estar executando uma função conveniente para o sistema, mas ao invés disso é um programa malicioso que tem por objetivo deixar o sistema vulnerável para futuros ataques.
31
quer dividir informações com pessoas as quais não compartilham de sua preferência.
Uma abordagem que ela poderia adotar é a de criptografar seu telefone utilizando este
conjunto de filmes de seu gosto. Sendo assim, apenas uma pessoa que tivesse um
gosto similar ao de Alice, poderia descriptografar seu telefone, ou seja, se Bob tivesse
uma lista de filmes que fosse similar ao de Alice, ele poderia descriptografar o telefone
dela e visualizar seu número.
O método Fuzzy Vault é introduzido, onde Alice pode trancar seu telefone
utilizando um conjunto A produzindo um cofre denotado por VA; se Bob tentar
destrancar este cofre utilizando seu conjunto B ele terá sucesso se o conjunto B tiver
um alto grau de semelhança com A. Por outro lado, se uma pessoa que tem um
conjunto de filmes que não coincidam com o conjunto A, não terá sucesso em
destrancar o cofre VA.
É importante observar que os conjuntos que serão comparados não precisam ser
necessariamente os mesmos e nem estarem ordenados. No caso, os filmes do
conjunto A não necessitam estar mesma ordem o qual estão os do conjunto B.
Portanto, não existe a necessidade de exatidão, ou seja, essa abordagem é tolerante
a erros. Fuzzy Vault pode ser útil em várias circunstâncias onde a segurança depende
de fatores humanos e a exatidão representa um problema. Um caso a se citar são os
sistemas biométricos, onde a característica biométrica cadastrada dificilmente será a
mesma capturada pelo sensor em um momento futuro. Por exemplo, em sistema
biométrico de impressão digital, quando o indivíduo se cadastra no sistema, nos
futuros acessos, dificilmente a impressão de consulta será posicionada em um mesmo
ângulo da impressão de cadastro.
O método Fuzzy Vault pode ser mais detalhado como: suponha que Alice deseje
ocultar um segredo k por meio de um conjunto A. Ela seleciona um polinômio p de uma
única variável x sendo que p codifica k de alguma forma, neste caso, atrelando o
coeficiente k ao polinômio p. Por exemplo, se o segredo k fosse 1234, o polinômio p
codificaria k da seguinte maneira:1x3+2x2.3x+4. O conjunto A seria tratado como
elementos de coordenadas x que seriam substituídos resultando assim em pontos em
um plano, e estes pontos derivados de A, seriam os pontos genuínos gerados pela
função. Após estes pontos serem gerados, para garantir a segurança do esquema,
seriam aplicados chaff points, que são pontos randômicos que seriam projetados no
mesmo plano dos pontos genuínos. A fusão destes pontos randômicos com pontos
genuínos forma uma coleção de pontos R.
32
Se Bob deseja destrancar este conjunto para ter acesso ao segredo k, utilizando o
seu conjunto B, então ele só terá sucesso se conseguir encontrar em R um número de
pontos que coincidam em grande número com A, que são os pontos genuínos. Uma
vez que no conjunto B não existam pontos que coincidam com os pontos em A, não
será possível de Bob obter o segredo k.
A complexidade do método Fuzzy Vault está baseada no problema da
reconstrução polinomial, um caso especial do problema de decodificação de lista
Reed-Solomon5. Com este tipo código de correção de erros, chamado Reed-Solomon,
é possível que se possa reconstruir uma mensagem c, a partir de c’, que representa a
mesma mensagem c com ruído. A Figura 7 ilustra o funcionamento de um sistema
Fuzzy Vault para biometria por impressão digital.
Embora proposto por Juels e Sudan (2002), os mesmos não disponibilizaram uma
implementação prática, apenas a ideia por trás do método, apresentando os principais
conceitos. Em um primeiro momento; Clancy (2003) apresentou uma implementação
do método baseando-se nas localidades das minúcias (características extraídas de
uma impressão digital que a distingue das outras) e obteve com esta pesquisa uma
alta taxa de FNMR (False Non-Match Rate) que ficou entre 20-30%. False Non-Match
Rate refere-se à taxa de impressões digitais que não foram reconhecidas pelo sistema,
mesmo sendo genuínas.
Em um estudo feito por Uludag, Pankanti e Jain (2005), foi apresentada uma
implementação de Fuzzy Vault para impressões digitais, sendo que os autores
assumiram que a captura da impressão pelo leitor biométrico era sempre a mesma,
eliminando assim, questões de alinhamento de imagem. Para Maltoni et al. (2009), o
problema de alinhamento de imagem no método Fuzzy Vault ainda continua em
aberto.
Figura 7 – Funcionamento do esquema Fuzzy Vault aplicado à biometria por impressão digital
5Reed-Solomon, no contexto do método Fuzzy Vault, está relacionado com o problema da reconstrução polinomial, que neste caso pode ser utilizado para correção de erros e recuperação de dados.
33
Fonte: Adaptado de Nandakumar, Jain e Pankanti (2007).
34
Não só na biometria por impressão digital que Fuzzy Vault é um assunto relevante
de pesquisa; outros sistemas biométricos também já foram implementados utilizando
este método, como é o caso de Wu e Yuan (2010) que implementaram o método no
reconhecimento de face; Reddy e Babu (2008) aplicaram no reconhecimento de íris.
Sowkarthika e Radha (2013) propuseram a utilização de Fuzzy Vault em um sistema
biométrico multimodal (possuem mais de uma característica biométrica, por exemplo:
íris e impressão digital), onde ocorreria a fusão das características de íris e da
impressão digital resultando em uma só característica e todo o processo pertinente ao
método seria então aplicado.
1.7 FUNDAMENTOS DE CRIPTOGRAFIA
Quando se faz necessária a troca de mensagens sigilosas entre duas pessoas ou
máquinas, é indispensável a utilização de algum mecanismo que possa camuflar estas
mensagens de uma forma de que uma terceira pessoa não consiga descobri-la. No
caso do mundo computacional, onde a informação é algo muito sensível e que sua
exposição a pessoas não autorizadas pode trazer incalculáveis prejuízos, é altamente
relevante a utilização de tais mecanismos. Um mecanismo que atende esta
necessidade de que apenas os legítimos interessados tenham acesso a informação,
é a criptografia.
Segundo Menezes et al. (1997), criptografia não se limita apenas a uma forma de
proteger informação, e sim a uma ampla área onde matemática e aspectos de
segurança da informação(confidencialidade, integridade, autenticação e não-
repudiação) são utilizados para se atingir um determinado objetivo relacionado à
segurança da informação; sendo assim, dentro do escopo da criptografia, questões
relacionadas a identificação e prevenção de atividades maliciosas são levadas em
consideração. Os objetivos da criptografia em suma são:
a) Confidencialidade: permitir apenas aos indivíduos autorizados o acesso à
informação, prevenindo o acesso de terceiros não autorizados;
b) Integridade de dados: coibir a modificação dos dados originais por indivíduos
não autorizados;
35
c) Autenticação: está relacionada à identificação, quando existe uma troca de
dados entre dois canais (origem e destino), utilizando a autenticação, as duas
entidades envolvidas são capazes de se identificarem.
d) Não-repudiação: tem como objetivo prevenir que ações tomadas previamente
por um indivíduo, não sejam negadas. O que significa garantir que se um
indivíduo ou sistema realiza uma ação, ele não poderá negar sua ação.
Para Buchmann (2004), a encriptação é o tópico mais importante da criptografia,
pois é onde acontece a transformação da mensagem em um dado cifrado (oculto). Um
esquema de encriptação é um tupla composta por (P,C,K,ε,D); onde:
• P: é um conjunto, é o elemento que representa o texto simples (plaintext);
• C: é um conjunto, é o espaço cifrado (ciphertext);
• K: é um conjunto, chamado espaço chave (keyspace);
• ε: é uma família de funções chamadas de funções de encriptação (encryption
functions);
• D: é uma família de funções, seus elementos são chamados de funções de
decriptação (decryption functions).
A figura 8 mostra um modelo simples de encriptação; neste modelo um texto
qualquer (plaintext) é encriptado por uma chave conhecida pelo remetente e
destinatário, e então esta mensagem cifrada é enviada por um canal. Caso esta
mensagem seja interceptada por um terceiro, o mesmo não terá sucesso em visualizá-
la pois a mesma está encriptada e para decriptá-la é necessário a chave que apenas
o remetente e destinatário conhecem. Uma vez que a mensagem chega ao seu destino
cifrada, ela poderá ser decriptada pois o destinatário é conhecedor da chave.
Figura 8 – Modelo de encriptação tradicional
36
Fonte: Adaptado de Stallings (2002).
Menezes et al. (1997) define criptossistema, como um termo geral que engloba os
conceitos de criptografia e segurança da informação. Buchmann (2004) aponta que
existem duas formas de encriptação em um criptossistema: simétrica e assimétrica.
Na encriptação simétrica, a chave que realiza a encriptação na origem é a mesma
chave que no destino será utilizada para decriptação (cifra de César, AES). Já na
encriptação assimétrica as chaves utilizadas para encriptação e decriptação são
chaves distintas, neste caso, a chave de encriptação pode ser exposta, conhecida
como chave pública, entretanto a chave de decriptação deve ser mantida privada
(RSA, public and private key).
37
2 IMPLEMENTAÇÃO DO MÉTODO FUZZY VAULT
A implementação de um sistema biométrico de impressão digital não é trivial,
existem várias formas e técnicas de fazê-lo, diferentes algoritmos e sensores de
captura da característica biométrica (Petrovska-Delacrtaz, Chollet e Dorizzi; 2009).
Esta pesquisa implementa o criptossistema de Fuzzy Vault para avaliação e simulação
em um aplicativo biométrico (ABID). Diversos autores ao implementarem o método de
Fuzzy Vault, optaram por também inserir algumas fases de um sistema biométrico,
como a extração de características, onde as minúcias são extraídas, e a combinação,
onde as impressões são comparadas umas com as outras. Como o objeto de estudo
deste estudo não é a implementação de um sistema biométrico de impressão digital
do ponto de vista da avaliação de suas fases de extração e combinação, mas sim a
análise e implementação do criptossistema Fuzzy Vault, os passos inerentes à
extração de características foram feitos utilizando o detector de minúcias MINDTCT
(NBIS, 2013) e a etapa de combinação utilizando o algoritmo bozorth3 (NBIS-EC,
2013). Da literatura pesquisada, é pertinente citar que o MINDTCT foi utilizado por
Kikuchi, Onuki e Nagai (2007) para a realização da fase de extração de minúcias. As
próximas sessões explicarão como o método Fuzzy Vault foi implementado,
detalhando suas fases de: extração, codificação e decodificação.
2.1 EXTRAÇÃO DE MINÚCIAS
Nesta fase é realizada a extração de minúcias de uma impressão digital em
formato de imagem. Para este fim foi utilizado o algoritmo MINDTCT na linguagem
VB.NET, que fornece as coordenadas (x,y) das minúcias na impressão, ângulo (em
graus) e qualidade (número inteiro). Um exemplo destes parâmetros retornados pelo
extrator MINDTCT seria o conjunto A6 = {273,123,180,75}, onde os valores 273 e 123
seriam as coordenadas X e Y, respectivamente, em um plano cartesiano; o terceiro
valor, 180, seria o ângulo da minúcia e o quarto valor, 75, a qualidade da mesma. A
quantidade de informações sobre as minúcias ou o tamanho do conjunto de
parâmetros retornados pelo algoritmo estão diretamente ligados à qualidade e
6 conjunto retornado pelo extrator de minúcias MIDTCT (NBIS, 2013) em uma das impressões submetidas ao algoritmo.
38
resolução da imagem da impressão digital gerada pelo sensor; o algoritmo sempre
fornece um conjunto de parâmetros semelhante ao apontado no exemplo acima.
2.2 CODIFICAÇÃO DO SEGREDO
Após o desenvolvimento da extração de minúcias, passa-se à etapa de codificação
do segredo, que consiste em, dado um segredo qualquer de até 128 bits, criptografá-
lo utilizando informações sobre as minúcias extraídas, conforme descrito
anteriormente. A escolha do segredo de 128 bits e os passos inerentes a codificação
do segredo foi baseada nos trabalhos notáveis de Nandakumar, Jain e Pankanti
(2005), Uludag e Jain (2006), Uludag et al. (2004) e Uludag, Pankanti e Jain (2005). A
implementação desta etapa foi desenvolvida toda em Java, e a criptografia
mencionada é realizada da seguinte forma:
• seleciona-se um número n de minúcias, que no caso desta implementação, foram
9 as selecionadas (ULUDAG; JAIN, 2006); o parâmetro de escolha utilizado foi a
qualidade de extração da minúcia, sendo que as minúcias foram escolhidas por
ordem decrescente de qualidade;
• seleciona-se um polinômio de forma que seus coeficientes sejam o segredo de 128
bits que se pretende criptografar e, desta forma, cada parte do segredo
corresponderá a um coeficiente do polinômio. No caso desta implementação, o
polinômio escolhido foi p(u)=c8u8+c7u7+...+c1u+c0, que por sua vez apresenta grau 8.
Um exemplo que pode ser demonstrado para melhor entendimento é o seguinte:
um segredo de 128 bits é gerado, sendo que o mesmo corresponde a uma chave
de um algoritmo de AES, comumente utilizado para criptografar arquivos. Neste
exemplo, o segredo que se deseja proteger é a chave de 128 bits gerada pelo
algoritmo de AES. A chave no formato short (com 16 bits cada valor) neste caso,
para fins de ilustração, poderia ser a: 12432, 12989, 31111, 32122, 23111, 21980,
21876, 19990; atrelando cada um destes valores da chave ao polinômio de grau 8
tem-se o seguinte polinômio: 𝑝(𝑢) = 12432𝑢8 + 12989𝑢7 + 31111𝑢6 + 32122𝑢5 +
23111𝑢4 + 21980𝑢3 + 21876𝑢2 + 19990𝑢 + 25876; neste polinômio é possível observar
que cada um dos 8 valores da chave foi agregado como um coeficiente. Observa-
se que o último valor "25876" não aparece na chave, porque ele corresponde a um
39
código verificador CRC7, que é necessário para certificar que mais tarde o segredo
(chave) foi decodificado corretamente;
• realizam-se avaliações neste polinômio com os valores concatenados das
coordenadas X e Y das minúcias para que se mantenham os valores em um certo
limite (range). O valor concatenado das minúcias é dividido, alguns por 10000 e
outros por 100000, procedimento necessário para que possa trabalhar com a
interpolação polinomial de Lagrange, ou seja; se as coordenadas fossem 278 e 123,
primeiramente seriam concatenadas resultando em 278123, valor que seria dividido
por 10000, resultando em 2.78123 e em algumas vezes por 100000, resultando em
0.278123. Estes passos são necessários para que se gere no cofre (vault) os pontos
genuínos, que mais tarde serão alocados em um plano cartesiano juntamente com
pontos falsos, chamados "chaff points";
• geram-se pontos aleatórios no plano cartesiano justamente para esconder os
pontos genuínos que, se descobertos, revelam o segredo. Estes pontos aleatórios
ou falsos são adicionados no mesmo plano dos pontos genuínos, com o objetivo de
escondê-los, quanto mais pontos falsos (aleatórios) são adicionados, mais seguro
fica o cofre (vault). Assim sendo, um grande número destes pontos aleatórios fará
os pontos genuínos serem dificilmente identificados, sem que se tenha uma
impressão digital com as coordenadas certas; na implementação utilizada, a
quantidade destes pontos é parametrizável.
Terminados estes procedimentos, tem-se um cofre ou vault, que esconde o
segredo, devido ao fato de a interpolação polinomial de Lagrange ter sido utilizada na
parte de decodificação do segredo; em alguns casos, pode-se gerar até 8 cofres
distintos, devido à probabilidade de erro da interpolação. Foram necessárias a
realização de alguns procedimentos na etapa de codificação com o objetivo de garantir
o correto funcionamento da etapa precedente de decodificação. Em algumas
situações, nos trabalhos de referência,a descrição não apontava detalhes ou a
implementação não funcionava da mesma forma como foidescrita. Dessa forma, a
maneira que se encontrou de contornar estas adversidades foi realizando adaptações
que possibilitaram atingir os resultados esperados em cada etapa. O caso da divisão
7Cyclic Redundancy Check, ou verificação de redundancia cíclica, é uma forma de detecção de erros utilizada comumente para verificar possíveis ruídos na transmissão de dados em um canal de comunicação (ULUDAG; PANKANTI; JAIN, 2005).
40
de alguns valores por 10000 e outros por 100000, descrito anteriormente, foi realizado
para que mais tarde, na etapa de decodificação do segredo, a interpolação polinomial
de Lagrange pudesse ser utilizada com qualquer chave de 128 bits gerada
aleatoriamente. Em um primeiro momento, ao não realizar as referidas divisões,
algumas chaves de 128 bits não eram decodificadas corretamente.
2.3 DECODIFICAÇÃO
Na etapa de decodificação, tenta-se encontrar os pontos genuínos que estão
ocultos dentro dos cofres gerados. Neste estudo,a decodificação foi desenvolvida da
seguinte forma:
• Seleciona-se uma impressão digital para encontrar os pontos genuínos, onde ela
servirá como consulta (query);
• Compara-se primeiramente a impressão utilizada para codificar o segredo com a
impressão corrente de consulta, utilizando o algoritmo bozorth3. Caso esta
comparação indique que ambas impressões pertencem ao mesmo indivíduo,
então as mesmas coordenadas de minúcias utilizadas para codificar o segredo
são fornecidas pelo combinador;
• Com estas coordenadas fornecidas pelo bozorth3, tem-se os valores de x (do eixo
das abscissas) que devem ser tratados (alguns divididos por 10000 e outros por
100000, até que se encontre em cada um dos cofres os valores xdas abscissas),
lembrando que estes valores x representam as coordenadas concatenadas. Por
exemplo, se uma das coordenadas for 278 e 379, seriam concatenadas para
"278379". Para cada cofre é realizado a interpolação polinomial de Lagrange8 e,
se for verificado que o último coeficiente de número 9 representa o código
verificador CRC dos 8 primeiros coeficientes retornados, o segredo é encontrado;
8A interpolação de Lagrange foi utilizada devido ao fato desta ter sido citada nos trabalhos de Uludag, Pankanti e Jain (2005), Uludag (et al., 2004),Nandakumar, Jain e Pankanti (2007) eUludag e Jain (2006)para encontrar os coeficientes do polinômio gerado, que neste caso, é o próprio segredo.
41
3 IMPLEMENTAÇÃO DO ABID
O ABID, basicamente, é um encriptador/decriptador de arquivos que utiliza o
algoritmo AES de chave simétrica. Ao encriptar um arquivo é gerada uma chave que
deve ser armazenada com segurança, pois a sua descoberta leva à decriptação do
arquivo. Neste estudo, o método Fuzzy Vault atua protegendo a chave e
disponibilizando-a com formato público. Para isso, o método utiliza uma impressão
digital, onde é possível proteger tanto a chave quanto a amostra de impressão digital.
No momento que se deseja decriptar o arquivo, é necessário fornecer uma impressão
digital genuína (pertencente ao mesmo indivíduo que codificou a chave), sendo assim
a chave é decodificada e pode ser utilizada na decriptação do arquivo. Neste capítulo
será descrito o funcionamento do ABID, detalhando todas as suas telas, assim como
sua arquitetura e interações entre seus componentes.
3.1 ARQUITETURA DO ABID
A figura 9 mostra a arquitetura do ABID, onde se encontram todos os seus
componentes. O componente de Interface Usuário é responsável por receber todas as
requisições do usuário, como: decriptar/encriptar um arquivo e codificado/decodificar
um segredo. O módulo Algoritmo AES tem o objetivo de encriptar e decriptar um
arquivo; como consequência, este módulo fornece uma chave de 128 bits e o arquivo
encriptado em um formato público. O componente “Tipos de Arquivos” é responsável
por armazenar o arquivo encriptado em um formato público e chamar o módulo
“Segredo” que armazenará a chave de 128 bits. O módulo de FuzzyVault é
responsável por codificar e decodificar a chave de 128 bits, para isso são utilizados os
seguintes componentes: Segredo, Banco de Dados, Combinador e Extrator de
Minúcias. Para codificar o segredo o módulo Fuzzy Vault precisa do componente
Segredo, que contém a chave de 128 bits, do banco de dados que contém a impressão
que será utilizada para codificação e o componente Extrator de Minúcias que fornecerá
as coordenadas da impressão submetida. Para decodificar o segredo, o módulo Fuzzy
Vault utiliza duas impressões digitais do módulo Banco de Dados uma de consulta e
uma de cadastro, realiza a extração das minúcias utilizando o componente MIDTCT e
realiza a combinação das impressões utilizando o componente Bozorth3.
42
Figura 9 – Arquitetura do Software desenvolvido
Fonte: O autor (2014).
3.2 FUNCIONAMENTO DO ABID
43
Será demonstrado nesta seção o funcionamento do aplicativo de
encriptação/decriptação de arquivos denominado ABID e, na sequência, serão
mostradas as avaliações realizadas sobre ele. O algoritmo escolhido para encriptar e
decriptar arquivos é o AES de chave simétrica, onde o mesmo ao encriptar um arquivo,
fornece uma chave de 128 bits que aqui será utilizada como o segredo que se deseja
ocultar. A escolha do tamanho da chave e do tipo de algoritmo de
encriptação/decriptação foram baseados nos trabalhos de Nandakumar, Jain e
Pankanti (2007), Uludag e Jain (2006), Uludag et al. (2004) e Uludag, Pankanti e Jain
(2005).
Primeiramente, quando se inicia o ABID, a tela da Figura 10 é mostrada. Nela
pode-se visualizar campos específicos para uma impressão de cadastro (enroll,
impressão utilizada para codificar o segredo), um plano 2D contendo as avaliações
polinomiais realizadas com as coordenadas da impressão digital de cadastro e um
campo para a chave de 128 bits gerada, que neste caso é o segredo que se deseja
codificar.
Figura 10 – Tela de codificação do segredo
Fonte: Acervo próprio
44
Para alimentar os campos da tela inicial de codificação do segredo, deve-se
selecionar uma impressão de cadastro, onde a partir dela o segredo será ocultado. A
tela da figura 11 apresenta o banco de dados FVC2004, onde nomes e fotos foram
colocados apenas como aspectos ilustrativos. É possível observar que nesta mesma
tela tem-se impressões de 100 indivíduos distintos, indicado pelo contador "1/100" e
cada um destes indivíduos possuem 8 impressões em posições e qualidades
diferentes, que é percebido por "1/8".
Figura 11 – Tela da base de dados FVC 2004
Fonte: Acervo próprio
Uma vez que a impressão digital de cadastro é escolhida, é necessário selecionar
um arquivo para encriptação; a figura 12 mostra a tela de seleção de arquivos que
serão encriptados com o algoritmo AES. Uma chave simétrica de 128 bits será gerada
que corresponde ao segredo que será ocultado com a impressão de cadastro.
45
Figura 12 –Tela de encriptação de arquivos com o algoritmo AES
Fonte: Acervo próprio.
A tela da figura 13 mostra todos os campos preenchidos após a realização dos
passos de seleção da impressão e do arquivo que se deseja encriptar. É possível
observar a impressão de cadastro, as avaliações polinomiais, onde os pontos
vermelhos correspondem aos pontos genuínos, ou seja, os pontos que efetivamente
devem ser ocultados. Há também os "chaff points", ou pontos falsos, usados para
ocultar os pontos genuínos; representados pelos pontos em azul, tem-se um total de
306 chaff points. O segredo de 128 bits é mostrado na figura em questão, sendo que
o mesmo foi transformado em caracteres para melhor visualização, lembrando que o
segredo é um conjunto de 128 bits divididos em 8 fragmentos de 16 bits gerado
automaticamente. Foram gerados 8 cofres (vaults) distintos, sendo que apenas um
deles conseguirá decodificar o segredo (chave de 128 bits).
46
Figura 13 – Tela de codificação com os campos preenchidos
Fonte: O autor (2014).
A figura 14 mostra as minúcias de uma impressão digital identificadas pelo extrator
MINDTCT, onde são representadas como coordenadas em um plano cartesiano;
sempre que uma impressão digital é utilizada para cadastro ou consulta (query), é
necessário que o algoritmo realize a extração de minúcias.
47
Figura 14 –Tela de impressão digital com as coordenadas das minúcias
Fonte:O autor (2014).
Quando se realiza a codificação do segredo, tem-se um cofre (vault) semelhante
ao exposto na figura 15. Neste cofre que é a representação de um plano cartesiano,
encontram-se os pontos genuínos e falsos. Para que se possa decodificar o segredo,
torna-se necessário descobrir no meio destes pontos (um total de 315), 9 pontos
genuínos em uma ordem definida.
48
Figura 15 –Tela de Fuzzy Vault onde os chaff points e os pontos genuínos são mesclados
Fonte: O autor (2014).
Uma vez que o segredo encontra-se codificado, apenas uma impressão digital
correspondente à impressão do indivíduo que a codificou, será capaz de descodificar
o segredo.
Para a etapa de decodificação, é necessário selecionar uma impressão digital da
base de dados que servirá como impressão de consulta. A figura 11 ilustra a tela da
base de dados FVC2004; de onde deverá ser selecionada a impressão de consulta.
Após a escolha da impressão, realiza-se a decodificação do segredo; a figura 16
mostra a tela onde é realizado a combinação entre a impressão de cadastro e a de
consulta. Caso as duas impressões pertençam ao mesmo indivíduo, as coordenadas
genuínas serão encontradas dentro do cofre (vault). Com as coordenadas genuínas,
será possível decodificar o segredo que é mostrado na figura 16 em questão.
49
Figura 16 – Tela de decodificação
Fonte: O autor (2014).
Com a chave de 128 bits decodificada, é possível realizar a decriptação do arquivo
que foi encriptado; a figura 17 ilustra a tela onde é realizada esta decriptação e também
sua respectiva chave. São mostrados também o tempo gasto pelo aplicativo aqui
desenvolvido para realizar alguns dos passos inerentes ao método de Fuzzy Vault,
como o tempo de decodificação e codificação do segredo (chave de 128 bits). Foi
avaliado também o tempo de encriptação e decriptação do arquivo selecionado, uma
vez que estas etapas fazem parte do aplicativo aqui desenvolvido.
50
Figura 17 – Tela de decriptação
Fonte: O autor (2014).
51
4 RESULTADOS
4.1 AVALIAÇÕES DE FRR, FAR E GAR
Com o intuito de avaliar o combinador de impressões do ABID, foram realizados
alguns experimentos comuns à sistemas biométricos: Falsa Rejeição ou FRR (False
Rejection Rate), Falso Aceite ou FAR (False Acceptance Rate) e Aceite Genuíno GAR
(Genuine Accept Rate). A base de dados utilizada nesta pesquisa foi o DB1 da
FVC2004. As impressões digitais foram capturadas utilizando o sensor óptico "V300"
da empresa "CrossMatch", possuem um tamanho de imagem de 640x480, 307 pixels
e resolução de 500dpi. Este banco de dados tem um número de 800 imagens
pertencentes a 100 pessoas diferentes e, para cada indivíduo, foi realizada a captura
de 8 imagens distintas (100x8).
Para a realização do teste de FAR, que verificam a taxa de impressões não
genuínas e que são identificadas erroneamente pelo algoritmo como genuínas,
obteve-se a taxa de 0%, o que significa que nenhuma impressão não genuína foi
identificada pelo algoritmo como genuína. Neste teste foi realizada uma comparação
de cada impressão com as demais pertencentes a indivíduos diferentes, por exemplo:
as impressões do indivíduo 1, que totalizam 8, foram individualmente comparadas com
todas as outras 99x8 (99 indivíduos restantes com 8 impressões cada um), ou seja,
792. Não foram feitos testes reversos entre impressões, que pode ser exemplificado
por: uma vez que as impressões 1_1(impressão 1 do indivíduo 1) e 2_1(impressão 1
do indivíduo 2) já foram realizadas, não se compara a impressão 2_1 com a impressão
1_1, isto porque teriam o mesmo resultado devido ao funcionamento do algoritmo
bozorth3, onde para ambas as comparações o score fornecido pelo algoritmo
resultaria no mesmo valor. Desta forma, para o próximo indivíduo, 2, o número de
comparações não seria mais 792 para cada impressão, mas sim 98x8 = 784. Para o
terceiro, ter-se-ia 97x8 = 776, e assim por diante, à medida que se fosse progredindo,
ter-se-iam menos comparações. No total, foram realizadas 316800 comparações e a
FAR resultou em 0%.
Para o cálculo de FRR, deve-se comparar entre si apenas impressões
pertencentes ao mesmo indivíduo, ou seja, compara-se as 8 impressões do indivíduo
1, uma a uma, onde se obteria o resultado mostrado na Tabela 1.
52
Tabela 1 –Comparação entre impressões do mesmo indivíduo para cálculo de FRR
CADASTRO CONSULTA
1_1 1_2
1_1 1_3
1_1 1_4
1_1 1_5
1_1 1_6
1_1 1_7
1_2 1_3
1_2 1_4
1_2 1_5
1_2 1_6
1_2 1_7
1_2 1_8
1_3 1_4
1_3 1_5
1_3 1_6
1_3 1_7
1_3 1_8
1_4 1_5
1_4 1_6
1_4 1_7
1_4 1_8
1_5 1_6
1_5 1_7
1_5 1_8
1_6 1_7
1_6 1_8
1_7 1_8
Fonte: O autor (2014)
Como pode ser visto na Tabela 1 de comparações, para o indivíduo 1, que contém
8 impressões diferentes, foram feitas comparações entre todas as possíveis
combinações de suas impressões resultando em 28 comparações. Como na etapa
anterior, não foram feitas comparações inversas, onde uma vez que já se comparou a
impressão 1_1 com a 1_2, não foi feita a comparação entre 1_2 e 1_1, pois o algoritmo
bozorth3 trata as duas comparações igualmente, resultando assim, em um mesmo
score. A Tabela 1 mostra as comparações feitas para as impressões do indivíduo 1;
para as demais impressões dos indivíduos de 2 a 100 foram repetidos os mesmos
procedimentos.
Foram realizadas 2800 comparações ao todo e obteve-se uma taxa de FRR de
37,25 e uma taxa de GAR de 62,75.É importante observar que algumas impressões
da base de dados apresentam propositalmente uma qualidade muito baixa, justamente
para testar os algoritmos de combinação e extração de minúcias e, devido a isto,
53
algumas impressões não são possíveis de ser identificadas como genuínas. Caso
fossem utilizadas apenas impressões de qualidade média e alta seria possível de obter
maiores taxas de GAR e menores taxas de FRR.
4.2 AVALIAÇÃO DE SEGURANÇA E PERFORMANCE DO ABID
Para avaliação de performance do ABID, foram utilizadas 4 impressões digitais de
indivíduos distintos e 3 arquivos randômicos de 16 Bytes, 46.8 MB e 86.6 MB.
Um total de 12 avaliações foram realizadas, encriptando os 3 arquivos, sendo que
duas impressões de cada indivíduo foram utilizadas, uma delas para codificar o
segredo e a outra para decodificá-lo. A tabela 2 mostra as comparações realizadas e
demais informações relevantes para análise.
Tabela 2 – Tabela de avaliações realizadas com o aplicativo biométrico
Cadastro Consulta Tamanho
do
Arquivo*
Tempo de
Encriptação *
Tempo de
Decriptação*
Tempo de
Codificação*
Tempo de
Decodificação*
Tempo
Total*
1_1.tif 1_2.tif 16 bytes 1,972 1,34 0,925 0,005 4.242
1_1.tif 1_2.tif 46,8 MB 2,033 1,403 10,095 10,113 23,644
1_1.tif 1_2.tif 86,6 MB 3,223 1,317 7,075 9,098 20,713
2_1.tif 2_2.tif 16 bytes 2,817 1,654 3,554 0,004 8,029
2_1.tif 2_2.tif 46,8 MB 2,017 1,479 10,625 3,331 17,452
2_1.tif 2_2.tif 86,6 MB 1,953 1,596 17,758 5,667 26,974
3_1.tif 3_2.tif 16 bytes 2,003 1,517 1,033 0,003 4,556
3_1.tif 3_2.tif 46,8 MB 1,93 5,352 3,404 2,658 13,344
3_1.tif 3_2.tif 86,6 MB 1,987 1,46 5,348 10,365 19,16
4_1.tif 4_2.tif 16 bytes 2,029 1,658 0,948 0,015 4,65
4_1.tif 4_2.tif 46,8 MB 1,957 1,429 3,203 2,93 9,519
4_1.tif 4_2.tif 86,6 MB 1,96 1,362 17,76 4,95 26,032
* Em segundos
Fonte: O autor (2014).
Nestes experimentos foram utilizados 306 chaff points e 9 pontos genuínos,
totalizando em 315 pontos. A tabela 3 mostra o tempo estimado que seria
necessáriopara que um cracker(indivíduo que pretende causar prejuízos ao sistema)
conseguisse descobrir a chave de 128 bitsutilizando critérios aleatórios (comumente
54
chamado de "Força Bruta"). Os tempos de decriptação e decodificação (decoding),
além dos tamanhos dos arquivos, foram retirados dos dados da tabela 2. É perceptível
que, comparando os tempos do arquivo de 46,8 MB e do de 86,6 MB, o menor arquivo,
em algumas avaliações, possui um tempo maior do que o maior arquivo. Isto pode ser
justificado pela chave gerada, ou pelas avaliações polinomiais na decodificação, que
podem ser menores no arquivo de 86,6 MB. A escolha do tamanho dos arquivos foi
aleatória, sendo utilizada somente para exemplificar.
Tabela 3 – Tabela onde mostra o tempo necessário para descobrir a chave de 128 bits via ataque aleatório comumente chamado de "Força Bruta"
Tamanho do arquivo Tempo de decriptação e decoding em segundos
Tempo em anos
Tempo em séculos
16 bytes 1,345 25.565.486.352 255.654.863
46,8 MB 11,516 218.893.785.005 2.188.937.850
86,6 MB 10,415 197.966.201.005 1.979.662.010
Fonte: O autor (2014).
4.3 ANÁLISE DOS RESULTADOS
Neste trabalho foi possível desenvolver o método Fuzzy Vault utilizando os
algoritmos opensource da NBIS (2013) e a base de dados FVC2004-DB1, todos estes
componentes deram origem ao ABID. Os experimentos foram realizados em um
computador com o processador Turion X2 de 64 bits e memória RAM de 4 GB.
Nas avaliações sobre FAR, obteve-se uma taxa de 0%, o que é vantajoso, pois um
indivíduo não genuíno, não conseguiria decodificar o segredo. As taxas médias de
37% para FRR e de 63% para GAR mostram-se aceitáveis, pois dentre as impressões
da FVC2004, algumas são propositalmente capturadas com uma qualidade muito
baixa, justamente para testar alguns algoritmos state of art em extração de minúcias e
matching.
Caso apenas as impressões com alta e média qualidade fossem consideradas,
poder-se-ia atingir maiores taxas de GAR e menores de FRR. Comparando estes
resultados com o de autores como Uludag e Jain (2006), percebe-se que estes
conseguiram taxas de GAR entre 72.6% até 84.5%, variando alguns parâmetros; a
taxa de FAR manteve-se constante em 0%.Estes autores utilizaram a base de dados
FVC2002 (Fingerprint Verification Competition, 2002), com apenas duas impressões
55
de cada indivíduo. Diante destes resultados, é perceptível que alcançaram taxas
maiores de GAR, o que é um ponto positivo. Entretanto, com uma análise mais
minuciosa, verifica-se que os autores utilizaram apenas 2 impressões por indivíduo.
Nesta pesquisa, trabalhou-se com todas as 8 impressões de cada indivíduo,
considerando também aquelas de baixa qualidade, o que apresenta um diferencial se
comparado com o trabalho dos autores supracitados, onde não foi exposto quais
impressões foram utilizadas.
Uma outra comparação que pode ser feita, é com o trabalho de Moon et al. (2012),
onde se obteve uma taxa de GAR de 92.1% e FAR de 0%, utilizando a base de dados
FVC2002. Este trabalho também não menciona o número de impressões e nem a
quantidade de impressões por indivíduo, o que impossibilita uma comparação direta
com os resultados desta pesquisa.
É importante, também, ressaltar que o limiar (threshold) de pontuação do algoritmo
de combinação bozorth3 é parametrizável, ou seja, é possível definir um limiar mínimo
que identifica duas impressões como pertencentes ao mesmo indivíduo. Os
experimentos realizados foram executados com a parametrização padrão. Desta
forma, duas impressões devem apresentar uma pontuação de 30 para serem
consideradas de um mesmo indivíduo. Porém, é possível parametrizar uma pontuação
mais baixa, 25, por exemplo, que possibilitaria que as impressões de baixa qualidade
fossem consideradas pelo algoritmo bozorth3 e, com isso, as taxas de GAR
aumentariam e as de FRR abaixariam. Esta possibilidade pode ser estudada, porém,
em contrapartida, é preciso considerar este efeito nas taxas de FAR, que deverão
continuar constante em 0%.
O aplicativo desenvolvido nesta pesquisa mostrou uma performance satisfatória
ao se trabalhar com pequenos arquivos que poderiam representar inclusive arquivos
de textos como, por exemplo, troca de e-mails. Uma vez que o aplicativo desenvolvido
neste estudo fosse aplicado para encriptar/decriptar e-mails, ele teria uma
performance aceitável, já que possui um tempo total para tal tarefa de
aproximadamente 5 segundos, onde este tempo seria dividido pelo remetente e
destinatário do e-mail. Ao se trabalhar com arquivos maiores de 50 e 100MB,
aproximadamente, o tempo para encriptação/decriptação do arquivo é maior, saindo
de 10, podendo chegar até 23 segundos. Considerando que o tempo de
encriptação/decriptação destes arquivos maiores é superior, seria interessante a
utilização desta criptografia apenas se a informação trocada fosse crítica, onde o
56
tempo total seria dividido novamente entre remetente e destinatário. Acredita-se que
com este trabalho inicial, possa-se caminhar para atingir um aperfeiçoamento do
método e expô-lo para trabalhos futuros.
57
CONSIDERAÇÕES FINAIS
Esta pesquisa apresentou o método Fuzzy Vault, onde foi possível implementá-lo
utilizando algoritmos de código aberto. Primeiramente, foi apresentada uma visão
geral do método expondo seu funcionamento; falou-se também do ABID e dos
objetivos a serem alcançados. Em seguida foi explicada a inserção do método Fuzzy
Vault dentro da segurança em sistemas biométricos e o seu foco nestes sistemas que
utilizam a impressão digital como forma de identificação.
Durante o estudo da literatura do método Fuzzy Vault, constatou-se algumas
limitações em algumas abordagens como: desempenho, necessidade de especialista
(para extração de minúcias de uma impressão digital) e trabalhos que não concluíram
o desenvolvimento do método como um todo, deixando para trabalhos futuros; além
de outras limitações apontadas. Dentro destas limitações destacou-se a de Jeffers e
Arakala (2006), onde propuseram a utilização de certos algoritmos de combinação,
que, até então, não tinham sido explorados com o método Fuzzy Vault.No entanto, os
autores não implementaram os passos de codificação e decodificação do segredo,
apenas apontaram possíveis resultados.
Observou-se que os algoritmos de código aberto bozorth3 e MIDTCT possuíam
semelhanças com os propostos no trabalho de Jeffers e Arakala (2006) e, diante deste
cenário, foi dada continuidade ao trabalho e realizada a implementação do método
Fuzzy Vault. Posteriormente, o método foi utilizado no desenvolvimento do ABID, onde
foi demonstrada sua arquitetura e as interações entre seus componentes. Em seguida,
foram realizados testes de segurança, para avaliar a confiabilidade do aplicativo e do
método Fuzzy Vault. Constatou-se com estes testes a inviabilidade de descobrir por
"Força Bruta" os pontos genuínos no plano cartesiano sem uma impressão de consulta
genuína, pois seria necessário um número de comparações extremamente alto que
levaria a um tempo computacional de execução, na casa dos milênios. Mesmo que
fosse utilizado um computador com poder de processamento superior ao utilizado
neste estudo, esta vantagem de poder de processamento poderia ser suprida
aumentando o número de pontos falsos ou não genuínos (chaff points) que obrigariam
o computador a realizar cada vez mais operações. Testes referentes à performance
do aplicativo foram feitos e mostraram que, para arquivos pequenos que poderiam
representar textos, o método possui uma performance satisfatória, e para arquivos
maiores de 50 e 100MB, o tempo de encriptação/decriptação e
58
codificação/decodificação seria maior. Realizaram-se testes referentes a falso aceite,
aceite genuíno e falsa rejeição com intuito de avaliar o algoritmo de combinação
Bozorth3 e obteve-se resultados positivos. Vale destacar a FAR de 0%, que indica que
impressões digitais pertencentes a indivíduos não genuínos, não conseguiriam
descodificar a chave, isso prova a efetividade do combinador aqui utilizado.
Espera-se que esta pesquisa possa servir de referência para pesquisas futuras
envolvendo o método Fuzzy Vault, pois, neste foi detalhado e explicado o
funcionamento do método, bemcomo a sua implementação e a utilização de
ferramentas para sua concepção. Muitos outros trabalhos ocultam passos importantes
do método que, neste estudo, foram expostos de forma clara. Além disso, este trabalho
fornece uma alternativa para armazenar com segurança uma chave de 128 bits
utilizando o método Fuzzy Vault junto a impressões digitais. O desenvolvimento do
ABID expôs o método Fuzzy Vault dentro de um aplicativo de utilidade real, pois,
ofereceu a possibilidade de disponibilizar uma chave criptográfica e uma amostra de
impressão digital em um formato público.
Na literatura pesquisada não foi encontrado um software específico e de código
aberto para este fim, o mesmo pode ser estendido para futuramente encriptar troca de
e-mails ou troca de informações sigilosas em que apenas o destinatário específico
possa visualizar a mensagem ou receber o arquivo. Um exemplo a ser citado seria
uma empresa que poderia enviar informações sigilosas apenas aos interessados e,
para ter certeza que quem visualiza a mensagem é efetivamente o destinatário
genuíno, o arquivo poderia estar encriptado e o usuário teria que fornecer sua digital
para decriptar este arquivo e visualizar a mensagem.
59
REFERÊNCIAS BIBLIOGRÁFICAS
BUCHMANN, J. A. Introduction to Cryptography (Undergraduate Texts in Mathematics), 2004.SpringerPublishing. ISBN 9780387207568.
CLANCY, T. C. Secure smartcard-based fingerprint authentication. In: ACM Workshop on Biometrics: Methods and Applications. (S.l.: s.n.), 2003. p. 45–52. JAIN, A.K.; ROSS, A.A.; NANDAKUMAR, K. Introduction to Biometrics. (S.l.): Springer Publishing Company, Incorporated, 2011. ISBN 0387773258, 9780387773254. JEFFERS, J.; ARAKALA, A. Minutiae-based structures for a fuzzy vault. In: Biometric Consortium Conference, 2006.Biometrics Symposium: Special Session on Research at the. (S.l.: s.n.), 2006. p.1-6. JUELS, A.; SUDAN, M. A fuzzy vault scheme. In: Information Theory, 2002. Proceedings. 2002 IEEE International Symposium on. (S.l.: s.n.), 2002. p. 408. KIKUCHI, H.; ONUKI, Y.; NAGAI, K. Evaluation and implement of fuzzy vault scheme using indexed minutiae. In: SMC’07. (S.l.: s.n.), 2007. p. 3709–3712. LI, P. et al. A hierarchical fingerprint alignment method and its application to fuzzy vault. p. 76670E–76670E–12, 2010. Disponível em: <http://dx.doi.org/10.1117/12.849860>. LIU, H. et al. Is fuzzy vault scheme very effective for key binding in biometric cryptosystems? In: Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC), 2011 International Conference on. (S.l.: s.n.), 2011. p. 279–284. MALTONI, D. et al. Handbook of Fingerprint Recognition. 2nd. ed. (S.l.): Springer Publishing Company, Incorporated, 2009. ISBN 1848822537. MENEZES, A. J. et al. Handbook of Applied Cryptography. 1997.Taylor & Francis. ISBN 9780849385230, 0849385237. MODI, S. K.; ELLIOTT, S. J. Impact of image quality on performance: Comparison of young and elderly fingerprints. In: THE 6TH INTERNATIONAL CONFERENCE ON RECENT ADVANCES IN SOFT COMPUTING (RASC. (S.l.: s.n.), 2006. p. 10–12. MOON, D. et al. Implementation of automatic fuzzy fingerprint vault. In: Machine Learning and Cybernetics, 2008 International Conference on. (S.l.: s.n.), 2008. v. 7, p. 3781–3786. MOON, K. Y. et al. Biometrics information protection using fuzzy vault scheme. In: Signal Image Technology and Internet Based Systems (SITIS), 2012 Eighth International Conference on. (S.l.: s.n.), 2012. p. 124–128. NANDAKUMAR, K.; JAIN, A.; PANKANTI, S. Fingerprint-based fuzzy vault: Implementation and performance. Information Forensics and Security, IEEE Transactions on, v. 2, n. 4, p. 744–757, 2007. ISSN 1556-6013. NBIS-EC, N. THE NBIS-EC SOFTWARE IS SUBJECT TO U.S. EXPORT CONTROL LAWS - User’s Guide to Export Controlled Distribution of NIST Biometric Image Software(NBIS-EC). nov. 2013. Disponível em: <http:www.nist.gov/customcf/get_pdf.cfm?pub_id=51096>. NBIS, N. User’s Guide to NIST Biometric Image Software (NBIS). jun. 2013. Disponível em: <http:www.nist.gov/customcf/get_pdf.cfm?pub_id=51097>. PETROVSKA-DELACRTAZ, D.; CHOLLET, G.; DORIZZI, B. Guide to Biometric Reference Systems and Performance Evaluation. 1. ed. (S.l.): Springer Publishing Company, Incorporated, 2009. ISBN 1848002912, 9781848002913.
60
RATHA, R. B. N. Automatic Fingerprint Recognition Systems. 2nd. ed. (S.l.): Springer Publishing Company, Incorporated, 2003. ISBN 0387955933. REDDY, E. S.; BABU, I. R. Performance of Iris Based Hard Fuzzy Vault. 2008. SOWKARTHIKA, S.; RADHA, N. Securing iris and fingerprint templates using fuzzy vault and symmetric algorithm. In: Intelligent Systems and Control (ISCO), 2013 7th International Conference on. (S.l.: s.n.), 2013. p. 189–193. STALLINGS, W. Cryptography and Network Security: Principles and Practice. 3rd. ed. (S.l.): Pearson Education, 2002. ISBN 0130914290. ULUDAG, U.;JAIN, A. Fuzzy Fingerprint Vault. 2004. ULUDAG, U.; JAIN, A. Securing fingerprint template: Fuzzy vault with helper data. In: Computer Vision and Pattern Recognition Workshop, 2006. CVPRW ’06. Conference on. (S.l.: s.n.), 2006. p. 163–163. ULUDAG, U.; PANKANTI, S.; JAIN, A. K. Fuzzy vault for fingerprints. In: in Proc. AVBPA, Lecture Notes in Computer Science 3546. (S.l.): Springer, 2005. p. 310–319. WU, L.; YUAN, S. A face based fuzzy vault scheme for secure online authentication. In: Data, Privacy and E-Commerce (ISDPE), 2010 Second International Symposium on. (S.l.: s.n.), 2010. p. 45–49.