Reforço da Segurança das Biométricas utilizando Codificaçãode Fonte Distribuída
Gonçalo Filipe da Fonseca Lourenço
Dissertação para obtenção do Grau de Mestre em
Engenharia Electrotécnica e Computadores
Júri
Presidente: José Manuel Bioucas Dias
Orientador: Paulo Luis Serras Lobato Correia
Co-orientador: Luis Eduardo de Pinho Ducla Soares
Vogal: Nuno Manuel Robalo Correia
Novembro de 2009
1
Agradecimentos
Ao meu orientador, Professor Paulo Correia, e co-orientador, Professor Luis Soares pelo
incentivo, pela inesgotável dedicação e apoio para a realização desta dissertação.
Aos meus pais, pelo seu amor, carinho e dedicação que sempre me deram.
À minha irmã, por todo o apoio que ela me deu nos momentos difíceis.
A todos,
Muito Obrigado
2
Resumo
A utilização de características biométricas (por exemplo, impressões digitais, íris, face)
para o reconhecimento de pessoas está a tornar-se cada vez mais popular e muitas aplicações
já estão disponíveis. As características biométricas estão intrinsecamente associadas a
pessoas e não podem ser esquecidas ou compartilhadas com outras pessoas. No entanto, uma
das vulnerabilidades mais relevantes da biometria é que uma vez que um perfil biométrico
esteja comprometido, ele não pode ser reeditado, actualizado ou destruído. Um impostor
poderia então ter acesso a todas as contas / serviços / aplicações usando essa mesma
característica biométrica. Esta dissertação propõe um sistema de verificação biométrica usando
os princípios de codificação fonte distribuída e funções criptográficas de hash, que garantem
maior segurança em relação aos tradicionais sistemas de verificação biométrica. A geração de
perfis biométricos diferentes a partir das mesmas características biométricas, é possível
usando a solução proposta nesta dissertação. Além disso, não será possível recuperar os
dados biométricos originais a partir dos dados armazenados, garantindo assim a sua
privacidade.
Palavras-chave: Segurança biométrica, codificação fonte distribuída, funções
criptográficas de hash, códigos de correcção de erros.
3
Abstract
The use of biometrics (e.g., fingerprints, irises, faces) for recognizing individuals is
becoming increasingly popular and many applications are already available. Biometrics are
intrinsically associated with individuals and cannot be forgotten or shared with others. However,
one of the most relevant vulnerabilities of biometrics is that once a biometric template is
compromised, it cannot be reissued, updated or destroyed. An attacker could then gain access
to all the accounts/services/applications using that same biometric trait. This dissertation
proposes a biometric verification system using distributed source coding principles and a
cryptographic hash function, with enhanced security with respect to traditional biometric
verification systems. The generation of different templates from the same biometric data is
supported. Furthermore, it will not be possible to recover the original biometric data from the
stored data, thus guaranteeing its privacy.
Keywords: Biometrics security, cryptographic hash function, distributed source coding,
error correcting codes
4
Índice
Agradecimentos ............................................................................ 1Resumo .......................................................................................... 2Abstract.......................................................................................... 3Índice.............................................................................................. 4Lista de Figuras............................................................................. 7Lista de abreviaturas e símbolos ............................................... 101 Introdução .............................................................................. 12
1.1 Biometria ............................................................................................121.1.1 Vantagens e desvantagens da utilização de biométricas....................... 14
1.1.2 Sistemas biométricos ............................................................................ 15
1.1.2.1 Fase de registo..........................................................................................15
1.1.2.2 Fase de autenticação ...............................................................................15
1.1.2.3 Avaliação do desempenho de um sistema biométrico........................16
1.2 Objectivos da dissertação ................................................................18
1.3 Organização da dissertação .............................................................19
2 Estado da arte da biometria .................................................. 202.1 Sistemas de reconhecimento usando biométricas ........................20
2.1.1 Impressão digital ................................................................................... 21
2.1.2 Face...................................................................................................... 24
2.1.3 Geometria da mão................................................................................. 26
2.1.4 Assinatura ............................................................................................. 28
2.1.5 Voz........................................................................................................ 30
2.1.6 Comparação do desempenho dos diferentes sistemas ......................... 32
2.2 Segurança em sistemas biométricos...............................................332.2.1 Falha intrínseca..................................................................................... 35
2.2.2 Falha devido a ataques ......................................................................... 35
2.2.2.1 Ataque ao sistema administrativo ..........................................................35
2.2.2.2 Ataque a infra-estruturas não seguras ..................................................36
2.2.2.3 Ataque a características biométricas .....................................................38
2.2.3 Efeitos de uma possível falha num sistema biométrico.......................... 38
2.2.4 Medidas para protecção dos sistemas biométricos ............................... 38
5
2.2.4.1 Modelos de transformação dos templates ............................................41
2.2.4.2 Criptosistemas biométricos .....................................................................41
2.3 Conclusões ........................................................................................42
3 Reconhecimento biométrico ................................................. 433.1 Olho Humano .....................................................................................43
3.1.1 A íris...................................................................................................... 44
3.1.2 Vantagens e desvantagens da utilização da íris em sistemas biométricos…………………………………………………………………………………45
3.2 Reconhecimento biométrico baseado na íris..................................463.2.1 Aquisição da característica biométrica .................................................. 48
3.2.2 Segmentação ........................................................................................ 50
3.2.3 Normalização ........................................................................................ 52
3.2.4 Extracção das características da íris ..................................................... 54
3.2.5 Comparação.......................................................................................... 56
3.2.6 Resultados da implementação do sistema de reconhecimento biométricosem segurança dos dados biométricos................................................................ 57
3.2.7 Aplicações do sistema de reconhecimento biométrico baseado na íris . 62
3.3 Conclusões ........................................................................................63
4 Sistema de reconhecimento biométrico baseado na íris comreforço da segurança dos dados biométricos .......................... 64
4.1 Códigos de Correcção de Erros LDPC ............................................664.1.1 Introdução ............................................................................................. 66
4.1.2 Códigos de bloco lineares ..................................................................... 67
4.1.3 Os Códigos LDPC................................................................................. 69
4.1.3.1 Grafo de Tanner ou bipartido ..................................................................70
4.1.3.2 Construção dos códigos LDPC...............................................................71
4.1.4 Codificação ........................................................................................... 73
4.1.5 Descodificação Iterativa ........................................................................ 73
4.1.5.1 Algoritmo de soma de produtos..............................................................74
4.1.5.2 Algoritmo SPA no domínio logaritmo (LSPA) .......................................78
4.2 Funções criptográficas de hash .......................................................80
4.3 Conclusões ........................................................................................82
5 Implementação do sistema de reconhecimento biométricobaseado na íris com reforço da segurança ............................... 83
5.1 Avaliação de desempenho................................................................83
6
5.2 Interface gráfica .................................................................................88
6 Conclusões finais e trabalhos futuros ................................. 916.1 Conclusões finais ..............................................................................91
6.2 Trabalhos futuros ..............................................................................91
Anexo I ......................................................................................... 93Referências Bibliográficas.......................................................... 98
7
Lista de Figuras
Figura 1.1 – Arquitectura da fase de registo ............................................................... 15
Figura 1.2 – Arquitectura da fase autenticação, modo de identificação....................... 16
Figura 1.3 – Arquitectura da fase autenticação, modo Verificação.............................. 16
Figura 1.4 - As curvas típicas das taxas de erro FAR e FRR ...................................... 17
Figura 1.5 - Distribuições de distâncias intra-classe e inter-classe ............................. 18
Figura 1.6 - Taxa de erro FRR em função da taxa de erro FAR (ROC)....................... 18
Figura 2.1 – Representação de um núcleo e um delta de uma impressão digital:círcunferência vermelha - núcleo, circunferência amarela - delta................................ 22
Figura 2.2 – Exemplos de dois tipos de minúcias ....................................................... 23
Figura 2.3 – a) Imagem da face 2D , b) Imagem a 3D e c) Imagem a infravermelho ...………………………………………………………………………………………………….25
Figura 2.4 – a) Medidas típicas da geometria da mão, b) imagem real obtida dodispositivo e c) dispositivo de leitura da mão .............................................................. 27
Figura 2.5 - Representação das vulnerabilidades segundo modelo fish-bone [Jain2006] .......................................................................................................................... 34
Figura 2.6 - Pontos de possíveis ataques nas infra-estruturas do sistema biométrico 37
Figura 3.1 - Estrutura interna do olho humano [Internet2] ........................................... 43
Figura 3.2 - Olho Humano [Internet3] ......................................................................... 44
Figura 3.3 - A íris [Internet4] ....................................................................................... 45
Figura 3.4 - Sistema de reconhecimento biométrico – Fase de registo....................... 47
Figura 3.5 - Sistema de reconhecimento biométrico – fase de autenticação em modode verificação ............................................................................................................. 47
Figura 3.6 - Sensor biométrico para captura da imagem da íris [Internet5] ................. 48
Figura 3.7 - Exemplos de circunferências da íris e da pupila, a) íris e pupila com omesmo centro da circunferência, b) íris e pupila com centros de circunferênciadiferentes.................................................................................................................... 50
Figura 3.8 - a) Imagem da íris bem segmentada, b) imagem da íris mal segmentada 51
Figura 3.9 – Processo de detecção das regiões da íris obstruídas pelas pálpebras, a)imagem da íris, b) imagem da íris segmentada com as rectas que representam aspálpebras, c) rectas horizontais são geradas passando pelo ponto mais próximo da
8
fronteira da pupila d) zonas da imagem da íris representativas da oclusão daspálpebras e dos reflexos especulares......................................................................... 52
Figura 3.10 - Imagem segmentada com realce da zona da íris interferida por parte dassobrancelhas e cílios .................................................................................................. 52
Figura 3.11 - Modelo rubber sheet.............................................................................. 53
Figura 3.12 - Imagem da íris, com leve deslocamento entre os centros da íris e dapupila segundo uma direcção θ .................................................................................. 54
Figura 3.13 - Imagem da região da íris, com ruído, após normalização ...................... 54
Figura 3.14 - Espectro de fourier para componente radial com f0 =0,1 e σr=0,55, b)Espectro de fourier para componente angular θ0= 0 e σθ=π/8 , c) Espectro de fourierdo filtro Log-Gabor 2D [Bastos] .................................................................................. 55
Figura 3.15 - Método de Daugman utilizado para a quantização das informações defase da textura da íris ................................................................................................. 56
Figura 3.16 – Distribuição de distâncias de Hamming para comparações do tipo intra-classe ......................................................................................................................... 59
Figura 3.17 - Distribuição de distâncias de Hamming para comparações do tipo inter-classe ......................................................................................................................... 59
Figura 3.18 – a) Representação gráfica das taxas de erro FAR e FRR para a base dedados de treino, b) Curvas ROC................................................................................. 61
Figura 3.19 – a) Representação gráfica das taxas de erro FAR e FRR obtidas para abase de dados de teste, b) Curvas ROC .................................................................... 62
Figura 4.1 - Fase de registo........................................................................................ 65
Figura 4.2 - Fase de autenticação, modo de verificação............................................. 65
Figura 4.3 - Grafo de Tanner ...................................................................................... 70
Figura 4.4 - Exemplo de um ciclo de comprimento 4 num grafo de Tanner ................ 71
Figura 4.5 – Exemplo de uma função criptográfica de hash, F é a função decompressão [Internet6] ............................................................................................... 81
Figura 5.1 – a) Representação gráfica das taxas de erro FAR e FRR, b) Curva ROC...………………………………………………………………………………………………….87
Figura 5.2 - Interface gráfica criada para o sistema reconhecimento biométrico comreforço da segurança.................................................................................................. 89
Figura 5.3 - Opção para registo dos utilizadores......................................................... 89
Figura 5.4 – Opção para autenticação do utilizador .................................................... 90
9
Lista de Tabelas
Tabela 1.1 – Avaliação de biométricas habitualmente usadas [Boechat 2008] ..............14
Tabela 2.1 – Características extraídas a partir de diferentes biométricas.......................20
Tabela 2.2 - Desempenho de sistemas biométricos para diferentes características[Fornazin 2008] .........................................................................................................................33
Tabela 3.1 – Vantagens e desvantagens da utilização da íris em sistemas dereconhecimento biométrico .....................................................................................................46
Tabela 3.2 - Avaliação do desempenho do sistema segundo as taxas de erro FAR eFRR .............................................................................................................................................60
Tabela 3.3 – Avaliação do desempenho do sistema segundo as taxas de erro FAR eFRR .............................................................................................................................................61
Tabela 4.1 – Algoritmos utilizados em funções de hash criptográficas e suascaracterísticas [Internet7] ........................................................................................................82
Tabela 5.1– Valores de FAR e de FRR em função da percentagem mínima de 1'srequerida para um pixel fazer parte da máscara de ruído universal utilizando asegunda estratégia para a decisão sobre a autenticação do utilizador ...........................85
Tabela 5.2 – Desempenho do sistema variando a capacidade de correcção e o númerode 1’s por coluna wc .................................................................................................................86
Tabela 5.3 - Avaliação do desempenho do sistema segundo as taxas de erro FAR eFRR variando a capacidade de correcção............................................................................87
10
Lista de abreviaturas e símbolos
DTW – Dynamic TimeWarping
EE – Erro igual, equal error
EER – Taxa de erro igual, equal error rate
FA – Erro falsa aceitação, false accept
FAR – Taxa de erro falsa aceitação, false accept rate
FR – Erro Falsa rejeição, false reject
FRR – Taxa de erro falsa rejeição, false reject rate
FTE – Falha no registo
FTA – Falha ao adquirir a característica
GMM – Modelos de mistura gaussiana
HD – Hard Decoding
HMM – Cadeias de Markov ocultas
ID – Identificação do utilizador, username
LLR – Máxima verosimilhança logarítmica
LSPA – Algoritmo soma de produtos no domínio logarítmico
PCA – Análise de componentes principais
ROC – Receiver operating characteristic
SD – Hard Decoding
SPA – Algoritmo soma de produtos
SVM – Support vector machines
c – Palavra de código
G – Matriz Geradora
H – Matriz de teste de paridade
I – Matriz Identidade
h – Chave criptográfica obtida na fase de registo
h’ – Chave criptográfica obtida na fase de autenticação
k – Comprimento da mensagem a codificar pelo código de correcção de erros
M(n) – Conjunto de nós de teste NTm’s ligados ao nó de bit NBn
M(n)\m – Conjunto de nós de teste NTm’s ligados ao nó de bit NBn excluindo o nó de teste
NTm
n – Número de colunas da matriz H, igual ao comprimento da palavra de código
N(m) – Conjunto de nós de bit NBn’s ligados ao nó de teste NTm
N(m)\n – Conjunto de nós de bit NBn’s ligados ao nó de teste NTm excluindo o nó de bit NBn
NBn – Nó de bit
NTm – Nó de teste
P – Matriz de paridade
PT – Transposta da matriz de paridade
qnm – Mensagem que o nó de bit NBn envia para o nó de teste NTm
11
Q(n) – Pseudo-probabilidades à posteriori
rmn – Mensagem que o nó de teste NTm envia para o nó de bit NBn
s – Bits de paridade obtidos na fase de registo
t – Template obtido na fase de registo
t’ – Template obtido na fase de autenticação
x – Imagem do olho do utilizador obtida na fase de registo
x’ – Imagem do olho do utilizador obtida na fase de autenticação
y – Íris obtida na fase de registo
y’ – Íris obtida na fase de autenticação
η – Ruído gaussiano
12
1 Introdução
O aumento significativo da quantidade de informação disponível em formato digital e o
desenvolvimento das tecnologias de informação e comunicação (por exemplo Internet) e a
possibilidade de falsificação das mesmas, vem exigindo meios mais seguros para sua
protecção. A identificação e verificação de utilizadores são um dos principais aspectos a serem
considerados para garantir a segurança da informação.
Aeroportos, empresas do sector financeiro, empresas do sector judicial, empresas do
sector da saúde, entre outros, precisam de assegurar que somente pessoas devidamente
autorizadas terão acesso a determinada informação, serviços ou locais restritos.
Deste modo, o problema da segurança relacionada com a privacidade de informação
tem sido cada vez mais importante para as empresas, sejam elas pequenas ou grandes. O
acesso de pessoas não autorizadas a informações sigilosas ou a lugares restritos pode causar
graves problemas às empresas, sendo cada vez mais necessário provar a sua identidade para
obter o acesso.
Na actualidade, o método usado por grande parte das empresas na identificação e
verificação de pessoas são os cartões de identificação, com chips ou dispositivo magnético, ou
senhas, passwords. Estes mecanismos de identificação não são 100 por cento eficientes em
termos de segurança, uma vez que o portador do cartão ou da senha pode não ser a pessoa
que está devidamente autorizada pela empresa a aceder aos seus serviços ou informações.
Cartões de identificação podem ser perdidos, roubados ou simplesmente copiados, enquanto
que as senhas podem ser esquecidas, partilhadas ou copiadas por terceiros.
Assim, tornou-se necessário o estudo de novos métodos de identificação/verificação de
identidades. Um dos novos métodos é o uso da biometria.
1.1 Biometria
Etimologicamente, a expressão “biometria” advém da derivação de palavras (ditas
“primitivas”) de origem grega, bios (vida) e metros (contagem ou medida). Assim, a biometria
define-se como sendo a ciência que estuda estatisticamente as características, físicas
fisiológicas ou comportamentais dos seres vivos, mas actualmente tem sido associado ao
estudo das características físicas, fisiológicas ou comportamentais das pessoas como forma de
identificá-las.
Os Chineses estiveram entre os precursores do uso da biometria. No século 14 os
Chineses usavam a biometria carimbando as mãos e os dedos das crianças em papel, de
forma a distinguir uma criança de outra, após o nascimento [Moraes, 2006].
A origem europeia da biometria já é muito mais recente e é datada do final do século
XIX. Em 1890 um antropologista e delegado policial de Paris, Alphonse Bertillon, encontrou na
biometria uma forma de identificação de criminosos e transformou-a numa nova área de
estudos [Moraes, 2006].
13
Até há pouco tempo atrás a sua adopção restringia-se a ambientes de alta segurança e
aplicações de identificação criminal, por razões de natureza económica e tecnológica. Com o
aperfeiçoamento da tecnologia e a redução no custo dos dispositivos biométricos, a biometria
vem-se popularizando, sendo cada vez mais usada na resolução de problemas de
reconhecimento de identidades de pessoas.
Às características físicas, fisiológicas ou comportamentais das pessoas, que são usadas
para efeitos de reconhecimento, dá-se o nome de características biométricas. Estas
características podem ser divididas em três classes principais, as físicas ou estáticas, as
fisiológicas e as comportamentais ou dinâmicas.
As características físicas ou estáticas definem-se como sendo as características
relacionadas com os traços do corpo, ou seja, têm a ver com a carga genética das pessoas.
Estas características variam muito pouco ao longo do tempo (a partir da idade adulta).
Exemplos dessas características são a íris, a retina, a geometria da mão, as impressões
digitais, a face, etc.
As características fisiológicas definem-se como sendo as características relacionadas
com o funcionamento do organismo da pessoa. Estas podem variar com o avanço da idade da
pessoa, ou devido a problemas de saúde. Exemplos dessas características são o batimento
cardíaco, a força muscular, etc.
As características comportamentais ou dinâmicas definem-se como sendo as
características relacionadas com o comportamento das pessoas, ou seja, as pessoas vão
apreendendo e desenvolvendo estas características ao longo da sua vida. Estas podem variar
fortemente com o tempo e podem ser facilmente alteradas pela vontade ou estado da pessoa.
Exemplos dessas características são a voz, a assinatura da pessoa, o modo de andar, etc.
Em teoria, qualquer característica humana, pode ser usada no reconhecimento de
pessoas, desde que satisfaça os seguintes requisitos:
Universalidade: Todas as pessoas devem possuir a característica;
Singularidade: A característica não pode ser igual em pessoas diferentes;
Permanência: A característica não deve variar com o tempo. Na prática, existem
alterações ocasionadas pelo envelhecimento, pela mudança das condições de saúde
ou mesmo emocionais das pessoas, bem como por mudanças das condições do
ambiente na aquisição;
Desempenho: Este requisito refere-se à precisão com que se realiza a autenticação de
utilizadores e aos recursos necessários para atingir uma precisão de medição
aceitável;
Aceitabilidade: O dispositivo biométrico deve ser aceite por todos os utilizadores;
Protecção: Este requisito refere-se à facilidade ou dificuldade de utilizadores não
legítimos, impostores, conseguirem corromper o sistema, através da utilização de
técnicas fraudulentas.
14
Na Tabela 1.1 mostra-se uma avaliação de um conjunto de biométricas habitualmente
usadas, segundo os requisitos acima mencionados [Boechat 2008].
Tabela 1.1 – Avaliação de biométricas habitualmente usadas [Boechat 2008]
Pela observação da tabela verifica-se que não existe uma biométrica ideal, ou seja, não
existe nenhuma biométrica que satisfaça todos os requisitos acima mencionados. Cada
biométrica tem as suas vantagens e desvantagens em comparação com as outras, por isso a
escolha da biométrica a usar numa dada aplicação deve ser a que melhor se adequa aos
requisitos desejados.
1.1.1 Vantagens e desvantagens da utilização de biométricas
Algumas das vantagens de utilizar biométricas no reconhecimento de pessoas em vez
das tradicionais senhas ou cartões de identificação são as seguintes:
As biométricas são inerentes às pessoas, não podendo ser esquecidas, perdidas ou
simplesmente fornecidas a outras pessoas;
A probabilidade de existirem duas pessoas com a mesma característica biométrica,
desde que cuidadosamente escolhida, é bastante reduzida ou praticamente nula;
As biométricas são muito difíceis de copiar, ou seja, são menos susceptíveis a ataques
de força bruta, em contraste com as tradicionais senhas.
Mas como em todos os sistemas, para além das vantagens também existem
desvantagens quanto ao uso de biométricas. Algumas desvantagens são enumeradas a seguir:
Em caso de doenças ou acidentes com as pessoas, a sua autenticação pode ser mais
difícil, pois as características biométricas podem ter sido alteradas;
Com a idade, as características biométricas das pessoas podem alterar-se, diminuindo
as taxas de sucesso na autenticação das pessoas. Para que isso não aconteça pode
ser necessário actualizar a informação biométrica registada nas bases de dados, como
acontece hoje em dia com o Bilhete de Identidade ou Passaporte;
Caso uma característica biométrica seja roubada ou copiada não é possível substitui-la
como acontece com as senhas, ou seja, não é possível substituir um olho, uma face ou
outra característica física pertencente às pessoas.
15
1.1.2 Sistemas biométricos
Sistemas biométricos são sistemas de reconhecimento de padrões que comparam
representações de uma característica biométrica com o objectivo de estabelecer uma métrica
de similaridade entre elas. Estes sistemas são normalmente utilizados para reconhecimento de
pessoas. Através de dispositivos próprios, como scanners, microfones ou leitores ópticos, entre
outros, capturam uma amostra da característica biométrica da pessoa, que por sua vez através
de algoritmos é normalizada e transformada num perfil biométrico, template. A autenticação da
pessoa efectua-se através de comparações entre o template extraído da característica obtida
na autenticação e os templates armazenados na base de dados, originando uma autenticação
verdadeira ou falsa, conforme o resultado dessa comparação.
Estes sistemas têm duas fases distintas que são a fase de registo e a fase de
autenticação.
1.1.2.1 Fase de registo
Nesta fase, são capturadas as características de um utilizador, para depois através de
funções matemáticas serem extraídas as suas informações relevantes para a autenticação
(templates). Estas são armazenadas numa base de dados para posterior comparação na fase
de autenticação. Para além da característica, o utilizador tem de fornecer também uma
identificação para o registo da sua característica na base de dados, normalmente denominada
ID ou username. A arquitectura do sistema correspondente à fase de registo encontra-se
ilustrada na Figura 1.1.
Figura 1.1 – Arquitectura da fase de registo
1.1.2.2 Fase de autenticação
Existem dois modos de autenticação distintos: a identificação e a verificação.
Na identificação, o utilizador fornece apenas sua característica biométrica, competindo
ao sistema identificar o utilizador. Depois de extraído o seu template biométrico, este vai ser
comparado com os templates registados na base de dados, a fim de identificar, ou não, o
utilizador. Este modo de autenticação designa-se como sendo uma busca 1:N, ou busca
aberta, numa base de dados de perfis biométricos (templates). Basicamente, a identificação
corresponde a responder à questão: “Quem é o utilizador?”. A arquitectura de um sistema de
identificação usando biométricas encontra-se ilustrada na Figura 1.2.
15
1.1.2 Sistemas biométricos
Sistemas biométricos são sistemas de reconhecimento de padrões que comparam
representações de uma característica biométrica com o objectivo de estabelecer uma métrica
de similaridade entre elas. Estes sistemas são normalmente utilizados para reconhecimento de
pessoas. Através de dispositivos próprios, como scanners, microfones ou leitores ópticos, entre
outros, capturam uma amostra da característica biométrica da pessoa, que por sua vez através
de algoritmos é normalizada e transformada num perfil biométrico, template. A autenticação da
pessoa efectua-se através de comparações entre o template extraído da característica obtida
na autenticação e os templates armazenados na base de dados, originando uma autenticação
verdadeira ou falsa, conforme o resultado dessa comparação.
Estes sistemas têm duas fases distintas que são a fase de registo e a fase de
autenticação.
1.1.2.1 Fase de registo
Nesta fase, são capturadas as características de um utilizador, para depois através de
funções matemáticas serem extraídas as suas informações relevantes para a autenticação
(templates). Estas são armazenadas numa base de dados para posterior comparação na fase
de autenticação. Para além da característica, o utilizador tem de fornecer também uma
identificação para o registo da sua característica na base de dados, normalmente denominada
ID ou username. A arquitectura do sistema correspondente à fase de registo encontra-se
ilustrada na Figura 1.1.
Figura 1.1 – Arquitectura da fase de registo
1.1.2.2 Fase de autenticação
Existem dois modos de autenticação distintos: a identificação e a verificação.
Na identificação, o utilizador fornece apenas sua característica biométrica, competindo
ao sistema identificar o utilizador. Depois de extraído o seu template biométrico, este vai ser
comparado com os templates registados na base de dados, a fim de identificar, ou não, o
utilizador. Este modo de autenticação designa-se como sendo uma busca 1:N, ou busca
aberta, numa base de dados de perfis biométricos (templates). Basicamente, a identificação
corresponde a responder à questão: “Quem é o utilizador?”. A arquitectura de um sistema de
identificação usando biométricas encontra-se ilustrada na Figura 1.2.
15
1.1.2 Sistemas biométricos
Sistemas biométricos são sistemas de reconhecimento de padrões que comparam
representações de uma característica biométrica com o objectivo de estabelecer uma métrica
de similaridade entre elas. Estes sistemas são normalmente utilizados para reconhecimento de
pessoas. Através de dispositivos próprios, como scanners, microfones ou leitores ópticos, entre
outros, capturam uma amostra da característica biométrica da pessoa, que por sua vez através
de algoritmos é normalizada e transformada num perfil biométrico, template. A autenticação da
pessoa efectua-se através de comparações entre o template extraído da característica obtida
na autenticação e os templates armazenados na base de dados, originando uma autenticação
verdadeira ou falsa, conforme o resultado dessa comparação.
Estes sistemas têm duas fases distintas que são a fase de registo e a fase de
autenticação.
1.1.2.1 Fase de registo
Nesta fase, são capturadas as características de um utilizador, para depois através de
funções matemáticas serem extraídas as suas informações relevantes para a autenticação
(templates). Estas são armazenadas numa base de dados para posterior comparação na fase
de autenticação. Para além da característica, o utilizador tem de fornecer também uma
identificação para o registo da sua característica na base de dados, normalmente denominada
ID ou username. A arquitectura do sistema correspondente à fase de registo encontra-se
ilustrada na Figura 1.1.
Figura 1.1 – Arquitectura da fase de registo
1.1.2.2 Fase de autenticação
Existem dois modos de autenticação distintos: a identificação e a verificação.
Na identificação, o utilizador fornece apenas sua característica biométrica, competindo
ao sistema identificar o utilizador. Depois de extraído o seu template biométrico, este vai ser
comparado com os templates registados na base de dados, a fim de identificar, ou não, o
utilizador. Este modo de autenticação designa-se como sendo uma busca 1:N, ou busca
aberta, numa base de dados de perfis biométricos (templates). Basicamente, a identificação
corresponde a responder à questão: “Quem é o utilizador?”. A arquitectura de um sistema de
identificação usando biométricas encontra-se ilustrada na Figura 1.2.
16
Figura 1.2 – Arquitectura da fase autenticação, modo de identificação
Na verificação a característica biométrica é apresentada pelo utilizador juntamente com
uma identificação, ID ou username. Depois de extraído o seu template biométrico, este vai ser
comparado com os templates registados na base de dados para aquele ID, a fim de avaliar se
a autenticação é, ou não, bem sucedida. Este modo de autenticação designa-se como sendo
uma busca 1:1, ou busca fechada, numa base de dados de perfis biométricos. A verificação
corresponde a responder à questão “O utilizador é quem alega ser?”. A arquitectura de um
sistema de verificação encontra-se ilustrada na Figura 1.3.
Figura 1.3 – Arquitectura da fase autenticação, modo Verificação
1.1.2.3 Avaliação do desempenho de um sistema biométrico
Os sistemas biométricos podem ser avaliados segundo diferentes métricas, das quais se
destacam as seguintes:
Nível de desempenho – O desempenho do sistema é medido através das taxas de
falsa aceitação e falsa rejeição.
Nível de conforto – O nível de conforto é uma métrica de certa forma subjectiva e está
profundamente ligado às pessoas utilizadoras do sistema e à facilidade de uso do
mesmo.
Nível de aceitação – Esta métrica também é um pouco subjectiva. De um modo geral,
o sistema é tanto melhor aceite pelos utilizadores, quanto menos intrusivo for.
Custo de implementação - O custo de implementação é um factor fundamental do
sistema e abrange diversos factores tais como: hardware, software, integração com
16
Figura 1.2 – Arquitectura da fase autenticação, modo de identificação
Na verificação a característica biométrica é apresentada pelo utilizador juntamente com
uma identificação, ID ou username. Depois de extraído o seu template biométrico, este vai ser
comparado com os templates registados na base de dados para aquele ID, a fim de avaliar se
a autenticação é, ou não, bem sucedida. Este modo de autenticação designa-se como sendo
uma busca 1:1, ou busca fechada, numa base de dados de perfis biométricos. A verificação
corresponde a responder à questão “O utilizador é quem alega ser?”. A arquitectura de um
sistema de verificação encontra-se ilustrada na Figura 1.3.
Figura 1.3 – Arquitectura da fase autenticação, modo Verificação
1.1.2.3 Avaliação do desempenho de um sistema biométrico
Os sistemas biométricos podem ser avaliados segundo diferentes métricas, das quais se
destacam as seguintes:
Nível de desempenho – O desempenho do sistema é medido através das taxas de
falsa aceitação e falsa rejeição.
Nível de conforto – O nível de conforto é uma métrica de certa forma subjectiva e está
profundamente ligado às pessoas utilizadoras do sistema e à facilidade de uso do
mesmo.
Nível de aceitação – Esta métrica também é um pouco subjectiva. De um modo geral,
o sistema é tanto melhor aceite pelos utilizadores, quanto menos intrusivo for.
Custo de implementação - O custo de implementação é um factor fundamental do
sistema e abrange diversos factores tais como: hardware, software, integração com
16
Figura 1.2 – Arquitectura da fase autenticação, modo de identificação
Na verificação a característica biométrica é apresentada pelo utilizador juntamente com
uma identificação, ID ou username. Depois de extraído o seu template biométrico, este vai ser
comparado com os templates registados na base de dados para aquele ID, a fim de avaliar se
a autenticação é, ou não, bem sucedida. Este modo de autenticação designa-se como sendo
uma busca 1:1, ou busca fechada, numa base de dados de perfis biométricos. A verificação
corresponde a responder à questão “O utilizador é quem alega ser?”. A arquitectura de um
sistema de verificação encontra-se ilustrada na Figura 1.3.
Figura 1.3 – Arquitectura da fase autenticação, modo Verificação
1.1.2.3 Avaliação do desempenho de um sistema biométrico
Os sistemas biométricos podem ser avaliados segundo diferentes métricas, das quais se
destacam as seguintes:
Nível de desempenho – O desempenho do sistema é medido através das taxas de
falsa aceitação e falsa rejeição.
Nível de conforto – O nível de conforto é uma métrica de certa forma subjectiva e está
profundamente ligado às pessoas utilizadoras do sistema e à facilidade de uso do
mesmo.
Nível de aceitação – Esta métrica também é um pouco subjectiva. De um modo geral,
o sistema é tanto melhor aceite pelos utilizadores, quanto menos intrusivo for.
Custo de implementação - O custo de implementação é um factor fundamental do
sistema e abrange diversos factores tais como: hardware, software, integração com
17
hardware/software existentes, formação dos utilizadores, pessoal de manutenção das
bases de dados, manutenção do sistema.
A métrica de avaliação utilizada nesta dissertação é o nível de desempenho. Deste modo
as próximas linhas desta dissertação servem para explicar como é feita essa avaliação.
Os sistemas biométricos não são infalíveis, isto é, podem ocorrer erros que afectem o
seu desempenho, levando o sistema a tomar decisões que podem não ser as mais correctas.
Estes erros, na biometria, são quantificados segundo dois tipos de erro: falsa aceitação, FA -
false accept e falsa rejeição, FR - false reject [Boechat 2008]:
Falsa aceitação, FA - Decidir que uma determinada identidade é legítima quando na
realidade ela é falsa. A frequência de ocorrências de erros deste tipo é chamada taxa
de falsa aceitação, false accept rate, FAR.
Falsa rejeição, FR - Decidir que uma determinada identidade é falsa quando na
realidade ela é legítima. A frequência de ocorrências de erros deste tipo é chamada
taxa de falsa rejeição, false reject rate, FRR.
A representação gráfica das taxas FRR e FAR encontram-se ilustradas na Figura 1.4.
Pela observação do gráfico verifica-se que existe uma dependência entre as duas taxas, isto é,
quando uma taxa se aproxima do seu valor máximo, a outra aproxima-se do seu valor mínimo,
originando um ponto de intersecção entre as duas curvas. A esse ponto dá-se o nome de erro
igual, equal error, EE, à qual está associada uma taxa de erro designada por taxa de erro igual,
equal error rate, EER. A decisão sobre a autenticação de um utilizador é feita através de um
limiar de decisão ou threshold, T. A partir deste valor consegue-se calibrar um sistema
biométrico, em termos do seu desempenho. Um bom sistema biométrico é aquele que
consegue minimizar as duas taxas de erro, ou seja, taxas de erro FAR e FRR baixas.
Figura 1.4 - As curvas típicas das taxas de erro FAR e FRR
Através das distâncias de Hamming resultantes de comparações entre múltiplas
características de um mesmo indivíduo (intra-classe) e entre características de diferentes
indivíduos (inter-classe) consegue-se identificar qual o melhor valor do limiar de decisão que
minimiza as taxas de erro FAR e FRR. A Figura 1.5 apresenta um gráfico com as distribuições
de distâncias obtidas a partir de comparações intra-classe e inter-classe.
17
hardware/software existentes, formação dos utilizadores, pessoal de manutenção das
bases de dados, manutenção do sistema.
A métrica de avaliação utilizada nesta dissertação é o nível de desempenho. Deste modo
as próximas linhas desta dissertação servem para explicar como é feita essa avaliação.
Os sistemas biométricos não são infalíveis, isto é, podem ocorrer erros que afectem o
seu desempenho, levando o sistema a tomar decisões que podem não ser as mais correctas.
Estes erros, na biometria, são quantificados segundo dois tipos de erro: falsa aceitação, FA -
false accept e falsa rejeição, FR - false reject [Boechat 2008]:
Falsa aceitação, FA - Decidir que uma determinada identidade é legítima quando na
realidade ela é falsa. A frequência de ocorrências de erros deste tipo é chamada taxa
de falsa aceitação, false accept rate, FAR.
Falsa rejeição, FR - Decidir que uma determinada identidade é falsa quando na
realidade ela é legítima. A frequência de ocorrências de erros deste tipo é chamada
taxa de falsa rejeição, false reject rate, FRR.
A representação gráfica das taxas FRR e FAR encontram-se ilustradas na Figura 1.4.
Pela observação do gráfico verifica-se que existe uma dependência entre as duas taxas, isto é,
quando uma taxa se aproxima do seu valor máximo, a outra aproxima-se do seu valor mínimo,
originando um ponto de intersecção entre as duas curvas. A esse ponto dá-se o nome de erro
igual, equal error, EE, à qual está associada uma taxa de erro designada por taxa de erro igual,
equal error rate, EER. A decisão sobre a autenticação de um utilizador é feita através de um
limiar de decisão ou threshold, T. A partir deste valor consegue-se calibrar um sistema
biométrico, em termos do seu desempenho. Um bom sistema biométrico é aquele que
consegue minimizar as duas taxas de erro, ou seja, taxas de erro FAR e FRR baixas.
Figura 1.4 - As curvas típicas das taxas de erro FAR e FRR
Através das distâncias de Hamming resultantes de comparações entre múltiplas
características de um mesmo indivíduo (intra-classe) e entre características de diferentes
indivíduos (inter-classe) consegue-se identificar qual o melhor valor do limiar de decisão que
minimiza as taxas de erro FAR e FRR. A Figura 1.5 apresenta um gráfico com as distribuições
de distâncias obtidas a partir de comparações intra-classe e inter-classe.
17
hardware/software existentes, formação dos utilizadores, pessoal de manutenção das
bases de dados, manutenção do sistema.
A métrica de avaliação utilizada nesta dissertação é o nível de desempenho. Deste modo
as próximas linhas desta dissertação servem para explicar como é feita essa avaliação.
Os sistemas biométricos não são infalíveis, isto é, podem ocorrer erros que afectem o
seu desempenho, levando o sistema a tomar decisões que podem não ser as mais correctas.
Estes erros, na biometria, são quantificados segundo dois tipos de erro: falsa aceitação, FA -
false accept e falsa rejeição, FR - false reject [Boechat 2008]:
Falsa aceitação, FA - Decidir que uma determinada identidade é legítima quando na
realidade ela é falsa. A frequência de ocorrências de erros deste tipo é chamada taxa
de falsa aceitação, false accept rate, FAR.
Falsa rejeição, FR - Decidir que uma determinada identidade é falsa quando na
realidade ela é legítima. A frequência de ocorrências de erros deste tipo é chamada
taxa de falsa rejeição, false reject rate, FRR.
A representação gráfica das taxas FRR e FAR encontram-se ilustradas na Figura 1.4.
Pela observação do gráfico verifica-se que existe uma dependência entre as duas taxas, isto é,
quando uma taxa se aproxima do seu valor máximo, a outra aproxima-se do seu valor mínimo,
originando um ponto de intersecção entre as duas curvas. A esse ponto dá-se o nome de erro
igual, equal error, EE, à qual está associada uma taxa de erro designada por taxa de erro igual,
equal error rate, EER. A decisão sobre a autenticação de um utilizador é feita através de um
limiar de decisão ou threshold, T. A partir deste valor consegue-se calibrar um sistema
biométrico, em termos do seu desempenho. Um bom sistema biométrico é aquele que
consegue minimizar as duas taxas de erro, ou seja, taxas de erro FAR e FRR baixas.
Figura 1.4 - As curvas típicas das taxas de erro FAR e FRR
Através das distâncias de Hamming resultantes de comparações entre múltiplas
características de um mesmo indivíduo (intra-classe) e entre características de diferentes
indivíduos (inter-classe) consegue-se identificar qual o melhor valor do limiar de decisão que
minimiza as taxas de erro FAR e FRR. A Figura 1.5 apresenta um gráfico com as distribuições
de distâncias obtidas a partir de comparações intra-classe e inter-classe.
18
Figura 1.5 - Distribuições de distâncias intra-classe e inter-classe
O desempenho do sistema está relacionado com o nível de segurança a ataques de
impostores (FAR) e o nível de autenticação de pessoas legítimas (FRR). Se o sistema estiver a
funcionar para valores acima do limiar de decisão da EER obtém-se uma FRR alta e uma FAR
baixa resultando assim numa maior segurança do sistema biométrico mas numa menor taxa de
autenticação de pessoas legítimas. Caso contrário, resulta uma menor taxa de autenticação de
pessoas legítimas e, consequentemente, uma taxa maior de autenticação de possíveis
impostores, traduzindo numa menor segurança do sistema ou seja, mais vulnerável a ataques
de impostores.
Visto que existe uma dependência entre as taxas FAR e FRR, pode-se obter uma
representação gráfica de uma taxa em função da outra, conforme mostra a Figura 1.6. A curva
característica bidimensional resultante designa-se por receiver operating characteristic (ROC).
A curva ROC representa uma boa descrição da precisão de um sistema biométrico, sendo
também útil quando se compara dois sistemas biométricos distintos.
Na prática, a comparação entre dois sistemas distintos pode não ser fácil, visto que o
comportamento das taxas FAR e FRR podem não ser tão bem desenhadas como nas Figuras
1.4 e 1.6, conforme se comprova pelos resultados experimentais obtidos (ver Capítulo 5 da
dissertação).
Figura 1.6 - Taxa de erro FRR em função da taxa de erro FAR (ROC)
1.2 Objectivos da dissertação
Um dos problemas que se têm colocado nos sistemas biométricos é como garantir a total
segurança dos dados biométricos dos utilizadores que se encontram na base de dados. Isto é
importante porque um ataque estratégico a uma base de dados que contém informações
18
Figura 1.5 - Distribuições de distâncias intra-classe e inter-classe
O desempenho do sistema está relacionado com o nível de segurança a ataques de
impostores (FAR) e o nível de autenticação de pessoas legítimas (FRR). Se o sistema estiver a
funcionar para valores acima do limiar de decisão da EER obtém-se uma FRR alta e uma FAR
baixa resultando assim numa maior segurança do sistema biométrico mas numa menor taxa de
autenticação de pessoas legítimas. Caso contrário, resulta uma menor taxa de autenticação de
pessoas legítimas e, consequentemente, uma taxa maior de autenticação de possíveis
impostores, traduzindo numa menor segurança do sistema ou seja, mais vulnerável a ataques
de impostores.
Visto que existe uma dependência entre as taxas FAR e FRR, pode-se obter uma
representação gráfica de uma taxa em função da outra, conforme mostra a Figura 1.6. A curva
característica bidimensional resultante designa-se por receiver operating characteristic (ROC).
A curva ROC representa uma boa descrição da precisão de um sistema biométrico, sendo
também útil quando se compara dois sistemas biométricos distintos.
Na prática, a comparação entre dois sistemas distintos pode não ser fácil, visto que o
comportamento das taxas FAR e FRR podem não ser tão bem desenhadas como nas Figuras
1.4 e 1.6, conforme se comprova pelos resultados experimentais obtidos (ver Capítulo 5 da
dissertação).
Figura 1.6 - Taxa de erro FRR em função da taxa de erro FAR (ROC)
1.2 Objectivos da dissertação
Um dos problemas que se têm colocado nos sistemas biométricos é como garantir a total
segurança dos dados biométricos dos utilizadores que se encontram na base de dados. Isto é
importante porque um ataque estratégico a uma base de dados que contém informações
18
Figura 1.5 - Distribuições de distâncias intra-classe e inter-classe
O desempenho do sistema está relacionado com o nível de segurança a ataques de
impostores (FAR) e o nível de autenticação de pessoas legítimas (FRR). Se o sistema estiver a
funcionar para valores acima do limiar de decisão da EER obtém-se uma FRR alta e uma FAR
baixa resultando assim numa maior segurança do sistema biométrico mas numa menor taxa de
autenticação de pessoas legítimas. Caso contrário, resulta uma menor taxa de autenticação de
pessoas legítimas e, consequentemente, uma taxa maior de autenticação de possíveis
impostores, traduzindo numa menor segurança do sistema ou seja, mais vulnerável a ataques
de impostores.
Visto que existe uma dependência entre as taxas FAR e FRR, pode-se obter uma
representação gráfica de uma taxa em função da outra, conforme mostra a Figura 1.6. A curva
característica bidimensional resultante designa-se por receiver operating characteristic (ROC).
A curva ROC representa uma boa descrição da precisão de um sistema biométrico, sendo
também útil quando se compara dois sistemas biométricos distintos.
Na prática, a comparação entre dois sistemas distintos pode não ser fácil, visto que o
comportamento das taxas FAR e FRR podem não ser tão bem desenhadas como nas Figuras
1.4 e 1.6, conforme se comprova pelos resultados experimentais obtidos (ver Capítulo 5 da
dissertação).
Figura 1.6 - Taxa de erro FRR em função da taxa de erro FAR (ROC)
1.2 Objectivos da dissertação
Um dos problemas que se têm colocado nos sistemas biométricos é como garantir a total
segurança dos dados biométricos dos utilizadores que se encontram na base de dados. Isto é
importante porque um ataque estratégico a uma base de dados que contém informações
19
biométricas pode trazer danos irreparáveis, caso tenham sucesso, pois esses dados
biométricos podem ser utilizados para aceder a todas as contas / serviços / aplicações dos
utilizadores ai registados e não podem ser alteradas, isto é, não podemos mudar por exemplo
de cara, olho, impressões digitais, como acontece com as passwords.
O primeiro objectivo desta dissertação é encontrar uma solução para o problema acima
mencionado. A utilização de codificação de fonte distribuída, distributed source coding, e de
funções criptográficas hash na codificação dos templates é uma solução possível para
assegurar que caso a base de dados seja atacada com sucesso por pessoas mal
intencionadas, estas não tenham acesso a dados pessoais dos utilizadores.
Também é objectivo da dissertação implementar um sistema de autenticação biométrico
baseado na íris aplicando a solução encontrada para o problema da segurança dos dados na
base de dados.
1.3 Organização da dissertação
Esta dissertação está organizada em seis capítulos distintos. O Capítulo 1, de
introdução, apresenta os principais conceitos sobre biometria, os vários tipos de características
biométricas existentes, quais as vantagens e desvantagens da sua utilização, quais os modos
de autenticação existentes e, em termos de avaliação dos sistemas biométricos, que métricas
são utilizadas para os avaliar.
O Capítulo 2 descreve detalhadamente o estado de arte em termos de sistemas
biométricos, explicando o seu modo de funcionamento e analisando quais as principais
vantagens e desvantagens da sua utilização. Neste capítulo também se descreve que tipos de
vulnerabilidades estão associados aos sistemas biométricos e quais as medidas que estão a
ser estudadas ou implementadas para suprimir essas mesmas vulnerabilidades.
A característica biométrica utilizada nesta dissertação é a íris, porque é bastante precisa
e segura, em comparação com outras biométricas. Para além disso a íris é um órgão interno
visível e bem protegido a modificações externas.
O Capítulo 3 descreve detalhadamente quais as vantagens e desvantagens da utilização
da íris num sistema de reconhecimento biométrico. Neste capítulo é também descrita uma
implementação de um sistema biométrico sem segurança dos templates biométricos, definindo
os seus principais módulos e detalhando o seu modo de funcionamento e resultados.
No Capítulo 4, é proposto um sistema de reconhecimento biométrico baseado na íris
com segurança reforçada recorrendo à codificação de fonte distribuída, distributed source
coding, e às funções criptográficas de hash.
O Capítulo 5 apresenta e discute os resultados provenientes da implementação proposta
no Capítulo 4.
No Capítulo 6 são apresentadas as conclusões sobre o trabalho realizado nesta
dissertação e também quais os aspectos que podem ser desenvolvidos e melhorados no
futuro.
20
2 Estado da arte da biometria
Este capítulo tem a finalidade de apresentar uma breve descrição do estado da arte da
biometria. Este capítulo está dividido em duas secções principais, na primeira, descrevem-se
algumas implementações de sistemas de reconhecimento biométrico utilizando diferentes
características biométricas, apresentando algumas vantagens e desvantagens da sua
utilização. Na segunda secção, descrevem-se algumas vulnerabilidades destes sistemas em
termos de segurança apresentando possíveis ataques a elas associadas e quais as medidas
que estão a ser tomadas ou mesmo implementadas para protecção destes ataques.
2.1 Sistemas de reconhecimento usando biométricas
Na busca por uma autenticação mais segura, vêm sendo adoptadas novas biométricas
em sistemas de reconhecimento biométrico.
A Tabela 2.1 ilustra alguns exemplos de biométricas utilizadas em sistemas de
reconhecimento biométrico relevando as características extraídas a partir delas e usadas para
autenticação.
Tabela 2.1 – Características extraídas a partir de diferentes biométricasBiométricas Características extraídas sujeitas a comparações na autenticação
Impressão digital Padrão de sulcos cutâneos da superfície da ponta do dedo
Voz A forma como é gerada os sons a partir de regiões vocais como a boca
e o nariz
Retina Padrão gerado pelas veias que atravessam a retina num olho.
Geometria da Mão Medições da geometria da mão humana.
Face Medições da geometria da face humana.
Orelha Medições da geometria da orelha humana.
Íris Características da textura da íris
Assinatura O padrão, velocidade, aceleração e pressão sobre a caneta na
assinatura.
A seguir descrevem-se sucintamente sistemas de reconhecimento biométricos utilizando
as cinco biométricas mais utilizadas, apresentando-se as vantagens e desvantagens da sua
utilização.
O funcionamento base destes sistemas é o descrito pelas figuras 1.1,1.2 e 1.3 do
Capítulo 1.
21
2.1.1 Impressão digital
A formação das impressões digitais das pessoas começa no sétimo mês de gestação,
com a diferenciação da pele das pontas dos dedos. O fluxo de fluidos amnióticos em volta do
feto e a posição do feto dentro do útero mudam durante o processo de diferenciação. As
células das pontas dos dedos crescem num micro-ambiente, que é ligeiramente diferente de
mão para mão e de dedo para dedo. Os detalhes finos das impressões digitais são
determinados por este micro-ambiente.
Em estudos dermatológicos efectuados, a máxima diferença entre impressões digitais
tem sido encontrada entre indivíduos de diferentes raças. Pessoas da mesma raça, sem grau
de parentesco, possuem uma similaridade muito pequena nas impressões digitais, enquanto
que pessoas que têm algum grau de parentesco, como por exemplo um pai e um filho,
possuem alguma similaridade, por compartilharem metade dos genes. Gémeos idênticos
possuem a máxima similaridade. Estima-se que 95% das características das impressões
digitais de gémeos idênticos sejam iguais [Maltoni 2003].
A aquisição da impressão digital obtém-se a partir de uma imagem a preto e branco ou a
cores das linhas dos dedos. A impressão digital pode ser estampada em papel, pressionando
o dedo previamente preparado com tinta, para posteriormente ser digitalizada por meio de um
scanner. Um exemplo deste tipo de imagens é as impressões digitais latentes encontradas em
cenas de crimes, que podem ser recuperadas por meio de um procedimento especial.
A impressão digital também pode ser obtida “ao vivo”, por meio de dispositivos
electrónicos especiais. O princípio básico de todos é a detecção das rugosidades dos dedos
que estão em contacto com o dispositivo. A aquisição de imagens ao vivo centra-se em quatro
tecnologias:
Tecnologia óptica – Esta é a maneira mais antiga de obtenção de imagens ao
vivo. Uma superfície de aquisição com 1×1 polegadas permite a aquisição de
imagens de cerca de 500 dpi1. A luz reflectida depende das condições da pele, ou
seja, imagens saturadas ou difusas podem ser obtidas de peles molhadas ou
secas.
Tecnologia capacitiva – Nesta tecnologia, as cristas e vales da pele da ponta de
um dedo, criam diferentes acumulações de carga quando o dedo toca uma rede de
sensores CMOS. A carga é convertida num valor de intensidade de um pixel. Uma
superfície de aquisição de 0,5×0,5 polegadas é convertida numa imagem de cerca
de 500 dpi. Estes dispositivos são sensíveis às condições da pele, isto é, dedos
molhados ou secos originam imagens de baixa qualidade.
Tecnologia térmica – Esta tecnologia baseia-se no facto de que a pele é um
condutor de calor melhor que o ar. O contacto das cristas da pele dos dedos com o
dispositivo causa uma alteração observável na temperatura da superfície do
1 DPI é uma medida de resolução da imagem de uma impressora ou de um monitor. Essa sigla significapontos por polegada, dots per inch.
22
sensor. A tecnologia supera os problemas das condições da pele mas a imagem de
500 dpi obtida não é rica em tons de cinza o que dificulta a extracção das
características da impressão digital.
Tecnologia ultra-sónica – Nesta tecnologia um feixe ultra-sónico é dirigido
através da superfície do dedo, para medir directamente a profundidade dos sulcos
com base no sinal reflectido. As condições de oleosidade da pele não afectam a
imagem obtida, que reflecte bastante bem a topologia dos sulcos. Contudo, estes
equipamentos tendem a ser grandes e a requerer um tempo de leitura maior que
os leitores ópticos.
A extracção das características é o ponto central dos sistemas de autenticação
baseados em impressões digitais, com implicações para o projecto do restante sistema. As
abordagens existentes na literatura podem ser classificadas em três classes:
Abordagem global – Esta abordagem descreve a formação geral das linhas,
sendo observados um núcleo e mais de dois deltas. O núcleo é o centro de
referência da impressão digital e um delta é o ponto de encontro de três linhas,
como se ilustra na Figura 2.1. Estas formações singulares são usadas como pontos
de controlo, em volta dos quais as linhas estão organizadas. A orientação geral das
linhas é útil para classificação e indexação em grandes grupos, embora não seja
suficiente para uma comparação precisa.
Figura 2.1 – Representação de um núcleo e um delta de uma impressão digital:círcunferência vermelha - núcleo, circunferência amarela - delta
Abordagem local – Esta abordagem está relacionada com detalhes marcantes
das próprias linhas, conhecidos como minúcias. Embora exista mais de uma
centena de tipos de detalhes catalogados, os mais utilizados em sistemas
automatizados são a terminação de linha e a bifurcação de linha, como ilustrado na
Figura 2.2. A extracção destas características locais depende fortemente da
qualidade da imagem adquirida. Os templates biométricos obtidos por meio da
extracção de características de minúcias tipicamente possuem um tamanho de 250
a 700 bytes.
23
Figura 2.2 – Exemplos de dois tipos de minúcias
Abordagem fina – Esta abordagem baseia-se nos detalhes intra-linhas, ou seja, a
posição e formação dos poros de suor. Estas características são altamente
distintivas, mas a sua extracção somente é viável em imagens de alta resolução
(cerca de 1.000 dpi) obtidas de impressões digitais de boa qualidade. A maioria
dos sensores fornece imagens de resolução de 500 dpi, logo este tipo de
abordagem não é funcional para a maioria das aplicações.
A comparação é baseada em métodos desenvolvidos por especialistas humanos. Os
métodos de comparação estudados ao longo de várias décadas são diferenciados em dois
tipos:
Métodos baseados em imagens – Esta classe inclui métodos de correlação de
imagem tanto ópticas quanto numéricas. As imagens das impressões digitais são
expostas e a correlação no nível de intensidade entre os pixéis correspondentes é
computada para diferentes localizações e rotações.
Métodos baseados em características – A comparação baseada em minúcias é o
método mais conhecido e o mais usado em comparação, graças à analogia das
aplicações forenses e graças à aceitação legal como prova de identidade na maioria
dos países. Os algoritmos de comparação mais comuns consideram cada minúcia
como uma função de 3 dimensões, a informação de localização espacial 2D (x,y) e
a orientação θ. Os detalhes extraídos são então armazenados como conjuntos de
pontos, e a comparação consiste em encontrar o máximo número de pares
suficientemente coincidentes da amostra e do template.
Na literatura existente existem três factores para a tomada de decisão de que duas
impressões digitais pertencem ao mesmo dedo. Estes três factores são:
Concordância na configuração global do padrão, ou seja, na distribuição do núcleo
e dos deltas, o que implica que as impressões são do mesmo tipo;
Concordância qualitativa, ou seja, os detalhes de minúcias devem ser idênticos;
Suficiência quantitativa, que especifica que pelo menos um certo número de
detalhes de minúcias devem ser encontrados. O valor mínimo de detalhes de
minúcias é 12, segundo as orientações legais nos Estados Unidos [Kazienko,
2003].
24
A similaridade entre duas impressões digitais do mesmo dedo deve ser invariante quanto
à translação, rotação, pressão aplicada e distorção elástica da pele.
As principais vantagens da tecnologia de autenticação biométrica baseada em
impressão digital são:
Esta tecnologia pode ser bastante precisa;
Existe uma longa tradição no uso da impressão digital como identificador imutável;
Existem grandes bases de dados de impressões digitais;
A impressão digital pode ser colhida facilmente a baixo custo.
Em relação às desvantagens, as principais são as seguintes:
Em algumas culturas, impressões digitais não são bem aceitas por estarem ligadas
a criminosos, pessoas iletradas ou por questões de higiene;
A qualidade das impressões digitais varia enormemente dentro de uma população;
Os sensores mais baratos podem ser comprovadamente defraudados.
2.1.2 Face
A face é uma característica biométrica convincente e uma das mais aceitáveis por parte
dos utilizadores, pois é usada rotineiramente como primeiro método de reconhecimento entre
pessoas.
A aquisição de imagens da face possui abordagens diferentes. Estas podem ser
agrupadas em quatro grupos distintos:
Imagens 2D – A obtenção de imagens digitalizadas de fotografias é importante,
pois muitos dados estão na forma de fotografias, sejam elas a cores ou a preto-e-
branco. Esta é a obtenção estática de imagens. Já para a obtenção de imagens ao
vivo, câmaras digitais e analógicas podem ser usadas. As imagens são geralmente
captadas com a cooperação do utilizador que vai ser fotografado, e em condições
de iluminação controladas. Qualquer câmara de baixo custo, como uma webcam, é
utilizável para obtenção de imagens 2D, mas em termos de resultados as câmaras
que possuem foco automático e lentes apropriadas apresentam imagens mais
nítidas e de melhor resolução. Tanto quanto possível, câmaras com características
similares devem ser utilizadas nas fases de registo e autenticação. O tamanho de
um arquivo contendo a imagem da face pode variar de 1 KB a 100 KB,
dependendo da compressão utilizada;
Imagens 3D – Muitas das técnicas modernas de reconhecimento de face baseiam-
se na geometria da cabeça e exigem imagens a três dimensões. Os modelos 3D
contêm mais informações da face e são invariantes ao modo como é colocada a
face. Uma desvantagem ainda presente é que os modelos tratam a face como um
objecto rígido, não sendo capazes de retratar as expressões faciais. Embora o
reconhecimento de face 2D ainda supere os métodos 3D, este cenário pode mudar
num futuro próximo [Scheenstra 2005]. A combinação multimodal de abordagens
2D e 3D pode incrementar a precisão total do sistema [Chang 2003]. A aplicação
25
descrita em [Chang 2005] relata uma taxa de EER de 1,9% para uma abordagem
multimodal 2D+3D, contra uma taxa EER de 4,5% para as abordagens 2D e 3D
separadas. A obtenção de imagens 3D da face pode ser feita segundo várias
técnicas. Uma das técnicas é o uso de imagens simultâneas, onde duas câmaras
2D, cujos campos de visão são separados por um ângulo entre 8º e 15º, obtêm
imagens independentes para montagem posterior. Outra das técnicas baseia-se na
projecção de um padrão de luz conhecido, cuja distorção pode ser capturada para
reconstruir a aparência 3D da face. Por último, técnicas baseadas em varrimento a
laser proporcionam um mapa tridimensional pela amostragem de cada ponto da
superfície da face.
Sequências de imagens – Câmaras de vigilância gravam sequências de vídeo,
que podem conter imagens das faces. No entanto, a resolução das imagens da
face é de baixa qualidade, tornando difícil sua utilização em sistemas de
reconhecimento. Técnicas de seguimento em conjunto com a utilização de
câmaras com zoom podem ser usadas para melhorar a resolução das imagens.
Esta técnica pode ser usada para focar faces suspeitas num vídeo.
Termograma da face – Um dos problemas na aquisição de imagens da face está
relacionado com as condições de iluminação. Iluminação infra-vermelha de baixa
potência, invisível ao olho humano, pode ser usada no processo de detecção da
face. Termogramas faciais baseados em radiação infra-vermelha não dependem
da iluminação ambiente e são resistentes a disfarces das pessoas, mas o alto
custo da sua implementação e a influência de fontes de calor pode afectar esta
modalidade de biometria [Prokoski 1999].
Na Figura 2.3 encontram-se ilustrados alguns exemplos de imagens de faces humanas.
(a) (b) (c)
Figura 2.3 – a) Imagem da face 2D , b) Imagem a 3D e c) Imagem a infravermelho
A extracção das características da face possui como primeiro passo a sua segmentação
ou seja, isolar da imagem a face da qual se quer extrair as características. A segmentação é
um processo de grande importância para o sucesso do reconhecimento facial. Métodos
baseados em distâncias e redes neuronais resultam em taxas de correcta segmentação de
26
imagens da face em cerca de 85% [Zhao 2003]. Na literatura existem alguns métodos para a
extracção e comparação de características das imagens da face:
Métodos holísticos – Os métodos holísticos usam toda a região da face como
entrada do sistema de reconhecimento. Dentre as várias técnicas existentes, a
PCA, baseada em eigenfaces, é a mais utilizada;
Métodos estruturais – Os métodos estruturais, contendo técnicas mais recentes,
utilizam medidas geométricas (ângulos e distâncias) relativas entre diversos pontos
notáveis da face como olhos, nariz, boca e bochechas;
Métodos híbridos – Nos métodos híbridos existe a tentativa de se aproximar do
sistema de percepção humano, que utiliza tanto a aparência global da face como a
geometria da face na comparação das características faciais.
Estes métodos possuem em comum a dificuldade de se efectuar a comparação quando
a aparência das características muda de forma significativa, como por exemplo, olhos
fechados, a utilização de óculos ou boca aberta. Em condições de laboratório, os algoritmos de
reconhecimento de face podem apresentar taxas de erro bastante aceitáveis. Na prática, o
desempenho dos sistemas de reconhecimento de face é muito dependente da sua aplicação.
Em qualquer sistema existem vantagens e desvantagens e a tecnologia de autenticação
biométrica baseada na face não foge à regra. Assim, as principais vantagens são as seguintes:
Existe uma larga aceitação por parte das pessoas para este tipo de identificador
biométrico, já que fotografias de faces são usadas rotineiramente em documentos.
Os sistemas de reconhecimento de face são os menos intrusivos, não exigindo
qualquer contacto e nem mesmo a colaboração do utilizador.
Os dispositivos de aquisição de imagens 2D são de baixo custo.
Em relação às desvantagens, as principais são as seguintes:
Em sistemas de autenticação por meio da face, as condições de iluminação
precisam ser controladas.
Estes sistemas podem ser facilmente enganados com a utilização de uma fotografia
no acto da aquisição da face.
Uma maneira óbvia e fácil de defraudar o sistema, em aplicações de screening, é a
utilização de disfarces.
2.1.3 Geometria da mão
Várias tecnologias de verificação biométrica com base na geometria da mão têm
evoluindo durante o último século, desde dispositivos electromecânicos até aos electrónicos.
Em 1960 foi registada a primeira patente para um dispositivo que media a geometria da mão, e
registava as características para uma identificação posterior (uma máquina baseada em
mecânica, projectada e construída por Robert P. Miller, sob o nome de Identimation). Nos anos
70 e 80, várias outras companhias lançaram esforços no desenvolvimento e implementação de
dispositivos similares, pressionados pelas oportunidades de mercado. Actualmente existem
27
leitores modernos de mão que executam funções de controlo de acesso, registo de ponto de
empregados e aplicações de pontos de venda [Zunkel 1999].
O reconhecimento baseia-se na geometria da mão. As características da mão da pessoa
como o comprimento, largura, espessura e curvatura dos dedos e da palma da mão, e a sua
localização, distinguem as pessoas umas das outras.
Um dispositivo de leitura da geometria da mão usa uma câmara para capturar imagens a
preto e branco da silhueta da mão, Figura 2.4. Em combinação com um reflector e espelhos
laterais, duas imagens distintas são produzidas, uma vista de cima e outra vista de lado.
a) b) c)
Figura 2.4 – a) Medidas típicas da geometria da mão, b) imagem real obtida dodispositivo e c) dispositivo de leitura da mão
A imagem é obtida com a colaboração do utilizador, que coloca a mão numa plataforma
que contém pinos para localização da mão. Estes pinos, que se encontram na plataforma do
dispositivo, posicionam a mão do utilizador para assegurar uma captura de imagem mais
precisa e com melhor qualidade [Sanchez-Reillo 2000]. Uma câmara, localizada por cima da
plataforma, é activada quando os sensores de pressão localizados perto dos pinos da
plataforma são activados, indicando que a mão está correctamente posicionada. A fotografia é
tirada mostrando a silhueta e a imagem lateral da mão.
A extracção das características depende da imagem adquirida. A imagem obtida é
convertida para numa imagem em tons de cinzento caso seja colorida. Através de um algoritmo
de detecção de bordas consegue-se extrair o contorno da mão. O dispositivo de aquisição
obtém 96 características da mão do utilizador, que depois são convertidas num template de
apenas 9 bytes de dados.
Na comparação, a representação obtida é comparada com o template armazenado. A
comparação pode envolver, por exemplo, acumulação de diferenças absolutas das
características individuais, entre o template da autenticação e o template armazenado.
Para o cálculo da similaridade entre os dois templates, são utilizados algoritmos
baseados em distância euclidiana, distância de Hamming, modelos de mistura gaussiana,
GMM, ou redes neuronais. Os melhores resultados são apresentados pelos algoritmos
baseados em GMMs [Sanchez-Reillo 2000]. Para a acomodação dos factores naturais e
ambientais que alteram o formato da mão das pessoas, os dispositivos de leitura podem
possuir um processo de actualização dos templates armazenados. Este processo é executado
28
sob certas condições, durante o processo de comparação. Esta acomodação do template,
actualiza a descrição matemática armazenada quando a diferença entre a amostra e o
template atinge um limite pré-determinado.
As características individuais da mão não são muito descritivas tendo como
consequência na autenticação taxas de erros relativamente altas. Apesar disso, os sistemas de
verificação biométrica com base na geometria da mão são bastante difundidos. Uma avaliação
desta tecnologia foi efectuada em 2001 pelo BWG que relata uma taxa de erro EER em torno
de 1,5% para esta tecnologia [Mansfield 2002].
As principais vantagens da tecnologia de autenticação biométrica baseada na geometria
da mão são as seguintes:
A recolha das características é fácil e não intrusiva.
A computação é bastante simples e os templates são pequenos, o que torna fácil a
construção de sistemas dedicados isolados. O pequeno tamanho do template (9 a
35 bytes) reduz as necessidades de armazenamento.
Adequado para utilizar com outras biométricas, em particular a impressão digital
Não relacionado a registos policiais e criminais.
Em relação às desvantagens, as principais são as seguintes:
Os dispositivos de aquisição ficam localizados a 28 cm de distância da câmara, para
que se obtenha o efeito óptico desejado, obrigando o dispositivo de aquisição a ser
relativamente grande no seu tamanho.
Num sistema biométrico baseado na geometria da mão é necessário uma boa
interacção do utilizador com o dispositivo de aquisição.
Não é suficientemente distinta para identificação, sendo adequada apenas para
aplicações de verificação.
2.1.4 Assinatura
A aquisição de uma assinatura pode ser offline, ou estática, quando introduzida por meio
convencional (canetas, lápis, etc) em documentos de papel e posteriormente adquirida por
meio de uma câmara ou scanner ou online ou dinâmica, quando efectuada num dispositivo
electrónico. Este dispositivo está preparado para capturar, com alto grau de resolução, as
características dinâmicas temporais da assinatura, como a trajectória da caneta, a pressão,
direcção e elevação do traço.
Várias abordagens de análise automatizada baseadas em características como número
de contornos interiores e número de componentes de inclinação têm sido estudadas, mas a
falta de informação dinâmica torna o processo automatizado de verificação estática bastante
vulnerável a fraudes. O problema da verificação automática de assinaturas estáticas atraiu
grande atenção nos últimos anos, mas os resultados não têm fornecido a precisão necessária
devido a muitos problemas de segurança. As técnicas incluem transformadas 2D, histogramas
de dados direccionais, curvatura, projecções verticais e horizontais do traço da assinatura,
abordagens estruturais, medidas locais no traço, posição de pontos característicos. Um dos
29
melhores resultados tem sido fornecido pela análise baseada no tamanho das distribuições
granulométricas locais [Sabourin 1997].
A abordagem dinâmica é bastante mais interessante. A verificação da dinâmica da
assinatura baseia-se nas características do processo de assinatura em si. Um modo temporal
de representação da assinatura contém mais informação, o que pode tornar o processo mais
preciso. Contudo, este modo necessita de dispositivos especiais. Os dispositivos normalmente
podem ser divididos em três tipos: aquisição por meio da caneta, aquisição por meio da
superfície e aquisição por meio de ambas.
A extracção das características baseia-se principalmente na componente temporal. Na
análise dinâmica, são introduzidas as noções de tempo e pressão, além do espaço
bidimensional do papel. Os dispositivos utilizados podem, por exemplo, registar um fluxo de
vectores penta dimensionais colhidos em pontos temporais equidistantes. Esses vectores
poderiam, por exemplo ser compostos por A = (x,y,p,θx,θy), onde x e y correspondem à
posição, p corresponde à força axial exercida pela caneta e θx e θy registam os ângulos da
caneta em relação ao plano xy. Esta informação adicional é bastante útil na prevenção de
fraudes. Um arquivo de assinaturas contendo funções temporais de posição, pressão, azimute
e elevação possui normalmente um tamanho entre 5 KB e 10 KB. Formatos mais eficientes e
compressões na razão 3:1 permitem o armazenamento em arquivos de 1 KB a 2 KB.
Na análise de assinaturas dinâmicas, as medidas de comparação incluem distâncias
euclidianas entre as trajectórias de canetas, medidas de correlação regional e reconhecimento
temporal-probabilístico como as cadeias de Markov ocultas.
O problema da comparação pode ser reduzido à classificação temporal. A decisão sobre
a autenticação pode ser feita segundo diferentes métodos:
Métodos probabilísticos - Estes métodos baseiam-se em distribuições de
densidade de probabilidades do conjunto das características genuínas e do conjunto
de características em geral. Uma distância entre estas duas distribuições é
determinada para fixar o grau de importância dada à característica. A decisão pode
por exemplo ser baseada na distância Euclidiana, calculada sobre um conjunto de
características;
Métodos elásticos – Estes métodos baseiam-se na utilização de DTW, Dynamic
Time Warping [Myers 1981]. A DTW calcula as distâncias temporais mínimas entre
um vector de entrada e os vectores modelo. Existem diferenças de tempo não
lineares entre as características das assinaturas produzidas pela mesma pessoa. O
objectivo é encontrar o alinhamento temporal óptimo entre a assinatura de
referência e a assinatura da verificação;
Redes neuronais - Esta ferramenta de inteligência artificial tem sido explorada para
a verificação dinâmica de assinaturas, mas o desempenho registado tem sido
inferior aos outros métodos;
Cadeias de Markov ocultas - Cadeias de Markov ocultas, HMM, são o método
mais popular de classificação temporal, com aplicações em áreas como
30
reconhecimento de discurso, escrita e gesticulação. Uma cadeia de Markov oculta é
uma variante de uma máquina de estados finita e não determinística, onde os
estados e transições possuem associações probabilistas [Rabiner 1986].
Actualmente este é o modelo com melhor desempenho na verificação de
assinaturas. A vantagem resulta da possibilidade de aceitar variabilidade, ao mesmo
tempo que se capturam características individuais da assinatura.
As principais vantagens da tecnologia de autenticação biométrica baseada na assinatura são
as seguintes:
A assinatura dinâmica é uma combinação de informação e biometria. O conteúdo e
o modo da escrita podem ser escolhidos e até mesmo alterados pelo utilizador;
Possui grande aceitação por parte do utilizador;
A assinatura dinâmica é bastante difícil de ser defraudada. A comunidade
interessada em autenticação por meio da dinâmica de assinatura define o nível de
sofisticação do impostor em categorias, como zero-effort forgery, home-improved
forgery, overthe-shoulder forgery e professional forgery. Esta divisão em categorias
por nível de sofisticação ainda não existe em outras tecnologias biométricas.
Em relação às desvantagens, as principais são as seguintes:
O custo dos dispositivos de aquisição é alto;
Esta característica biométrica possui alta variabilidade. Existem muitas pessoas
com assinaturas inconsistentes. Assim, os sistemas de verificação podem ter de
permitir a configuração de limiares de decisão por utilizador.
Um protótipo de sistema de autenticação baseado em assinaturas dinâmicas foi
construído na UNISINOS usando redes neuronais do tipo cascade-correlation como método de
comparação, relatando bons resultados de precisão, com taxas de erro, FAR e FRR, estimadas
em 2,6% e 3,6% respectivamente [Heinen 2004].
Abordagens para localização da caneta e estimativa de orientação usando luz visível
foram desenvolvidas, o que pode baixar o custo de aquisição de assinatura e pode até mesmo
levar a assinaturas tridimensionais [Munich 1998].
O projecto BISP visa desenvolver canetas multi-sensoriais para registo e análise de
biometria comportamental e características neuromotoras, ambas baseadas na cinemática e na
dinâmica da escrita em geral e da assinatura em particular [Hook 2003].Resultados relatados
na primeira competição internacional de verificação por dinâmica da assinatura relatam taxas
de EER entre 2,89% e 16,34% para o melhor e pior algoritmo[ internet1].
2.1.5 Voz
A autenticação por meio da voz tem sido uma área de pesquisa bastante activa desde os
anos 70. Os sistemas podem ser divididos em diferentes classes, de acordo com o protocolo
estabelecido:
Texto fixo – O utilizador pronuncia uma palavra ou frase pré-determinada secreta,
que é gravada durante a fase de registo;
31
Dependente do texto – O utilizador é solicitado, pelo sistema de autenticação, a
pronunciar algo específico, dentre as diversas opções previamente registadas no
sistema. Neste caso, a fase de registo é bastante longa. É similar ao protocolo de
texto fixo, mas com um número maior de opções;
Independente do texto – O utilizador pronuncia frases conforme seu desejo. O
sistema processa qualquer discurso do utilizador;
Conversacional – O utilizador é interrogado, pelo sistema de autenticação, com
perguntas cujas respostas são secretas, tornando-se um protocolo misto de
conhecimento e biometria. É um protocolo similar ao dependente de texto, sendo
que as frases previamente gravadas possuem um certo grau de segredo.
Na aquisição, existem dispositivos que transformam as ondas acústicas de voz em
ondas electromagnéticas. A quantidade de espaço necessária para armazenar os dados de voz
sem tratamento, depende da taxa de amostragem, dos níveis de quantização e do número de
canais (mono-canal na maioria das vezes). Por exemplo, um sinal de voz amostrado a uma
taxa de 16 kHz, com um nível de quantização de 16 bits, utiliza cerca de 31 KB por segundo de
sinal [internet 8]. O sinal de voz deve ser representado por uma sequência de vectores de
características.
A extracção dos templates pode ser feita segundo diferentes abordagens, a tradicional,
por meio de análise de componentes principais, PCA e análise de factores, FA, a estimativa de
médias e co-variâncias e a estimativa de divergências [Campbell 1997].
Os principais métodos de abordagem para comparação dos dados de voz estão listados
a seguir [Yu 1995]:
DTW, Dynamic Time Warping – Este método permite a compensação da
variabilidade humana inerente ao padrão de voz. É o método mais usado para
verificação dependente do texto;
Métodos estatísticos – Estes métodos baseiam-se na modelação paramétrica do
sinal de voz. A modelação pode ser dependente do tempo, por meio da utilização de
cadeias de Markov ocultas, HMM, ou não dependentes do tempo, por meio da
utilização de modelos de mistura gaussiana, GMM. Os valores dos parâmetros
devem ser obtidos a partir de dados de treino. O método HMM é bastante comum
para sistemas dependentes de texto. No entanto, o método GMM é agora o modelo
dominante para reconhecimento de voz, frequentemente utilizado em combinação
com um provedor de informação de alto nível, como DTW;
Redes neuronais – Redes neuronais têm sido usadas em pesquisas de
reconhecimento de voz independente do texto, treinadas com dados de utilizadores
legítimos e impostores;
SVM, Support Vector Machines – Estes métodos são um grupo de métodos de
aprendizagem supervisionada utilizados para classificação ou regressão. Os
resultados relatados têm sido superiores aos resultados de GMMs.
32
As principais vantagens da tecnologia de autenticação biométrica baseada na voz são as
seguintes
A voz, assim como a face, é uma biometria usada instintivamente pelas pessoas
para autenticação mútua;
Esta tecnologia utiliza dispositivos baratos, e além disso é facilmente desenvolvida
sobre uma infra-estrutura já existente e amplamente espalhada, como o sistema
telefónico;
Permite protocolos de autenticação de segurança incremental. Por exemplo, o
sistema pode pedir mais dados de voz para que a sua decisão seja a correcta. Pode
também ser utilizado um protocolo de biometria conversacional, combinado com
verificação de conhecimento, ou pode ainda verificar-se a identidade continuamente
durante a conversação;
Em aplicações independentes do texto e em aplicações conversacionais, os
utilizadores não necessitam de um processo separado de autenticação, o que torna
o processo totalmente integrado.
Em relação às desvantagens, as principais são as seguintes:
É possível a imitação por pessoas habilidosas ou a utilização de gravações da voz
do utilizador legítimo para defraudar o sistema. Além disso, existem sistemas de
síntese que podem ser treinados para imitar a voz de pessoas;
A tecnologia text-to-speech torna possível a criação de identidades não existentes
em sistemas de registo e autenticação remotos;
A qualidade do sinal de áudio é susceptível ao ruído do ambiente. Além disso,
podem ser introduzidas distorções na captação do sinal pelo microfone e na
transmissão do sinal através do canal;
O padrão de voz é bastante frágil, pois pode ser alterado pelo estado do utilizador
(saúde, emoção, pressa, sono, preguiça, entre outros).
As taxas de erro para sistemas de autenticação por meio da voz são muito dependentes
da aplicação. Esta tecnologia está amadurecida, mas alguns problemas ainda permanecem por
resolver. O desempenho depende muito das condições de aquisição e teste. Mesmo assim,
competições internacionais tentam estabelecer taxas de erros aproximadas que permitam
comparações com outras tecnologias. Por exemplo, em competição aberta conduzida pelo
NIST em 2003 foi obtida uma taxa EER de 5,3% [Przybocki 2004].
2.1.6 Comparação do desempenho dos diferentes sistemas
A Tabela 2.2 apresenta alguns resultados do desempenho dos sistemas de
reconhecimento biométrico anteriormente mencionados. Os resultados foram alcançados em
competições internacionais, como a FVC [MAIO, 2002] e através de análises do governo norte-
americano.
33
Tabela 2.2 - Desempenho de sistemas biométricos para diferentes características[Fornazin 2008]
Da Tabela 2.2 conclui-se que as características biométricas impressão digital e íris
apresentam maior segurança para um sistema biométrico porque têm uma taxa FAR bastante
mais baixa em comparação com outras biométricas.
2.2 Segurança em sistemas biométricos
Num sistema biométrico, o problema da segurança dos dados biométricos que são
transmitidos entre os diferentes módulos que compõem o sistema e também armazenados em
base de dados é cada vez mais importante para os projectistas desses sistemas. Caso alguém
não autorizado consiga obter acesso a esses dados, poderá trazer graves problemas aos
utilizadores que utilizam estes sistemas, reduzindo assim a privacidade destes. Um sistema
biométrico que assegure a segurança de dados biométricos, deve respeitar as seguintes
propriedades:
Confidencialidade ou privacidade – O sistema deve assegurar que as
informações não serão reveladas a quem não tiver autorização;
Integridade – O sistema deve assegurar que as informações não serão alteradas
por alguém não autorizado;
Disponibilidade – O sistema deve assegurar que as informações estarão sempre
disponíveis a quem for devidamente autorizado;
Autenticidade – O sistema deve assegurar que alguém é realmente quem diz ser;
Não-repúdio – O sistema deve assegurar que ninguém possa negar a autoria de
alguma informação que efectivamente tenha gerado.
A segurança de sistemas biométricos pode ser avaliada segundo dois aspectos
importantes:
Desempenho do sistema – O desempenho do sistema é representado segundo as
taxas de erro FAR e FRR conforme foi descrito no Capítulo 1;
Robustez do sistema – A robustez de um sistema biométrico define o quanto o
sistema é vulnerável a possíveis ataques. Estas vulnerabilidades resultam do tipo
34
de arquitectura utilizada para cada um dos módulos do sistema, da sua
implementação e também de como é efectuada a comunicação entre os diversos
módulos do sistema biométrico.
Define-se vulnerabilidade como sendo qualquer fraqueza que pode ser explorada para
violar a segurança de um sistema ou as informações que ele contém.
Dos dois aspectos acima mencionados, a robustez do sistema é a mais difícil de ser
avaliada, porque apesar do projectista do sistema poder utilizar as mais recentes tecnologias
na sua implementação, nunca pode tirar conclusões quanto à sua resistência a possíveis
ataques, ou seja, os impostores vão aperfeiçoando cada vez mais as suas técnicas
fraudulentas de ataque podendo descobrir novas vulnerabilidades que nunca tinham sido
detectadas por parte do projectista do sistema.
Na actualidade não existe nenhum sistema 100 por cento seguro, e os sistemas
biométricos são uma prova disso. Nos últimos anos, com o avanço da tecnologia e estudos
científicos cada vez mais aprofundados, conseguiu-se descobrir algumas vulnerabilidades
destes sistemas das quais se têm tentado resolver.
Algumas dessas vulnerabilidades dos sistemas de reconhecimento biométricos estão
representadas segundo um modelo fish-bone [Jain 2006] . Este modelo está ilustrado na
Figura 2.5.
Figura 2.5 - Representação das vulnerabilidades segundo modelo fish-bone [Jain 2006]
As causas de um possível fracasso de um sistema biométrico ilustradas no modelo da
Figura 2.5 podem ser organizadas em duas principais categorias [Jain 2008]:
Falha intrínseca - A falha intrínseca acontece devido às limitações das tecnologias
de aquisição das características, como por exemplo os sensores, de extracção das
características e a também das tecnologias de decisão utilizadas pelo comparador.
Falha devido a ataques – A falha devido a ataques por parte de impostores
acontece quando eles tentam corromper o sistema para ganhos pessoais.
35
2.2.1 Falha intrínseca
A falha intrínseca origina uma quebra de segurança do sistema biométrico, devido a
decisões incorrectas por parte do sistema. Um sistema de reconhecimento biométrico pode
fazer dois tipos de erros na sua decisão sobre a autenticação do utilizador: a falsa aceitação e
a falsa rejeição conforme descrito no Capítulo 1.
Um utilizador legítimo pode ser falsamente rejeitado pelo sistema biométrico devido a
diferenças entre os templates armazenados e o template extraído da característica na sua
autenticação. Estas diferenças podem ocorrer devido a uma má interacção entre o utilizador e
o sistema biométrico, isto é, a uma má colocação da característica biométrica no sistema, ou
também devido a ruído introduzido pelo sistema de aquisição de característica.
A falsa aceitação ocorre quando um utilizador não legítimo tem uma autenticação bem
sucedida no sistema, devido a uma semelhança dos templates biométricos, quebrando assim a
propriedade da unicidade e da singularidade da característica. Esta situação pode ocorrer por
exemplo em gémeos, onde as suas características podem ser muito parecidas podendo
enganar o sistema. As duas situações acima mencionadas podem ser também causadas
devido ao uso de características não salientes ou de comparadores não robustos.
Características não salientes, definem-se como sendo características biométricas que não
diferem muito em diferentes pessoas. Esta situação ocorre por exemplo em gémeos. Mas a
falsa aceitação ou falsa rejeição ocorre também por vezes quando um sensor não consegue
adquirir bem a característica biométrica do utilizador devido a limitações da tecnologia ou a
condições ambientais adversas, como por exemplo o utilizador colocar o dedo molhado no
sensor. Isto conduz a uma falha no registo, FTE, ou a uma falha ao adquirir a característica,
FTA.
2.2.2 Falha devido a ataques
Estas falhas ocorrem devido a ataques intencionais organizados por parte de impostores
ao sistema biométrico, cujo sucesso depende da robustez do sistema e também dos recursos
computacionais e não só, adquiridos por eles para o devido efeito.
Estas falhas podem ser classificadas segundo três tipos de ataques: ataque ao sistema
administrativo, ataque a infra-estruturas não seguras e ataque a características biométricas.
2.2.2.1 Ataque ao sistema administrativo
Este ataque, considerado também como ataque interno, testa as vulnerabilidades
existentes na administração do sistema biométrico.
Um dos ataques testados pelos impostores é a integridade do processo de registo do
template biométrico ou seja, o administrador deve se capaz de verificar se as informações
provenientes das características biométricas são genuínas ou se foram manipuladas ou
alteradas por um impostor e também deve ser capaz de descobrir se algum parâmetro do
sistema foi ou não alterado (por exemplo limiar de decisão). Outra das vulnerabilidades é a
36
coerção que pode existir entre o impostor e o administrador do sistema ou um utilizador
legítimo. Neste caso, o impostor pode forçar um utilizador legítimo ou um administrador a
conceder-lhe o acesso ao sistema. Por último, outra vulnerabilidade que pode existir é o abuso
de excepção por parte de um impostor, ou seja, uma pessoa com privilégios de nível superior
(como um administrador) pode deliberadamente alterar os parâmetros do sistema para permitir
incursões por parte de um impostor.
2.2.2.2 Ataque a infra-estruturas não seguras
A infra-estrutura de um sistema biométrico consiste no hardware, no software e nos
canais de transmissão entre os vários módulos que compõem o sistema. Ratha identificou 8
possíveis ataques nas infra-estruturas do sistema [Ratha 2001]:
Apresentação de uma característica falsa – Uma carateristica falsa é
apresentada no dispositivo de adquisição do sistema;
Ataque de repetição – A caracteristica biométrica é interceptada e reintroduzida no
sistema;
Substituição do módulo de extracção de caracteristicas – O módulo de
extracção de caracteristicas é substituido por um programa cavalo de tróia que
produz um pré-determinado conjunto de caracteristicas;
Substituição dos templates – Os templates do utilizador legitimo obtidos no
módulo de extracção são subtituidos por templates de um impostor;
Substituição do módulo comparador – O comparador pode ser subtituido por um
programa de cavalo de troia que altera o limiar de decisão do sistema, tornando-o
menos seguro;
Modificação dos templates guardados na base de dados – Os templates
guardados na base de dados podem ser modificados ou eliminados. Outra opção
resultante deste ataque é a introdução de novos templates na base de dados (por
exemplo templates de impostores);
Intercepção nos canais de comunicação entre os diferentes módulos dossistema – Os dados enviados entre os diferentes módulos do sistema podem ser
interceptados e modificados;
Substituição da decisão do sistema sobre a autenticação – Este ataque altera a
decisão sobre a autenticação de um utilizador.
A Figura 2.6 ilustra os oito possíveis ataques num sistema biométrico.
37
Figura 2.6 - Pontos de possíveis ataques nas infra-estruturas do sistema biométrico
Os oito ataques mencionados podem ser estruturados em quatro categorias diferentes:
Ataques no módulo de aquisição – Um ataque pode ser implementado segundo
várias maneiras. Num ataque de coerção, as características biométricas do
utilizador legítimo são apresentados usando a força ou outros métodos ilegais de
persuasão. Num ataque de personificação, o impostor regista-se como sendo
utilizador legítimo, através de disfarces ou imitações das características. Num
ataque de imputação, dados verdadeiros são apresentados por um impostor. Um
exemplo deste ataque por parte do impostor é a criação de uma impressão digital
sem colaboração do seu proprietário [Putte 2000]. Outro exemplo seria a
apresentação por parte do impostor de partes do corpo extraídas de utilizadores
legítimos [Uludag 2004].
Ataques nos módulos de extracção e comparação – A utilização de um cavalo
de Tróia, pode permitir um ataque que consiste em alterar o módulo de extracção.
Por exemplo, a corrupção do processo de extracção pode ser programada para
produzir um conjunto de características favoráveis à aceitação do impostor. O
ataque ao módulo de comparação pode originar limites de decisão superiores ao
real permitindo assim a modificação da sua decisão final. O ataque hill-climbing
envolve a submissão repetida de dados biométricos, com pequenas modificações
entre cada repetição, com a preservação das modificações que resultem num limite
de decisão melhorado. O ataque swamping consiste na submissão de dados
biométricos em abundância, na esperança de que seja alcançado pelo menos o
limite de decisão necessário para autenticação [Schneier 1999].
Ataques no módulo de registo – A segurança do processo de registo é de
extrema importância, porque se um impostor consegue colocar seu template
biométrico no sistema, passa a ser tratado como utilizador válido. Até mesmo
possíveis ataques em conivência com o administrador do sistema devem ser
analisados neste processo. Outro ataque fortíssimo é o dirigido à base de dados
38
dos templates biométricos para leitura ou modificação não autorizada dos
templates.
Ataques no canal de transmissão entre os diferentes módulos do sistema –Em muitos sistemas reais, alguns módulos do sistema podem estar fisicamente
distantes entre si. Nesses sistemas as ligações entre os módulos podem constituir
vulnerabilidades importantes. Ataques de repetição, são os mais comuns.
2.2.2.3 Ataque a características biométricas
É possível que um impostor consiga adquirir as características biométricas de um
utilizador legítimo do sistema e as use para criar artefactos físicos. Um exemplo disto é a
utilização de superfícies de leitura de impressões digitais, em que se os dedos estiverem
gordurosos e ficar um rasto da característica biométrica, o impostor possa conseguir tirar uma
amostra da característica, a chamada gummy fingers. Se o sistema não for capaz de distinguir
entre uma amostra viva de uma característica e uma amostra artificial da mesma então o
impostor pode utilizar desta forma qualquer amostra artificial para ter o acesso ao sistema
biométrico.
2.2.3 Efeitos de uma possível falha num sistema biométrico
Quando um atacante consegue comprometer em termos de segurança um sistema
biométrico, dois efeitos podem ser realçados [Jain 2008]:
Negação de serviço – Acontece quando um utilizador legítimo quer autenticar-se
ao sistema e não consegue. Isto pode dever-se a sabotagem por parte de atacantes
sobre infra-estruturas do sistema, ficando em poder dos atacantes toda a sua
administração. Falhas intrínsecas originam falsas rejeições enquanto, que falhas na
aquisição da característica originam negação de serviço. Outra das falhas que
originam uma negação de serviço é o abuso administrativo por parte dos atacantes
que modificam os templates biométricos dos utilizadores ou então alteram os
parâmetros de decisão do sistema (por exemplo o limiar de decisão).
Intrusão – Acontece quando um atacante consegue o acesso ilegítimo ao sistema,
resultando assim numa perda de privacidade por parte dos utilizadores (por
exemplo o acesso à base de dados dos utilizadores). Qualquer falha intrínseca ou
falha devido a ataques pode originar uma intrusão no sistema, comprometendo todo
o sistema biométrico.
2.2.4 Medidas para protecção dos sistemas biométricos
Face às vulnerabilidades existentes num sistema biométrico e aos possíveis ataques, foi
necessário criar medidas que prevenissem esses mesmos ataques garantindo assim uma
melhor segurança dos sistemas biométricos. Na literatura sobre biometria existem algumas
medidas de protecção dos sistemas das quais se destacam as seguintes:
39
Supervisão na aquisição das características biométricas – Em aplicações
biométricas nas quais a supervisão está presente quando os utilizadores estão
submetendo as suas características biométricas, a probabilidade de uma pessoa
ludibriar o sistema é substancialmente reduzida, mas algumas aplicações
simplesmente não permitem tal supervisão, como é o caso de autenticação de
utilizadores via internet;
Detecção de repetição – O sistema pode utilizar uma propriedade das
características biométricas como ferramenta de segurança. Afinal, é desprezível a
possibilidade de dois templates biométricos extraídos da mesma característica
biométrica serem exactamente iguais. Assim o sistema poderia então descartar
qualquer template idêntico a um dos templates anteriores. O preço a pagar por esta
medida é custo do espaço de armazenamento e capacidade de processamento
extra. Mesmo assim, uma solução económica possível seria manter em histórico os
códigos hash dos últimos templates de cada utilizador. Uma coincidência exacta
num novo template indicava um ataque de repetição. Outra solução seria solicitar ao
utilizador que inserisse de novo a característica biométrica. Por exemplo, em
sistemas biométricos baseados em dinâmica da assinatura, o utilizador pode ser
solicitado a assinar mais de uma vez, devendo o sistema certificar-se de que os
exemplares de assinatura não sejam idênticos;
Resposta sumária – As respostas sumárias ou ocultação dos dados, hiding data,
servem para evitar ataques hill-climbing. Assim, o sistema biométrico deve fornecer
apenas uma resposta ao utilizador não autenticado (NÃO), abstendo-se de explicar
qual o motivo da não autenticação;
Desafio e resposta – Medida bastante apropriada contra ataques de repetição, o
desafio e reposta envolve o envio de um desafio ao utilizador, que deve responder
apropriadamente para obter autorização de continuar com a autenticação. Em
sistemas de voz, pode ser usada a verificação independente de texto ou a
verificação conversacional;
Detecção de vivacidade – A detecção de vivacidade num sistema biométrico de
autenticação deve assegurar que somente características reais, pertencentes a
pessoas vivas, fossem aceitas como válidas. Isto tornaria o sistema mais seguro e
aumentaria também o poder de não-repudio. No entanto, até mesmo pequenos
esforços podem levar à fraude em dispositivos biométricos actuais. A detecção de
vivacidade pode ocorrer no processo de aquisição ou no processo de extracção de
características;
Multibiometria - Algumas limitações dos sistemas biométricos que utilizam
somente uma característica biométrica podem ser superadas com a utilização
sistemas multibiométricos. Os sistemas multibiométricos são sistemas que
combinam duas ou mais características para a autenticação. Neste sistemas, os
impostores necessitam de defraudar mais do que uma características para
40
conseguir uma autenticação com sucesso, tornando estes sistemas mais seguros. A
proposta destes sistemas é aumentar a confiabilidade e o desempenho dos
sistemas;
Modelos de protecção dos templates – Estes modelos têm a finalidade de
proteger os templates extraídos das características biométricas que são inseridos
na base de dados garantido assim a privacidade dos utilizadores do sistema
biométrico.
Um modelo ideal de protecção dos templates biométricos deve possuir os seguintes
requisitos [Maltoni 2003]:
Diversidade – O mesmo template biométrico não deve ser utilizado e inserido na
base de dados de dois sistemas distintos porque caso um template seja roubado de
um sistema, este não vai influenciar a segurança do outro sistema;
Revogabilidade ou biometria cancelável – Caso um template biométrico esteja
comprometido, o modelo deve permitir eliminá-lo deixando introduzir um novo
template na base de dados proveniente das mesmas características biométricas;
Privacidade dos templates – O modelo não deve permitir que, caso a base de
dados esteja comprometida, os impostores consigam obter as características
biométricas originais que deram origem ao template. Este requisito não deixa que
eles consigam criar artefactos físicos de características biométricas a partir dos
templates roubados;
Desempenho – O modelo de protecção de templates biométricos não deve
degradar o desempenho do sistema em termos das taxas de erro, FAR e FRR.
O grande desafio na concepção de um modelo de protecção dos templates biométricos
que satisfaça todos os requisitos acima mencionados é a variação de templates biométricos de
utilizadores legítimos obtidos a partir da mesma característica biométrica. Isto ocorre devido ao
ruído proveniente dos dispositivos de aquisição ou devido a diferentes posições do utilizador na
aquisição da biométrica ou também devido às condições ambientais no acto de aquisição da
biométrica do utilizador.
Os modelos de protecção dos templates biométricos propostos na literatura são
classificados em duas categorias:
Modelos de transformação dos templates – Os modelos de transformação dos
templates utilizam uma função de transformação baseada numa chave, que é
aplicada ao template biométrico e apenas o seu resultado é armazenado na base de
dados.
Criptosistemas biométricos – Estes modelos utilizam algumas informações sobre
o template biométrico que são armazenadas na base de dados. Estas informações
são designadas por dados de ajuda, helper data. Os dados de ajuda não têm de
revelar informações significativas sobre o template biométrico original, sendo
necessário na autenticação extrair a chave criptográfica a partir do template
41
biométrico obtido na autenticação do utilizador. A decisão da autenticação é
realizada indirectamente através da verificação da validade das chaves extraídas.
2.2.4.1 Modelos de transformação dos templates
Os modelos de transformação de templates utilizam uma função de transformação que é
aplicada ao template biométrico e apenas o seu resultado é armazenado na base de dados.
Estas funções utilizam normalmente uma chave aleatória ou uma senha na transformação dos
templates. Esta mesma função é utilizada no acto de autenticação do utilizador, ou seja, depois
de a característica ser adquirida e extraído o seu template é lhe aplicada a função de
transformação. Na etapa de comparação, o template transformado é comparado com os
templates transformados que se encontram na base de dados, de modo a tomar uma decisão
sobre a autenticação do utilizador.
Os métodos de transformação de características utilizam dois tipos de funções de
transformação distintas:
Funções invertíveis – O resultado da função é invertível, isto é, se um impostor
conseguir descobrir a chave que deu origem à transformação do template
biométrico, pode através de algoritmos existentes conseguir descobrir o template
biométrico original da qual resultou a transformação. Os modelos de protecção dos
templates biométricos baseados em funções invertíveis têm como base guardar em
segredo a chave da transformação do template, para que nenhum impostor tenha
acesso à chave. Um exemplo deste modelo está descrito em [Teoh 2006].
Funções não invertíveis ou de sentido único – O resultado da função é quase
impossível de ser invertido, isto é, caso o impostor tenha acesso à chave que deu
origem à transformação do template, muito dificilmente conseguirá descobrir o
template original. Um exemplo deste modelo está descrito em [Ratha 2007].
2.2.4.2 Criptosistemas biométricos
Os métodos de criptografia de biométricas foram inicialmente desenvolvidos com a
finalidade de criar uma chave criptográfica a partir de características biométricas. No entanto,
estes métodos não eram viáveis, uma vez que para a mesma característica biométrica eram
obtidos diferentes templates, resultando em chaves criptográficas sempre diferentes. Mas, a
criptografia juntamente com a biometria pode também ser utilizada como um modelo de
protecção de templates biométricos, na qual se dá o nome de criptosistemas biométricos
[Uludag.U 2004].
O modelo de protecção baseado em criptosistemas biométricos, utiliza algumas
informações sobre o template biométrico que são armazenadas na base de dados. Estas
informações são designados por dados de ajuda, helper data. Os dados de ajuda não têm de
revelar informações significativas sobre o template biométrico original, sendo necessário na
autenticação, extrair uma chave criptográfica a partir do template biométrico obtido na
42
autenticação do utilizador. A decisão da autenticação é realizada indirectamente através da
verificação da validade das chaves extraídas.
Criptosistemas biométricos podem ser classificados segundo dois tipos, dependendo
como são obtidos os dados de ajuda, helper data:
Chave de ligação – Nestes sistemas os dados de ajuda são obtidos por ligação de
uma chave (independente das características biométricas) com os template, ou
seja, os dados de ajuda são o resultado de uma suposta “encriptação”. A
autenticação, em sistemas de chave de ligação, envolve a recuperação da chave
utilizada na obtenção dos dados de ajuda, a partir do template biométrico obtido na
autenticação. O template obtido na autenticação vai “desencriptar” os dados de
ajuda de modo a extrair a chave encriptada na fase de registo para a decisão sobre
a autenticação. Um exemplo deste sistema está descrito na referência bibliográfica
[Juels 2002];
Geração de chaves – Nestes sistemas os dados de ajuda são obtidos unicamente
a partir dos templates biométricos. Na autenticação, com a ajuda do template
pretende-se desencriptar os dados de ajuda de modo a obter o template original
obtido na fase de registo. Em seguida, através de um algoritmo, é gerada uma
chave criptográfica a partir do template recuperado para posterior validação da
autenticação. Um exemplo destes sistemas está descrito na referência bibliográfica
[Dodis 2006].
O sistema proposto nesta dissertação e apresentado no Capitulo 4 funciona como um
método de transformação de características. A função de transformação utilizada é irreversível.
2.3 Conclusões
Este capítulo teve o objectivo de apresentar o estado da arte sobre biometria. Nele foram
apresentados implementações de sistemas biométricos utilizando diferentes características
biométricas. Cada um destes sistemas tem vantagens e desvantagens na sua utilização,
dependendo a escolha do sistema biométrico, dos requisitos impostos por quem o quer
implementar.
A utilização destes sistemas biométricos na autenticação de pessoas ainda não é maior
devido às vulnerabilidades detectadas nestes sistemas, tornando-o vulnerável a possíveis
ataques de pessoas mal intencionadas. Estas vulnerabilidades têm sido estudadas de maneira
a conseguir eliminá-las ou, pelo menos, diminuir cada vez mais o impacto delas num sistema
biométrico. Deste modo, neste capítulo apresentou-se algumas medidas de segurança para
precaver essas mesmas vulnerabilidades e possíveis ataques a elas associadas.
No próximo capítulo apresenta-se uma característica biométrica que nos últimos anos
tem tido uma grande ascensão na autenticação de pessoas, a íris, da qual não se falou neste
capítulo. No próximo capítulo é também descrita uma implementação de um sistema de
reconhecimento biométrico baseado na íris sem segurança dos templates.
43
3 Reconhecimento biométrico
O reconhecimento biométrico baseado na íris, tem sido alvo nos últimos anos de
numerosos estudos [Bowyer 2008]. A íris contém um padrão rico, composto de fibras
colágenas, rugas, sulcos, estrias, veias, sardas, fendas, buracos e cores. Embora a tecnologia
biométrica de reconhecimento pelo padrão da íris seja relativamente recente, tem-se mostrado
bastante precisa e estável. Deste modo, neste capítulo descreve-se um sistema de
reconhecimento biométrico baseado na íris na qual não existe nenhuma protecção dos dados
biométricos armazenados na base de dados.
3.1 Olho Humano
O olho humano tem uma forma parecida com um globo, ou seja, tem uma forma
aproximadamente esférica, com cerca de 25 mm de diâmetro, daí ser também designado de
globo ocular. A sua estrutura interna encontra-se representada na Figura 3.1.
Figura 3.1 - Estrutura interna do olho humano [Internet2]
O globo ocular possui no seu exterior seis músculos que são responsáveis pelos
movimentos oculares, e também três camadas concêntricas interligadas entre si com a função
de visão, nutrição e protecção. A camada externa é constituída pela córnea e pela esclerótica e
serve para protecção. A camada média ou vascular é formada pela íris, a coróide e o corpo
ciliar, é composta por vasos sanguíneos que têm a função de nutrição de todas as camadas do
globo ocular. A camada interna é constituída pela retina que é a parte nervosa [Júnior 2005].
A principal função do globo ocular é a captação dos raios de luz reflectidos pelos
objectos. Esses raios atravessam em primeiro lugar a zona da córnea, que é um tecido
transparente que cobre a íris como se fosse um vidro de um relógio. Em seguida os raios
penetram o globo ocular através da pupila atingido de seguida o cristalino que funciona como
uma lente de focalização. Por último os raios convergem para um ponto focal sobre a retina
[Júnior 2005].
44
Na retina, mais de cem milhões de células fotossensíveis transformam os raios de luz em
impulsos electroquímicos, que são enviados ao cérebro pelo nervo óptico.
As células fotossensíveis da retina podem ser de dois tipos distintos, os cones e os
bastonetes.
Os cones são sensíveis às cores e permitem alta resolução de detalhes, graças às suas
ligações nervosas, estando ligados individualmente ao seu próprio terminal nervoso. Por
actuarem mais eficientemente sob condições de iluminação favoráveis, os cones são
responsáveis pela chamada visão de alta luminosidade [Júnior 2005].
O olho humano possui três tipos de cones, os quais estão intimamente ligados às faixas
de cores de maior sensibilidade. O primeiro tipo é mais sensível à faixa do espectro
correspondente ao violeta e ao azul. O segundo tipo é mais sensível ao verde enquanto o
terceiro tipo tem maior sensibilidade ao amarelo, laranja e vermelho. Devido a essas
características do olho humano, radiações luminosas de cores diferentes podem ser
capturadas por combinações das três cores: vermelho, verde e azul [Júnior 2005].
Os bastonetes proporcionam uma visão geral e, por serem sensíveis a baixos níveis de
iluminação, são responsáveis pela chamada visão de baixa luminosidade. Objectos coloridos à
luz do dia parecem ser acinzentados ao anoitecer, pois apenas os bastonetes são estimulados.
As imagens que se projectam dentro do olho, são invertidas, ou seja, de cabeça para
baixo, sendo o cérebro a fazer a sua inversão, colocando-a na posição correcta [Júnior 2005].
O olho humano tem algumas características que podem ser usadas como biométricas
em sistemas de reconhecimento humano. As mais utilizadas são a íris e retina. A íris porque
contém um padrão rico, composto de fibras colágenas, rugas, sulcos, estrias, veias, sardas,
fendas, buracos e cores e a retina através dos vasos sanguíneos que a atravessam.
3.1.1 A íris
A íris corresponde à parte colorida do olho, em torno da pupila. A íris humana começa a
ser formada durante o terceiro mês de gestação. A estrutura está completa antes do oitavo
mês de gestação, mas a pigmentação continua a ser desenvolvida no primeiro ano depois do
nascimento.
A íris corresponde a uma região circular entre duas circunferências (pupila e a
esclerótica), conforme se ilustra na Figura 3.2.
Figura 3.2 - Olho Humano [Internet3]
A função principal da íris é regular a quantidade de luz que entra nos olhos, aumentando
ou diminuindo o tamanho da pupila. Caso exista muita intensidade de luz a entrar no olho, a íris
45
faz com que a pupila se contraia, diminuindo o seu tamanho, caso contrário, a íris faz dilatar a
pupila. Este último fenómeno acontece por exemplo à noite quando estamos em presença de
pouca luz.
A íris é dividida em 3 camadas principais: a borda anterior, o estroma e o epitélio
pigmentado. Estas três camadas estão bem visíveis na Figura 3.3. A borda anterior é composta
por um arranjo denso de células pigmentadas (melanócitos), fibras de colágenas e fibroblastos,
enquanto que o estroma é uma camada fibrovascular composta por fibras de colágeno
distribuídas livremente. É mais espessa e menos densa que a borda anterior. Por fim, a epitélio
pigmentado é uma camada rugosa cuja a densidade dos pigmentos é tal que se torna opaca,
absorvendo grande parte da luz que a atinge [Pamplona 2007].
Figura 3.3 - A íris [Internet4]
As variações de cor entre os diferentes tipos de íris são normalmente atribuídas à
melanina que existe dentro do estroma da íris.
A íris de um indivíduo é única e precisa, caracterizada por um padrão de características
específicas como coroa, glândula, filamentos, sardas, sulcos radiais e estrias, podendo ser
utilizada em sistemas de reconhecimento biométrico. Pesquisas indicam que a probabilidade
de existir um “sósia” de uma íris é de um em 1078. Porém, existem algumas maneiras de se
modificar o seu formato, como é o caso de um trauma (acidente de carro, por exemplo) ou uma
cirurgia de glaucoma. Já cirurgias de miopia ou astigmatismo e o uso de óculos ou lentes não
alteram o relevo da íris [Tisse 2003].
Pesquisas também observaram que os padrões de textura da íris são diferentes entre
gémeos idênticos e até entre olhos de uma mesma pessoa, indicando que a sua formação é
independente de características genéticas, excepto a sua cor [Daugman 1993] e [Jr. 2003].
Este fenómeno é bastante interessante para sistemas de reconhecimento biométrico.
3.1.2 Vantagens e desvantagens da utilização da íris em sistemas biométricos
Algumas das vantagens e desvantagens da utilização da característica biométrica íris em
sistemas de reconhecimento biométrico estão descritas na Tabela 3.1:
45
faz com que a pupila se contraia, diminuindo o seu tamanho, caso contrário, a íris faz dilatar a
pupila. Este último fenómeno acontece por exemplo à noite quando estamos em presença de
pouca luz.
A íris é dividida em 3 camadas principais: a borda anterior, o estroma e o epitélio
pigmentado. Estas três camadas estão bem visíveis na Figura 3.3. A borda anterior é composta
por um arranjo denso de células pigmentadas (melanócitos), fibras de colágenas e fibroblastos,
enquanto que o estroma é uma camada fibrovascular composta por fibras de colágeno
distribuídas livremente. É mais espessa e menos densa que a borda anterior. Por fim, a epitélio
pigmentado é uma camada rugosa cuja a densidade dos pigmentos é tal que se torna opaca,
absorvendo grande parte da luz que a atinge [Pamplona 2007].
Figura 3.3 - A íris [Internet4]
As variações de cor entre os diferentes tipos de íris são normalmente atribuídas à
melanina que existe dentro do estroma da íris.
A íris de um indivíduo é única e precisa, caracterizada por um padrão de características
específicas como coroa, glândula, filamentos, sardas, sulcos radiais e estrias, podendo ser
utilizada em sistemas de reconhecimento biométrico. Pesquisas indicam que a probabilidade
de existir um “sósia” de uma íris é de um em 1078. Porém, existem algumas maneiras de se
modificar o seu formato, como é o caso de um trauma (acidente de carro, por exemplo) ou uma
cirurgia de glaucoma. Já cirurgias de miopia ou astigmatismo e o uso de óculos ou lentes não
alteram o relevo da íris [Tisse 2003].
Pesquisas também observaram que os padrões de textura da íris são diferentes entre
gémeos idênticos e até entre olhos de uma mesma pessoa, indicando que a sua formação é
independente de características genéticas, excepto a sua cor [Daugman 1993] e [Jr. 2003].
Este fenómeno é bastante interessante para sistemas de reconhecimento biométrico.
3.1.2 Vantagens e desvantagens da utilização da íris em sistemas biométricos
Algumas das vantagens e desvantagens da utilização da característica biométrica íris em
sistemas de reconhecimento biométrico estão descritas na Tabela 3.1:
45
faz com que a pupila se contraia, diminuindo o seu tamanho, caso contrário, a íris faz dilatar a
pupila. Este último fenómeno acontece por exemplo à noite quando estamos em presença de
pouca luz.
A íris é dividida em 3 camadas principais: a borda anterior, o estroma e o epitélio
pigmentado. Estas três camadas estão bem visíveis na Figura 3.3. A borda anterior é composta
por um arranjo denso de células pigmentadas (melanócitos), fibras de colágenas e fibroblastos,
enquanto que o estroma é uma camada fibrovascular composta por fibras de colágeno
distribuídas livremente. É mais espessa e menos densa que a borda anterior. Por fim, a epitélio
pigmentado é uma camada rugosa cuja a densidade dos pigmentos é tal que se torna opaca,
absorvendo grande parte da luz que a atinge [Pamplona 2007].
Figura 3.3 - A íris [Internet4]
As variações de cor entre os diferentes tipos de íris são normalmente atribuídas à
melanina que existe dentro do estroma da íris.
A íris de um indivíduo é única e precisa, caracterizada por um padrão de características
específicas como coroa, glândula, filamentos, sardas, sulcos radiais e estrias, podendo ser
utilizada em sistemas de reconhecimento biométrico. Pesquisas indicam que a probabilidade
de existir um “sósia” de uma íris é de um em 1078. Porém, existem algumas maneiras de se
modificar o seu formato, como é o caso de um trauma (acidente de carro, por exemplo) ou uma
cirurgia de glaucoma. Já cirurgias de miopia ou astigmatismo e o uso de óculos ou lentes não
alteram o relevo da íris [Tisse 2003].
Pesquisas também observaram que os padrões de textura da íris são diferentes entre
gémeos idênticos e até entre olhos de uma mesma pessoa, indicando que a sua formação é
independente de características genéticas, excepto a sua cor [Daugman 1993] e [Jr. 2003].
Este fenómeno é bastante interessante para sistemas de reconhecimento biométrico.
3.1.2 Vantagens e desvantagens da utilização da íris em sistemas biométricos
Algumas das vantagens e desvantagens da utilização da característica biométrica íris em
sistemas de reconhecimento biométrico estão descritas na Tabela 3.1:
46
Tabela 3.1 – Vantagens e desvantagens da utilização da íris em sistemas dereconhecimento biométrico
Vantagens Desvantagens
Órgão bastante protegido e interno do
olho, sendo muito difícil de modificar.
A contracção ou dilatação da pupila alteram o
tamanho da íris.
Não sofre grandes modificações ao
longo da vida.
A íris é um alvo pequeno (1cm) para
ser adquirido a grandes distâncias.
A íris é única de pessoa para pessoa.
A probabilidade de existir uma
“sósia”da íris é de 1 em 1078.
Localizada atrás de uma superfície reflectora,
húmida e curva pode ficar obstruída pelos
cílios (pestanas) ou pálpebras e sujeita a
reflexos.
3.2 Reconhecimento biométrico baseado na íris
Os primeiros protótipos de sistemas de reconhecimento de íris foram idealizados pelos
oftalmologistas Flom e Safir, em 1987 [Bowyer 2008], mas foi John Daugman que, no início da
década de 90, desenvolveu os algoritmos, os métodos matemáticos e as técnicas para
codificar os padrões de textura da íris e compará-las de maneira eficiente [Daugman 1993] [Jr.
2003]. Daugman foi o impulsionador de sistemas biométricos baseados na íris. A partir daí
vários outros trabalhos têm sido desenvolvidos. Entre os mais conhecidos encontram-se o
proposto por Wildes [Wildes 1994] [Wildes 1997], por Li Ma e Tieniu Tan [Ma 2002] [Ma 2004]
e por Masek [Masek 2003].
Deste modo, o próximo passo neste capítulo é descrever uma implementação de um
sistema de reconhecimento biométrico usando a íris, baseado no trabalho de Masek,
descrevendo alguns resultados importantes da sua implementação. Esta implementação não
tem preocupações de segurança dos templates biométricos, ou seja, os templates biométricos
extraídos da íris do utilizador são colocados directamente na base de dados estando
acessíveis a possíveis ataques na base de dados.
O sistema de reconhecimento biométrico da íris tem duas fases distintas, a fase de
registo e a fase de autenticação, conforme foi descrito no Capítulo 1. Na fase de registo, uma
imagem x do olho humano é adquirida, depois através da etapa de segmentação a íris y é
isolada das restantes características do olho, sendo de seguida normalizada de modo a ter
uma dimensão fixa. Depois é extraída, da íris normalizada, uma descrição da sua textura t,
chamado perfil, ou template, que por sua vez é registada na base de dados. Cada utilizador
insere na base de dados uma identificação, ID, que fica associada aos seus templates. A fase
de registo da característica biométrica da íris está representada na Figura 3.4.
47
Figura 3.4 - Sistema de reconhecimento biométrico – Fase de registo
A autenticação de um utilizador pode ser feita segundo dois modos: identificação ou
verificação, conforme foi descrito no Capítulo 1. Esta dissertação só explora o modo de
verificação, porque é o mais utilizado por parte das empresas devido à necessidade de provar
cada vez mais a identidade das pessoas a terem acesso a determinadas informações, serviços
ou locais. Neste modo as primeiras quatro etapas são iguais ao modo de registo, isto é, uma
imagem x’ do olho do utilizador que quer autenticar-se no sistema é adquirida. Depois, a íris y’
é isolada das restantes características do olho humano, sendo posteriormente normalizada de
modo a ter uma dimensão fixa. Depois é extraída da íris a sua textura, template, t’ que por sua
vez é comparado com os templates, t, armazenados. O utilizador tem de fornecer a sua
identificação, ID, para que seja possível comparar o template adquirido na autenticação com os
templates correspondentes a esse ID armazenados na base de dados. A etapa comparação
tem como função decidir sobre a autenticação do utilizador, isto é, se o utilizador que quer
autenticar-se ao sistema é ou não legítimo. A fase de autenticação, em modo de verificação,
está representada na Figura 3.5.
Figura 3.5 - Sistema de reconhecimento biométrico – fase de autenticação em modo deverificação
Na fase de registo e na fase de autenticação existem pois quatro etapas fundamentais.
Essas etapas são a aquisição da característica biométrica, a segmentação, a normalização e a
extracção dos perfis biométricos. Para além destas etapas existe uma outra no modo de
autenticação que é bastante importante, que é a comparação. É nesta etapa que o sistema de
reconhecimento biométrico da íris decide se um utilizador é ou não legítimo.
47
Figura 3.4 - Sistema de reconhecimento biométrico – Fase de registo
A autenticação de um utilizador pode ser feita segundo dois modos: identificação ou
verificação, conforme foi descrito no Capítulo 1. Esta dissertação só explora o modo de
verificação, porque é o mais utilizado por parte das empresas devido à necessidade de provar
cada vez mais a identidade das pessoas a terem acesso a determinadas informações, serviços
ou locais. Neste modo as primeiras quatro etapas são iguais ao modo de registo, isto é, uma
imagem x’ do olho do utilizador que quer autenticar-se no sistema é adquirida. Depois, a íris y’
é isolada das restantes características do olho humano, sendo posteriormente normalizada de
modo a ter uma dimensão fixa. Depois é extraída da íris a sua textura, template, t’ que por sua
vez é comparado com os templates, t, armazenados. O utilizador tem de fornecer a sua
identificação, ID, para que seja possível comparar o template adquirido na autenticação com os
templates correspondentes a esse ID armazenados na base de dados. A etapa comparação
tem como função decidir sobre a autenticação do utilizador, isto é, se o utilizador que quer
autenticar-se ao sistema é ou não legítimo. A fase de autenticação, em modo de verificação,
está representada na Figura 3.5.
Figura 3.5 - Sistema de reconhecimento biométrico – fase de autenticação em modo deverificação
Na fase de registo e na fase de autenticação existem pois quatro etapas fundamentais.
Essas etapas são a aquisição da característica biométrica, a segmentação, a normalização e a
extracção dos perfis biométricos. Para além destas etapas existe uma outra no modo de
autenticação que é bastante importante, que é a comparação. É nesta etapa que o sistema de
reconhecimento biométrico da íris decide se um utilizador é ou não legítimo.
47
Figura 3.4 - Sistema de reconhecimento biométrico – Fase de registo
A autenticação de um utilizador pode ser feita segundo dois modos: identificação ou
verificação, conforme foi descrito no Capítulo 1. Esta dissertação só explora o modo de
verificação, porque é o mais utilizado por parte das empresas devido à necessidade de provar
cada vez mais a identidade das pessoas a terem acesso a determinadas informações, serviços
ou locais. Neste modo as primeiras quatro etapas são iguais ao modo de registo, isto é, uma
imagem x’ do olho do utilizador que quer autenticar-se no sistema é adquirida. Depois, a íris y’
é isolada das restantes características do olho humano, sendo posteriormente normalizada de
modo a ter uma dimensão fixa. Depois é extraída da íris a sua textura, template, t’ que por sua
vez é comparado com os templates, t, armazenados. O utilizador tem de fornecer a sua
identificação, ID, para que seja possível comparar o template adquirido na autenticação com os
templates correspondentes a esse ID armazenados na base de dados. A etapa comparação
tem como função decidir sobre a autenticação do utilizador, isto é, se o utilizador que quer
autenticar-se ao sistema é ou não legítimo. A fase de autenticação, em modo de verificação,
está representada na Figura 3.5.
Figura 3.5 - Sistema de reconhecimento biométrico – fase de autenticação em modo deverificação
Na fase de registo e na fase de autenticação existem pois quatro etapas fundamentais.
Essas etapas são a aquisição da característica biométrica, a segmentação, a normalização e a
extracção dos perfis biométricos. Para além destas etapas existe uma outra no modo de
autenticação que é bastante importante, que é a comparação. É nesta etapa que o sistema de
reconhecimento biométrico da íris decide se um utilizador é ou não legítimo.
48
3.2.1 Aquisição da característica biométrica
Esta é a primeira etapa num sistema de reconhecimento biométrico baseado na íris e
uma das mais importantes, porque é nela que se adquire a amostra biométrica, neste caso a
imagem da íris. A imagem é adquirida por intermédio de dispositivos próprios, nomeadamente
sensores biométricos, Figura 3.6. Estes utilizam câmaras fotográficas digitais para obter uma
imagem da íris da pessoa. A imagem obtida é semelhante a uma imagem de uma câmara
fotográfica normal. A imagem da íris deve ser adquirida segundo um plano paralelo ao sensor,
de forma a minimizar possíveis distorções. Felizmente muito trabalho tem sido feito na
aquisição de imagem de íris para que fosse possível o desenvolvimento dos sistemas de
reconhecimento da íris. Quando se quer projectar um dispositivo de captura de imagem, devem
ter-se em consideração três aspectos principais: a iluminação, o sistema de posicionamento, e
o sistema físico de captura [Junior 2005]. O sistema físico de captura é composto pela câmara
fotográfica de aquisição de imagem e pelo sistema de luz utilizada para a obtenção de uma
imagem de alta qualidade que realce a textura da íris.
Figura 3.6 - Sensor biométrico para captura da imagem da íris [Internet5]
Os primeiros dispositivos de aquisição de imagens utilizavam apenas uma fonte de luz,
para além de câmaras de fotografias normais. Estes dispositivos dificultavam a extracção da
textura da íris, especialmente em olhos escuros, sendo necessárias técnicas de
processamento de imagem para minimizar as limitações de aquisição da imagem da íris. Com
o avanço da tecnologia, outros dispositivos apareceram no mercado. Dispositivos modernos
utilizam fontes de luz infra-vermelhas e câmaras que conseguem captar este tipo de luz. Este
tipo de dispositivos obtêm uma excelente qualidade da textura da íris, independentemente da
cor dos olhos da pessoa, e a fonte de luz é invisível ao ser humano, não incomodando o
utilizador na obtenção da característica biométrica [Junior 2005].
No sistema proposto por Jonh Daugman a informação da cor é desprezada, analisando a
imagem em tons de cinzento [Junior 2005]. O posicionamento do utilizador em relação ao
sistema é feito por um display de cristal líquido, permitindo que o utilizador veja a imagem da
sua íris, corrigindo se necessário, possíveis falhas de posicionamento.
No sistema desenvolvido por Richard Wildes [Wildes 1994] [Wildes 1997] usa-se uma
fonte de luz difusa e polarizada, juntamente com uma câmara sensível à baixa intensidade de
48
3.2.1 Aquisição da característica biométrica
Esta é a primeira etapa num sistema de reconhecimento biométrico baseado na íris e
uma das mais importantes, porque é nela que se adquire a amostra biométrica, neste caso a
imagem da íris. A imagem é adquirida por intermédio de dispositivos próprios, nomeadamente
sensores biométricos, Figura 3.6. Estes utilizam câmaras fotográficas digitais para obter uma
imagem da íris da pessoa. A imagem obtida é semelhante a uma imagem de uma câmara
fotográfica normal. A imagem da íris deve ser adquirida segundo um plano paralelo ao sensor,
de forma a minimizar possíveis distorções. Felizmente muito trabalho tem sido feito na
aquisição de imagem de íris para que fosse possível o desenvolvimento dos sistemas de
reconhecimento da íris. Quando se quer projectar um dispositivo de captura de imagem, devem
ter-se em consideração três aspectos principais: a iluminação, o sistema de posicionamento, e
o sistema físico de captura [Junior 2005]. O sistema físico de captura é composto pela câmara
fotográfica de aquisição de imagem e pelo sistema de luz utilizada para a obtenção de uma
imagem de alta qualidade que realce a textura da íris.
Figura 3.6 - Sensor biométrico para captura da imagem da íris [Internet5]
Os primeiros dispositivos de aquisição de imagens utilizavam apenas uma fonte de luz,
para além de câmaras de fotografias normais. Estes dispositivos dificultavam a extracção da
textura da íris, especialmente em olhos escuros, sendo necessárias técnicas de
processamento de imagem para minimizar as limitações de aquisição da imagem da íris. Com
o avanço da tecnologia, outros dispositivos apareceram no mercado. Dispositivos modernos
utilizam fontes de luz infra-vermelhas e câmaras que conseguem captar este tipo de luz. Este
tipo de dispositivos obtêm uma excelente qualidade da textura da íris, independentemente da
cor dos olhos da pessoa, e a fonte de luz é invisível ao ser humano, não incomodando o
utilizador na obtenção da característica biométrica [Junior 2005].
No sistema proposto por Jonh Daugman a informação da cor é desprezada, analisando a
imagem em tons de cinzento [Junior 2005]. O posicionamento do utilizador em relação ao
sistema é feito por um display de cristal líquido, permitindo que o utilizador veja a imagem da
sua íris, corrigindo se necessário, possíveis falhas de posicionamento.
No sistema desenvolvido por Richard Wildes [Wildes 1994] [Wildes 1997] usa-se uma
fonte de luz difusa e polarizada, juntamente com uma câmara sensível à baixa intensidade de
48
3.2.1 Aquisição da característica biométrica
Esta é a primeira etapa num sistema de reconhecimento biométrico baseado na íris e
uma das mais importantes, porque é nela que se adquire a amostra biométrica, neste caso a
imagem da íris. A imagem é adquirida por intermédio de dispositivos próprios, nomeadamente
sensores biométricos, Figura 3.6. Estes utilizam câmaras fotográficas digitais para obter uma
imagem da íris da pessoa. A imagem obtida é semelhante a uma imagem de uma câmara
fotográfica normal. A imagem da íris deve ser adquirida segundo um plano paralelo ao sensor,
de forma a minimizar possíveis distorções. Felizmente muito trabalho tem sido feito na
aquisição de imagem de íris para que fosse possível o desenvolvimento dos sistemas de
reconhecimento da íris. Quando se quer projectar um dispositivo de captura de imagem, devem
ter-se em consideração três aspectos principais: a iluminação, o sistema de posicionamento, e
o sistema físico de captura [Junior 2005]. O sistema físico de captura é composto pela câmara
fotográfica de aquisição de imagem e pelo sistema de luz utilizada para a obtenção de uma
imagem de alta qualidade que realce a textura da íris.
Figura 3.6 - Sensor biométrico para captura da imagem da íris [Internet5]
Os primeiros dispositivos de aquisição de imagens utilizavam apenas uma fonte de luz,
para além de câmaras de fotografias normais. Estes dispositivos dificultavam a extracção da
textura da íris, especialmente em olhos escuros, sendo necessárias técnicas de
processamento de imagem para minimizar as limitações de aquisição da imagem da íris. Com
o avanço da tecnologia, outros dispositivos apareceram no mercado. Dispositivos modernos
utilizam fontes de luz infra-vermelhas e câmaras que conseguem captar este tipo de luz. Este
tipo de dispositivos obtêm uma excelente qualidade da textura da íris, independentemente da
cor dos olhos da pessoa, e a fonte de luz é invisível ao ser humano, não incomodando o
utilizador na obtenção da característica biométrica [Junior 2005].
No sistema proposto por Jonh Daugman a informação da cor é desprezada, analisando a
imagem em tons de cinzento [Junior 2005]. O posicionamento do utilizador em relação ao
sistema é feito por um display de cristal líquido, permitindo que o utilizador veja a imagem da
sua íris, corrigindo se necessário, possíveis falhas de posicionamento.
No sistema desenvolvido por Richard Wildes [Wildes 1994] [Wildes 1997] usa-se uma
fonte de luz difusa e polarizada, juntamente com uma câmara sensível à baixa intensidade de
49
luz, a qual é visível a humanos. O uso de uma fonte de luz polarizada elimina a reflexão
especular da fonte de luz, permitindo que detalhes da textura da íris sejam capturados. A
combinação de luz difusa com uma câmara sensível a baixa intensidade de luz não incomoda o
utilizador. O controlo de posicionamento feito por Wildes é por meio de dois quadrados
centralizados na lente da câmara, em planos paralelos, ocasionando uma sobreposição desses
quadrados quando o indivíduo se posiciona de forma correcta [Junior 2005].
No sistema de W. W. Boles há uma manipulação de ruídos, variações de iluminação e
da distância entre a câmara e o utilizador. O sistema tolera variações na iluminação e na
reflexão especular, sendo invariante ao tamanho e a translação da imagem. Neste sistema, as
imagens são também representadas em tons de cinzento [Junior 2005].
No sistema proposto por Li Ma e Tieniu Tan Tan [Ma 2002] [Ma 2004] as imagens são
capturadas usando um sensor óptico digital de iluminação infra-vermelha. O utilizador
necessita de se posicionar a 4 centímetros do sensor (aproximadamente) para obter uma
imagem de qualidade da íris. No dispositivo existe também um espelho colocado frente à lente
do sensor para que o utilizador possa localizar-se e manter o olho no centro do sensor. As
imagens de íris capturadas são em tons de cinzento e possuem resolução de 320 x 280 pixéis
[Junior, 2005].
Para fins de pesquisa, investigação e desenvolvimento de sistemas de reconhecimento
da íris, estão disponíveis quatro bases de dados que são geralmente usadas:
CASIA - O instituto de pesquisa CASIA (Chinese Academy of Sciences, Institute of
Automation) disponibiliza uma base de dados dividida em 3 versões: a primeira contem
756 imagens de íris pertencentes a 108 utilizadores diferentes, a segunda contem 1200
imagens de 60 utilizadores, a terceira contém 22051 imagens de 700 utilizadores
diferentes [internet9];
UBIRIS - A Universidade de Beira Interior, em Portugal, disponibiliza uma base de
dados com cerca de 1.900 imagens da íris de 241 utilizadores, contendo ruído e que
simulam a colaboração mínima do utilizador [internet10];
CUHK - A Chinese University of Hong Kong oferece cerca de 250 imagens de íris para
fins de pesquisa;
UPOL - Finalmente, 384 imagens de íris são disponibilizadas pela UPOL (Univerzita
Palackého v Olomouci), da República Checa.
Nesta dissertação a etapa de aquisição de imagens da íris não é efectuada. As imagens
da íris são adquiridas através da base de dados da CASIA. Esta opção tem as suas vantagens
visto que não se tem que preocupar com os problemas que podem advir da aquisição de
imagens de utilizadores, tais como os reflexos especulares, distorções provocadas pelo
sistema de captura da imagem do olho e o posicionamento do olho na sua aquisição. A
utilização desta base de dados com bastantes imagens de utilizadores faz com que se obtenha
melhores resultados sobre o desempenho do sistema. Outra das vantagens da sua utilização e
talvez a mais importante é permitir a comparação dos resultados obtidos com os resultados
publicados de outros sistemas de reconhecimento biométrico.
50
3.2.2 Segmentação
A segunda etapa do sistema de reconhecimento biométrico da íris, a segmentação, tem
como função determinar a região da íris numa imagem. Esta etapa é das mais críticas deste
sistema, porque uma má localização da íris pode resultar em taxas de reconhecimento
biométrico de utilizadores legítimos muito baixas, tornando este sistema ineficaz,
A íris é considerada como uma região circular entre duas circunferências conforme
descrito na secção 3.1.1. Uma das circunferências corresponde à fronteira entre a íris e a
pupila (parte preta do olho), a outra corresponde à fronteira entre a íris e a esclerótica (parte
branca do olho). Mas, nem sempre é possível assumir que as duas circunferências são
concêntricas, isto é que têm o mesmo centro. Em muitos casos, o centro da pupila é diferente
do da íris [Daugman 2004]. Na Figura 3.7 mostra-se dois exemplos do cálculo dos centros das
circunferências, um em que as circunferências têm o mesmo centro e outro em que as
circunferências não têm o mesmo centro.
a) b)Figura 3.7 - Exemplos de circunferências da íris e da pupila, a) íris e pupila com o mesmo
centro da circunferência, b) íris e pupila com centros de circunferência diferentes
As pálpebras e os cílios (pestanas) normalmente interferem com as partes superior e
inferior da íris e também reflexos especulares podem corromper a sua textura. Um método de
segmentação bem sucedida deve localizar e tratar estes aspectos. A utilização de iluminação
infravermelha no processo de aquisição da imagem do olho evita o aparecimento de reflexos.
Antes da localização das circunferências é necessário detectar os contornos da imagem.
Os contornos são obtidos através de uma versão modificada do algoritmo de Canny [Canny
1986]. Através deste algoritmo obtemos um gradiente na direcção desejada, seja ela horizontal,
vertical ou ambas [Wildes 1994]. Wildes verificou que o gradiente vertical possui os pontos
mais relevantes para a detecção da fronteira íris/esclerótica, enquanto que o gradiente
horizontal possui maior relevância para a detecção de pálpebras.
A localização das circunferências é feita usando a transformada circular de Hough [Duda
1972], para estimar os parâmetros das coordenadas do centro xc,yc e raio ( r ) da pupila e da
íris, que são determinados de acordo com a equação:
xc+ yc- r2=0 (3.1)
51
De maneira a tornar a detecção mais eficiente e precisa, a procura pelos parâmetros da
fronteira íris/esclerótica é realizada primeiro, seguida pela busca da fronteira íris/pupila. Esta
estratégia diminui a área de busca, uma vez que a pupila está contida no interior da íris. Os
limites radiais de busca das circunferências na imagem, para a base de dados da CASIA
versão 1 foram obtidos experimentalmente por Masek: de 90 a 150 pixéis para os limites do
raio da íris e de 28 a 75 pixéis para os limites do raio da pupila [Masek, 2003]. Com estes
parâmetros Masek em 756 imagens conseguiu 624 imagens bem segmentadas (83%). Um
exemplo de uma imagem bem segmentada e outra mal segmentada estão representados na
Figura 3.8.
a) b)
Figura 3.8 - a) Imagem da íris bem segmentada, b) imagem da íris mal segmentada
A detecção de regiões da íris obstruídas pelas pálpebras é realizada utilizando a
transformada linear de Hough, usando apenas o gradiente horizontal. Esta estratégia é
realizada para ambas as pálpebras (separadamente) e permite isolar as regiões aonde existe
oclusão da íris. São determinados os pontos de intersecção da circunferência exterior
(íris/esclerótica) com as rectas geradas pela transformada linear de Hough correspondentes às
pálpebras inferior e superior. Em seguida traçam-se duas rectas paralelas que intersectam os
pontos que estejam mais próximos da fronteira da pupila. Caso não seja possível no espaço de
Hough encontrar a recta que intersecta a circunferência da íris, significa que as pálpebras não
interferem com a íris. Na Figura 3.9 está descrito o processo de detecção das regiões da íris
obstruídas pelas pálpebras.
52
a) b)
c) d)
Figura 3.9 – Processo de detecção das regiões da íris obstruídas pelas pálpebras, a)imagem da íris, b) imagem da íris segmentada com as rectas que representam as
pálpebras, c) rectas horizontais são geradas passando pelo ponto mais próximo dafronteira da pupila d) zonas da imagem da íris representativas da oclusão das pálpebras
e dos reflexos especulares
Os cílios são detectados por uma simples técnica de thresholding. Pixéis com valores
inferiores a 100 são identificados como ruído [Masek 2003]. Todos os tipos de ruído devem ser
marcados para que não sejam considerados na etapa de codificação. Um exemplo de uma
imagem segmentada com a introdução da zona de ruído está representado na Figura 3.10.
Figura 3.10 - Imagem segmentada com realce da zona da íris interferida por parte dassobrancelhas e cílios
3.2.3 Normalização
A normalização é uma etapa necessária porque as imagens podem ser capturadas sob
diferentes condições, por exemplo, dilatação da pupila, movimentação do olho, inclinação da
cabeça e iluminação no acto da captura da imagem do olho. São pois possíveis diferentes
posições e escalas, sendo necessário transformá-las numa escala fixa e igual para todas as
imagens, de modo a ser possível a comparação entre duas imagens da íris.
A normalização baseia-se no modelo rubber sheet proposto por Daugman [Daugman
1993]. Este transforma as imagens da íris representadas em coordenadas cartesianas para
53
coordenadas polares ( r , θ ) com r a variar entre [0,1] e θ a variar entre [0, ]. A transformação
de coordenadas cartesianas em polares obedece às seguintes equações:
I x(r,θ),y(r,θ) →I(r,θ) (3.2)
Com: x(r,θ)= 1-r ∗ xp(θ) + r ∗ xI(θ) (3.3)
y(r,θ)= 1-r ∗ yp(θ) + r ∗ yI(θ) (3.4)
Onde I(x,y) é a imagem da íris em coordenadas cartesianas, I(r,θ) corresponde à
imagem em coordenadas polares, (xp, yp) e (xI, yI ) são os centros da pupila e da íris. O centro
da pupila é considerado como o ponto de referência do sistema de coordenadas.
Como nem sempre é possível considerar a pupila e a íris como circunferências concêntricas,
uma correcção na dimensão radial, dependente do ângulo, é realizada no modelo de
Daugman. Linhas radiais são traçadas, do centro da pupila até a fronteira da íris com
esclerótica separadas por um ângulo θ , como mostra a Figura 3.12. O novo raio r' é calculado
através da equação: r = √α ∗ β ± α ∗ β2- α- rI2 (3.5)
Com :
α=ox2+oy
2 (3.6)
ox2=xp - xI (3.7)
oy2=yp - yI (3.8)
β=cos(π- arctan ox2
oy2 - θ ) (3.9)
onde r' é o raio da íris.
A Figura 3.11 descreve o funcionamento do modelo rubber sheet.
Figura 3.11 - Modelo rubber sheet
54
Figura 3.12 - Imagem da íris, com leve deslocamento entre os centros da íris e da pupilasegundo uma direcção θ
O número de pontos escolhidos em cada linha radial define a resolução radial.
Analogamente, a quantidade de linhas define a resolução angular. Vinte pontos radiais e
duzentos e quarenta pontos angulares formam a imagem normalizada utilizada no trabalho de
Masek [Masek 2003]. A Figura 3.13 apresenta um exemplo da íris com ruído após a
normalização:
Figura 3.13 - Imagem da região da íris, com ruído, após normalização
3.2.4 Extracção das características da íris
A extracção das características tem como principal função extrair da íris toda a
informação relevante da sua textura que permita identificar um utilizador. A esta informação dá-
se o nome de perfis ou templates.
Um dos métodos para extracção das características da íris é o uso de filtros de Gabor,
pois oferecem uma boa resposta sobre localização espacial (orientação) e frequência,
simultaneamente. Mas não é possível construir filtros com largura de banda arbitrária sem se
preocupar com os efeitos da componente DC causados pela sua simetria [Wang 2008]. Em
vez da utilização de filtros de Gabor podem usar-se filtros Log-Gabor, conseguindo-se assim
criar um filtro com qualquer largura de banda que pode ser optimizado para produzir um filtro
com menores dimensões espaciais [Kovesi 2008].
Field, foi o primeiro a propor o uso de filtros Log-Gabor [Bastos], sugerindo que
imagens naturais são melhor codificadas por filtros que possuam função de transferência
gaussiana, quando observadas numa escala logarítmica de frequência. Este filtro apresenta
duas características importantes, não possui componente DC e a sua função de transferência é
prolongada para um grande intervalo de frequências, o que torna possível o uso de maiores
larguras de banda para capturar informações importantes. Devido à particularidade da função
logaritmo ser infinito na origem, o filtro Log-Gabor é construído no domínio da frequência. Num
sistema de coordenadas polares, o filtro Log-Gabor 2D pode ser dividido em duas
55
componentes, a radial e a angular. A equação que representa os filtros Log-Gabor 2D é dada
por:
G(r,θ)= exp -log r
f0
2
2 log σr2 .exp
-(θ-θ0)2σθ2
2
(3.10)
onde f0 é a frequência central, θ0 é o ângulo de orientação, σr e σθ são a largura de banda
radial e angular, respectivamente.
Segundo Kovesi [Kovesi 2008], os valores 0.74, 0.55 e 0.41 para σr correspondem a um
filtro com largura de banda de uma, duas e três oitavas, respectivamente. A Figura 3.14
representa um espectro de Fourier para as componentes radial e angular do filtro de gabor. Os
espectros foram calculados variando o raio em torno da frequência central, para a componente
radial e variando o ângulo θ em torno do ângulo de orientação θ0 para a componente angular.
Figura 3.14 - Espectro de fourier para componente radial com f0 =0,1 e =0,55, b)Espectro de fourier para componente angular = 0 e =π/8 , c) Espectro de fourier do
filtro Log-Gabor 2D [Bastos]
A extracção de características, como informações de fase da textura da íris, resultam da
convolução entre a imagem da Iris normalizada, e um filtro Log-Gabor. Esta operação é dada
pela seguinte equação:
hRe,Im= ∫ ∫ I(r,θ) ∗ g(r,θ)drdθθr (3.11)
onde I(r, θ) representa a íris normalizada e g(r, θ) representa o filtro Log-Gabor.
A informação da fase de cada elemento da textura da íris é quantizado segundo o
método de Daugman ilustrado na figura seguinte:
56
Figura 3.15 - Método de Daugman utilizado para a quantização das informações de faseda textura da íris
O resultado da quantização para cada elemento de informação de fase são dois bits,
um para a parte real e outro para a parte imaginária.
No total são quantizados 20x240 elementos de informação de fase, logo são gerados
9600 bits representativos da textura da íris, a qual dá-se o nome de template.
Uma quantidade igual de bits é atribuída à máscara de ruído, onde estão marcadas as
áreas de oclusão com a íris, pálpebras, cílios e reflexos especulares, que não devem ser
consideradas na comparação na fase de autenticação.
3.2.5 Comparação
Nesta etapa, o sistema de reconhecimento biométrico da íris decide se um dado
utilizador é legítimo ou não através da comparação do template adquirido na autenticação com
os templates armazenados na base de dados. A distância de Hamming é uma das métricas
que é utilizada para verificar a legitimidade do utilizador a um sistema biométrico.
A distância de Hamming dá uma medida de quantos bits são diferentes entre os dois
templates. Através da distância de Hamming consegue-se descobrir se dois templates foram
gerados da mesma íris ou se foram gerados de íris diferentes. Às comparações entre templates
gerados da mesma íris dá-se o nome intra-classe, da mesma forma às comparações entre
templates gerados de íris diferentes dá-se o nome de inter-classe.
A distância de Hamming, é representada pela equação seguinte:
Distância de Hamming = 1N
* ∑ Xj (XOR) YjNj=1 (3.12)
onde X e Y são os templates a comparar e N é o número total de bits dos templates.
Se o sistema de reconhecimento biométrico utilizasse a equação acima descrita para
decidir se um dado utilizador é legítimo ou não, poderia ter resultados não muito satisfatórios,
porque os templates continham todas as zonas de oclusão da íris que poderia fazer com que o
sistema tomasse decisões erradas sobre uma dada autenticação. Para resolver este problema
necessita-se de incorporar na distância de Hamming as máscaras de ruído obtidas na etapa da
extracção da característica da íris. A distância de Hamming é então calculada segundo a
equação seguinte:
57
Distância de Hamming = ‖(X XOR Y) AND (mascara X AND mascara Y)‖‖mascara X AND mascara Y‖ (3.13)
X e Y são os templates a comparar e mascara X e mascara Y são as máscaras de ruído dos
templates.
O operador XOR detecta a discordância entre pares de bits dos templates, enquanto o
operador AND retira do teste todos os bits corrompidos, isto é, os bits dos templates
correspondentes aos bits 1 das máscaras de ruído não são utilizados na comparação entre
templates.
As inconsistências rotacionais ocorridas na etapa de aquisição da íris e que não são
detectadas na etapa da normalização da íris são resolvidas no cálculo da distância de
Hamming através da deslocação de um número de bits de um template para a esquerda e para
a direita. Por cada deslocação feita no template temos uma distância de Hamming calculada,
sendo que no final da comparação entre dois templates, a distância de Hamming seleccionada
é a menor porque corresponde há melhor comparação entre os templates. Masek detectou
através de resultados experimentais que oito deslocações para a esquerda e para a direita do
template para a base de dados da CASIA consegue-se um bom resultado na comparação,
conseguindo o sistema obter uma melhor decisão sobre a autenticação do utilizador [Masek,
2003].
3.2.6 Resultados da implementação do sistema de reconhecimento biométricosem segurança dos dados biométricos
A implementação do sistema de reconhecimento biométrico baseado na íris sem
segurança dos dados biométricos é feita através do programa MATLAB 7.6 (MATLAB 2008). A
etapa de aquisição da biométrica íris não é executada nesta dissertação, ou seja, utiliza-se a
base de dados da CASIA versão 3 – internal com 2655 imagens de 249 utilizadores. Esta base
de dados contém imagens dos dois olhos do utilizador, mas toma-se como opção nesta
dissertação que as imagens do olho esquerdo e direito do mesmo utilizador são identificadas
como sendo de utilizadores diferentes, ou seja, o template resultante da imagem do olho
esquerdo e direito do mesmo utilizador têm identificações diferentes na base de dados. A base
de dados é dividida em duas partes, a primeira fica para treino, com 1449 imagens de 203
utilizadores e a segunda para teste, com 1205 imagens de 182 utilizadores. A base de dados
para treino é utilizada para definir todos os parâmetros necessários do sistema de
reconhecimento biométrico e também para um primeiro teste ao desempenho do sistema.
A base de dados para teste é utilizada para testar o desempenho do sistema quando
são inseridos na base de dados do sistema novos utilizadores.
Devido às diferenças entre os templates do utilizador obtidos na fase de registo e na fase
de autenticação decidiu-se que por cada utilizador são inseridos na base de dados do sistema
três templates correspondentes às três primeiras imagens da íris do utilizador para assim obter
melhores taxas de reconhecimento. Na etapa da segmentação utilizam-se os mesmos limites
radiais de busca das circunferências de Masek [Masek 2003]. A etapa de segmentação da íris
58
é bem sucedida em 1313 imagens das 1449 imagens na base de dados de treino e em 1004
imagens das 1204 imagens na base de dados de teste. Nesta dissertação é detectada uma
boa segmentação da íris através do cálculo da distância euclidiana entre o centro da
circunferência da pupila e o centro da circunferência da íris, sendo o valor máximo aceitável
nove. Este valor é calculado pela comparação entre as imagens segmentadas e os valores de
distâncias euclidianas correspondentes. A distância euclidiana é calculada através da seguinte
equação:
Distância = (xi − xp) − (yi − yp) (3.14)
Onde (xi,yi) é o centro da circunferência da íris e (xp,yp) é o centro da circunferência da
pupila. Só as imagens da íris bem segmentadas são utilizadas nas próximas etapas do sistema
de reconhecimento biométrico baseado na íris.
As etapas de segmentação, normalização, extracção da característica da íris e
comparação são efectuadas através dos ficheiros elaborados por Masek e Kovesi. Estes
ficheiros foram fornecidos pelos Orientadores da dissertação [Masek_1 2003].
Na etapa de comparação utiliza-se a distância de Hamming para verificar se um dado
utilizador é legítimo ou não ao sistema biométrico, conforme foi descrito anteriormente neste
capítulo. A base de dados de treino serve para definir os parâmetros do sistema, neste caso o
limiar de decisão. O número total de comparações possíveis para a base de dados de treino
entre templates do mesmo utilizador e de utilizadores diferentes encontra-se descrito na lista
seguinte:
Tipo de base de dados – Treino;
Base de dados da Casia – Versão 3, internal;
Número de imagens bem segmentadas – 1313;
Número de comparações intra-classe – 4319;
Número de comparações intra-classe – 857009.
A cada comparação efectuada entre templates resulta uma distância de Hamming
calculada. As distribuições de distâncias de Hamming para os dois tipos de comparações
encontram-se ilustradas nas Figuras 3.16 e 3.17.
59
Figura 3.16 – Distribuição de distâncias de Hamming para comparações do tipo intra-classe
Figura 3.17 - Distribuição de distâncias de Hamming para comparações do tipo inter-classe
O limiar de decisão representa um valor máximo da distância Hamming permitido para o
sucesso da autenticação do utilizador, ou seja, valores de distância de Hamming abaixo do
valor do limiar de decisão originam uma autenticação bem sucedida, caso contrário, a
autenticação é mal sucedida. Pela observação das Figuras 3.16 e 3.17, o valor do limiar de
decisão deve situar-se próximo da distância de Hamming 0,4 para que o sistema de
reconhecimento biométrico sem segurança dos templates biométricos tenha um bom
desempenho em termos de autenticação de utilizadores legítimos, e bastante seguro em
termos de autenticação de utilizadores não legítimos. A análise do desempenho do sistema é
feita através das taxas de erro de falsa aceitação, FAR e falsa rejeição, FRR, conforme foi
descrito no Capítulo 1. Na fase de registo, insere-se na base de dados do sistema, três
templates por utilizador, conforme foi descrito anteriormente nesta secção. As restantes
imagens dos utilizadores são utilizadas na fase de autenticação, ou seja, as imagens utilizadas
na fase de registo não são utilizadas na fase de autenticação. Nesta fase, o utilizador tem de
60
fornecer o seu ID e a sua imagem da íris para que o template extraído dela, seja comparado
com cada um dos templates guardados na base de dados do sistema.
Nesta dissertação utilizou-se duas estratégias para o sistema de reconhecimento
biométrico sem segurança decidir sobre a autenticação do utilizador:
Primeira estratégia – A primeira estratégia é o sistema decidir autenticar com êxito
o utilizador se numa das três comparações entre o template obtido na autenticação
e os templates inscritos na base de dados do sistema obtiver uma autenticação
válida;
Segunda estratégia – A segunda estratégia é o sistema decidir autenticar com
êxito o utilizador se nas três comparações possíveis entre o template obtido na
autenticação e os templates inscritos na base de dados do sistema obtiver duas
autenticações válidas.
Quando utilizada a base de dados de treino com 1313 imagens na etapa de aquisição
tem-se as seguintes taxas de erros para o sistema de reconhecimento biométrico sem
segurança, Tabela 3.2:
Tabela 3.2 - Avaliação do desempenho do sistema segundo as taxas de erro FAR e FRR1ª estratégia 2ª estratégia
Limiar de decisão FAR FRR FAR FRR0,38 0,00042 0 0,000046 0,0013810,39 0,00061 0 0,000092 0,0013810,4 0,001335 0 0,000145 0,001381
0,41 0,002823 0 0,000351 0,0013810,42 0,007295 0 0,001168 0,0013810,43 0,020665 0 0,005525 0,001381
Conforme foi descrito no Capítulo 1, as taxas de erro FAR e FRR que definem o
desempenho do sistema podem ser representadas graficamente, Figura 3.18:
0
0,005
0,01
0,015
0,37 0,38 0,39 0,4 0,41 0,42 0,43 0,44
Taxa
s de
err
o
Limiar de decisão
a)
FAR para 2ª estratégia
FRR para 2ª estratégia
FAR para 1ª estratégia
FRR para 1ª estratégia
61
Figura 3.18 – a) Representação gráfica das taxas de erro FAR e FRR para a base dedados de treino, b) Curvas ROC
Pela análise da Tabela 3.2 e da Figura 3.18 verifica-se que o sistema de reconhecimento
biométrico sem segurança baseado na íris tem um melhor desempenho em termos de
autenticação de utilizadores legítimos, FRR, quando a primeira estratégia é tomada pelo
sistema para decisão da autenticação do utilizador, mas a segunda estratégia tem um melhor
desempenho em termos de rejeição de utilizadores não legítimos, FAR. A taxa de erro falsa
rejeição, FRR causa frustração ao utilizador e a taxa de erro de falsa aceitação causa fraude
ao sistema. A melhor estratégia para a decisão sobre a autenticação do utilizador é aquela que
minimiza as duas taxas de erro. Como já foi dito anteriormente este sistema não tem qualquer
segurança dos templates, logo a escolha da estratégia para decisão da autenticação do
utilizador que melhor se adequa a este sistema é a segunda, pois apresenta melhores
resultados em termos da taxa de erro FAR e obtém taxa de erro FRR baixa (0,1381%). O limiar
de decisão que melhores resultados obtém para as taxas de erro FAR e FRR é 0,38
(FAR=0,0046%, FRR=0,1381%). A taxa EER para este sistema é aproximadamente 0,0014
( 0,14%).
Deste modo, os resultados em termos das taxas de erro, FAR e FRR, obtidos para a
base de dados de teste com 1004 imagens (as três primeiras imagens são utilizadas na fase de
registo e as restantes imagens na fase de autenticação), tendo por base a segunda estratégia
na decisão do sistema sobre a autenticação do utilizador são os seguintes variando o limiar de
decisão, Tabela 3.3:
Tabela 3.3 – Avaliação do desempenho do sistema segundo as taxas de erro FAR e FRRLimiar de decisão FAR FRR
0,38 0,000028 0,009470,39 0,000028 0,0075760,4 0,000071 0,005682
0,41 0,000171 0,0037880,42 0,00047 0,0018940,43 0,002293 0,001894
0
0,0005
0,001
0,0015
0 0,002 0,004 0,006 0,008
FRR
FAR
b)
ROC para 2ª estratégia
ROC para 1ª estratégia
62
A representação das taxas de erro FAR e FRR que definem o desempenho do sistema
podem ser representadas graficamente através da Figura 3.19.
Figura 3.19 – a) Representação gráfica das taxas de erro FAR e FRR obtidas para a basede dados de teste, b) Curvas ROC
Ao utilizar a base de dados de teste na etapa de aquisição, verifica-se que o sistema tem
pior desempenho em termos da taxa de erro FRR mas em compensação tem um melhor
desempenho para a taxa de erro FAR quando comparado com o sistema que utiliza a base de
dados de treino. Esta diferença pode resultar da maior diferença entre templates do mesmo
utilizador e templates de utilizadores diferentes existentes na base de dados de teste. O limiar
de decisão que melhores resultados obtém para as taxas de erro FAR e FRR é 0,42
(FAR=0,047%,FRR=0,1894%).
A taxa EER para este sistema quando utilizada a base de dados de teste é
aproximadamente 0,0014 ( 0,14%) que é a mesma quando utilizada a base de dados de treino
na etapa aquisição para um primeiro teste o desempenho do sistema.
3.2.7 Aplicações do sistema de reconhecimento biométrico baseado na íris
A utilização dos sistemas de reconhecimento biométrico baseado na íris garantem maior
segurança e confiabilidade, tem menos custos de manutenção e assumem-se cada vez mais
como uma solução de peso, levando à substituição dos sistemas tradicionais de verificação de
0
0,002
0,004
0,006
0,008
0,38 0,39 0,4 0,41 0,42 0,43 0,44
Taxa
s de
err
o
Limiar de decisão
a)
FAR
FRR
00,0030,0060,0090,012
0 0,0002 0,0004
FRR
FAR
b)
ROC utilizando base dedados teste
ROC utilizando a basede dados de treino
63
identidades, senhas e cartões, que deixam transparecer problemas de utilização fraudulenta,
extravio e intrusão.
Estes sistemas podem ser utilizados em diferentes aplicações, das quais se destacam as
seguintes:
Controlo de acesso a áreas restritas: As áreas onde o acesso deve ser restrito a
um número limitado de pessoas, poderiam fazer uso da tecnologia biométrica
baseada na íris para o controlo do acesso de forma segura, prática e confiável;
Controlo de assiduidade e relógio de ponto: A tarefa de registar a presença de
um funcionário em uma empresa é normalmente realizada através dos chamados
cartões de ponto, ou cartões magnéticos. Tais métodos dão margem a pequenas
fraudes, ou seja, não há um controlo eficiente de quem está registando a sua
presença. Isso poderia ser evitado através da introdução de sistemas de
reconhecimento biométrico baseado na íris , que apresentam maior confiabilidade e
segurança;
Passaporte biométrico: O novo modelo de passaporte, que gradualmente tende a
ser adoptado em todo o mundo, contém outros dados de identificação além da foto
habitual, por exemplo a íris.
3.3 Conclusões
A utilização da íris em sistemas de reconhecimento biométrico tem vantagens e
desvantagens, conforme foi descrito neste capítulo. Uma das grandes vantagens desta
biométrica é ter características que a tornam única em cada pessoa e difícil de ser copiada,
uma vez que a íris é um órgão interno do olho humano.
Um dos objectivos deste capítulo foi implementar um sistema de reconhecimento
biométrico sem segurança baseado na íris e verificar qual o seu desempenho na autenticação
de utilizadores legítimos e rejeição de utilizadores não legítimos. Os resultados obtidos foram
bastante satisfatórios, uma vez que, as taxas de erro obtidas para o limiar de decisão 0,42
foram 0,047% para a taxa de erro FAR e 0,1894% para a taxa de erro FRR. Um dos problemas
detectados na implementação do sistema verificou-se no módulo de segmentação, porque o
método utilizado por Masek na segmentação da íris é computacionalmente bastante intenso,
não sendo uma boa alternativa para sistemas de autenticação em tempo real.
Mas, apesar do bom desempenho deste sistema em termos das taxas de falsa aceitação
e falsa rejeição, este não garante a total segurança dos dados biométricos, transmitidos entre
os diferentes módulos que compõem o sistema e armazenados na base de dados, não
garantindo desta forma a privacidade do utilizador, um dos objectivos enunciados no Capitulo
2, devido às vulnerabilidades e possíveis ataques a elas associadas. No próximo capítulo é
apresentado um sistema que permite proteger os dados biométricos armazenados na base de
dados do sistema, garantindo assim uma maior privacidade dos utilizadores.
64
4 Sistema de reconhecimento biométrico baseado na íris comreforço da segurança dos dados biométricos
Um dos problemas existentes em sistemas de reconhecimento biométrico é como
garantir a segurança dos dados biométricos, neste caso, os templates guardados na base de
dados. A privacidade dos dados biométricos do utilizador inseridos no sistema deve ser
cuidadosamente assegurada por parte das empresas que utilizem este tipo de sistemas. No
Capítulo 2 descreveram-se algumas vulnerabilidades destes sistemas, apresentando algumas
medidas de prevenção para que ataques ao sistema biométrico não tenham sucesso.
No capítulo anterior descreveu-se um sistema de reconhecimento biométrico baseado na
íris que, em termos de autenticação de utilizadores legítimos e não legítimos apresenta bons
resultados, demonstrando que o sistema de reconhecimento biométrico baseado na íris é um
bom sistema de verificação da identidade dos utilizadores. Mas, neste sistema, a privacidade
dos dados biométricos inseridos na base de dados é praticamente nula, isto é, uma pessoa mal
intencionada que tenha acesso à base de dados pode utilizar as informações guardadas nela
para obter acesso a serviços, informações ou locais privados.
Para resolver este problema, nesta dissertação propõe-se a utilização de funções
criptográficas de hash. Estas funções garantem a privacidade dos dados biométricos porque
são funções unidireccionais, ou seja, a partir da chave hexadecimal obtida é praticamente
impossível descobrir qual a informação, neste caso o template, que originou essa chave.
A utilização destas funções implica que os templates obtidos na fase de registo e na fase
de autenticação, para utilizadores legítimos, sejam exactamente iguais para obterem a mesma
chave criptográfica, porque ligeiras diferenças nos templates resultam em chaves criptográficas
completamente distintas. Na biometria, a aquisição sucessiva de imagens da mesma
biométrica raramente resulta em templates iguais, sendo por isso necessário, a utilização de
códigos de correcção de erros para eliminar essas possíveis diferenças entre os templates do
mesmo utilizador legítimo.
Deste modo, para melhorar o sistema de reconhecimento biométrico baseado na íris
apresentado no capítulo anterior, introduzem-se funções criptográficas de hash e códigos
correctores de erros. A fase de registo e de autenticação do sistema de reconhecimento
biométrico baseado na íris com reforço da segurança são ilustradas, para o modo de
verificação, nas Figura 4.1 e Figura 4.2.
65
Figura 4.1 - Fase de registo
Na fase de registo, uma imagem do olho humano x é adquirida, depois através da etapa
de segmentação a íris y é isolada das restantes características do olho, sendo de seguida
normalizada de modo a ter uma dimensão fixa. Depois é extraída da íris normalizada y a sua
textura t, chamado perfil, ou template, em seguida este é transformado numa chave
hexadecimal h através da função de hash, sendo esta a informação que é guardada na base
de dados. Para além da aplicação da função de hash, ao template é também aplicado um
codificador de canal, que produz um código de correcção de erros, ficando o resultado
guardado num vector de tamanho n, também designado por codeword. Os k primeiros bits
deste vector são o template e os restantes n–k são os bits de paridade, s, usados para corrigir
o possível ruído de amostragem presente no template adquirido no momento da autenticação.
Estes bits de paridade são guardados na base de dados juntamente com a chave
representante do template e uma identificação, ID, do utilizador.
Figura 4.2 - Fase de autenticação, modo de verificação
Na fase de autenticação, modo de verificação, uma imagem do olho humano x’ é
adquirida, a íris y’ é segmentada, normalizada de modo a ter uma dimensão fixa e é calculado
o respectivo template t’. Em seguida, através dos bits de paridade guardados na base de
65
Figura 4.1 - Fase de registo
Na fase de registo, uma imagem do olho humano x é adquirida, depois através da etapa
de segmentação a íris y é isolada das restantes características do olho, sendo de seguida
normalizada de modo a ter uma dimensão fixa. Depois é extraída da íris normalizada y a sua
textura t, chamado perfil, ou template, em seguida este é transformado numa chave
hexadecimal h através da função de hash, sendo esta a informação que é guardada na base
de dados. Para além da aplicação da função de hash, ao template é também aplicado um
codificador de canal, que produz um código de correcção de erros, ficando o resultado
guardado num vector de tamanho n, também designado por codeword. Os k primeiros bits
deste vector são o template e os restantes n–k são os bits de paridade, s, usados para corrigir
o possível ruído de amostragem presente no template adquirido no momento da autenticação.
Estes bits de paridade são guardados na base de dados juntamente com a chave
representante do template e uma identificação, ID, do utilizador.
Figura 4.2 - Fase de autenticação, modo de verificação
Na fase de autenticação, modo de verificação, uma imagem do olho humano x’ é
adquirida, a íris y’ é segmentada, normalizada de modo a ter uma dimensão fixa e é calculado
o respectivo template t’. Em seguida, através dos bits de paridade guardados na base de
65
Figura 4.1 - Fase de registo
Na fase de registo, uma imagem do olho humano x é adquirida, depois através da etapa
de segmentação a íris y é isolada das restantes características do olho, sendo de seguida
normalizada de modo a ter uma dimensão fixa. Depois é extraída da íris normalizada y a sua
textura t, chamado perfil, ou template, em seguida este é transformado numa chave
hexadecimal h através da função de hash, sendo esta a informação que é guardada na base
de dados. Para além da aplicação da função de hash, ao template é também aplicado um
codificador de canal, que produz um código de correcção de erros, ficando o resultado
guardado num vector de tamanho n, também designado por codeword. Os k primeiros bits
deste vector são o template e os restantes n–k são os bits de paridade, s, usados para corrigir
o possível ruído de amostragem presente no template adquirido no momento da autenticação.
Estes bits de paridade são guardados na base de dados juntamente com a chave
representante do template e uma identificação, ID, do utilizador.
Figura 4.2 - Fase de autenticação, modo de verificação
Na fase de autenticação, modo de verificação, uma imagem do olho humano x’ é
adquirida, a íris y’ é segmentada, normalizada de modo a ter uma dimensão fixa e é calculado
o respectivo template t’. Em seguida, através dos bits de paridade guardados na base de
66
dados, o template vai ser “corrigido” de modo a tentar obter uma cópia fiel do template original
do utilizador que foi registado na base de dados, x^. A partir deste instante já é possível aplicar
a função de hash ao template corrigido, x^, e comparar a chave hexadecimal obtida com a
chave registada na base de dados para o utilizador com a identificação inserida no acto de
autenticação. Caso as chaves sejam iguais a autenticação do utilizador é bem sucedida, caso
contrário a sua autenticação não é permitida pelo sistema.
Nas secções seguintes descreve-se mais detalhadamente os códigos de correcção de
erros, em especial os códigos low-density-parity-check, LDPC e as funções criptográficas de
hash.
4.1 Códigos de Correcção de Erros LDPC
4.1.1 Introdução
A história dos códigos de correcção de erros começou em 1948 com a publicação de um
artigo pelo matemático e engenheiro Claude E. Shannon, do laboratório Bell [Shannon 1948].
Ele lançou as bases da Teoria de Informação, mostrando a importância de dispor de técnicas
de codificação de canal que permitissem uma transmissão e um armazenamento robusto de
dados. Shannon não só determinou os limites teóricos para a taxa máxima de transmissão de
dados através de um canal de comunicação, como também, colocou um enorme desafio de
investigação que era determinar uma técnica de codificação de canal capaz de atingir a taxa
máxima de transmissão por ele deduzida. Inicialmente os maiores interessados nestes códigos
foram os matemáticos, que os desenvolveram consideravelmente nas décadas de 50 e de 60.
A partir da década de 70, com as pesquisas espaciais e a grande popularização dos
computadores, estes códigos começaram a interessar também aos engenheiros.
Em 1993 Berrou, Glavieux e Thitimajshimi [Berrou 1993] apresentaram uma nova técnica
de codificação designada por turbo códigos, TC, que revolucionou toda a investigação
realizada até então. Baseado em técnicas de descodificação iterativas, foi possível pela
primeira vez aproximar-se do limite de Shannon. Os melhoramentos conseguidos foram tão
surpreendentes e a técnica proposta tão revolucionária que foram precisos vários anos para
compreender e absorver os novos conceitos. À medida que a comunidade científica
concentrava a sua atenção no novo método, tornou-se claro que os seus fundamentos tinham
sido lançados muitos anos antes, em 1960 por Robert Gallager [Gallager 1962] [Gallager
1963], que na sua tese de doutoramento tinha proposto uma nova classe de códigos baseados
em matrizes de teste de paridade esparsas, conhecidos por Low Density Parity-Check Codes,
LDPC, e um algoritmo de descodificação iterativo designado por algoritmo soma de produtos,
SPA. Foi Makay e Neal [Neal 1995] [Neal 1997], que redescobriram os códigos LDPC e que
confirmaram as suas excelentes propriedades de correcção de erros, tendo provado que à
semelhança dos turbo códigos, os LDPC’s conseguiam atingir uma probabilidade de erro muito
próxima do limite de Shannon [Shannon 1948], conseguindo um melhor compromisso entre o
desempenho e complexidade na etapa da descodificação. .
67
Hoje em dia estes códigos estão presentes no nosso quotidiano de diversas maneiras,
por exemplo, quando se utiliza informações digitalizadas, tais como assistir a um programa de
televisão, falar ao telefone, ouvir um CD de música, assistir a um filme em DVD, mandar um
recado a alguém via SMS ou navegar pela Internet.
Um código de correcção de erros consiste em acrescentar alguma informação a cada
mensagem que precisa de ser transmitida/armazenada de modo a que quando seja necessário
recuperar essa mensagem se consiga detectar e corrigir possíveis erros no processo de
transmissão/armazenamento.
A próxima secção desta dissertação serve para explicar uma classe muito importante de
códigos de detecção e correcção de erros, os códigos de bloco lineares, uma vez que, os
códigos acima referidos baseiam-se em códigos de bloco lineares.
4.1.2 Códigos de bloco lineares
Um código de correcção de erros diz-se um código de bloco se a cada mensagem de
símbolos do alfabeto X, de comprimento fixo k, o codificador de canal fizer corresponder uma
palavra de código de comprimento fixo n, com n>k. A diferença n-k representa o número de
símbolos de teste utilizados na detecção e correcção de erros. No caso de o alfabeto ser
binário, X={0,1}, o código de bloco diz-se binário.
Uma classe importante de códigos de correcção de erros é os códigos de bloco lineares,
na medida em que estes podem ser descritos matematicamente com base na teoria de
espaços vectoriais. Os códigos de bloco lineares binários utilizam aritmética módulo 2 e, como
tal, dizemos que um código binário é linear se a soma (módulo 2) de quaisquer palavras de
código é ainda uma palavra de código. Tendo em conta as propriedades da soma módulo 2,
facilmente concluímos que a soma de uma palavra de código consigo própria é o vector nulo,
pelo que uma das condições necessárias, mas não suficiente, para que um código seja linear é
que uma das palavras de código seja o vector nulo.
Dado um código linear binário (n,k), em que as palavras de código são vectores de
dimensão n do tipo:
c=[ c0 c1…cn-1]; (4.1)
e as mensagens a codificar são vectores de dimensão k, com n > k, do tipo:
m=[ m0 m1…mk-1]; (4.2)
a forma mais simples de representar esse código é com base numa matriz G, chamada de
matriz geradora de dimensão k x n. As palavras de código podem ser obtidas a partir da
seguinte equação:
c = mG; (4.3)
A partir da equação (4.3), tira-se a conclusão que cada bit da palavra de código é uma
combinação linear dos bits da mensagem. No entanto, esta observação não é suficiente para
afirmar que o conjunto de vectores { c0 c1…c2k-1} obtidos a partir da equação (4.3) para o
conjunto de mensagens { m0 m1…m2k-1} , constitui um código, ou seja, estamos perante um
68
código se mensagens diferentes derem origem a palavras de código diferentes. Isto só é
possível, se as linhas da matriz G forem linearmente independentes. Só desta forma é possível
a sua descodificação unívoca.
Designando por ci o bit i de uma palavra de código, uma outra definição possível para um
código binário linear (n,k) é a seguinte: um código binário diz-se linear se todas as 2k palavras
de código satisfazem um conjunto de n-k equações lineares homogéneas em ci com i=0,…,n-1
,ou seja, um sistema de n-k equações homogéneas a n incógnitas. Estas equações são
designadas por equações de teste de paridade.
O sistema de equações pode ser descrito na forma matricial através da equação
seguinte:
HcT = 0 (n-k) x 1; (4.4)
em que H é a matriz de teste paridade, de dimensões (n-k) x n.
Uma característica desejada para os códigos de blocos lineares é que as palavras
código sejam apresentadas de forma sistemática, isto é, seja possível separá-la em duas
partes, a parte de mensagem e a parte de redundância, a que chamamos bits de paridade.
No caso de o código ser sistemático as palavras de código são do tipo:
c=[ c0 c1…cn-1] = [ m0 m1…mk-1 s0 s1…sn-k-1]; (4.5)
em que { s0 s1…sn-k-1 } são os bits de paridade e { m0 m1…mk-1 } são os bits da mensagem a
transmitir.
Neste caso os bits da mensagem são transmitidos de forma separada dos bits de
paridade, sendo estes obtidos como combinação linear dos primeiros,
s=[ s0 s1…sn-k-1] = mP; (4.6)
em que P representa a matriz de paridade de dimensão k x (n-k). Desta forma a matriz
geradora G pode ser escrita em termos sistemáticos da seguinte forma:
G=[P| I k]; (4.7)
em que Ik representa a matriz identidade de dimensão k x k.
Um código de bloco linear definido por uma matriz H de máxima característica é sempre
sistematizável e, nesse caso, por aplicação de operações lineares às linhas de H, esta poderá
ser pode ser escrita na forma sistemática:
H=[-PT| In-k ]; (4.8)
em que PT representa a transposta da matriz de paridade P de dimensão (n-k) x k e I a matriz
de identidade de dimensão (n-k) x (n-k)
A taxa de codificação é dada por k/n. Por exemplo, para uma palavra de código com 40
bits codificados e 20 bits de mensagem, a taxa de codificação é igual a 1/2.
69
4.1.3 Os Códigos LDPC
Os códigos LDPC são códigos caracterizados por uma matriz de teste de paridade
esparsa, H, isto é, com uma baixa densidade de 1’s, ou seja, o número de 1’s na matriz é
bastante menor que o número de zeros,
Quando se tem um código LDPC de comprimento longo, a análise torna-se complexa
devido ao grande número de palavras de código envolvidas e, por isso, é comum adoptar-se
uma análise estatística para encontrar um código com baixa probabilidade de erro de
descodificação.
Os códigos LDPC podem ser de dois tipos: regulares ou irregulares.
Os códigos LDPC regulares foram propostos pela primeira vez por Robert Gallager em
1962 [Gallager 1962] [Gallager 1963]. Gallager definiu um código LDPC regular (n,k,wc), com
wc<<n-k como sendo um código de bloco linear cuja a matriz de teste de paridade tem
dimensões (n-k) x n contendo exactamente wc 1’s por coluna e wr=wcnm
1’s por linha, com m=n-
k.
Gallager provou ainda que fazendo wc ≥ 3 , o conjunto de códigos LDPC (n,k, wc) que
podem ser obtidos possuem, na sua grande maioria, uma distância mínima elevada, bastando
seguir algumas regras simples de construção, como por exemplo, garantir que quaisquer duas
colunas da matriz H possuam quanto muito um só 1 em comum.
Devido à baixa densidade de 1’s da matriz H consegue-se que o número mínimo de
colunas de H necessárias somar de forma a obter o vector nulo é elevado, garantindo assim,
uma distância mínima elevada para o código.
A distância mínima de um código, define-se como sendo a menor distância de Hamming
verificada para todos os pares distintos de palavras de código. A distância de Hamming, entre
duas palavras de código define-se como sendo o número de posições para as quais as duas
palavras diferem.
Mais recentemente começaram a ser estudados códigos LDPC irregulares, cuja matriz
de teste de paridade possui uma baixa densidade de 1’s mas em que o número de 1’s por
coluna e por linha não é constante.
Em [Richardson 2001] é feita a prova de que os códigos LDPC irregulares são
superiores aos regulares para blocos longos. No entanto, a realização em hardware dos
códigos LDPC regulares é mais simples visto que a sua estrutura pode ser explorada com vista
a simplificar o descodificador.
Além disso, para comprimentos de bloco mais curtos, os códigos irregulares possuem,
na maioria dos casos, uma distância mínima inferior aos regulares, daí a preferência por estes
últimos nessa situação.
Uma outra explicação para o melhor desempenho dos códigos LDPC irregulares tem por
base a sua representação em grafos de Tanner, assim como, a forma como estes são
descodificados.
70
4.1.3.1 Grafo de Tanner ou bipartido
Um grafo de Tanner ou bipartido [Tanner 1981] é uma forma de visualização de códigos
LDPC que facilita a compreensão do processo de descodificação iterativa. A ideia central é
usar o grafo para estruturar as equações de teste de paridade, facilitando a codificação e a
descodificação. O grafo de Tanner é construído definindo-se os nós de bit, NBn, em
quantidades iguais às colunas da matriz H, e os nós de teste, NTm, em quantidades iguais às
linhas de H. O número de ligações, que sai de cada nó de bit em direcção aos nós de teste é
determinado pelo valor do peso de cada coluna da matriz de paridade, isto é, o número de 1’s
em cada coluna. Da mesma forma, o número de ligações que sai de cada nó de teste em
direcção aos nós de bit é igual ao valor do peso de cada linha da matriz, dado pelo número de
1’s em cada linha de H. Logo, as posições dos 1’s da matriz H definem as ligações entre nós
de bit e nós de teste, designadas por caminhos. O número de caminhos que chegam a cada nó
é designado pelo grau desse nó.
A seguir inclui-se um exemplo para demonstrar como se obtém um grafo de Tanner a
partir da matriz de teste de paridade.
Exemplo 4.1Considere-se o código binário linear LDPC (6,3), definido pela matriz de teste de paridade H:
H( × )=H(( )× =1 1 0 0 1 00 1 1 0 0 11 0 1 1 0 0
O grafo de Tanner associado à matriz H é:
Figura 4.3 - Grafo de Tanner
Dado um código LDPC (n,k), onde wcn é o grau do nó de bit NBn e wrm é o grau do nó de
teste NTm, conclui-se que: ∑ wci=ni=1 ∑ wrj
n-kj=1 ; (4.9)
ou seja, a soma dos graus de todos os nós de bit NBm’s é igual à soma dos graus de todos os
nós de teste NTn’s.
Para códigos LDPC regulares (n,k,wc), tem-se todos os nós de teste NTm’s com o mesmo
grau, e todos os nós de bit NBn’s também com o mesmo grau, chegando à conclusão através
da equação anterior que:
n x wc= (n-k) x wr ↔ wr = nn-k
wc; (4.10)
Um dos mais importantes conceitos relativos aos grafos de Tanner é a definição de ciclo.
Ciclo define-se como sendo um caminho fechado de comprimento l entre nós, sendo que o nó
70
4.1.3.1 Grafo de Tanner ou bipartido
Um grafo de Tanner ou bipartido [Tanner 1981] é uma forma de visualização de códigos
LDPC que facilita a compreensão do processo de descodificação iterativa. A ideia central é
usar o grafo para estruturar as equações de teste de paridade, facilitando a codificação e a
descodificação. O grafo de Tanner é construído definindo-se os nós de bit, NBn, em
quantidades iguais às colunas da matriz H, e os nós de teste, NTm, em quantidades iguais às
linhas de H. O número de ligações, que sai de cada nó de bit em direcção aos nós de teste é
determinado pelo valor do peso de cada coluna da matriz de paridade, isto é, o número de 1’s
em cada coluna. Da mesma forma, o número de ligações que sai de cada nó de teste em
direcção aos nós de bit é igual ao valor do peso de cada linha da matriz, dado pelo número de
1’s em cada linha de H. Logo, as posições dos 1’s da matriz H definem as ligações entre nós
de bit e nós de teste, designadas por caminhos. O número de caminhos que chegam a cada nó
é designado pelo grau desse nó.
A seguir inclui-se um exemplo para demonstrar como se obtém um grafo de Tanner a
partir da matriz de teste de paridade.
Exemplo 4.1Considere-se o código binário linear LDPC (6,3), definido pela matriz de teste de paridade H:
H( × )=H(( )× =1 1 0 0 1 00 1 1 0 0 11 0 1 1 0 0
O grafo de Tanner associado à matriz H é:
Figura 4.3 - Grafo de Tanner
Dado um código LDPC (n,k), onde wcn é o grau do nó de bit NBn e wrm é o grau do nó de
teste NTm, conclui-se que: ∑ wci=ni=1 ∑ wrj
n-kj=1 ; (4.9)
ou seja, a soma dos graus de todos os nós de bit NBm’s é igual à soma dos graus de todos os
nós de teste NTn’s.
Para códigos LDPC regulares (n,k,wc), tem-se todos os nós de teste NTm’s com o mesmo
grau, e todos os nós de bit NBn’s também com o mesmo grau, chegando à conclusão através
da equação anterior que:
n x wc= (n-k) x wr ↔ wr = nn-k
wc; (4.10)
Um dos mais importantes conceitos relativos aos grafos de Tanner é a definição de ciclo.
Ciclo define-se como sendo um caminho fechado de comprimento l entre nós, sendo que o nó
70
4.1.3.1 Grafo de Tanner ou bipartido
Um grafo de Tanner ou bipartido [Tanner 1981] é uma forma de visualização de códigos
LDPC que facilita a compreensão do processo de descodificação iterativa. A ideia central é
usar o grafo para estruturar as equações de teste de paridade, facilitando a codificação e a
descodificação. O grafo de Tanner é construído definindo-se os nós de bit, NBn, em
quantidades iguais às colunas da matriz H, e os nós de teste, NTm, em quantidades iguais às
linhas de H. O número de ligações, que sai de cada nó de bit em direcção aos nós de teste é
determinado pelo valor do peso de cada coluna da matriz de paridade, isto é, o número de 1’s
em cada coluna. Da mesma forma, o número de ligações que sai de cada nó de teste em
direcção aos nós de bit é igual ao valor do peso de cada linha da matriz, dado pelo número de
1’s em cada linha de H. Logo, as posições dos 1’s da matriz H definem as ligações entre nós
de bit e nós de teste, designadas por caminhos. O número de caminhos que chegam a cada nó
é designado pelo grau desse nó.
A seguir inclui-se um exemplo para demonstrar como se obtém um grafo de Tanner a
partir da matriz de teste de paridade.
Exemplo 4.1Considere-se o código binário linear LDPC (6,3), definido pela matriz de teste de paridade H:
H( × )=H(( )× =1 1 0 0 1 00 1 1 0 0 11 0 1 1 0 0
O grafo de Tanner associado à matriz H é:
Figura 4.3 - Grafo de Tanner
Dado um código LDPC (n,k), onde wcn é o grau do nó de bit NBn e wrm é o grau do nó de
teste NTm, conclui-se que: ∑ wci=ni=1 ∑ wrj
n-kj=1 ; (4.9)
ou seja, a soma dos graus de todos os nós de bit NBm’s é igual à soma dos graus de todos os
nós de teste NTn’s.
Para códigos LDPC regulares (n,k,wc), tem-se todos os nós de teste NTm’s com o mesmo
grau, e todos os nós de bit NBn’s também com o mesmo grau, chegando à conclusão através
da equação anterior que:
n x wc= (n-k) x wr ↔ wr = nn-k
wc; (4.10)
Um dos mais importantes conceitos relativos aos grafos de Tanner é a definição de ciclo.
Ciclo define-se como sendo um caminho fechado de comprimento l entre nós, sendo que o nó
71
de partida e de chegada tem de ser o mesmo, em que l é o número de ligações entre nós
existentes no ciclo. Na Figura 4.4 ilustra-se um exemplo de um ciclo de comprimento 4.
Exemplo 4.2:
Figura 4.4 - Exemplo de um ciclo de comprimento 4 num grafo de Tanner
Qualquer ciclo de um grafo de Tanner tem um comprimento par e o seu valor mínimo é 4
correspondendo a uma matriz de teste de paridade em que existem duas colunas com dois 1’s
em comum.
Ao definir um código LDPC através da matriz H procura-se evitar a existência de ciclos
de comprimento 4 no seu grafo de Tanner, de forma a melhorar o desempenho do algoritmo de
descodificação ou seja quanto maior o ciclo, maior a distância mínima da matriz H. Uma das
regras na construção da matriz H para evitar a existência de ciclos de dimensão 4, é garantir
que quaisquer duas colunas da matriz, possuam quanto muito, um só 1, em comum.
4.1.3.2 Construção dos códigos LDPC
A forma mais simples de representar um código LDPC (n,k), consiste na construção da
matriz de teste de paridade, H. Caso se queira construir um código LDPC regular deve ter-se
em conta que o número de 1’s da matriz H por coluna seja igual a wc e o número de 1’s por
linha seja igual a wr=wcnm,. Caso se queira construir um código LDPC irregular o número de 1’s
por linha e o número de 1’s por coluna variam. Na construção da matriz H deve-se maximizar o
ciclo mínimo presente nos grafos de Tanner obtidos a partir das equações de paridade e
também a distância mínima de modo a que o código tenha um bom desempenho na etapa de
descodificação.
Mackay e Neal apresentaram algumas estratégias para a construção de códigos LDPC
[Neal 1995]. Estas estratégias são apresentadas de forma numerada, sendo convicção dos
autores que as de ordem superior maximizam a probabilidade do código obtido possuir um
melhor desempenho. No entanto, eles próprios reconhecem não possuir qualquer prova deste
facto.
Algumas dessas estratégias são descritas a seguir:
i. A matriz H é gerada a partir de uma matriz de zeros de dimensões (n-k) x n em que
o número de 1’s por coluna é colocado aleatoriamente com peso igual a wc (o
código gerado poderá ser irregular);
71
de partida e de chegada tem de ser o mesmo, em que l é o número de ligações entre nós
existentes no ciclo. Na Figura 4.4 ilustra-se um exemplo de um ciclo de comprimento 4.
Exemplo 4.2:
Figura 4.4 - Exemplo de um ciclo de comprimento 4 num grafo de Tanner
Qualquer ciclo de um grafo de Tanner tem um comprimento par e o seu valor mínimo é 4
correspondendo a uma matriz de teste de paridade em que existem duas colunas com dois 1’s
em comum.
Ao definir um código LDPC através da matriz H procura-se evitar a existência de ciclos
de comprimento 4 no seu grafo de Tanner, de forma a melhorar o desempenho do algoritmo de
descodificação ou seja quanto maior o ciclo, maior a distância mínima da matriz H. Uma das
regras na construção da matriz H para evitar a existência de ciclos de dimensão 4, é garantir
que quaisquer duas colunas da matriz, possuam quanto muito, um só 1, em comum.
4.1.3.2 Construção dos códigos LDPC
A forma mais simples de representar um código LDPC (n,k), consiste na construção da
matriz de teste de paridade, H. Caso se queira construir um código LDPC regular deve ter-se
em conta que o número de 1’s da matriz H por coluna seja igual a wc e o número de 1’s por
linha seja igual a wr=wcnm,. Caso se queira construir um código LDPC irregular o número de 1’s
por linha e o número de 1’s por coluna variam. Na construção da matriz H deve-se maximizar o
ciclo mínimo presente nos grafos de Tanner obtidos a partir das equações de paridade e
também a distância mínima de modo a que o código tenha um bom desempenho na etapa de
descodificação.
Mackay e Neal apresentaram algumas estratégias para a construção de códigos LDPC
[Neal 1995]. Estas estratégias são apresentadas de forma numerada, sendo convicção dos
autores que as de ordem superior maximizam a probabilidade do código obtido possuir um
melhor desempenho. No entanto, eles próprios reconhecem não possuir qualquer prova deste
facto.
Algumas dessas estratégias são descritas a seguir:
i. A matriz H é gerada a partir de uma matriz de zeros de dimensões (n-k) x n em que
o número de 1’s por coluna é colocado aleatoriamente com peso igual a wc (o
código gerado poderá ser irregular);
71
de partida e de chegada tem de ser o mesmo, em que l é o número de ligações entre nós
existentes no ciclo. Na Figura 4.4 ilustra-se um exemplo de um ciclo de comprimento 4.
Exemplo 4.2:
Figura 4.4 - Exemplo de um ciclo de comprimento 4 num grafo de Tanner
Qualquer ciclo de um grafo de Tanner tem um comprimento par e o seu valor mínimo é 4
correspondendo a uma matriz de teste de paridade em que existem duas colunas com dois 1’s
em comum.
Ao definir um código LDPC através da matriz H procura-se evitar a existência de ciclos
de comprimento 4 no seu grafo de Tanner, de forma a melhorar o desempenho do algoritmo de
descodificação ou seja quanto maior o ciclo, maior a distância mínima da matriz H. Uma das
regras na construção da matriz H para evitar a existência de ciclos de dimensão 4, é garantir
que quaisquer duas colunas da matriz, possuam quanto muito, um só 1, em comum.
4.1.3.2 Construção dos códigos LDPC
A forma mais simples de representar um código LDPC (n,k), consiste na construção da
matriz de teste de paridade, H. Caso se queira construir um código LDPC regular deve ter-se
em conta que o número de 1’s da matriz H por coluna seja igual a wc e o número de 1’s por
linha seja igual a wr=wcnm,. Caso se queira construir um código LDPC irregular o número de 1’s
por linha e o número de 1’s por coluna variam. Na construção da matriz H deve-se maximizar o
ciclo mínimo presente nos grafos de Tanner obtidos a partir das equações de paridade e
também a distância mínima de modo a que o código tenha um bom desempenho na etapa de
descodificação.
Mackay e Neal apresentaram algumas estratégias para a construção de códigos LDPC
[Neal 1995]. Estas estratégias são apresentadas de forma numerada, sendo convicção dos
autores que as de ordem superior maximizam a probabilidade do código obtido possuir um
melhor desempenho. No entanto, eles próprios reconhecem não possuir qualquer prova deste
facto.
Algumas dessas estratégias são descritas a seguir:
i. A matriz H é gerada a partir de uma matriz de zeros de dimensões (n-k) x n em que
o número de 1’s por coluna é colocado aleatoriamente com peso igual a wc (o
código gerado poderá ser irregular);
72
ii. A matriz H é gerada aleatoriamente com colunas de peso de Hamming2 wc tentando
uniformizar ao máximo o peso de Hamming wr de cada linha;
iii. A matriz H é gerada com colunas de peso de Hamming wc, linhas de peso de
Hamming wr, e não possuindo quaisquer duas colunas com mais de um 1 em
comum, eliminando assim ciclos de comprimento 4;
iv. A matriz H é gerada de acordo com o procedimento do ponto anterior mas tendo
como objectivo a maximização do ciclo mínimo do código;
v. A matriz H é gerada de acordo com o procedimento referido em (iv) procurando
obter uma matriz de característica máxima, de preferência na forma H =[ H1 H2]
com H1 ou H2 invertível.
Mackay e Neal apresentam ainda um conjunto de técnicas que fazem uso de algumas
das estratégias acima referidas. Essas técnicas são vulgarmente conhecidas por 1A, 2A, 1B e
2B, sendo usadas por muitos investigadores na classificação dos códigos LDPC estudados (5).
A estratégia 1A diz respeito à terceira estratégia da lista acima, com wc=3, e wr=6 em
que é introduzida a restrição de o código possuir ciclos superiores a 4.
A estratégia 2A diz respeito à quinta estratégia da lista acima, tendo como base a
construção da matriz H com (n-k) / 2 colunas (com n-k a definir o número de linhas da matriz H)
de peso 2, sem que exista qualquer 1 em comum entre elas, e em que as restantes colunas
têm peso 3, Simultaneamente, procura-se que o peso das linhas seja o mais uniforme possível,
impondo como restrição o facto de quaisquer duas colunas de H não terem mais do que um 1
em comum.
As estratégias 1B e 2B resultam da eliminação de um pequeno número de colunas da
matriz H obtidas segundo as estratégias 1A e 2A, respectivamente, de forma a eliminar todos
os ciclos do código de tamanho inferior a um dado valor l estipulado, procurando, desta forma,
maximizar o ciclo de acordo com a quarta estratégia da lista acima.
Um dos problemas que se coloca é precisamente a forma de eliminar os ciclos de
comprimento inferior a um dado valor. McGowan e Williamson [Williamson 2003], Mao e
Banihashemi [Banihashemi 2001] apresentam alguns métodos para eliminação desses ciclos
para os códigos LDPC.
Prabhakar e Narayanan apresentaram outra estratégia de construção de códigos LDPC
baseada num método algébrico de construção de códigos LDPC regulares [Narayanan 2002].
Este método apresenta como grande vantagem o facto de a estrutura do grafo de Tanner poder
ser gerada algebricamente usando um procedimento recursivo. Mais detalhe sobre este
método encontra-se disponível na referência bibliográfica [Narayanan 2002].
2 Peso de Hamming de uma coluna/linha, define-se como sendo o número de 1’s presentes nessacoluna/linha.
73
4.1.4 Codificação
Como já foi dito anteriormente os códigos LDPC são códigos de bloco lineares, logo a
forma mais natural de realizar a codificação será partindo do conhecimento da matriz geradora
e a partir desta determinar as palavras de código segundo a equação (4.3). No entanto, os
métodos utilizados na construção de códigos LDPC, tem por base a obtenção da sua matriz de
teste de paridade H ou então o equivalente TG. Na grande maioria das vezes a matriz H obtida
não é sistemática nem de característica máxima, no entanto, esta pode ser expressa na forma
sistemática segundo a equação (4.8) usando o método de Gauss. A obtenção da matriz G é
depois imediata. Embora de fácil implementação, o método de Gauss é bastante dispendioso
em termo do número de operações a realizar na codificação de cada palavra de código. Esta
constatação deve-se a facto de a sistematização da matriz H não conduzir, necessariamente, à
obtenção de uma matriz G com baixa densidade de 1’s, pelo que a codificação por (4.3) exige
a realização de um número extremamente elevado de operações.
Deste modo, nesta dissertação, a matriz H obtida tem a representação descrita na
equação (4.8) para simplificar a codificação.
4.1.5 Descodificação Iterativa
Na descodificação de um código LDPC, existem duas abordagens possíveis:
Hard Decoding, HD – Nesta abordagem, considera-se que o conjunto de símbolos
distintos à entrada do descodificador é finito, ou seja, no caso de um código binário
à entrada do descodificador tem-se apenas bits;
Soft Decoding, SD – Nesta abordagem tem-se em conta a distribuição
probabilística dos símbolos recebidos por parte do descodificador.
Os algoritmos do tipo HD são na sua grande maioria menos complexos e menos
exigentes computacionalmente que os algoritmos SD, mas os algoritmos SD apresentam um
melhor desempenho em termos da taxa de erros, BER, visto que estes têm em conta a
distribuição probabilística dos símbolos recebidos.
No contexto dos códigos LDPC ambas as abordagens de descodificação têm vindo a ser
objecto de investigação procurando um compromisso entre complexidade e desempenho. Os
algoritmos iterativos HD propostos são normalmente designados por algoritmos de troca de bits
[Rich], e os SD por algoritmos de troca de mensagens.
O algoritmo apresentado por Gallager [Gallager 1963] tem por base a representação
gráfica dos códigos LDPC e é vulgarmente conhecido como algoritmo de soma de produtos,
SPA.
Nesta dissertação utiliza-se uma simplificação do algoritmo SPA, mais concretamente o
algoritmo soma de produtos no domínio logarítmico, LSPA, porque em termos de complexidade
computacional é bastante mais simples. Para perceber este algoritmo, começa por
descrever-se o algoritmo que lhe deu origem, o algoritmo de soma de produtos, SPA.
74
4.1.5.1 Algoritmo de soma de produtos
O algoritmo SPA caracteriza-se por utilizar grafos de Tanner que simplificam a
descodificação. A base deste algoritmo é a transmissão mensagens entre nós. De uma
maneira geral, as mensagens recebidas por um nó de bit NBn a partir dos nós de teste NTm’s
que a ele estão ligados, ou as mensagens enviadas desse nó de bit NBn para esses nós de
teste NTm’s, não são mais do que probabilidades calculadas através da distribuição
probabilística dos símbolos recebidos pelo descodificador.
Estes algoritmos normalmente têm aplicação quando estão em presença de canais de
transmissão. Logo, é necessário conhecer em primeiro lugar as características do canal.
Geralmente, os canais considerados no estudo do desempenho de um dado algoritmo de
descodificação são os chamados canais “bem comportados”, tais como o canal binário
simétrico, BSC e o canal aditivo gaussiano, AWGN [Bossert 1999] [ Carlson 1986]. No entanto,
as características dos canais de transmissão variam ao longo do tempo, pelo que a sua
caracterização estatística torna-se bastante complicada, senão impossível, o que origina um
pior desempenho dos algoritmos de descodificação.
No que diz respeito à descodificação de códigos LDPC, tendo por base o algoritmo SPA,
a grande maioria dos investigadores considera que o canal é Gaussiano (com características
parecidas com as comunicações em espaço livre e de mais fácil tratamento teórico). Neste
sentido, na descrição que a seguir se apresenta do algoritmo SPA, considera-se que o canal
produz ruído aditivo gaussiano, sem que isso, no entanto, impeça a sua generalização para
outro tipo de canais.
Consideremos um código binário LDPC (n,k), cujas palavras de código são transmitidas
através de um canal com ruído aditivo Gaussiano.
Os bits da palavra de código cn ∈{0,1}, com n a representar o tamanho da palavra de
código, são modelados através da modulação BPSK, porque neste caso o sinal transmitido é
digital e além disso esta modulação é a que apresenta um melhor desempenho. Esta
modulação faz com que os bits da palavra de código sejam transformados em {1,-1} através da
equação seguinte:
xn = (-1)cn; (4.11)
Os símbolos recebidos são designados por yn , com yn=xn+ηn , sendo ηn ruído Gaussiano
com média nula e desvio padrão σ.
A abordagem utilizada no algoritmo SPA é do tipo SD que considera a distribuição
probabilística dos símbolos recebidos.
O objectivo do algoritmo SPA é maximizar a probabilidade à posteriori de um bit cn, da
palavra descodificada c ser 1 ou 0 tendo em conta a palavra recebida y e o conjunto de
restrições Sn que o bit tem de satisfazer. Logo o que se pretende calcular são as probabilidades
à posteriori :
Pr(cn=0 | y, Sn); (4.12)
Pr(cn=1 | y, Sn); (4.13)
75
Designa-se por:
Pr(cn=1 ou 0 | yn, Sn) → probabilidade à posteriori de um bit cn dado yn, com yn o n-
ésimo símbolo da palavra recebida, y;
ckj → k-ésimo bit da j-ésima equação de teste de paridade envolvendo o nó de teste
NTm;
ykj = (-1)c
+ η, sendo η ruído gaussiano → Símbolo recebido correspondente ao bit
transmitido ckj;
pkj= Pr(ckj=1 ou 0 | ykj);
N(m) → o conjunto de nós de bit NBn’s ligados ao nó de teste NTm, ou seja,
N(m)={n: Hmn=1};
N(m)\n → o conjunto de nós de bit NBn’s ligados ao nó de teste NTm excluindo o nó
de bit NBn
M(n) → o conjunto de nós de teste NTm’s ligados ao nó de bit NBn, ou seja, N(n)={m:
Hmn=1};
M(n)\m → o conjunto de nós de teste NTm’s ligados ao nó de bit NBn excluindo o nó
de teste NTm ;
Assumindo que os símbolos da palavra recebida y são estatisticamente independentes,
Gallager [Gallager 1962] [Gallager 1963] apresentou um teorema no qual provou que a razão
entre as probabilidades à posteriori é dada por:
Pr(cn=0| y, Sn)Pr(cn=1| y, Sn)
= 1-pnpn
∏ (1+m∈M(n) ∏ (1-2pn'm))n'∈N(m)\n∏ (1-m∈M(n) ∏ (1-2pn'm))n'∈N(m)\n; (4.14)
Gallager propôs também um algoritmo iterativo para determinar essas probabilidades à
posteriori, visto que calcular a razão entre probabilidades através da equação acima descrita
poderia ter um grau de complexidade muito grande. O algoritmo proposto por Gallager é o
algoritmo SPA [Gallager 1962] [Gallager 1963].
Com vista a descrever o algoritmo é necessário introduzir alguma notação adicional:
qnm(b) com b ∈ {0,1} → mensagem que é enviada do nó de bit NBn para o nó de
teste NTm, indicando a probabilidade de cn=b, baseado na informação recebida do
canal yn, e de todos os nós de teste NTm’s dependentes de cn com excepção do nó
de teste NTm;
rnm(b) com b ∈ {0,1} → mensagem que é enviada do nó de teste NTm para o nó de
bit NBn indicando a probabilidade de cn=b, baseado em todos os nós de bit NBn‘s
ligados ao nós de teste NTm com excepção do nó de bit NBn;
Qn(b) com b ∈ {0,1} → mensagens recebidas pelo nó de bit NBn . A estas
mensagens dá-se o nome de pseudo probabilidade à posteriori de cn=b.
Tendo em conta a definição de rnm(b), Gallager demonstrou que a informação que o nó
de teste NTm recebe de todos os nós de bit NBn’s, n’ ∈ N(m)\n é dada pelos valores de qn’m,
logo :
rmn(0) = 12
+ 12
∏ (1-2pn'm)n'∈N(m)\n = 12
+ 12
∏ (1-2qn'm(1))n'∈N(m)\n ; (4.15)
76
rmn(1) = 12
− 12
∏ (1-2pn'm)n'∈N(m)\n = 12
− 12
∏ (1-2qn'm(1))n'∈N(m)\n ; (4.16)
Resultando assim para a razão entre probabilidades à posteriori que:Pr(cn=0| y, Sn)Pr(cn=1| y, Sn)
= 1-pnpn
∏ rmn(0)m∈M(n)∏ rmn(1)m∈M(n); (4.17)
De igual modo, tendo em conta a definição de qnm(b), Gallager definiu que:
qnm(0) = (1- pn) ∏ rm'n(0)m'∈M(n)\m ; (4.18)
qnm(1) = pn ∏ rm'n(1)m'∈M(n)\m ; (4.19)
A decisão sobre o valor binário do bit n da mensagem recebida é então tomada tendo
por base as pseudo-probabilidades à posteriori:
Qn(0) =(1-pn) ∏ rmn(0)m∈M(n) ; (4.20)
Qn(1) = pn ∏ rmn(1)m∈M(n) ; (4.21)
onde o bit n da palavra descodificada c é dado por:
cn= 1 ←Qn(1)>0.50 ←Qn(1)<0.5 ; (4.22)
As equações (4.15) e (4.16), bem como, (4.17) e (4.18) deverão ser normalizadas por
forma a que qnm(0)+ qnm(1) = 1 e Qn(0)+ Qn(1) = 1.
Numa forma mais simplificada o algoritmo pode ser descrito da seguinte forma:
Para todos os pares de nós (NBn,NTm), ou seja, para todas as entradas da matriz de
teste de paridade H =1 faz-se o seguinte:
Inicialização:
qnm(0) = (1 – pn); (4.23)
qnm(1) = pn; (4.24)
Calcular a mensagem que o nó de teste NTm envia para o nó de bit NBn:
rmn(0) = 12
+ 12
∏ (1-2qn'm(1))n'∈N(m)\n ; (4.25)
rmn(1) = 1 - rmn(0); (4.26)
Calcular a mensagem que o nó de bit NBn envia para o nó de teste NTm:
qnm(0) = knm( -pn) ∏ rm'n( )m'∈M(n)\m ; (4.27)
qnm(1) = knmpn ∏ rm'n( )m'∈M(n)\m ; (4.28)
onde as constantes knm são escolhidas por forma a que qnm(0)+ qnm(1) = 1
Calcular as pseudo-probabilidades à posteriori :
Qn(0) = kn( − pn) ∏ rmn( )m∈M(n) ; (4.29)
Qn(1) = knpn ∏ rmn( )m∈M(n) ; (4.30)
onde as constantes knm são escolhidas por forma a que Qn(0)+ Qn(1) = 1
∀n fazer:
77
cn = 1 ←Qn(1)>0.50 ←Qn(1)<0.5 ; (4.31)
Se a palavra descodificada cn verificar as equações de teste de paridade (cnHT=0) ou o
número máximo de iterações tiver sido atingido, então o algoritmo pára, caso contrário, voltar a
ii.
O algoritmo de soma de produtos [Gallager 1962] [Gallager 1963] é de máxima
verosimilhança quando aplicado a códigos descritos por grafos de Tanner sem ciclos, ou seja,
calcula com exactidão as probabilidades à posteriori [Etzion 1999] [Kschischang 2001]. No
entanto, grafos de Tanner sem ciclos não suportam bons códigos em virtude de estes
possuírem uma baixa distância mínima.
Quando os códigos representados por grafos de Tanner possuem ciclos, o algoritmo
deixa de ser óptimo na medida em que os ciclos introduzem uma realimentação positiva nas
mensagens enviadas entre nós. De facto, dado um código LDPC com ciclo l, apenas as
mensagens enviadas ao longo das primeiras l/2 iterações são independentes, passando a
haver correlação entre elas nas iterações seguintes. Este é o motivo pelo qual na construção
dos códigos LDPC se procura maximizar o ciclo [Lechner 2003] [Sayir 2002].
Outra consideração importante a tecer acerca do algoritmo SPA é o facto de ele permitir
não só corrigir erros ocorridos, como também, detectar a existência de erros na medida em que
a matriz de teste de paridade H é conhecida. Esta é uma grande vantagem relativamente ao
algoritmo Viterbi utilizado na descodificação dos códigos convolucionais e do algoritmo BCJR
utilizado na descodificação dos Turbo Códigos, uma vez que estes algoritmos não nos
informam da eventualidade da sequência descodificada ainda possuir erros.
Quanto a possíveis erros de descodificação é de referir o estudo realizado por Lechner e
Sayir [Lechner 2002] [Lechner 2003], sobre os diversos tipos de erros que podem ocorrer na
descodificação. Lechner e Sayir identificaram três tipos de erros:
i. Convergência para uma palavra de código errada;
ii. Convergência das pseudo-probabilidades à posteriori para um máximo local;
iii. A não convergência das pseudo-probabilidades à posteriori para um ponto de
equilíbrio.
O primeiro tipo de erros é mais grave na medida em que estes não podem ser
detectados. Este tipo de erros está directamente relacionado com a distância mínima do código
e, como tal, não poderá ser evitado por uma simples melhoria do algoritmo de descodificação.
Lechner e Sayir chegaram, no entanto, à conclusão que para códigos LDPC com
comprimentos de bloco superiores a 1000 esse tipo de erros era praticamente desprezável.
Os dois últimos tipos de erros podem ser detectados, com o algoritmo a declarar falha na
descodificação ao atingir o número máximo de iterações estipulado. Estes devem-se sobretudo
à existência de ciclos e à realimentação positiva que estes originam.
Face ao bom desempenho do algoritmo SPA, são poucos os investigadores que se têm
preocupado em melhorar o seu desempenho na descodificação dos códigos LDPC, mas pelo
78
contrário, a implementação eficiente do algoritmo SPA quer em hardware quer em software tem
tido um crescente interesse por parte de investigadores.
São vários os desafios colocados ao nível do desempenho, expressa em termos de BER
e da complexidade computacional do algoritmo. Relativamente a este último ponto há que
salientar o elevado número de operações aritméticas nomeadamente multiplicações, que é
necessárias executar. Há também que referir os elevados requisitos de memória para
armazenar os valores das mensagens enviadas entre nós. A implementação do algoritmo SPA
usando processadores de vírgula fixa, onde é necessário realizar a quantificação dos valores
das mensagens enviadas entre nós, mostrou ser sensível aos erros de quantificação [Leung
2000)].
Das várias modificações propostas no algoritmo SPA há que destacar a implementação
no domínio logarítmico [Chen 2002] [Hu 2001]. De facto, estes sistemas de descodificação
usando máximas verosimilhanças logarítmicas, LLR, apresentam grandes vantagens, uma vez
que as multiplicações são substituídas por adições e o passo de normalização é eliminado.
4.1.5.2 Algoritmo SPA no domínio logaritmo (LSPA)
Como referido anteriormente, o algoritmo SPA requer um número elevado de
multiplicações. Como as multiplicações são bastante mais dispendiosas computacionalmente
do que as adições, pode-se transferir os cálculos do algoritmo SPA para o domínio logarítmico
onde as multiplicações são convertidas em adições. Este é o princípio que está na origem da
implementação do algoritmo LSPA, no domínio logaritmo [Chen 2002] [Hu 2001].
Primeiro começa-se por definir as máximas verosimilhanças logarítmicas das
mensagens, rnm e qnm transmitidas entre os nós, bem como as probabilidades à posteriori pn e
as máximas verosimilhanças logarítmicas das pseudo probabilidades à posteriori Qn :
L(cn) = ln Pr(cn=0 | yn)Pr(cn=0 | yn)
=ln 1-pnpn
; (4.32)
L(rmn) = ln rmn(0)rmn(1)
; (4.33)
L(qmn) = ln qmn(0)qmn(1)
; (4.34)
L(Qn) = ln Qn( )Qn( ); (4.35)
A condição de inicialização do algoritmo SPA passa a ser:
L(cn) = L(qnm) = ln 1-pnpn
; (4.36)
No que toca à mensagem que cada nó de bit NBn envia para cada nó de teste NTm, tem-
se que,
L(qmn) = ln qmn( )qmn( ) =
knm 1-pn ∏ rm'n(0)m'∈M(n)\m
knm pn ∏ rm'n(1)m'∈M(n)\m=
=ln 1-pnpn
+ ∑ rm'n(0)rm'n(1) = L(cn)+ ∑ L(m'∈ M(n)\mm'∈ M(n)\m rm'n)=L(cn)+L(rm'n); (4.37)
79
No que toca às pseudo probabilidades tem-se que,
L(Qn) = ln Qn(0)Qn(1) = L(cn)+L(rmn); (4.38)
Estas últimas equações envolvem apenas somas pelo que o seu cálculo é muito menos
exigente do que o cálculo dos qmn, Qn do algoritmo SPA. Pela observação destas duas últimas
equações pode-se verificar que estas podem ser realizadas numa só operação, através da
seguinte forma:
L(qnm) = L(Qn) − L(rmn) − L(rm'n); (4.39)
Esta simplificação faz com que o algoritmo tenha de realizar somente 2 x M(n) adições
para calcular as M(n) mensagens que um dado nó de bit NBn envia para todos os nós de teste
NTm’s a ele ligados e a máxima verosimilhança logarítmica da pseudo probabilidade à posteriori
associada a esse nó de bit NBn. A eficiência computacional é melhorada uma vez que o
número de operações a realizar, neste caso adições, é menor e as operações são menos
complexas.
Quanto ao cálculo da mensagem que cada nó de teste NTm envia para cada nó de bit
NBn não basta substituir (4.12) e (4.13) em (4.30), pois o resultado obtido seria demasiado
complexo de calcular. De facto, a eficiência computacional do algoritmo SPA no domínio
logarítmico depende da forma como são calculadas as mensagens que cada nó de teste envia
para todos os todos os nós de bit a ele ligados. São dois os parâmetros determinantes da
complexidade computacional do cálculo:
O primeiro parâmetro é a topologia do código directamente relacionada com o grau
de cada nó de teste NTm e, logo, com a taxa de codificação;
O segundo parâmetro é a forma como é implementada a operação base do cálculo
das mensagens que cada nó de teste NTm envia para todos os nós de bit NBn’s a
ele ligados.
Uma solução possível para o problema foi proposta por Gallager [Gallager 1962]
[Gallager 1963]. Com base na solução proposta por Gallager, toma-se a seguinte simplificação:
tanh( 12
log p0p1
) = p0-p1 = 1-2p1; (4.40)
onde p e p são probabilidades com p + p =1
Subtraindo (4.12) e (4.13) obtêm-se:
rmn(0)-rmn(1) = ∏ 1-2n'∈N(m) qn'm(1); (4.41)
Aplicando a equação (4.37) à equação (4.38) tem-se que:
rmn(0)-rmn(1) = tanh( 12
log rmn(0)rmn(1)
) = tanh( 12
L(rmn)); (4.42)
1-2qn'm( ) = tanh( 12
log qn'm(0)qn'm(1)
) = tanh( 12
L(qn'm)); (4.43)
Então a máxima verosimilhança logarítmica da mensagem que o nó de teste NTm envia
para o nó de bit NBn é dada por:
80
L(rmn) = 2 tanh-1( ∏ tanh( 12
L(qn'm)))n'∈N(m) ; (4.44)
Numa forma mais simplificada o algoritmo pode ser descrito da seguinte forma:
Para todos os pares de nós (NBn,NTm), ou seja, para todas as entradas da matriz de
teste de paridade H =1, faz-se o seguinte:
i. Inicialização:
L(cn) = L(qnm) = ln 1-pnpn
; (4.45)
ii. Calcular a máxima verosimilhança logarítmica da mensagem que o nó de teste NTm
envia ao nó de bit NBn:
L(rmn) = 2 tanh-1( ∏ tanh( 12
L(qn'm)))n'∈N(m) ; (4.46)
iii. Calcular a máxima verosimilhança logarítmica da mensagem que o nó de bit NBn
envia ao nó de teste NTm:
L(qnm) = L(cn)+L(rm'n); (4.47)
iv. Calcular a máxima verosimilhança logarítmica das pseudo-probabilidades à
posteriori:
L(Qn)=L(cn)+L(rmn); (4.48)
v. ∀n fazer: cn= 1 ←Qn>00 ←Qn<0 . (4.49)
Se a palavra descodificada cn verificar as equações de teste de paridade (cnHT=0) ou o
número máximo de iterações tiver sido atingido, então o algoritmo pára, caso contrário, voltar a
ii..
Nesta dissertação o ruído produzido por um canal de transmissão é substituído por ruído
proveniente da etapa de aquisição da biométrica. Aos templates obtidos na autenticação de um
utilizador é lhe agregado os bits de paridade guardados na base de dados de modo a que
quando forem colocados no descodificador, ele os consiga detectar e corrigir possíveis erros,
permitindo assim que a sua autenticação seja possível.
4.2 Funções criptográficas de hash
As funções de hash mais utilizadas em sistemas de segurança são funções de hash
criptográficas, porque são unidireccionais, sendo praticamente impossível de descobrir a
informação original que deu origem ao hash.
Um hash é uma chave hexadecimal de tamanho fixo, obtida a partir da aplicação de uma
função de criptográfica de hash, a uma mensagem de tamanho arbitrário.
Caso algum dado da informação original seja acrescentado, eliminado ou alterado, o
resultado da função de hash será sempre diferente. Ou seja, dois blocos de dados resultam em
hash iguais somente se forem exactamente idênticos.
Uma função criptográfica de hash deve ter em consideração as seguintes propriedades:
81
Serem funções não reversíveis – A partir do hash é computacionalmente inviável
encontrar a mensagem que lhe deu origem. Por outro lado, deverá ser fácil obter o
hash a partir da mensagem;
Resistência fraca a colisões – Dada uma mensagem m e o hash correspondente
h = T(m), é computacionalmente inviável encontrar outra mensagem diferente m’, tal
que T(m) = T(m’);
Resistência forte a colisões – Dada a função criptográfica T, é
computacionalmente inviável encontrar duas mensagens diferentes, m e m’, tal que
T(m) = T(m’).
Na figura seguinte apresenta-se um exemplo de uma implementação de uma função
criptográfica de hash elaborada por Merkle-Damgård :
Figura 4.5 – Exemplo de uma função criptográfica de hash, F é a função de compressão[Internet6]
Neste processo, uma mensagem de comprimento arbitrário é dividido em blocos cujo
comprimento do bloco depende da função de compressão. Os blocos são então processados
sequencialmente por cada função de compressão de modo a obter o hash final. As entradas de
cada função de compressão são o resultado de cada função de compressão anterior, mais o
bloco de mensagem actual.
Os algoritmos mais utilizados nas funções de hash criptográficas são os message-digest
algorithm 4, MD4, ou message-digest algorithm 5, MD5, ambos de 16 bytes3, o secure hash
algorithm 1, SHA-1, de 20 bytes, o secure hash algorithm 256,SHA-256, de 32 bytes, e o
secure hash algorithm 512, SHA-512, de 64 bytes. Algumas das características destes
algoritmos e de outros algoritmos utilizados nas funções de hash criptográficas encontram-se
listadas na Tabela 4.1.
3 Significa o comprimento da chave obtida da função criptográfica. 1 byte = 8 bits
82
Tabela 4.1 – Algoritmos utilizados em funções de hash criptográficas e suascaracterísticas [Internet7]
Algorithm Outputsize
(bits)
Internalstatesize
Blocksize
Lengthsize
Wordsize
Collisionattacks
(complexity)
Preimageattacks
(complexity)
MD2 128 384 128 No 32 Almost
MD4 128 128 512 64 32 Yes (2^8) With flaws(2^102)
MD5 128 128 512 64 32 Yes (2^32) No
SHA-0 160 160 512 64 32 Yes (2^39)
SHA-1 160 160 512 64 40 With flaws(2^52)
No
SHA-256/224 256/224 256 512 64 32 No No
SHA-512/384 512/384 512 1024 128 64 No No
WHIRLPOOL 512 512 512 256 8 No
De seguida apresenta-se uma breve legenda para uma melhor percepção das
características que diferenciam os diferentes algoritmos, presentes na Tabela 4.1:
Output size – Tamanho final da chave hexadecimal;
Internal state size – Tamanho da chave após cada função de compressão;
Block size – Tamanho dos blocos à entrada da função de compressão;
Nesta dissertação utiliza-se o algoritmo SHA-512, porque é o algoritmo que tem maior
comprimento na chave obtida através da função criptográfica e quanto maior o comprimento da
chave, maior é a segurança da chave a possíveis ataques e além disso este algoritmo é o que
dá mais garantias de não haver possíveis colisões, porque este algoritmo origina 2^128-1
chaves diferentes enquanto, os outros algoritmos originam 2^64-1 chaves diferentes.
4.3 Conclusões
O objectivo principal deste capítulo foi apresentar um modelo de protecção dos
templates que garanta a privacidade dos utilizadores, isto é, caso a base de dados seja
atacada por alguém, estes nunca terão acesso a informações pessoais do utilizador.
No próximo capítulo apresenta-se os resultados da implementação do modelo proposto
neste capítulo.
83
5 Implementação do sistema de reconhecimento biométricobaseado na íris com reforço da segurança
O objectivo principal deste capítulo é apresentar os resultados da implementação do
sistema de reconhecimento biométrico seguro proposto no capítulo anterior. Os resultados
deste sistema são depois comparados com o sistema de reconhecimento biométrico sem
segurança apresentado no Capítulo 3.
5.1 Avaliação de desempenho
Para a avaliação do desempenho do sistema de reconhecimento biométrico proposto
com reforço da segurança dos templates são usadas as mesmas bases de dados descritas no
Capítulo 3. A base de dados de treino é usada para ajustar os parâmetros do sistema, mais
precisamente para escolher a matriz de teste de paridade H, e também para uma primeira
verificação do desempenho do sistema. A base de dados de teste serve para testar o
desempenho do sistema face a novos dados não usados para ajustar a sua configuração.
O sistema de reconhecimento biométrico proposto tem duas fases distintas: registo e
autenticação. Na fase de registo são inscritos na base de dados do sistema por utilizador, três
templates provenientes de imagens das bases de dados de treino ou de teste. Na fase de
autenticação são utilizadas as restantes imagens dos utilizadores que não foram inseridas na
base de dados do sistema. Para o sistema proposto com segurança reforçada também são
usadas as duas estratégias descritas no Capítulo 3 para a decisão do sistema sobre a
autenticação do utilizador. Estas duas estratégias são descritas novamente neste capítulo para
uma melhor compreensão dos resultados obtidos para o sistema de reconhecimento biométrico
com reforço da segurança dos templates:
Primeira estratégia – A primeira estratégia é o sistema decidir autenticar com êxito
o utilizador se numa das três comparações entre o template obtido na autenticação
e os templates inscritos na base de dados do sistema obtiver uma autenticação
válida;
Segunda estratégia – A segunda estratégia é o sistema decidir autenticar com
êxito o utilizador se nas três comparações possíveis entre o template obtido na
autenticação e os templates inscritos na base de dados do sistema obtiver duas
autenticações válidas.
A grande diferença entre o sistema proposto com reforço da segurança e o sistema
apresentado no Capitulo 3, que serviu de base para o desenvolvimento, é a utilização de
funções criptográficas de hash e de códigos de correcção de erros, nomeadamente códigos
LDPC, conforme foi descrito no capítulo anterior.
A função criptográfica de hash utilizada nesta dissertação baseia-se no algoritmo SHA-
512. A implementação da função criptográfica de hash foi fornecida pelos Orientadores desta
dissertação [Ferguson 2003]. Esta implementação para além do algoritmo atrás referido
84
permite utilizar outros algoritmos nas funções criptográficas, igualmente descritos no capítulo
anterior.
A utilização dos códigos LDPC requer a construção de uma matriz de teste de paridade,
H, de dimensão (n-k) x n, com n representando o comprimento da palavra de código e k o
comprimento do template a codificar. Para cada íris, uma máscara de ruído é gerada,
eventualmente com um número diferente de 1’s que corresponde a zonas de oclusão da íris,
ou seja, o comprimento k, do template que se quer codificar, varia de íris para íris, sendo
necessário para cada um dos templates, usar um código LDPC diferente para os codificar. Este
processo tornava o sistema bastante complexo em termos computacionais. Para resolver este
problema, optou-se por usar uma máscara de ruído universal, representativa de todos os
templates, originando assim, a necessidade de criar somente uma matriz H para os codificar,
visto que k passa a ser um valor fixo.
Máscara de ruído universal
A máscara de ruído universal é obtida com o auxílio da base de dados de treino, que
inclui 1313 imagens da íris bem segmentadas. Para cada uma destas imagens é segmentada a
zona da íris que após ser normalizada fica com uma dimensão de 20x240 pixéis. A etapa de
extracção de características cria uma máscara de ruído de dimensão 20x480. Deste modo, a
máscara universal criada tem igualmente dimensão 20x480. A construção da máscara de ruído
universal é feita da seguinte forma:
i. Criar uma matriz de dimensão 20x480, chamada matriz de ocorrências, que
representa o número de ocorrências de 1’s nas máscaras de ruído, que
representam as zonas de oclusão da íris, ou seja, cada elemento (i,j)4 desta matriz
representa o número total de ocorrências de 1’s presentes nas máscaras de ruído
para a posição (i,j).
ii. O valor de cada elemento (i,j) da máscara de ruído universal toma o valor 1 se a
divisão do nº de ocorrências de 1’s pelo número total de imagens (neste caso são
1313 imagens) é superior a uma certa percentagem de 1’s, caso contrário, o seu
valor será zero.
O valor de percentagem a usar para gerar a máscara universal é obtido com o auxílio do
sistema de reconhecimento biométrico apresentado no Capítulo 3, variando-se a percentagem
de 1’s e calculando as máscaras de ruído universais correspondentes. Depois, para cada
máscara de ruído universal obtida aplica-se o sistema descrito no Capitulo 3 e verifica-se qual
o valor das taxas FAR e FRR obtidos, para o limiar de decisão anteriormente escolhido (0,38).
O valor de percentagem a adoptar é a que minimiza as duas taxas erro, FRR e FAR. Na Tabela
5.1 apresentam-se os valores de FAR e de FRR obtidos variando a percentagem considerada:
4 O elemento (i,j) é o elemento da matriz correspondente à linha i, coluna j
85
Tabela 5.1– Valores de FAR e de FRR em função da percentagem mínima de 1'srequerida para um pixel fazer parte da máscara de ruído universal utilizando a segunda
estratégia para a decisão sobre a autenticação do utilizadorPercentagem mínima
de 1's para cadaelemento da máscara
(%)
FAR FRR
20 0,000168 0,015193
15 0,000122 0,009669
12 0,000122 0,006906
10 0,000114 0,004144
8 0,000137 0,004144
7 0,000145 0,004144
6 0,00016 0,004144
Pela observação dos valores das taxas FRR e FAR verifica-se que a percentagem
mínima de 1’s que minimiza as duas taxas de erro é 10%. Assim, a máscara de ruído universal
utilizada é a correspondente a essa percentagem tendo no total 4496 bits igual a 1. Ao aplicar
esta máscara aos templates de dimensão 9600 bits, fica-se com templates de dimensão 5194
bits representativos de todas as zonas da íris que não têm qualquer tipo de oclusão.
Matriz de teste de paridade H
Nesta dissertação optou-se por construir um código LDPC (n,k), com n a variar e k fixo.
A matriz H é gerada colocando aleatoriamente bits 1 em cada coluna de modo a que por
coluna se tenha peso de Hamming igual wc. De seguida a matriz é rearranjada de modo a ter o
mais uniforme possível linhas com peso de Hamming igual wr=wcnm
, com m=n-k. A matriz H é
gerada de modo a não ter qualquer ciclo de comprimento 4, sendo a sua estrutura a
representada na equação (4.8), de modo a simplificar a codificação do template. O único
parâmetro que falta definir é o valor do peso de Hamming das colunas wc. No capítulo anterior
definiu-se que o wc tem de ser maior que três para que o algoritmo de descodificação tenha um
bom desempenho. Assim, para cada valor wc, efectuaram-se alguns testes utilizando a base de
dados de treino com 1313 imagens, variando a capacidade de correcção dos códigos LDPC. A
capacidade de correcção é definida pelo número bits de paridade utilizados para detecção e
correcção de erros nos templates. Na Tabela 5.2 estão representados os resultados dos testes
efectuados para a base de dados de treino com 1313 imagens (as 3 primeiras imagens são
usadas para a fase de registo, as restantes imagens são utilizadas na fase de autenticação)
utilizando as duas estratégias, anteriormente descritas nesta secção, para a decisão do
sistema quanto à autenticação do utilizador.
86
Tabela 5.2 – Desempenho do sistema variando a capacidade de correcção e o número de1’s por coluna wc
1ª estratégia 2ª estratégia
wcCapacidade
de correcção FAR FRR FAR FRR
3
8000 0,000076 0,109116 0 0,3342548500 0,000145 0,052486 0,000015 0,2320448750 0,002244 0,104972 0,000221 0,2320449000 0,004945 0,118785 0,001311 0,22376
4
8000 0,000107 0,031768 0 0,1339788500 0,002953 0,013812 0,000298 0,0745868750 0,023542 0,008287 0,004449 0,0593929000 0,112932 0,008287 0,035087 0,041436
5
9000 0,000051 0,063536 0 0,2058019500 0,000206 0,023481 0 0,1063549750 0,001021 0,012431 0,000059 0,088398
10000 0,006223 0,011050 0,000911 0,066298
Pela observação dos resultados da Tabela 5.2, verifica-se que o sistema tem um melhor
desempenho, para a taxa FRR, quando a primeira estratégia é a escolhida para a decisão da
autenticação do utilizador. Quanto à taxa FAR, verifica-se que a segunda estratégia apresenta
melhores resultados, mas em termos da FRR a diferença entre as duas estratégias testadas é
significativa, sendo pior quando a segunda estratégia é a escolhida. Com o aumento do peso
de Hamming das colunas, wc, de três para quatro 1’s por coluna, verifica-se que, a taxa de erro
FRR diminui e a taxa de erro FAR aumenta. Quando wc é igual a cinco verifica-se que, para as
duas estratégias, as taxas FAR e FRR reduzem-se significativamente, necessitando de mais
bits de paridade para as conseguir obter.
Com o aumento da capacidade de correcção, os códigos LDPC conseguem detectar e
corrigir uma maior quantidade de erros existentes no template, havendo maior probabilidade de
um impostor conseguir obter uma autenticação válida.
Deste modo, para a base de dados de teste utilizou-se nesta dissertação, matrizes H’s
com peso de Hamming por coluna, wc, igual a cinco pois apresenta melhores resultados em
termos de FRR para valores mais baixos da taxa FAR. A primeira estratégia é a utilizada pelo
sistema para decisão da autenticação do utilizador, porque para valores baixos da taxa FAR,
obtém-se sempre valores para a taxa FRR significativamente menores.
A verdadeira avaliação do desempenho do sistema é feita utilizando a base de dados de
teste com 1004 imagens de 182 utilizadores (as 3 primeiras imagens são usadas para a fase
de registo, as restantes imagens são utilizadas na fase de autenticação) . Neste caso obtêm-se
os seguintes valores para as taxas de erro FAR e FRR, variando a capacidade de correcção,
Tabela 5.3:
87
Tabela 5.3 - Avaliação do desempenho do sistema segundo as taxas de erro FAR e FRRvariando a capacidade de correcçãoCapacidade de
correcçãoFAR FRR
9000 0,000110 0,0511369100 0,000151 0,0359859200 0,000316 0,0321979300 0,000398 0,0227279400 0,000522 0,0170459500 0,000755 0,0132589600 0,001016 0,0094709700 0,001496 0,0094709800 0,002264 0,0094709900 0,003994 0,007576
10000 0,006972 0,007576
A representação das taxas de erro FAR e FRR que definem o desempenho do sistema
podem ser representadas graficamente através da Figura 5.1:
Figura 5.1 – a) Representação gráfica das taxas de erro FAR e FRR, b) Curva ROC
0
0,01
0,02
0,03
0,04
0,05
0,06
9000 9200 9400 9600 9800 10000
Taxa
s de
err
o
Capacidade de correcção
a)
FAR
FRR
00,010,020,030,040,050,06
0 0,0005 0,001 0,0015 0,002
FRR
FAR
b)
Sistema dereconhecimentobiométrico proposto
Sistema dereconhecimentobiométrico semsegurança
88
Analisando a Tabela 5.3 e os gráficos da Figura 5.1, conclui-se que a taxa FRR para
sistema de reconhecimento biométrico proposto é pior do que o sistema de reconhecimento
biométrico sem segurança descrito no Capítulo 3. Isto deve-se a ter construído uma máscara
universal para todos os templates, podendo em alguns casos ter sido desprezado bits
correspondentes a zonas da íris de não oclusão ou então não terem sido eliminados bits
correspondentes a zonas de oclusão da íris. A alternativa seria não usar máscaras de ruído
mas os resultados obtidos seriam certamente piores aos obtidos para o sistema de
reconhecimento biométrico proposto, porque eram considerados todos os bits do template,
incluindo os bits considerados de ruído que pioram sempre o desempenho do sistema.
Em termos de aceitação de utilizadores não legítimos no sistema, a taxa FAR obtida é
satisfatória, situando-se abaixo dos 0,7 % .
Para este sistema tem-se uma EER ligeiramente inferior a 1%, que é significativamente
maior que a taxa EER obtida para o sistema de reconhecimento biométrico sem segurança,
0.14%.
O sistema de reconhecimento biométrico proposto com reforço da segurança dos
templates consegue verificar os 3 principais requisitos de segurança:
Diversidade – Este sistema tem a possibilidade de gerar múltiplos templates a
partir da mesma biométrica;
Revogabilidade ou biometria cancelável – Caso um template biométrico esteja
comprometido, o sistema permite eliminá-lo, podendo introduzir um novo template
na base de dados proveniente das mesmas características biométricas;
Privacidade – Este sistema garante a privacidade dos utilizadores, porque na base
de dados do sistema são inscritos chaves criptográficas dos templates que não
revelam qualquer informação sobre as características biométricas do utilizador.
5.2 Interface gráfica
Nesta dissertação criou-se uma interface gráfica em MATLAB para o sistema de
reconhecimento biométrico proposto e descrito no Capítulo 4. Esta interface tem duas opções
possíveis, que são a opção para registo dos utilizadores e a opção para autenticação dos
utilizadores conforme mostra a Figura 5.2.
89
Figura 5.2 - Interface gráfica criada para o sistema reconhecimento biométrico comreforço da segurança
Caso a opção escolhida seja o registo de utilizadores, “Enrollment”, aparecerá no ecrã a
seguinte figura:
Figura 5.3 - Opção para registo dos utilizadores
Para registar um template, o utilizador tem de fornecer o seu ID que identifica os
templates do utilizador registados na base de dados. O ID pode ser obtido de forma automática
correspondendo às primeiras 6 letras do nome da imagem (o nome das imagens têm de ter
comprimento maior que 6) ou o utilizador definir qual o seu ID, por exemplo Gonçalo. Caso o ID
seja escolhido pelo utilizador, a base de dados tem uma opção para verificar se o template que
se quer registar corresponde a imagens do mesmo utilizador.
Caso a opção seja a autenticação de um utilizador (Figura 5.4) é necessário colocar a
base de dados do sistema onde o utilizador está registado, a seguir introduzir o seu ID e a
90
imagem da sua característica biométrica e finalmente carregar no botão “ Authentication” e
verificar se a autenticação é válida ou não ao sistema.
Para uma melhor percepção da interface criada, no Anexo I demonstra-se o seu
funcionamento.
Figura 5.4 – Opção para autenticação do utilizador
91
6 Conclusões finais e trabalhos futuros
6.1 Conclusões finais
A biometria cada vez mais apresenta-se como a tecnologia mais adequada no processo
de autenticação de pessoas, porque utiliza características das pessoas que não se podem
esquecer nem perder, como acontece com os sistemas de autenticação normais que utilizam
passwords e cartões de identificação.
Nesta dissertação apresentou-se uma descrição sucinta de várias implementações de
sistemas de reconhecimento biométrico utilizando diferentes biométricas, descrevendo
algumas vantagens e desvantagens da sua utilização. Nos sistemas de reconhecimento
biométrico têm sido detectados algumas vulnerabilidades que podem pôr em causa toda a
segurança das informações processadas por estes sistemas. Deste modo, nesta dissertação
apresentou-se alguns dos possíveis ataques provocados por pessoas mal intencionadas que
tentam explorar essas mesmas vulnerabilidades dos sistemas biométricos. Uma das
vulnerabilidades detectadas encontra-se na base de dados do sistema que guarda as
informações dos utilizadores usadas para a fase de autenticação.
Na presente dissertação, apresentou-se um modelo de protecção para os templates
inscritos na base de dados do sistema de modo a garantir a privacidade dos utilizadores. Nos
sistemas tradicionais de reconhecimento biométrico os templates são extraídos das
características biométricas e inscritos directamente na base de dados do sistema, enquanto,
que no sistema de reconhecimento biométrico proposto, é inserido na base de dados uma
chave criptográfica do template que não revela qualquer informação do template que lhe deu
origem.
O sistema de reconhecimento biométrico proposto assegura os três principais requisitos
de segurança:
Diversidade – Este sistema tem a possibilidade de gerar múltiplos templates a
partir da mesma biométrica;
Revogabilidade ou biometria cancelável – Caso um template biométrico esteja
comprometido, o sistema permite eliminá-lo, podendo introduzir um novo template
na base de dados proveniente das mesmas características biométricas;
Privacidade – Este sistema garante a privacidade dos utilizadores, porque na base
de dados do sistema são inscritos chaves criptográficas dos templates que não
revelam qualquer informação sobre as características biométricas do utilizador.
6.2 Trabalhos futuros
Nesta dissertação, sugere-se como trabalhos futuros a continuação do estudo do
sistema proposto nesta dissertação, melhorando-o por exemplo com a utilização de códigos
LDPC irregulares com número de 1’s por linha e coluna diferentes para depois comparar os
desempenhos dos diferentes sistemas. Outro aspecto a ser melhorado é a máscara de ruído
92
universal obtida, de modo a que, esta esteja perfeitamente adequada quando se insere novos
utilizadores no sistema.
A utilização de funções criptográficas de hash e códigos de correcção de erros na
multibiometria pode ser uma alternativa fiável ao sistema de reconhecimento biométrico
baseado na íris, uma vez que, a utilização de várias biométricas pode garantir melhores
resultados em termos da segurança e privacidade dos utilizadores. Neste caso, para que um
impostor consiga obter uma autenticação válida, necessita de conseguir obter várias
características biométricas do utilizador legítimo, o que é caso impossível de conseguir.
Em trabalhos futuros deve-se desenvolver um algoritmo para etapa de segmentação da
íris que consiga obter um maior número de imagens da íris bem segmentadas. Caso se queira
utilizar estes sistemas em tempo real, o algoritmo utilizado nesta dissertação para a
segmentação da íris não é o mais aconselhável, porque as transformadas de Hough são
bastante intensas em termos computacionais. Em tempo real, o sistema deve ser rápido a
tomar uma decisão sobre a autenticação de um utilizador e a utilização destas transformadas
pode fazer com que o tempo de resposta do sistema não seja tão rápido como se deseja.
93
Anexo I
Neste anexo explica-se como funciona a interface criada para o sistema de
reconhecimento biométrico com reforço da segurança dos templates biométricos.
Caso a opção escolhida seja o registo de utilizadores, “Enrollment” o seu funcionamento
é o seguinte:
I. Para criar uma base de dados do sistema seguir os seguintes passos ilustrados na
figura:
1- Carregar no botão “Create database”;
2- Escolher o algoritmo utilizado para a função criptográfica de hash;
3- Carregar no botão “Seleccionar”;
4- Escrever o nome da base de dados;
5- Carregar no botão “OK”.
93
Anexo I
Neste anexo explica-se como funciona a interface criada para o sistema de
reconhecimento biométrico com reforço da segurança dos templates biométricos.
Caso a opção escolhida seja o registo de utilizadores, “Enrollment” o seu funcionamento
é o seguinte:
I. Para criar uma base de dados do sistema seguir os seguintes passos ilustrados na
figura:
1- Carregar no botão “Create database”;
2- Escolher o algoritmo utilizado para a função criptográfica de hash;
3- Carregar no botão “Seleccionar”;
4- Escrever o nome da base de dados;
5- Carregar no botão “OK”.
93
Anexo I
Neste anexo explica-se como funciona a interface criada para o sistema de
reconhecimento biométrico com reforço da segurança dos templates biométricos.
Caso a opção escolhida seja o registo de utilizadores, “Enrollment” o seu funcionamento
é o seguinte:
I. Para criar uma base de dados do sistema seguir os seguintes passos ilustrados na
figura:
1- Carregar no botão “Create database”;
2- Escolher o algoritmo utilizado para a função criptográfica de hash;
3- Carregar no botão “Seleccionar”;
4- Escrever o nome da base de dados;
5- Carregar no botão “OK”.
94
II. Para ler uma base de dados do sistema já criada efectuar os seguintes passos:
1- Carregar no botão “Read database”;
2- Escolher a base de dados a utilizar;
3- Carregar no botão “Abrir”.
III. Para eliminar uma base de dados do sistema efectuar os seguintes passos:
1- Carregar no botão “Delete database”;
2- Escolher a(s) base(s) de dados a eliminar;
3- Carregar no botão “Abrir”.
4- Responder “Yes” se tem a certeza de querer eliminar a(s) base(s) de
dados, caso contrário, carregar em “No” ou “Cancel”.
5- Se carregar em “Yes”, uma mensagem aparecerá no ecrã dizendo que
a(s) base(s) de dados foi ou foram eliminadas.
III. Para inscrever templates dos utilizadores na base de dados do sistema existe as
seguintes opções:
I. Inscrever um template de um só utilizador:
94
II. Para ler uma base de dados do sistema já criada efectuar os seguintes passos:
1- Carregar no botão “Read database”;
2- Escolher a base de dados a utilizar;
3- Carregar no botão “Abrir”.
III. Para eliminar uma base de dados do sistema efectuar os seguintes passos:
1- Carregar no botão “Delete database”;
2- Escolher a(s) base(s) de dados a eliminar;
3- Carregar no botão “Abrir”.
4- Responder “Yes” se tem a certeza de querer eliminar a(s) base(s) de
dados, caso contrário, carregar em “No” ou “Cancel”.
5- Se carregar em “Yes”, uma mensagem aparecerá no ecrã dizendo que
a(s) base(s) de dados foi ou foram eliminadas.
III. Para inscrever templates dos utilizadores na base de dados do sistema existe as
seguintes opções:
I. Inscrever um template de um só utilizador:
94
II. Para ler uma base de dados do sistema já criada efectuar os seguintes passos:
1- Carregar no botão “Read database”;
2- Escolher a base de dados a utilizar;
3- Carregar no botão “Abrir”.
III. Para eliminar uma base de dados do sistema efectuar os seguintes passos:
1- Carregar no botão “Delete database”;
2- Escolher a(s) base(s) de dados a eliminar;
3- Carregar no botão “Abrir”.
4- Responder “Yes” se tem a certeza de querer eliminar a(s) base(s) de
dados, caso contrário, carregar em “No” ou “Cancel”.
5- Se carregar em “Yes”, uma mensagem aparecerá no ecrã dizendo que
a(s) base(s) de dados foi ou foram eliminadas.
III. Para inscrever templates dos utilizadores na base de dados do sistema existe as
seguintes opções:
I. Inscrever um template de um só utilizador:
95
1- Depois de criada ou escolhida a base de dados do sistema, carregar no
botão “Read image” e escolher a imagem que se quer registar;
2- Escolha a opção se o ID é fornecido pelo o utilizador ou se quer que o
sistema crie um ID para o utilizador;
3- Se a opção escolhida for “Manual”, escreva o ID que identifica na base
de dados do sistema, os dados biométricos do utilizador, se a opção for
“Automatic” o ID criado corresponde às primeiras 6 letras do nome da
imagem;
4- Carregar no botão “Enrollment”.
II. Inscrever um ou mais templates de um utilizador ou de vários utilizadores na
base de dados do sistema:
1. Carregar no “ Read images”;
2. Introduza o número de imagens por utilizador(es) que quer inscrever na
base de dados;
3. Carregar no botão “OK” se pretende continuar ou “Cancel” se pretende
anular a operação;
4. Escolha a directoria aonde se encontra as imagens do(s) utilizador(es);
95
1- Depois de criada ou escolhida a base de dados do sistema, carregar no
botão “Read image” e escolher a imagem que se quer registar;
2- Escolha a opção se o ID é fornecido pelo o utilizador ou se quer que o
sistema crie um ID para o utilizador;
3- Se a opção escolhida for “Manual”, escreva o ID que identifica na base
de dados do sistema, os dados biométricos do utilizador, se a opção for
“Automatic” o ID criado corresponde às primeiras 6 letras do nome da
imagem;
4- Carregar no botão “Enrollment”.
II. Inscrever um ou mais templates de um utilizador ou de vários utilizadores na
base de dados do sistema:
1. Carregar no “ Read images”;
2. Introduza o número de imagens por utilizador(es) que quer inscrever na
base de dados;
3. Carregar no botão “OK” se pretende continuar ou “Cancel” se pretende
anular a operação;
4. Escolha a directoria aonde se encontra as imagens do(s) utilizador(es);
95
1- Depois de criada ou escolhida a base de dados do sistema, carregar no
botão “Read image” e escolher a imagem que se quer registar;
2- Escolha a opção se o ID é fornecido pelo o utilizador ou se quer que o
sistema crie um ID para o utilizador;
3- Se a opção escolhida for “Manual”, escreva o ID que identifica na base
de dados do sistema, os dados biométricos do utilizador, se a opção for
“Automatic” o ID criado corresponde às primeiras 6 letras do nome da
imagem;
4- Carregar no botão “Enrollment”.
II. Inscrever um ou mais templates de um utilizador ou de vários utilizadores na
base de dados do sistema:
1. Carregar no “ Read images”;
2. Introduza o número de imagens por utilizador(es) que quer inscrever na
base de dados;
3. Carregar no botão “OK” se pretende continuar ou “Cancel” se pretende
anular a operação;
4. Escolha a directoria aonde se encontra as imagens do(s) utilizador(es);
96
5. Carregar no botão “OK” se pretende continuar ou “Cancel” se pretende
anular a operação;
6. Escolha a opção “Manual” se o ID é fornecido pelo o utilizador ou
“Automatic” se quer que o sistema crie um ID para o utilizador;
7. Se a opção escolhida for “Manual”, escreva o ID que identifica na base
de dados do sistema, os dados biométricos do utilizador, se a opção for
“Automatic” o ID criado corresponde às primeiras 6 letras do nome da
imagem;
8. Carregar no botão “Enrollment”.
IV. Para eliminar um template de um utilizador:
96
5. Carregar no botão “OK” se pretende continuar ou “Cancel” se pretende
anular a operação;
6. Escolha a opção “Manual” se o ID é fornecido pelo o utilizador ou
“Automatic” se quer que o sistema crie um ID para o utilizador;
7. Se a opção escolhida for “Manual”, escreva o ID que identifica na base
de dados do sistema, os dados biométricos do utilizador, se a opção for
“Automatic” o ID criado corresponde às primeiras 6 letras do nome da
imagem;
8. Carregar no botão “Enrollment”.
IV. Para eliminar um template de um utilizador:
96
5. Carregar no botão “OK” se pretende continuar ou “Cancel” se pretende
anular a operação;
6. Escolha a opção “Manual” se o ID é fornecido pelo o utilizador ou
“Automatic” se quer que o sistema crie um ID para o utilizador;
7. Se a opção escolhida for “Manual”, escreva o ID que identifica na base
de dados do sistema, os dados biométricos do utilizador, se a opção for
“Automatic” o ID criado corresponde às primeiras 6 letras do nome da
imagem;
8. Carregar no botão “Enrollment”.
IV. Para eliminar um template de um utilizador:
97
1. Depois de introduzida a base de dados do sistema, carregar no botão
“Delete ID”
2. Introduzir o ID de aonde se pretende eliminar o template, introduzindo
também a data e hora da inscrição na base de dados do sistema;
3. Carregar no botão “OK”
Caso a opção escolhida seja a autenticação de um utilizador , o seu funcionamento é o
seguinte:
1- Carregar no botão “Read Database” e ler a base de dados que se
pretende utilizar;
2- Introduza o ID do utilizador que quer autenticar-se;
3- Introduza a imagem da característica biométrica do utilizador;
4- Carregar no botão “Authentication” e verificar se a autenticação do
utilizador é válida ou não ao sistema.
97
1. Depois de introduzida a base de dados do sistema, carregar no botão
“Delete ID”
2. Introduzir o ID de aonde se pretende eliminar o template, introduzindo
também a data e hora da inscrição na base de dados do sistema;
3. Carregar no botão “OK”
Caso a opção escolhida seja a autenticação de um utilizador , o seu funcionamento é o
seguinte:
1- Carregar no botão “Read Database” e ler a base de dados que se
pretende utilizar;
2- Introduza o ID do utilizador que quer autenticar-se;
3- Introduza a imagem da característica biométrica do utilizador;
4- Carregar no botão “Authentication” e verificar se a autenticação do
utilizador é válida ou não ao sistema.
97
1. Depois de introduzida a base de dados do sistema, carregar no botão
“Delete ID”
2. Introduzir o ID de aonde se pretende eliminar o template, introduzindo
também a data e hora da inscrição na base de dados do sistema;
3. Carregar no botão “OK”
Caso a opção escolhida seja a autenticação de um utilizador , o seu funcionamento é o
seguinte:
1- Carregar no botão “Read Database” e ler a base de dados que se
pretende utilizar;
2- Introduza o ID do utilizador que quer autenticar-se;
3- Introduza a imagem da característica biométrica do utilizador;
4- Carregar no botão “Authentication” e verificar se a autenticação do
utilizador é válida ou não ao sistema.
98
Referências Bibliográficas
[Bastos] Bastos, C. A. Reconhecimento de Íris utilizando filtro Log-Gabor2D, Centro de
Informática - Universidade Federal de Pernambuco. Recife,Brasil.
[Banihashemi 2001] Banihashemi, A. H. (Junho 2001). A Heuristic Search for Good Low-
Density Parity-Check Codes at Short Block Lenghts, IEEE ICC 2001. Finlândia.
[Berrou 1993] Berrou, C., Glavieux, A., e Thitimajshimi, P. (Maio de 1993). Near Shannon Limit
Error Correcting Coding and Decoding”, Proceedings ICC’93, pp.1064-70. Genebra, Suíça
[Boechat 2008] Boechat, G. (Fevereiro 2008). Dissertação de Mestrado - Proposta de um
modelo de arquitectura biométrica para identificação pessoal com estudo da dnâmica da
digitação, Universidade Federal de Pernambuco. Recife, Brasil.
[Bossert 1999 ] Bossert, M. (1999). Channel Coding for Telecommunications, John Wiley &
Sons.
[Bowyer 2008] Bowyer, K. W., e Flynn, P. J. (2008). Image understanding for iris biometrics: A
survey, in Computer Vision and Image Understanding, vol. 110, edição 2, pp 281–307.
[Campbell 1997] Campbell, J. P. (1997). Speaker recognition: A tutorial. Proceedings of the
IEEE, 85(9):1437–1462.
[Canny 1986] Canny,J. (1986). A Computational Approach to Edge Detection”, IEEE
Transactions on Pattern Analysis and Machine Intelligence, Vol. 8, pp. 679-714, 1986.
[Chen 2002]Chen, J. e Fossorie,M. P. C. (Março 2002). Near Optimum Universal Belief
Propagation Based Decoding of Low-Density Parity Check Codes, IEEE Transactions on
Communications, vol. 50, nº 3, pp. 406-414.
[Chang 2003] Chang, K., Bowyer, K., e Flynn, P. (2003). Multimodal 2D and 3D biometrics for
face recognition. IEEE International Workshop on Analysis and Modeling of Faces and
Gestures, pages 187–194.
[Chang 2005] Chang, K. I., B., K. W., e Flynn, P. J. (2005). An evaluation of multimodal 2D+3D
face biometrics. IEEE Transactions on Pattern Analysis and Machine Intelligence, 27(4).
[Carlson 1986] Carlson, A. B. (1986). Communication Systems: An Introduction to Signals and
Noise in Electrical Communication, 3ª Edição, McGraw-Hill.
[Daugman 1993] Daugman, J. G. (1993). High confidence visual recognition of persons by a
test of statistical independence, in IEEE Transactions on Pattern Analysis and Machine
Intelligence, vol. 15, no. 11, pp. 1148–1161.
99
[Daugman 2004] Daugman, J. G. (2004). How iris recognition woks, in IEEE Transactions on
Circuits and Systems for Video Technology, vol. 14, no. 1, pp 21–30.
[Dodis 2006] Dodis, Y., Ostrovsky, R., Reyzin, L., e Smith, A. (Fevereiro de 2006). Fuzzy
Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data, Cryptology
ePrint Archive, Tech. Rep. 235.
[Duda 1972] Duda, R. e Hart,P. (1972). Use of Hough Transformation to Detect Lines and
Curves in Pictures: Graphics and Image Processing, Communications of the ACM, Vol. 15, pp.
11-15, 1972
[Etzion 1999] Etzion, T. A. (Setembro 1999). Which Codes Have Cycle-Free Tanner Graphs,
IEEE Transactions on Information Theory, vol. 45, nº 6,pp. 2173-2181.
[Ferguson 2003] Ferguson,N. e Schneier, B. (2003). Practical Cryptography, John Wiley &
Sons.
[Fornazin 2008] Fornazin, M. (2008) Análise de Desempenho do Criptossistema Fuzzy Vault
em Aplicações Reais, Pós-Graduação em Ciência da Computação, UNIVERSIDADE
ESTADUAL PAULISTA “Júlio de Mesquita Filho”, Brasil
[Gallager 1962] Gallager, R. G. (1962). Low-Density Parity-Check Codes, IRE Transactions
Information Theory, vol. IT-8, pp. 21-28.
[Gallager 1963] Gallager, R. G. (1963). Low-Density Parity-Check Codes.Cambridge, MA: MIT
Press.
[Heinen et al, 2004] Heinen, M. R., e Osório, F. S. (2004). Biometria comportamental Pesquisa
e desenvolvimento de um sistema de autenticação de usuários utilizando assinaturas
manuscritas. Infocomp Revista de Ciência da Computação. ISSN 1807-4545 volume 3 capítulo
2 pgs 31 a 37 Lav. Lavras MG Brasil.
[Hook 2003] Hook, C., Kempf, J., e Scharfenberg, G. (2003). New pen device for biometrical
3d pressure analysis of handwritten characters, words and signatures.In WBMA ’03:
Proceedings of the 2003 ACM SIGMM Workshop on Biometrics Methods and Applications,
pages 38–44. Nova Iorque, EUA.: ACM Press.
[Hu 2001] Hu, X. Y. (2001). Efficient Implementations of the Sum-Product Algorithm for
Decoding LDPC Codes, IEEE GLOBECOM '01, vol. 2.
[Jain 2006] Jain, A. K., Ross, A., e Pankanti, S. (Junho de 2006). Biometrics: A Tool
Information Security, IEEE Transactions on Information Forensics and Security vol. 1, no 2, pp.
125–143.
100
[Jain 2008] Jain, A. K., Nandakumar, K., e Nagar., A. (Janeiro de 2008). Biometric Template
Security. EURASIP Journal on Advances in Signal Processing, Special Issue on Biometrics.
[Jr. 2003] Jr., J. D., Orlans, N. M., e Higgins, P. T. (2003). Biometrics, McGraw-Hill. McGraw-
Hill, 1ª edição.
[Juels 2002] Juels, A., e Sudan, M. (2002). A Fuzzy Vault Scheme, in Proceedings of IEEE
International Symposium on Information Theory,pp. 408. Lausana, Suiça.
[Júnior 2005] Júnior, C. A. (2005). Biometria com Enfoque em Reconhecimento de Iris,
Trabalho final do curso. Universidade Estadual de Londrina.
[Kazienko 2003] Kazienko, J. F. (2003). Dissertação de mestrado - Assinatura digital de
documentos eletrônicos através da impressão digital. Programa de Pós-Graduaçãoem Ciência
da Computação. Universidade Federal de Santa Catarina.
[Kovesi 2008] Kovesi, P. (Novembro de 2008). What are Log-Gabor filters and why are they
good? Obtido de
http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/PhaseCongruency/Docs/convexpl.html
[Kschischang 2001] Kschischang, F. R. (Fevereiro 2001). Factor Graphs and the Sum-Product
Algorithm, IEEE Transactions on Information Theory,vol. 47, nº 2, pp. 498-519.
[Lechner 2002] Lechner, G., e Sayir, J. (Setembro 2002). On the Convergence of Log-
Likelihood Values in Iterative Decoding, Mini-Workshop on Topics in Information Theory,.
Essen, Alemanha.
[Lechner 2003] Lechner, G. (Fevereiro 2003). Convergence of Sum-Product Algorithm for
Finite Length Low-Density Parity-Chech Codes, Winter School on Coding and Information
Theory. Monte Veritá, Suiça.
[Leung 2000]Leung, W. K. (Fevereiro 2000). Decoding Low Density Parity Check Codes with
Finite Quantization Bits, IEEE Communications Letters, vol. 4, nº 2 pp. 62-64.
[Ma 2002] Ma, L., Wang, Y., e Tan., T. (2002). Iris recognition based on multichannel gabor
filtering,in Procedings of the 5th Asian Conference on Computer Vision, volume 1, pp 279–283.
[Ma 2004] Ma, L., Tan, T., Zhang, D., e Wang, Y. (2004). Local Intensity Variation Analysis for
Iris Recognition. Pattern Recognition, 37(6):1287–1298.
[Maio 2002] Maio, D. (2002) Proceedings of the 16th International Conference on Pattern
Recognition, v. 3, pp. 811-814, second fingerprint verification competition.
[Maltoni 2003] Maltoni, D., Maio, D., Jain, A. K., e Prabhakar, S. (2003). Handbook of
Fingerprint Recognition,Springer. Berlim, Alemanha.
101
[Mansfield 2002]Mansfield, T., Kelly, G., Chandler, D., e Kane, J. (2002). Biometrics.
Biometrics for identification and authentication - advice on product selection. Technical report,
UK Biometrics Working Group.
[Masek 2003] Masek, L. (2003). Recognition of Human Iris Patterns for Biometric Identification.
School of Computer Science and Software Engineering ,The University of Western Australia,
Austrália.
[Masek_1 2003] Masek, L. e Kovesi, P. (2003). MATLAB Source Code for a Biometric
Identification System Based on Iris Patterns . School of Computer Science and Software
Engineering ,The University of Western Australia, Austrália.
[Moraes 2006] Moraes, A. F. (2006). Dissertação de Mestrado - Método para avaliação da
tecnologia Biométrica na segurança dos aeroportos. São Paulo.
[Munich 1998]Munich, M. E., e Perona, P. (1998). Camera-based ID verification by signatures
tracking. Lecture Notes in Computer Science, 1406:782.
[Myers 1981] Myers, C. S., e Rabiner, L. R. (1981). A comparative study of several dynamic
time-warping algorithms for connected word recognition. The Bell System Technical Journal,
60(7):1389–1409.
[Narayanan 2002] Narayanan, K.R e Prabhakar,A. (Setembro 2002). Pseudorandom
Construction of LDPC codes using Linear Congruential Sequences, IEEE Transactions on
Communications, vol. 50, nº 9, pp. 1389-1396.
[Neal 1995] Neal, R. M., e Mackay, D. J. (1995). “Good Codes based on Very Sparse Matrices”,
Cryptography and Coding. 5th IMA Conference ed. Colin Boyd, Lecture Notes in Computer
Science nº 1025, pp.100-111, Springer, Berlim.
[Neal 1997] Neal, R. M., e Mackay, D. J. (Março 1997). Near Shannon limit performance of low
density parity check codes, Electronics Letters, vol. 33, nº 6, pp 457-458.
[Pamplona 2007] Pamplona, V. F. (Julho de 2007). Estudo sobre a íris humana para síntese
de imagens fotorealísticas. Porto Alegre.
[Prokski 1999] Prokoski, F. J., e Riedel, R. (1999). Infrared identification of faces and body
parts. In Jain, A. K., Bolle, R. M., and Pankanti, S., editors, Biometrics Personal Identification in
Networked Society, capítulo 9. Kluwer Academic Publishers. Boston, MA, EUA.
[Przybocki 2004] Przybocki, M., e Martin, A. (2004). NIST speaker recognition evaluation
chronicles. Technical report, Speech Group, Information Access Division, Information
Technology Laboratory National Institute of Standards and Technology USA. Publicado na
Conferência The Odissey 2004 .
102
[Putte 2000] Putte, T., e Keuning, J. (2000). Biometrical fingerprint recognition In Proceedings
of IFIP TC8/WG8.8 Fourth Working Conference on Smart Card Research and Advanced
Applications, pág. 289–303.
[Rabiner 1986] Rabiner, L. R., e Juang, B. H. (1986). An introduction to Hidden Markov
Models. IEEE Magazine on Accoustics, Speech and Signal Processing 3(1):4–16.
[Ratha 2001] Ratha, N. K., Connell, J. H., e Bolle, R. M. (Junho de 2001). An Analysis of
Minutiae Matching Strength. Publicado em Proceedings of Third International Conference on
Audio- and Video-Based Biometric Person Authentication (AVBPA) pp. 223–228. Halmstad,
Suécia.
[Ratha 2007] Ratha, N. K., Chikkerur, S., Connell, J. H., e Bolle, R. M. (Abril de 2007).
Generating Cancelable Fingerprint Templates, IEEE Transactions on Pattern Analysis and
Machine Intelligence, vol. 29,no. 4, pp. 561–572.
[Richardson 2001] Richardson, T., e Urbanke, R. (Fevereiro de 2001). “The Capacity of Low-
Density Parity-Check Codes Under Message-Passing Decoding”, IEEE Transactions on
Information Theory, vol. 47, nº 2, pp. 599-618.
[Sabourin 1997] Sabourin, R., Genest, G., e Preteux, F. J. (1997). Off-line signature
verification by local granulometric size distributions. IEEE Transactions on Pattern Analysis and
Machine Intelligence, 19(9):976–988.
Sanchez-Reillo 2000] Sanchez-Reillo, R., Sanchez-Avila, C., e Gonzalez Marcos, A. (2000).
Biometric identification through hand geometry measurements.IEEE Transactions on Pattern
Analysis and Machine Intelligence, 22(10):1168–1171.
[Sayir 2002] Sayir, J. Lechner, G. (Setembro 2002). On the Convergence of Log-Likelihood
Values in Iterative Decoding, Mini-Workshop on Topics in Information Theory. Essen,
Alemanha.
[Scheenstra 2005] Scheenstra, A., Ruifrok, A., e Veltkamp, R. C. (2005). A survey of 3D face
recognition methods. In 5th International Conference on Audio- and Video-based Biometric
Person Authentication (AVBPA), volume 3546 of Lecture Notes in Computer Science, pages
891–899, Rye Brook. Nova Iorque, EUA. Springer-Verlag.
[Schneier 1999] Schneier, B. (1999). Inside risks: the uses and abuses of
biometrics.Communications of the ACM, 42(8):136.
[Shannon 1948] Shannon, C. E. (1948). A mathematical theory of communication”, Bell
Systems Technical Journal, 27: 397-423, 623-656, 162.
[Tanner 1981] Tanner, R. M. (Setembro 1981). A recursive approach to low complexity codes,
IEEE Transactions on Information Theory, vol. IT-27, nº 5, pp. 533-547.
103
[Teoh 2006] Teoh, A. B., Goh, A., e Ngo, D. C. (Dezembro de 2006). Random Multispace
Quantization as an Analytic Mechanism for BioHashing of Biometric and Random Identity
Inputs,IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no. 12,
pp.1892–1901.
[Tisse 2003] Tisse, L.T.l., Martin, L., e Robert., M. (2003). Person identification technique using
human iris recognition. St Journal of System Research,Vol. 4, pp. 67 – 75.
[Turk 1991] Turk, M., e Pentland, A. (1991). Face recognition using eigenfaces.In IEEE
Computer Society Conference on Computer Vision and PatternRecognition, pages 586–591.
Maui, HI, EUA.
[Uludag 2004] Uludag, U., e Jain, A. K. (2004). Attacks on biometric systems: A case study in
fingerprints. Proc. SPIE-EI.
[Uludag 2004] Uludag, U., Pankanti, S., Prabhakar, S., e Jain., A. K. (2004). Biometric
cryptosystems: issues and challenges, Proceedings of the IEEE, vol. 92, no. 6, pp. 948–960.
[Wang 2008] Wang, W., Li, J., Huang, F., e Feng, H. (2008). Design and implementation of
Log-Gabor filter in fingerprint image enhancement, in Pattern Recognition Letters, Volume 29,
edição 3, pp. 301–308.
[Wildes 1994] Wildes, R., Asmuth, J., Green, G., S. Hsu, R. K., Matey, J., e McBride, S. (1994).
A system for automated iris recognition, in Proceedings of IEEE Workshop on Applications of
Computer Vision, pp. 121–128.
[Wildes 1997] Wildes, R. (1997). Iris recognition: an emerging biometric technology, in
Proceedings of the IEEE, vol. 85, no. 9.
[Williamson 2003] Williamson, R. C., e McGowan, J. A. (2003). Loop Removal from LDPC
Codes,IEEE Information Theory Workshop 2003. Paris.
[Yu 1995] Yu, K., Mason, J., e Oglesby, J. (1995). Speaker recognition using Hidden Markov
Models, Dynamic Time Warping and Vector Quantisation. IEE Proceedings – Vision, Image and
Signal Processing, 142:313–318.
[Zhao 2003] Zhao, W., Chellappa, R., Phillips, P. J., e Rosenfeld, A. (2003). Face recognition: A
literature survey. ACM Computing Surveys, 35(4):399–458.
[Zunkel 1999] Zunkel, R. L. (1999). Hand geometry based verification. In Jain, A. K.,Bolle, R.
M., and Pankanti, S., editors, Biometrics: Personal Identification in Networked Society, capítulo
4, pages 87–101. Kluwer Academic Publishers. Boston, MA,EUA.
Páginas de internet de onde foram retiradas figuras e tabelas:
[Internet1] http://www.cs.ust.hk/svc2004 ( Setembro de 2009)
104
[Internet2] http://curlygirl.naturlink.pt/olho.jpg (Setembro de 2009)
[Internet3] http://curlygirl.naturlink.pt/olho.jpg (Setembro de 2009)
[Internet4] http://www.grupoescolar.com/a/b/46694.jpg (Setembro de 2009)
[Internet5] http://www.explainthatstuff.com/how-iris-scans-work.html (Setembro de 2009)
[Internet6] http://www.rsa.com/rsalabs/node.asp?id=2176 (Setembro de 2009)
[Internet7] http://en.wikipedia.org/wiki/Cryptographic_hash_function (Setembro de 2009)
[internet8] http://www.wirelessbrasil.org/wirelessbr/colaboradores/jose_smolka/ cod_voz_05.
html (Setembro de 2009)
[internet9] Base de dados da CASIA http://www.cbsr.ia.ac.cn/IrisDatabase.htm (Agosto de
2009)
[internet10] Base de dados da UBIRIS http://iris.di.ubi.pt/ubiris1.html (Agosto de 2009)
Top Related