universidade presbiteriana mackenzie...um certo polinômio p(x)=x2-3x+1 é escolhido, sendo que cada...

60
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

Upload: others

Post on 16-Nov-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 2: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 3: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 4: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 5: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 6: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

Se eu vi mais longe, foi por estar de pé sobre ombros de gigantes.

Isaac Newton

Page 7: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 8: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 9: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 10: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 11: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 12: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 13: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.É

Page 14: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 15: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 16: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 17: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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:

Page 18: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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).

Page 19: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 20: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 21: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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).

Page 22: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 23: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 24: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 25: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 26: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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)

Page 27: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 28: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 29: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 30: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 31: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 32: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 33: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

33

Fonte: Adaptado de Nandakumar, Jain e Pankanti (2007).

Page 34: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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;

Page 35: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 36: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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).

Page 37: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 38: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 39: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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).

Page 40: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 41: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 42: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

42

Figura 9 – Arquitetura do Software desenvolvido

Fonte: O autor (2014).

3.2 FUNCIONAMENTO DO ABID

Page 43: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 44: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 45: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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).

Page 46: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 47: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 48: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 49: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 50: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

50

Figura 17 – Tela de decriptação

Fonte: O autor (2014).

Page 51: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 52: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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,

Page 53: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 54: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 55: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 56: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 57: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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

Page 58: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 59: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.

Page 60: UNIVERSIDADE PRESBITERIANA MACKENZIE...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

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.