• Nenhum resultado encontrado

Implementação e avaliação do ABID (Aplicativo Biométrico de Impressão Digital) utilizando o método fuzzy vault e ferramentas opensource

N/A
N/A
Protected

Academic year: 2017

Share "Implementação e avaliação do ABID (Aplicativo Biométrico de Impressão Digital) utilizando o método fuzzy vault e ferramentas opensource"

Copied!
60
0
0

Texto

(1)

IMPLEMENTAÇÃO E AVALIAÇÃO DO ABID (APLICATIVO BIOMÉTRICO DE IMPRESSÃO DIGITAL) UTILIZANDO O MÉTODO FUZZY VAULT E

FERRAMENTAS OPENSOURCE

(2)

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

(3)

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.

(4)

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

(5)

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.

(6)
(7)

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

(8)

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

(9)

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

(10)
(11)

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

(12)

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

(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

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

(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),

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

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

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

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

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

(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

(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):

(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

(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

(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

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

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

(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

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

(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

(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

(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

(33)
(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;

(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á-visualizá-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.

(36)

Fonte: Adaptado de Stallings (2002).

(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

(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: � � = � + � + � + � +

� + � + � + � + ; neste polinômio é possível observar

(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

(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;

(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

(42)

Figura 9 – Arquitetura do Software desenvolvido

Fonte: O autor (2014).

(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

(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

(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

(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), é

(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

(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,

(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,

(50)

Figura 17 – Tela de decriptação

(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%.

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

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

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

Imagem

Figura 2 – Tipos de minúcias encontradas em uma impressão digital
Figura 3 – Tipos de minúcias encontradas em uma impressão digital
Figura 4  – Processo de detecção de minúcias do algoritmo MINDTCT
Figura 5  –  Bozorth3 combinador de minúcias, invariante a rotação e translação .
+7

Referências

Documentos relacionados

Planejamento de eventos, de programas, de ações, de processos e de políticas em cultura. Operacionalização técnica, financeira, física e humana. Mediação de

Diante das consequências provocadas pelas intempé- ries climáticas sobre a oferta de cana-de-açúcar para a indústria, a tendência natural é que a produção seja inferior

[r]

Te ó ri cos sociais têm mostrado que falas i n d ivi duais são tecidas de material ideo l ó gi co ; são tramas de todas as relações sociais e acom- panham as mudanças sociais de

•   O  material  a  seguir  consiste  de  adaptações  e  extensões  dos  originais  gentilmente  cedidos  pelo 

A Psicologia, por sua vez, seguiu sua trajetória também modificando sua visão de homem e fugindo do paradigma da ciência clássica. Ampliou sua atuação para além da

Não existem estudos valorizáveis em relação concernindo o toxicidade em caso de administração repetida Baseado em dados disponíveis, os critérios de classificação não

19 - Na transmissão por doação, a alíquota do imposto é definida com base no resultado da soma dos valores venais da totalidade dos bens imóveis situados neste Estado, bens