Combinando Criptografia e Biometria: Sistemas de Regeneração de

Transcrição

Combinando Criptografia e Biometria: Sistemas de Regeneração de
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
26
Combinando Criptografia e Biometria: Sistemas de
Regeneração de Chave
Danielle Paes B. de A. Camara, Valdemar C. da Rocha Jr.
Grupo de Pesquisa em Comunicações, Departamento de Eletrônica e Sistemas
Universidade Federal de Pernambuco, Recife, PE
E-mail: [email protected], [email protected]
Resumo— Este artigo apresenta uma abordagem tutorial sobre
soluções de segurança através do uso combinado de técnicas
biométricas e criptográficas, com ênfase dada à solução denominada Regeneração de Chave, a qual envolve o uso de técnicas
de correção de erro.
Palavras-chave— Biometria, multibiometria, criptografia, códigos corretores de erro, segurança.
I. I NTRODUÇÃO
M um sistema de identificação, em geral, um usuário
pode ser identificado por algo que ele sabe, e.g., uma
senha, ou por algo que ele possui, e.g., um cartão magnético.
Porém, uma forma mais conveniente e potencialmente mais
confiável de identificação, conhecida como biometria [1], é
baseada em dados físicos e comportamentais específicos do
indivíduo, e.g., impressão digital, íris, voz e geometria da
mão, sendo um modo de identificação baseado naquilo que
o individuo é. Enquanto cartões magnéticos e senhas podem
ser perdidos, roubados, copiados, distribuídos, forjados, etc.,
a biometria está livre destes problemas, sem esquecer ainda
que a autenticação através da biometria não permite delegação,
uma vez que a presença do indivíduo é necessária no momento
e local da autenticação.
Técnicas biométricas de reconhecimento têm sido usadas
há décadas [1] proporcionando identificação ou verificação
de indivíduos baseadas em suas características únicas. Em
particular, o uso da biometria tem aumentado significativamente nas últimas décadas trazendo preocupações relacionadas
à manutenção das liberdades civis e privacidade do indivíduo,
uma vez que as soluções biométricas tradicionais requerem o
armazenamento direto dos dados pessoais do indivíduo [1].
Por outro lado, a criptografia [2] -[4] é capaz de proporcionar
alta privacidade aos dados enquanto a chave criptográfica
for secreta, longa e o mais aleatória possível, a fim de
proporcionar o nível de segurança requerido. Por exemplo,
o AES (Advanced Encryption Standard) foi projetado para
usar chaves de comprimento 128, 192 ou 256 dígitos [5]. No
entanto, as chaves criptográficas clássicas não podem assegurar
que a pessoa que a usa é realmente o usuário legítimo (nãorepudiação).
A natureza complementar dessas duas importantes e vastamente usadas ferramentas de segurança, denominadas crip-
E
Artigo recebido em 29 de junho de 2012. Artigo aceito em 16 de agosto
de 2012.
tografia e biometria, estimulou muitos pesquisadores a investigar novas técnicas capazes de combiná-las a fim de
proporcionar privacidade aos dados biométricos. A pesquisa
visando à combinação da criptografia com a biometria, e.g.
[6]-[26], tem trazido soluções não só com relação à proteção
dos dados biométricos, mas também abriu a possibilidade de
gerar chaves criptográficas verdadeiramente ligadas ao usuário,
proporcionando assim não-repudiação às chaves criptográficas.
A fim de tornar viável esta combinação diferentes abordagens
têm sido usadas, dentre elas a técnica de regeneração de
chave criptográfica [17] -[26] é a que tem se mostrado mais
promissora.
Este artigo tem como objetivo mostrar qual a importância,
os desafios enfrentados e as abordagens mais usadas na combinação biometria/criptografia, dando maior ênfase à técnica
de regeneração de chave que utiliza técnicas de correção de
erro para lidar com a variabilidade dos dados biométricos.
As demais seções deste texto estão organizadas da seguinte
forma. A Seção II introduz alguns conceitos básicos importantes para um melhor entendimento deste assunto. A Seção III
apresenta os modos de abordagem mais usados na combinação
biometria/criptografia, a partir da classificação frequentemente
utilizada na literatura: biometria cancelável [6]-[10], sistemas
de geração de chave [11]-[16] e sistemas de regeneração de
chave [17]-[26]. Cada uma dessas técnicas é examinada no
presente artigo, apontando as vantagens e as desvantagens de
cada uma delas. Na Seção IV o uso de códigos corretores de
erro em sistemas de regeneração de chave é abordado e alguns
sistemas atuais são usados para ilustrar a técnica. A Seção
V fornece informações sobre as bases de dados utilizadas e
experimentos realizados, assim como apresenta a análise de
segurança dos sistemas vistos na Seção IV. O texto é então
finalizado na Seção VI com conclusões e comentários finais.
II. A LGUNS C ONCEITOS BÁSICOS
O assunto aqui apresentado envolve principalmente as áreas
de biometria, criptografia e códigos corretores de erro, e
portanto, em todo o texto e em especial nesta seção, serão
abordados alguns aspectos dessas áreas, relacionados à combinação biometria/criptografia.
Aos leitores interessados em obter mais informações nessas
áreas sugere-se consultar material específico, como por exemplo: [1], [27] para biometria, [2]-[4] para criptografia e para
códigos corretores de erro [28] e [29].
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
A. Biometria
Biometria é um método de identificação do indivíduo
baseado em suas características físicas e comportamentais.
Inicialmente, a biometria era exclusivamente usada para fins
forenses, i.e., com o objetivo de solucionar crimes, passando
nas últimas décadas a ter seu uso difundido para várias aplicações comerciais, assim como aplicações civis objetivando a
prevenção do crime, e.g., identificação de possíveis terroristas
em aeroportos através do uso de identificação por face. Esse
crescimento no uso de técnicas biométricas e o fato de que as
soluções convencionais requerem o armazenamento dos dados
biométricos em base de dados centralizada, tem gerado uma
grande preocupação com a manutenção das liberdades civis
e privacidade do indivíduo. Portanto, torna-se cada vez mais
necessário que os dados biométricos do usuário tenham sua
privacidade resguardada.
Duas principais razões podem ser apontadas para o uso
intensificado da biometria nas duas últimas décadas:
1) Possui uma ligação mais forte com o usuário que os
métodos de autenticação baseados “no que se possui”, e.g.
smart card, e “no que se sabe”, e.g. senha,
2) provavelmente a razão mais importante por traz do crescimento no uso da biometria em países desenvolvidos tem
sido a ameaça do terrorismo. Muitos países veem a biometria como uma importante ferramenta para mitigar esta
ameaça.
Devido a esses e vários outros motivos, principalmente
levando em conta o crescente desenvolvimento das comunicações e a necessidade de segurança, muitos pesquisadores
passaram a considerar a interação de duas tecnologias potencialmente complementares: biometria e criptografia.
1) Arquitetura de um sistema biométrico: As técnicas
biométricas são baseadas na comparação entre os dados
biométricos adquiridos na fase de registro e os dados
biométricos que o usuário apresenta no momento que necessita
acessar certo serviço, a fase de reconhecimento. Isto é, um
sistema biométrico é basicamente um sistema de reconhecimento de padrão, que reconhece um indivíduo baseado nos
dados de referência derivados de uma característica física ou
comportamental específica do indivíduo [1].
Na fase de registro, um sensor é usado para capturar o
dado biométrico bruto, e.g. impressão digital ou imagem da
íris, que é então processado a fim de extrair as características
mais relevantes. A partir dessas características são construídos
os templates. Esse procedimento apresenta como vantagens
principais a redução do volume de dados e maior anonimato.
Porém, atualmente, há ainda uma tendência de armazenar
dados brutos, e.g. uma imagem de íris, a fim de assegurar a
interoperabilidade dos sistemas biométricos, apesar do grande
esforço e progresso alcançado pela comissão ISO-SC37 [30]
a fim de superar estes problemas. Portanto, a fase de registro
permite estabelecer uma ligação entre o usuário, U , e suas
características biométricas. Durante esta fase o template de
referência, x, é obtido a partir de uma ou mais amostras da
modalidade biométrica considerada.
Mais tarde, na fase de reconhecimento, o usuário U fornece
a amostra de sua característica biométrica, e o template
27
amostra, x′ , gerado a partir desta é então comparado com x de
acordo com uma função, µ, que mede o grau de similaridade
entre x e x′ . Um limiar de decisão, τ , é pré-definido, de
modo que x′ é aceito como uma medida biométrica de U ,
se e somente se, µ(x, x′ ) ≥ τ , caso contrário, x′ não é
considerada uma medida biométrica de U . Observa-se assim
a variabilidade a que estão sujeitas as medidas dos dados
biométricos, justificando também o fato da maioria dos métodos de comparação usados ser estatístico, o que torna possível
acomodar alguma variação nos dados biométricos, o que revela
a natureza inerentemente ruidosa dos dados biométricos.
Muitos fatores contribuem para que duas amostras biométricas de um mesmo indivíduo não sejam exatamente iguais,
como por exemplo, variações de umidade e temperatura, ruído
térmico do sistema de medida ou variação na posição do
indivíduo com relação ao sensor.
Dois tipos de erros são geralmente associados aos sistemas biométricos: Falsa Rejeição (FR - False Rejection),
quando um usuário legítimo é rejeitado pelo sistema; e Falsa
Aceitação (FA - False Aceptance), quando o impostor é aceito
pelo sistema.
Como visto anteriormente, na fase de reconhecimento o
grau de similaridade das amostras é medido através de µ, e o
limiar de decisão τ é usado como parâmetro para definir se
a amostra é aceita ou não como uma amostra genuína [31].
As distribuições típicas de µ(x, x′ ) para pares de amostras
pertencentes ao mesmo usuário (distribuição de usuários
legítimos) e para pares de amostras pertencentes a usuários
distintos (distribuição de impostores) estão ilustradas na
Fig. 1. Note que a escolha de τ tem influência direta na taxa
de falsa rejeição (FRR - False Rejection Rate) ou (FNMR False Non-Match Rate) e a taxa de falsa aceitação (FAR False Aceptance Rate) ou (FMR - False Match Rate)∗ . Quando
τ aumenta a FRR aumenta e a FAR diminui, e vice-versa (Fig.
1). A escolha deste limiar depende da aplicação do sistema
biométrico, e.g., para aplicações que requerem alto nível de
segurança a FAR deve ser baixa, enquanto que para aplicações
comerciais a FRR é que deve ser baixa.
Distribuição
de impostores
Limiar (
FRR
Distribuição
de usuários
legítimos
)
FAR
(,x,x´)
Fig. 1. Distribuição de impostores, distribuição de usuários legítimos, FRR
(Taxa de Falsa Rejeição), FAR (Taxa de Falsa Aceitação), função comparação
µ e limiar de decisão τ [31].
Os sistemas biométricos podem operar em dois modos:
∗ É importante, salientar que FMR e FNMR não são sempre sinônimos
de FAR e FRR, respectivamente [1, Capítulo 1]. Porém neste artigo são
considerados conceitos equivalentes.
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
identificação ou verificação. No modo de identificação o
usuário apresenta a amostra da sua característica biométrica,
e então o sistema compara o template gerado a partir desta
amostra com vários registros contidos numa base de templates
registrados, selecionando o que corresponde mais aproximadamente à amostra biométrica fornecida, i.e., o indivíduo é
identificado dentre n registros, portanto, o processo consiste
na comparação de um para muitos (1 : n). Um exemplo de
aplicação deste modo é a identificação de um suspeito de
terrorismo num aeroporto através de reconhecimento facial por
câmeras de vigilância.
Já no modo de verificação o usuário apresenta a amostra
de sua característica biométrica, o sistema compara o template
gerado a partir desta amostra com o template biométrico que
foi registrado anteriormente para determinar se o mesmo pertence ou não ao usuário. Portanto, a verificação é um processo
de comparação um para um (1 : 1). Sistemas que fazem a
autenticação do usuário a fim de acessar um serviço, como
por exemplo, a utilização de autenticação por impressão digital
para se conectar a um terminal é um exemplo de utilização
de biometria no modo verificação. Sistemas de regeneração de
chave como introduzidos na Seção III-C também utilizam o
modo verificação.
Neste texto, quando não for especificado o modo de operação do sistema biométrico (verificação ou identificação), o
termo genérico sistema de reconhecimento será usado. Dependendo da aplicação escolhe-se entre um sistema biométrico
de identificação ou de verificação, e escolhe-se também o
limiar de decisão τ do sistema.
Qualquer característica inerente ao indivíduo pode ser usada
em sistemas biométricos, sejam elas comportamentais, e.g.,
modo de andar, voz, etc., ou físicas, e.g., impressão digital,
geometria da mão, retina, íris, etc., e até químicas como o
DNA. A escolha da modalidade mais apropriada depende de
vários fatores, como por exemplo, a aplicação. O reconhecimento pela voz, por exemplo, não é indicado em locais onde
geralmente um ruído de fundo elevado está frequentemente
presente.
2) Íris: A íris tem se mostrado uma importante modalidade
biométrica em vários aspectos [27, Capítulo 3], em particular
este artigo dá uma maior atenção a esta modalidade por ser
a que apresenta maior nível de entropia acessível, tendo em
média um valor de 249 bits [32, pág. 51]. Para sistemas
de regeneração de chave este é um fator muito importante
como é mostrado na Seção V. Dados sobre outras modalidades
biométricas podem ser obtidos, por exemplo, em [1] e [27].
A íris é o anel colorido do olho que se localiza entre a pupila
e a esclera, ou parte branca do olho. É um órgão interno,
protegido, mas visível à distância. A textura visível da íris
é formada durante o desenvolvimento fetal, se estabilizando
durante os dois primeiros anos de vida, sem se alterar com o
passar dos anos [1]. A textura complexa da íris, caracterizada
por uma combinação de características específicas como coroa,
glândula, filamentos, sardas, sulcos radiais e estriamentos, é
única para cada indivíduo, sendo bastante útil como ferramenta de reconhecimento. Assim como as impressões digitais,
mesmo as íris de gêmeos idênticos são distintas. Além disso,
as íris dos olhos direito e esquerdo de um mesmo indivíduo
28
são descorrelacionadas [33].
Normalmente, as medidas biométricas precisam ser processadas a fim de serem colocadas num espaço métrico conveniente. Por exemplo, para a íris, técnicas como as introduzidas
em [27, Capítulo 3] e [33] são usadas para converter imagens de íris† em vetores binários, denominados código íris.
O algoritmo proposto por Daugman [33] gera tipicamente
um código íris de 2.048 dígitos de comprimento. Outros
algoritmos podem ser usados a fim de extrair o código íris,
como por exemplo, o algoritmo de código aberto e gratuito
OSIRIS (Open Source Iris System) desenvolvido durante o
projeto Biosecure [27, Capítulo 3]. A priori, o OSIRIS pode
fornecer códigos de diferentes comprimentos dependendo da
escolha dos parâmetros (filtros e pontos) e observando-se
restrições, principalmente, com relação ao desempenho do
sistema biométrico. A obtenção do código íris envolve a
segmentação da imagem do olho a fim de isolar a íris (Fig.
2 (a)) e a normalização da imagem resultante (Fig. 2 (b)) .
A imagem normalizada é submetida a um algoritmo que faz
uso de wavelets 2D de Gabor e que através de demodulação,
associa 2 dígitos a cada informação de fase da imagem da íris
normalizada.
(a)
(b)
Fig. 2. (a) Imagem da íris segmentada utilizando o algoritmo OSIRIS. (b)
Exemplo de imagem da íris normalizada durante o processo de extração do
código íris por OSIRIS.
Como descrito por Daugman em [33, pág. 282] o princípio
do algoritmo usado para reconhecimento por íris se baseia no
insucesso de um teste de independência estatística. O teste de
independência estatística é implementado usando uma simples
operação de ou-exclusivo entre dois vetores binários, x e x′ ,
que representam as íris a serem comparadas‡ .
Definição 1: A distância de Hamming [29] entre duas nuplas binárias c1 e c2 , denotada por d(c1 , c2 ), é por definição
o número de posições nas quais c1 e c2 diferem.
A distância de Hamming (HD-Hamming Distance) é usada
geralmente quando os templates são sequências binárias que
representam o dado biométrico, como ocorre no caso da íris.
Definição 2: O peso de Hamming [29] de uma n-upla
binária c, denotado por WH (c), é definido como o número
de dígitos iguais a 1 em c.
Decorre da Definição 2 que d(c1 , c2 ) = WH (c1 ⊕ c2 ). Note
que, quanto menor for a distância de Hamming, maior será a
similaridade entre c1 e c2 . Portanto, para duas n-uplas binárias,
x e x′ , representando duas íris a serem comparadas, um valor
d(x, x′ ) < τ implica em aceitar x e x′ como semelhantes,
† A imagem da íris é obtida, geralmente, utilizando uma boa câmera digital
e luz infravermelha para que o usuário não seja incomodado.
‡ Em alguns casos são considerados o uso de máscaras e então operações
AND também são usadas. Para mais detalhes consultar [33, págs. 282-283].
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
enquanto que um valor d(x, x′ ) ≥ τ implica em rejeitar x e
x′ como semelhantes. A distância de Hamming normalizada
(HDnorm ), i.e.,
WH (x ⊕ x′ )
(1)
n
resultante entre x e x′ é usada como medida de dissimilaridade
entre duas íris.
Em [33] foi feita uma análise da variabilidade estatística
para a íris, usando para isso o levantamento da distribuição
das distâncias de Hamming normalizadas (HDnorm ) para 9,1
milhões de possíveis comparações entre 4.258 íris distintas
(Fig. 3). O histograma mostrado na Fig. 3 corresponde a uma
distribuição binomial de média p = 0, 499 e desvio padrão
σ = 0, 0317 com N = 249 graus-de-liberdade calculado a
partir de
HDnorm =
p(1 − p)
,
σ2
em que p denota a média e σ denota o desvio padrão.
N=
(2)
Distribuição binomial das distâncias de Hamming normalizadas
para o código Iris.
Curva sólida: f.d.p.,da,
distribuição binomial com p=0,5
N= 249 graus-de-liberdade
9.060.003 comparações
entre íris distintas
Média=0,499
Desv. Padrão=0,0317
Mínimo=0,0334
Máximo=0,664
HD norm
Fig. 3.
Distância de Hamming entre códigos-íris para 9,1 milhões de
comparações. [33].
Esta proximidade com uma distribuição binomial, por parte
da distribuição observada (Fig. 3), é uma consequência do
fato de que cada comparação entre dois códigos íris de duas
íris distintas é essencialmente um experimento de Bernoulli,
embora com correlações não-nulas entre os experimentos.
Experimentos de Bernoulli que são correlacionados [34] continuam distribuídos binomialmente, mas o número efetivo N
de lançamentos é reduzido e por isso, o desvio padrão σ da
distribuição aumenta. Assim, a distribuição ilustrada na Fig. 3
mostra que a distância de Hamming normalizada (HDnorm )
entre códigos íris de diferentes íris é distribuída de forma
equivalente a lançar uma moeda honesta 249 vezes. Portanto,
esta análise mostra que para a base de dados considerada em
[33], dos 2.048 dígitos do código íris extraídos pelo algoritmo
de Daugman apenas 249 dígitos são independentes (N = 249
graus-de-liberdade), i.e., o código íris apresenta 249 bits de
entropia, que é maior que a entropia apresentada por outras
modalidades. Por exemplo, a impressão digital fornece no
máximo 20 bits de entropia. Além disso, câmeras podem ser
29
usadas para capturar ambos os olhos numa única imagem,
em princípio, proporcionando aproximadamente 500 bits de
entropia [32, pág. 51].
Sistemas que podem consolidar múltiplas fontes de informação biométrica são considerados a fim de melhorar
o desempenho de sistemas biométricos. Estes sistemas são
conhecidos como sistemas multibiométricos e são utilizados
para superar algumas limitações dos sistemas unibiométricos, sendo capazes de melhorar a precisão de comparação, aumentar a cobertura da população e combater ataques
de spoof (fraude). Os sistemas multibiométricos são classificados, levando em conta a natureza dessas múltiplas
fontes de informação biométrica como: multi-instância, multisensor, multi-algoritmo, multi-amostra, multi-modal e sistemas
híbridos. A informação biométrica pode ser combinada em
diferentes níveis de fusão de informação: nível-sensor, nívelcaracterística, nível-score, nível-classificação, ou nível-decisão
[1, Capítulo 14]. Apesar de serem sistemas mais complexos, os
custos decrescentes de implementação e a aplicação considerada podem justificar a escolha de um sistema multibiométrico.
Além disso, recentemente algumas aplicações envolvendo a
combinação biometria/criptografia têm considerado o uso de
sistemas multibiométricos [26], [25].
B. Criptografia
A ferramenta mais importante no contexto de proporcionar
segurança no meio digital é a criptografia [2]-[4]. As técnicas
criptográficas são implementadas para uso prático por meio de
cripto-sistemas. Diferentemente de outros procedimentos usados para a segurança de dados, os cripto-sistemas são aqueles
que se mostram mais completos até o momento, proporcionando alto nível de segurança com mais flexibilidade [35].
Cripto-sistemas são atacados por meio de técnicas pertencentes
ao domínio da área denominada criptoanálise. A criptologia
é o ramo da matemática que engloba a criptografia e a
criptoanálise. A criptologia tem lançado mão de um arsenal
de ferramentas matemáticas com destaque para a teoria dos
números, a matemática discreta e a estatística, proporcionando
proteção flexível e eficiente de dados digitais.
Os blocos mais básicos usados na construção de criptosistemas, envolvendo, por exemplo, aplicações criptográficas
e protocolos criptográficos são denominados de primitivas
criptográficas. Nas últimas décadas uma grande quantidade
de primitivas criptográficas foi desenvolvida para a segurança
de dados digitais [3]. Tais primitivas têm resolvido muitos
problemas tradicionais de segurança e alcançado um alto grau
de sofisticação. Em geral, tais primitivas criptográficas são
projetadas para realizar tarefas específicas de modo confiável.
Exemplos de primitivas criptográficas incluem algoritmos de
cifragem, funções hash e algoritmos para assinaturas digitais
[4, págs. 4-5]. Uma propriedade intrínseca das primitivas
criptográficas atualmente em uso é que as mesmas são extremamente sensíveis a pequenas variações nas sequências de
dígitos aplicadas nas suas respectivas entradas. Por exemplo,
uma função hash§ para ser usada com propósitos criptográficos
§ É uma função unidirecional f (y) que mapeia uma sequência y de dígitos
de entrada de comprimento arbitrário numa sequência f (y) de dígitos de saída
de comprimento fixo.
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
deve obedecer alguns requisitos, dentre eles o de ser livre
de colisão, i.e., ser computacionalmente impossível encontrar
duas entradas distintas que produzam a mesma saída. Por
outro lado, com a finalidade de tornar um sistema criptográfico
mais seguro e flexível, observa-se a necessidade da adoção de
primitivas criptográficas que funcionem de modo confiável a
partir de entradas ruidosas. Este fato tem motivado a pesquisa
de novas primitivas criptográficas capazes de proporcionar
segurança quando a entrada está sujeita a variações como, por
exemplo, em sistemas que utilizam dados biométricos de um
indivíduo, os quais naturalmente variam ao longo do tempo.
A forma de autenticação de usuário através do uso da
biometria, a fim de garantir a privacidade dos dados biométricos, requer uma ligação entre as propriedades físicas (dados
biométricos do indivíduo) e primitivas criptográficas. Como
mostrado na Seção II-A, durante a fase de registro as informações de referência (templates de referência) devem ser
geradas a partir dos dados biométricos e armazenadas. Normalmente, as soluções convencionais requerem o armazenamento
dos dados biométricos em base de dados centralizada, gerando
preocupação quanto à garantia da privacidade dos dados
biométricos do usuário. Uma solução natural, para proteger
os dados biométricos durante o processo de autenticação do
usuário, seria a aplicação do mesmo mecanismo utilizado na
autenticação por senha, isto é, o armazenamento da imagem da
senha gerada a partir de uma função unidirecional, ao invés de
armazenar a senha em si. Porém, esta como outras primitivas
criptográficas requerem exatidão nos dados de entrada, isto é,
uma pequena mudança na entrada causa uma saída completamente diferente, fenômeno conhecido como efeito avalanche.
Tal fato inviabilizaria, inicialmente, a combinação da biometria, de natureza inerentemente ruidosa, com a criptografia
clássica, de natureza exata.
Nota-se, portanto, que a principal dificuldade a ser suplantada está ligada ao fato que os dados biométricos de uma
mesma pessoa variam de uma coleta a outra. Tal fato não
permite a utilização das primitivas criptográficas tradicionais,
as quais requerem precisão dos dados a fim de funcionarem
de forma correta. Daí a necessidade de gerar novas primitivas
criptográficas, capazes de lidar com a natureza ruidosa dos
dados biométricos, possibilitando desta forma a proteção dos
mesmos.
É importante notar que, assim como a criptografia pode
fornecer privacidade aos dados biométricos, a biometria pode
ligar verdadeiramente o usuário à sua chave criptográfica de
forma a garantir a não-repudiação dessas chaves, o que não
ocorre com as chaves criptográficas tradicionais.
C. Códigos Corretores de Erro
Códigos corretores de erro (CCE) têm um importante papel
nas técnicas de regeneração de chave apresentadas na Seção
III-C, que são o principal foco deste artigo. Para mais informações sobre CCE consultar [28], [29]. Como neste artigo
as aplicações consideram espaços binários os CCE foram
definidos neste espaço, porém a definição assim como os
procedimentos apresentados neste artigo podem ser facilmente
estendidos para alfabetos não-binários.
30
Estruturalmente dois tipos de CCE estão em uso atualmente:
códigos convolucionais e códigos de bloco. Os códigos de
bloco são abordados neste artigo, mais especificamente a subclasse dos códigos de bloco lineares, pois sua estrutura reduz
consideravelmente a complexidade de codificação, facilitando
consequentemente a sua implementação. Convém frisar que,
apesar das propostas atuais de sistemas de regeneração de
chave utilizarem este tipo de código, é importante considerar
a investigação de qualquer tipo de código que se mostre
adequado para a aplicação em questão.
O objetivo de um CCE é permitir a transmissão de uma
mensagem m por meio de um sinal através de um canal ruidoso, de modo que o sinal recebido possa ser processado pelo
receptor e a mensagem m possa ser entregue corretamente ao
destinatário. Para isso é necessário enviar redundância junto
com a mensagem m. Durante o processo de codificação, o
codificador de um código de bloco segmenta a sequência
de informação em blocos de mensagens de k dígitos de
informação. Um bloco de mensagem é representado por uma k
-upla binária m = (m0 , m1 , . . . , mk−1 ), portanto existem 2k
mensagens binárias distintas. O codificador transforma cada
uma dessas mensagens m de forma independente em uma
n-upla c = (c0 , c1 , . . . , cn−1 ) chamada palavra-código. O
subconjunto C ⊆ {0, 1}n que tem 2k palavras-código distintas
é denominado um código de bloco (n, k), em que k ≤ n.
Para que um CCE possa alcançar seu objetivo, uma palavracódigo c distinta é associada a cada mensagem m. São então
adicionados n − k dígitos à mensagem de k dígitos a fim de
formar a palavra-código correspondente. Estes n − k dígitos
extra dão ao código a capacidade de combater o ruído do
canal. Desta forma, mesmo que alguns dígitos tenham sido
alterados durante a passagem pelo canal ruidoso ainda é
possível recuperar m.
Um parâmetro importante para determinar a robustez de um
CCE em termos da capacidade de detecção e capacidade de
correção de erros é a distância mínima do código.
Definição 3: A distância mínima de um código C [29],
denotada por dmin é definida como
dmin = min{d(c1 , c2 ) : c1 , c2 ∈ C, c1 ̸= c2 }.
Em termos de distância mínima, um código de bloco linear
(n, k, dmin ) é capaz de detectar todos os padrões de erro
contendo até dmin − 1 erros, i.e., a capacidade de detecção
de erros é dmin − 1. Este código também ⌊é capaz ⌋de corrigir
todos os padrões de erro contendo até t = dmin2 −1 erros, em
que ⌊x⌋ denota o maior inteiro menor ou igual a x. Portanto,
t
é
t é a capacidade de correção de erros [29]. A razão
n
denominada neste artigo taxa de correção de erros.
No processo de decodificação um vetor arbitrário de n
dígitos, c′ , recebido do canal, é mapeado para a palavra-código
mais próxima em C em termos da distância de Hamming, dmin .
III. C RIPTO - BIOMETRIA
Basicamente, três abordagens são usadas para combinar
criptografia e biometria: biometria cancelável, sistemas de
geração de chave e sistemas de regeneração de chave. Nesta
seção as duas primeiras abordagens são descritas de forma
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
breve e uma maior atenção é dada aos sistemas de regeneração
de chave, que têm mostrado resultados promissores e fazem
uso de CCE para lidar com a inerente variabilidade dos dados
biométricos.
Como comentado anteriormente o objetivo inicial da combinação criptografia/biometria foi a proteção dos dados biométricos, porém observou-se que além disso esta combinação é
capaz de proporcionar uma forte ligação entre o usuário e sua
chave criptográfica.
Além da variabilidade inerente da biometria e a necessidade de exatidão da criptografia, outras características da
biometria são muito importantes e devem ser consideradas
cuidadosamente ao se combinar biometria e criptografia. Uma
importante característica da biometria é a irrevocabilidade.
As características biométricas são inerentes ao indivíduo, não
podendo ser facilmente modificadas, e é esta irrevocabilidade
que torna a biometria tão atraente como ferramenta de identificação/autenticação. Por outro lado, esta característica se torna
um desafio ao se combinar biometria e criptografia na obtenção
de chaves criptográficas, uma vez que chaves criptográficas
precisam ser revogadas em caso de comprometimento e, além
disso, é desejável que diferentes chaves sejam utilizadas em
diferentes aplicações.
Outro fator a ser considerado é o baixo nível de segredo
dos dados biométricos, por exemplo, impressões digitais são
deixadas por toda parte, imagens da face e até da íris podem
ser obtidas com uma câmera escondida. Portanto, os desafios
são muitos, mas os benefícios advindos desta combinação são
inegáveis. Por isso, devido ao potencial dessa combinação,
muitos pesquisadores têm procurado combinar essas duas
técnicas.
A. Biometria Cancelável
Cada indivíduo possui um número limitado de características biométricas, e.g., dez dedos, duas mãos, dois olhos.
Quando o template original é comprometido, é ainda possível
reutilizar a mesma característica biométrica para gerar um
novo template, sem que haja comprometimento da segurança
do sistema.
As técnicas de Biometria Cancelável têm como principal
objetivo a proteção de templates através do uso de transformações irreversíveis, de modo a cancelar o template original
em caso de comprometimento do mesmo, tornando possível a
emissão de um novo template a partir da mesma característica
biométrica. Entre os trabalhos citados na área encontram-se
[6]-[10].
Nessa abordagem um dado gerado aleatoriamente define a
transformação usada, garantindo assim a revocabilidade, i.e.,
a possibilidade de cancelar o template comprometido e gerar
um novo template a partir da mesma característica biométrica.
Devido à maneira pela qual a técnica Biometria Cancelável
funciona, ao se aplicar a mesma transformação nas fases
de registro e de reconhecimento, o sistema biométrico faz
a comparação como se nenhuma transformação tivesse sido
aplicada, i.e., as possíveis variações dos dados biométricos
são as mesmas e o desempenho do sistema não é afetado.
Assim, nota-se que a variabilidade dos dados biométricos não
31
é eliminada e, portanto tal abordagem não pode ser usada para
produzir chaves criptográficas.
B. Sistemas de Geração de Chave
Os Sistemas de Geração de Chave procuram extrair das
características biométricas dados estáveis para construção das
chaves. Desta forma, para a representação binária do template,
como ocorre no caso da íris, os dígitos considerados mais
estáveis são usados na construção da chave criptográfica.
O grande problema a ser enfrentado por essa abordagem é
a dificuldade em definir quais dígitos são mais estáveis, uma
vez que a variação dos dados biométricos pode ser bastante
imprevisível. Além disso, essa abordagem não proporciona
revogação de chave, i.e., a geração de uma nova chave caso
a antiga tenha sido comprometida. Alguns dos trabalhos que
utilizam esta abordagem são listados nas referências [11]-[16].
C. Sistemas de Regeneração de Chave
A abordagem por Sistemas de Regeneração de Chave
tem sido considerada a forma mais efetiva de obter chaves
criptográficas fortemente ligadas ao usuário (não-repudiação)
através da combinação biometria/criptografia, permitindo revocabilidade de chave, diversidade de chave¶ e também
fornecendo privacidade ao dado biométrico. Técnicas de correção de erro são usadas nesta abordagem a fim de lidar com
a variabilidade inerente da biometria [17]-[26].
Duas construções típicas são o Fuzzy commitment scheme
(FCS) [18] e o Fuzzy vault scheme (FVS) [21]. O FVS é uma
variação do FCS sendo capaz de suportar erros de reordenamento comuns em biometria. Por outro lado, o FCS possui as
vantagens de requerer menos memória para processamento e
ser mais flexível quanto à escolha de parâmetros e níveis de
segurança. Algumas tentativas foram feitas a partir da técnica
FVC, e.g., [20] traz uma proposta baseada em impressões
digitais, a qual gera chaves de comprimento 69 dígitos com
FRR = 30%, valor considerado muito alto para fins práticos.
Um código Reed-Solomon (RS) é usado a fim de possibilitar a
regeneração da chave. Em [14] foram combinadas as técnicas
usadas em [19], [20], [21] para projetar um sistema baseado na
modalidade face, sendo possível extrair chaves de 80 dígitos
com FRR = 0,93%. Tais experimentos porém foram baseados
em imagens obtidas de uma fonte de vídeo contínuo com
variações mínimas, ao invés de usar uma base de dados de
imagens de faces, o que deixa dúvidas quanto à validade desse
resultado.
A técnica Fuzzy commitment introduzida em [18] é ilustrada
na Fig. 4. Na fase de registro a chave criptográfica K, uma
sequência binária aleatória, é codificada, e a palavra-código
obtida c é combinada com o template de referência x (outra
sequência binária) através de uma operação de ou-exclusivo,
resultando em
δ = c ⊕ x.
(3)
¶ Chaves distintas são associadas a diferentes aplicações usando o mesmo
dado biométrico.
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
K
CCE
codificador
Xc’
Xc
Xx
Fig. 4.
CCE
decodificador
TABELA I
C OMPARAÇÃO ENTRE SISTEMAS DE REGENERAÇÃO DE CHAVE BASEADOS
EM ÍRIS (VALORES DE FAR E FRR ESTÃO EM %); RSH – C ÓDIGOS RS E
H ADAMARD CONCATENADOS , CPRM – C ÓDIGO PRODUTO DE DOIS
CÓDIGOS R EED -M ULLER
K’
Xx’
Ilustração da técnica Fuzzy Commitment [18].
Na fase de reconhecimento, a fim de regenerar K o usuário
apresenta novamente o seu dado biométrico e o template
amostra x′ é extraído. O dado armazenado δ (3) é então
operado ou-exclusivo com x′ , i.e.,
δ ⊕ x′ = c ⊕ x ⊕ x′ = c′ .
32
(4)
Se a diferença entre x e x′ for pequena o suficiente para que
o CCE a corrija, o usuário é considerado genuíno e K = K′ ,
isto é, a chave recuperada K′ é a chave originalmente gerada,
K. Em [18] nenhuma técnica prática de correção de erro foi
proposta. Em 2006, Hao et al. [17] propuseram o uso da
concatenação dos códigos RS e Hadamard como técnica de
correção para um sistema de regeneração de chave baseado
na ideia introduzida em [18]. O sistema de Hao et al. foi
testado numa base de dados proprietária com 700 imagens.
Como resultado foram obtidas chaves de comprimento 140
dígitos, com entropia estimada de 44 bits, FRR = 0,47%
e FAR = 0%. Observou-se porém que, em bases de dados
mais realistas como a base de dados NIST-ICE 2005 [36],
os resultados obtidos foram muito aquém do esperado: FRR =
19,41% para chaves de 42 dígitos. Sistemas de regeneração de
chaves utilizando a mesma técnica de correção com o auxílio
de mecanismos adicionais, e.g., [23], [24], [25], puderam
adaptar os erros à capacidade de correção do código e melhorar
o desempenho biométrico do sistema, conseguindo extrair
chaves mais longas e com entropia mais alta. Os sistemas
apresentados em [23] e [24] fizeram uso de dois mecanismos:
permutação do código íris e inserção de zeros. O sistema
proposto em [25] é um sistema multi-instância (utiliza os
olhos direito e esquerdo do usuário) que insere dígitos gerados
aleatoriamente, de modo o mais uniforme possível, entre os
dígitos do código íris. Os resultados obtidos por esses sistemas,
assim como com o sistema proposto por Hao et al. [17],
encontram-se na Tabela I.
O sistema introduzido por Bringer et al. [22] utilizou uma
técnica diferente de correção de erro. Através do uso do código
produto de dois códigos Reed-Muller (RM) o sistema proposto
regenerou chaves criptográficas de comprimento 42 dígitos,
com FRR = 5, 62% e FAR = 10−5 %, portanto o comprimento
de chave é insuficiente para aplicações criptográficas práticas.
A próxima seção fornece mais detalhes sobre o uso de CCE
em sistemas de regeneração de chave. O uso desta técnica é
ilustrado na Seção IV-A, na qual alguns sistemas atuais são
apresentados.
IV. C ÓDIGOS CORRETORES DE ERRO E SISTEMAS DE
REGENERAÇÃO DE CHAVE
Em sistemas de regeneração de chave o comprimento da
chave criptográfica K sofre restrições tanto por conta do
desempenho biométrico requerido pelo sistema, por exemplo,
Ref.
CCE
||K||
Entropia FRR
FAR
[17]
[23]
[24]
[25]
[22]
RSH
RSH
RSH
RSH
CPRM
140
198
variável
287
42
44
83
94
160
ND
0
0,06
0,10
0
10−5
0,47
1,04
0,76
0,34
5,62
Base de
Dados
proprietária
ICE-Exp-1
ICE-Exp-1
ICE-Exp-1
ICE
FAR e FRR, quanto pela técnica de correção de erro usada.
A escolha do CCE apropriado deve levar em conta a análise
do comportamento das variações nos dados biométricos. Por
exemplo, Hao et al. [17] observaram que no caso da íris
as variações (erros) são mistas (erros aleatórios e erros em
surto), por isso uma técnica de correção de erros adequada
para erros mistos [29, Capítulo 20] foi utilizada. Além disso,
a capacidade de correção do código deve ser suficiente para
corrigir variações intrapessoais, que são diferenças entre
dígitos de templates extraídos de um mesmo dado biométrico,
por exemplo, templates gerados a partir de duas amostras
do mesmo olho. Essa capacidade de correção entretanto não
deve ser suficiente para corrigir variações interpessoais, que
são diferenças entre dois templates distintos, por exemplo,
templates gerados a partir de dois olhos distintos. É importante
lembrar que técnicas de correção de erro adicionam redundância a fim de possibilitar a recuperação da chave criptográfica
K, e esta redundância provoca uma redução na entropia da
chave.
A. Exemplos de Sistemas de Regeneração de Chave
O sistemas apresentados aqui com o intuito de ilustrar a
utilização de técnicas de correção de erro em sistemas de
regeneração de chave têm em comum o uso da concatenação
dos códigos RS e Hadamard. Com o diferencial que o primeiro
sistema [17] apresentado não utiliza nenhum mecanismo adicional a fim de auxiliar na correção dos erros, enquanto que
os dois outros sistemas apresentados ([23] e [25]) utilizam
mecanismos adicionais a fim de tornar possível lidar com o
nível de variação da íris em bases de dados públicas e mais
realistas que a base de dados utilizada em [17].
1) Sistema de regeneração de chave proposto por Hao et
al.[17]: Baseado no FCS, o sistema adotou a técnica de
concatenação dos códigos RS e Hadamard ao observar a
natureza mista dos erros presentes na íris. Neste caso, os erros
aleatórios são devido a ruído da câmera, distorção da íris e
efeitos da captura da imagem, que não podem ser corrigidos
efetivamente pelo pré-processamento do sinal, enquanto que
os erros em surto na grande maioria são causados por cílios
e/ou pálpebras não detectados, assim como reflexos da córnea.
A técnica de correção de erro utilizada em [17], assim
como nas propostas apresentadas em [23], [24], [25], consiste
na concatenação de dois códigos: um código RS(ns , ks ) em
GF (2m ) e um código binário de Hadamard, HC(nHC , kHC )
(Fig. 5). Ao decodificar os códigos RS e Hadamard concatenados, inicialmente erros aleatórios são corrigidos pelo código
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
de Hadamard, enquanto que os erros em surto são corrigidos
pelo código RS.
O código RS em GF (2m ), cujos símbolos são blocos de m
dígitos binários, tem os seguintes parâmetros. Comprimento
da palavra-código: ns ; Número de símbolos de informação
numa palavra-código: ks ; Distância mínima do código: ds =
ns − ks + 1; Número máximo de símbolos que podem ser
corrigidos pelo código RS: ts = (ns − ks )/2.
O código de Hadamard [28] tem os seguintes parâmetros.
Comprimento da palavra-código: nHC = 2k ; Número de
dígitos de informação: kHC = k + 1; Distância mínima do
código: dHCmin = 2k−1 ; Número máximo de erros que
podem ser corrigidos pelo código: tHC = 2k−2 − 1.
Código RS
(ns,ks,ts)
ks blocos em GF(2m)
de m bits (Codificação)
K
Fig. 5.
ns blocos
de m bits
m=k+1
Código
de Hadamard
(2k,k+1,2k-1)
(Codificação)
ps
nsx2k bits
Códigos concatenados, RS(ns , ks , ds ) e HC(2k , k + 1, 2k−1 ).
No sistema proposto em [17] a obtenção da chave criptográfica depende do token e do dado biométrico (Fig.6). O objetivo
principal da proposta foi garantir que o comprometimento de
um desses fatores não revelasse a chave criptográfica.
33
∗
θps
é então decodificado pelos códigos de Hadamard e RS
resultando em K′ . Compara-se h(K′ ) com h(K), se h(K′ ) =
h(K) o usuário é considerado legítimo com alta probabilidade
e a chave criptográfica é recuperada corretamente.
Foi considerada uma base de dados proprietária com 700
imagens de íris (70 olhos distintos com 10 imagens de cada
olho). Nesta base de dados foram feitas 241.300 comparações
entre olhos distintos (impostores) e 3.150 comparações entre
os mesmos olhos (usuários legítimos).
Em [17] foi considerado que a variação intrapessoal dos
códigos íris é de 10% a 20% e a variação interpessoal é
de 40% a 60%. Desta forma, os parâmetros dos códigos de
Hadamard HC(2k , k + 1, 2k−1 ) e RS(ns , ks , ds ) em GF (2m )
foram escolhidos de forma a corrigir as variações intrapessoais
mas não as interpessoais presentes nos códigos íris, i.e.,
0, 20 < nt < 0, 40, em que nt é a taxa de correção da técnica
de correção usada. Além disso, como o código íris foi extraído
usando a técnica de Daugman [33], ∥θps ∥ = ∥θref ∥ = 2.048
dígitos.
Para o sistema introduzido em [17], a escolha do parâmetro
k = 6 foi apontada como adequada, o que pela concatenação resultou em m = k + 1 = 7. Assim, o código de
Hadamard escolhido foi HC(64,
7, 32) com capacidade de
⌊
⌋ ⌊ k−1 ⌋ ⌊ ⌋
correção tHC = dmin2 −1 = 2 2 −1 = 31
= 15, i.e., o
2
código de Hadamard corrige até 15 erros em cada bloco de 64
dígitos. Então a taxa de correção para o código de Hadamard
é tHC /nHC = 15/64 ≃ 23, 44%.
O código RS é MDS (Maximum Distance Separable), i.e.,
ns − ks + 1 = ds = 2ts + 1,
(7)
em que ts é a capacidade de correção do código RS. O
parâmetro ts foi variado a fim de encontrar o melhor resultado
(Tabela II). Note que,
Fig. 6. Esquema de regeneração de chave com dois fatores (token e íris)
proposto em [17].
∥K∥
Na fase de registro (geração de chave) a chave K é
codificada resultando em θps denominado pseudo-código íris.
O processo de codificação (Fig. 5) de K é iniciado com a
segmentação do vetor binário aleatório K em ks blocos de m
dígitos, i.e., ∥K∥ = ks × m, os quais são codificados pelo
código RS gerando na saída ns blocos de m dígitos. Devido
à concatenação, kHC = m, i.e., m = k + 1. Assim, cada
m dígitos codificados produzem na saída 2m−1 dígitos, logo
||θps || = ns × 2m−1 .
O código íris de referência, θref , extraído no momento do
registro é combinado com θps resultando em θlock , o qual é
armazenado juntamente com h(K) (hash da chave K) em um
smart card ou outro tipo de token, em que
θlock = θref ⊕ θps .
(5)
Para recuperar a chave K o usuário apresenta o token e a sua
íris. Na fase de verificação (regeneração de chave) o código
íris amostra, θsam , é extraído a partir da íris sendo combinado
com θlock através de uma operação de ou-exclusivo,
∗
θlock ⊕ θsam = θref ⊕ θps ⊕ θsam = θps
.
(6)
= m(ns − 2ts )
(
)
∥ θref ∥
= m
−
2t
s .
2k
(8)
TABELA II
R ESULTADOS OBTIDOS POR H AO ET AL . EM [17]
ts
4
5
6
7
8
9
Pela
derado
et
( al.
ns =
comprimento da chave ||K||
168
154
140
126
112
98
FRR%
1,26
0,79
0,47
0,15
0,15
0,00
FAR%
0,00
0,00
0,00
0,00
0,02
0,04
Tabela II o ponto adequado de operação consifoi ts = 6. Assim, a implementação de Hao
[17] corrige até 6 )
blocos dentre os 32 blocos
||θref ||
2.048
=
= 32 de comprimento m = 7.
2k
64
Considerando o resultado para ts = 6, o comprimento de
chave de 140 dígitos é obtido com uma FRR = 0,47%, segundo
Hao et al. [17, pág. 1085]. Assim, 0, 0047 × 630 = 2, 96 ≈ 3
dentre as 630 amostras genuínas foram falsamente rejeitadas
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
pois apresentaram taxa de erro acima de 27%. Portanto, a taxa
de correção alcançada pela técnica de correção e parâmetros
escolhidos foi de nt = 0, 27.
A entropia da chave H(K) foi estimada utilizando como
base a cota de Hamming também conhecida como cota de
empacotamento de esferas (sphere-packing) [28, pág. 19].
A análise de segurança dos sistemas de regeneração de chave
apresentados nesta seção é apresentada na Seção V. Nela é
mostrada como a cota de Hamming é usada na estimativa da
robustez da chave criptográfica regenerada.
2) Sistema de regeneração de chave proposto por Kanade et
al.[23]: Em princípio o sistema proposto em [17] pareceu adequado mas, testes feitos em bases de dados públicas mostraram
resultados muito abaixo do esperado. Por exemplo, na base
NIST-ICE 2005, chaves de comprimento 42 dígitos foram
obtidas com FRR = 19,41%. Além disso, um levantamento
feito em [33] mostrou que a variação interpessoal pode chegar
a 32%, Ou seja, para aplicações práticas de sistemas de
regeneração de chave seria necessário uma taxa de correção
de erros em torno de 32%.
Sem dúvida a técnica de correção de erro aplicada em [17]
é apropriada para o tipo de variação presente na íris, porém é
necessário aumentar a capacidade de correção do código. Por
exemplo, o código de Hadamard, HC(2n , k + 1, 2k−1 ), que
é um dos códigos usados na técnica de correção considerada,
pode corrigir até 2k−2 −1 erros em 2k dígitos, significando que
a taxa de correção deste código é no máximo de 25%. Como
não é possível aumentar a capacidade de correção do código,
modos de adaptar o padrão de erros à capacidade do código
foram sugeridos. A primeira proposta neste sentido surgiu
no artigo [23] que adicionou dois mecanismos ao sistema
proposto em [17]: a permutação do código íris (iris code
shuffling) e a inserção de zeros (zero insertion) (Fig. 7). Esses
dois mecanismos são aplicados no código íris gerando o que
′
se denomina código íris modificado, θref
.
Observe que os procedimentos de registro e verificação
são muito similares aos procedimentos seguidos pela proposta
introduzida em [17] (Figs. 6 e 7). As diferenças principais são:
′
• θps é operado com o código íris modificado θref pelas
operações de permutação e inserção de zeros, i.e.,
′
θlock = θref
⊕ θps ;
•
•
(9)
além de h(K) e θlock o token armazena também a chave
de permutação, kper , para que o usuário possa aplicar
a mesma permutação na fase de regeneração.
o código íris amostra θsam , passa pelos mesmos meca′
nismos e então o código íris amostra modificado, θsam
,
é combinado com θlock na fase de verificação, i.e.,
′
′
′
∗
θlock ⊕ θsam
= θref
⊕ θps ⊕ θsam
= θps
.
(10)
O mecanismo de permutação do código íris é usuário
dependente pois uma chave de permutação de 198 dígitos,
kper , é gerada para cada usuário e é esta chave que determina
como o código íris é permutado. Como consequência, se o
usuário é genuíno a mesma permutação é aplicada tanto na fase
de registro quanto na fase de reconhecimento e, portanto, erros
não são adicionados. Porém, se um impostor usa sua chave de
Codificação
Chave criptográfica
gerada aleatoriamente
K
q ref
Q
RS e
Hadamard
codificação
Permutação
kk
34
q ref
qps
Decodificação
Smart card
qqlock
h(K), Llock
ek
per
qlock
q'
q ps*
q'ref
q'
q'sam
Inserção
de zeros
Inserção
de zeros
Hadamard
e RS
decodificação
qsam
Chave recuperada
K'
Permutação
kk
per
q sam
Q
per
Fig. 7. Sistema de Regeneração de Chave introduzido em [23] que utiliza
três fatores de autenticação (cartão magnético, íris e senha).
permutação, o código é permutado de forma distinta na fase
de reconhecimento e erros são adicionados. Desta forma, a
separação entre a distribuição das distâncias de Hamming normalizadas entre usuários legítimos e impostores é aumentada,
o que é traduzido em maior distinção entre usuários legítimos
e impostores, melhorando assim o desempenho biométrico do
sistema.
Genuíno
Impostor
Min=0,08
Max=0,49
Média=0,24
Desv.P. =0,06
Min=0,30
Max=0,53
Média=0,43
Desv. P. =0,021
(a)
Impostor
Genuíno
Min=0,08
Max=0,49
Média=0,24
Desv.P. =0,06
Min=0,40
Max=0,53
Média=0,47
Desv. P. =0,013
B(b)
Fig. 8. Distribuição das distâncias de Hamming para usuários legítimos e impostores na base de dados NIST-ICE, experimento Exp-1 (a) sem permutação
usuário dependente e (b) com permutação usuário dependente.
Já o mecanismo de inserção de zeros permite ajustar o
número de erros à capacidade de correção do código. Ao se
adicionar zeros, similaridades são inseridas, não produzindo
erros. Desta forma, a quantidade de erros continua a mesma,
porém a quantidade de erros por bloco diminui.
Suponha que existem t erros no vetor binário θsam , cujo
comprimento de bloco é p dígitos. Como mencionado anteriormente, θps é um vetor binário com comprimento de bloco
n dígitos. Se n = p então o código de Hadamard precisará
lidar com a fração t/p de erros. Entretanto, caso n > p e para
a diferença n−p seja tomado o valor q, i.e., n−p = q, então os
mesmos t erros estarão espalhados e agora aparecerão para o
código de Hadamard como uma fração t/n = t/(p + q) < t/p
em média. Resulta assim que se no máximo 25% dos bits
em cada palavra-código estiverem em erro, eles poderão ser
corrigidos, e assim todos os t erros poderão ser corrigidos.
O código íris usado em [23] é extraído usando OSIRIS e tem
1.188 dígitos. São inseridos dois zeros a cada três dígitos e há
um truncamento que faz com que o código íris modificado
tenha comprimento 1.952 dígitos. Os parâmetros do CCE
foram escolhidos tal que k = 5, i.e., m = 6. Observe que
o código de Hadamard tem capacidade de correção tHC = 7
e uma vez que k = 5 o código pode corrigir até 7 erros em 32
7
= 32
= 21, 88%. Com a inserção de zeros,
dígitos, i.e., ntHC
HC
cada bloco de 32 dígitos conterá ı zeros, ı ∈ {12, 13, 14},
portanto ı dígitos livres de erro e 32 − ı dígitos vulneráveis a
erros. Considerando 20 dígitos vulneráveis a erros, a taxa de
correção é de 7/20, i.e., 35%. Assim, é possível lidar com a
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
TABELA III
R ESULTADOS PARA O SISTEMA PROPOSTO EM [23] NA BASE DE DADOS
NIST-ICE 2005 UTILIZANDO PERMUTAÇÃO USUÁRIO DEPENDENTE E
TÉCNICA DE CORREÇÃO DE ERROS DE CONCATENAÇÃO DOS CÓDIGOS RS
E H ADAMARD COM PARÂMETROS , RS(61, 2ts − ks , ts ) EM GF (26 ) E
HC(32, 6, 16).
t
11
14
15
ICE-Exp1
FAR %
FRR %
0,00
2,48
0,06
1,04
0,10
0,76
Key length
234
198
186
ICE-Exp2
FAR %
FRR %
0,00
3,49
0,12
1,41
0,21
1,09
Com a adição desses dois mecanismos é possível obter
chaves criptográficas de comprimento 198 dígitos (ts = 14),
com entropia estimada de 83 bits, com FAR = 0,06% e FRR
= 1,04% na base de dados NIST-ICE 2005 Exp1.
3) Sistema de regeneração de chave proposto por Camara
et al.[25]: Uma proposta mais recente [25] substitui os dois
mecanismos introduzidos em [23] por um único mecanismo
capaz de melhorar o desempenho biométrico ao separar mais
as curvas de distribuição de distâncias de Hamming de
usuários legítimos e impostores, e ajustar a quantidade de
erros à capacidade de correção da técnica de correção de
erro aplicada. De fato o mecanismo de inserção de dígitos
aleatórios entre os dígitos dos códigos íris foi capaz de separar
totalmente as curvas de distribuição de distâncias de Hamming
normalizadas de usuários legítimos e impostores (e.g. Fig.10).
Além disso, melhores resultados com relação à entropia, FAR
e FRR foram obtidos, e.g., foi possível regenerar chaves de
comprimento 287 dígitos com FAR = 0% e FRR = 0,34% na
base de dados NIST-ICE 2005 (Tabela IV).
O sistema de regeneração de chave, que também faz uso
da concatenação dos códigos RS e Hadamard como técnica
de correção de erros, é ilustrado na Fig. 9. O sistema de
regeneração de chave em questão é do tipo multi-instância, i.e.,
o sistema faz uso dos dois olhos do usuário para regenerar a
chave criptográfica. Neste sistema, para cada usuário é gerado
um vetor binário de forma aleatória, Rand_num. Os dígitos
desse vetor são inseridos, de forma o mais uniforme possível,
entre os dígitos do vetor binário resultante da concatenação dos
códigos íris extraídos dos olhos direito e esquerdo do usuário,
θref1 e θref2 , resultando no código íris de referência modifi′
. Este procedimento é repetido na fase de verificação.
cado θref
Portanto, o token armazena θlock , h(K) e Rand_num para
este sistema.
Chave criptográfica
gerada aleatoriamente
K
qref1
q ref2
Codificação
RS e
Hadamard
codificação
Concatenação
qref
qps
q'ref
Inserção uniforme
de bits
Rand_num
h(K), Llock
e Rand_num
10000
usuários legítmos
Impostores
Min=0,0464
Max=0,3199
Média=0,1810
Variância=0,0025
8000
6000
Min=0,4319
Max=0,5305
Média=0,4774
Variância=1,6085e−04
4000
2000
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
HD norm
Decodificação
Smart card
qqlock
A inserção de Rand_num proporciona ao sistema:
(a) Melhoria do desempenho biométrico do sistema: Como
cada usuário possui um Rand_num distinto, quando o
usuário legítimo usa seu Rand_num nas posições prédefinidas nenhum erro é introduzido porém, se um impostor usa seu Rand_num, o código íris modificado tem
alguns dígitos diferentes nas posições pré-definidas e erros
são introduzidos. Desta forma, a separação entre as curvas
de distribuição das distâncias de Hamming normalizadas
entre usuários legítimos e impostores é aumentada, melhorando assim o desempenho biométrico do sistema (Fig.
10).
(b) Revocabilidade: Apenas a sequência binária gerada a
partir da combinação do código íris com Rand_num, i.e.,
o código íris modificado, é capaz de liberar a chave criptográfica, K. No caso de comprometimento do template o
mesmo pode ser revogado alterando-se Rand_num, K e
a senha do token que armazena os dados.
(c) Ajustando a quantidade de erros: Usuários legítimos
introduzem os dígitos binários gerados aleatoriamente nas
mesmas posições durante as fases de registro e verificação,
nestas posições os dígitos inseridos não contribuem com
erros. Esta inserção de dígitos torna possível ajustar o
número de erros à capacidade de correção de erro do CCE
considerado. Ao inserir dígitos de Rand_num, entre os
dígitos do código íris do usuário legítimo, o número total
de erros permanece o mesmo, mas o número de erros por
bloco diminui.
Vários experimentos foram feitos considerando diferentes parâmetros dos códigos e diferentes comprimentos de
Rand_num. Os valores que mostraram melhor desempenho
biométrico e maior comprimento de chave foram ns =
61, m = 7 e ∥Rand_num∥ = 1.528 dígitos, em que dois
dígitos binários de Rand_num são inseridos a cada três
dígitos, nos primeiros 2.208 dígitos de θref e um dígito binário
de Rand_num é inserido a cada três dígitos nos próximos 168
dígitos de θref , resultando em um código íris modificado de
comprimento 3.904 dígitos.
count
quantidade de erros presentes usualmente nos códigos íris.
Assim como em [17], ts foi variado durante os experimentos observando qual valor resultaria em melhor desempenho
biométrico e maior comprimento de chave. Alguns dos resultados obtidos estão apresentados na Tabela III.
35
q lock
q'
q ps*
Hadamard
e RS
decodificação
q'
q'sam
Inserção uniforme
de bits
qsam
Chave recuperada
K'
Concatenação
q sam
qqsam12
Fig. 10. Distribuição de distâncias de Hamming normalizadas para usuários
legítimos e impostores na base de dados Biosecure, para um sistema multiinstância inserindo 1.528 dígitos gerados aleatoriamente entre os dígitos do
códigos íris.
Rand_num
Fig. 9. Sistema multi-instância de regeneração de chave usando smart card,
íris e senha.
A Tabela IV mostra os resultados em termos de FAR,
FRR e comprimento de chave criptográfica, ∥K∥, obtidas em
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
experimentos feitos nas bases de dados CBS e NIST-ICE 2005.
Nestes experimentos (descritos na Seção V) os parâmetros
para os CCE foram ns = 61, m = 7, com ts variando a
fim de observar qual valor resultaria em melhor desempenho
biométrico e maior comprimento de chave. Por exemplo, para
ts = 10 observou-se que das 6.229 comparações entre usuários
legítimos ocorreram 21 falsas rejeições pois a taxa de erro
ultrapassou 31,93%, i.e., a taxa de correção para a técnica de
correção usada foi de 31,93%.
TABELA IV
R ESULTADOS EM TERMOS DE FAR, FRR E COMPRIMENTO DA CHAVE
CRIPTOGRÁFICA , ∥K∥, NAS BASES DE DADOS CBS E NIST-ICE 2005. A
FAR OBTIDA É SEMPRE ZERO PARA TODOS ESTES TESTES .
DATABASE
Biosecure V1
Casia V2
NIST-ICE
ts
FRR(%)
∥K∥
10
11
12
13
1,03
0,60
0,17
0,13
287
273
259
245
10
11
12
13
0,67
0,23
0,13
0,10
287
273
259
245
10
11
12
13
0,34
0,16
0,11
0,05
287
273
259
245
A próxima seção fornece informações detalhadas sobre
as bases de dados utilizadas e os experimentos feitos pelos
sistemas de regeneração de chave de Kanade et al. [23] e de
Camara et al. [25]. Além disso, é apresentada uma análise
de segurança para todos os sistemas de regeneração de chave
comentados na Seção IV.
V. BASES DE DADOS ,
EXPERIMENTOS E ANÁLISE DE
SEGURANÇA
Os testes feitos para o sistema de Hao et al. [17] envolveram
o uso de uma base de dados proprietária e já foram descritos
na Seção IV-A1.
A. Bases de dados e experimentos
Os experimentos com os sistemas introduzidos em [23]
e [25], e comentados, respectivamente, nas Seções IV-A2 e
IV-A3, foram feitos usando bases de dados públicas aqui
apresentadas. Os experimentos iniciais para ambos os sistemas
foram feitos nas bases de dados Casia-Biosecure (CBS) [27,
Capítulo 3] a fim de definir os parâmetros para os experimentos na base de dados maior, a base de dados NIST-ICE 2005
[36].
1) Base de dados CBS: Formada por duas bases de dados,
CBS-Biosecure V1 e CBS-Casia V2, cada uma contendo
20 imagens de cada olho de 30 indivíduos, i.e., 1200
imagens.
2) Base de dados NIST-ICE 2005: Consiste de 2.953
imagens de 244 olhos distintos. Subdividindo-se essa base
em:
36
a. Exp-1: 1.425 imagens de olhos direitos de 124
usuários.
b. Exp-2: 1.528 imagens de olhos esquerdos de 120
usuários.
Em [23], para cada uma das bases de dados CBS foram
feitas 6.000 comparações entre usuários legítimos e 6.000
comparações entre impostores. Para a base de dados NIST-ICE
2005 dois experimentos foram considerados. Para olhos direitos (Exp1) foram feitas 12.214 comparações entre usuários
legítimos e 1.002.386 comparações entre impostores, e para
olhos esquerdos (Exp2) foram feitas 14.653 comparações entre
usuários legítimos e 1.151.975 comparações entre impostores.
Como o sistema introduzido em [25] é multi-instância, os
experimentos foram feitos de modo a casar os pares de olhos.
Desta forma, na base CBS foram feitas 27.000 comparações entre usuários legítimos e 27.000 comparações entre
impostores∥ . Na base de dados NIST-ICE 2005 foram feitas
56.061 comparações entre usuários legítimos e 3.699.108
comparações entre impostores. Os resultados obtidos a partir
desses experimentos encontram-se nas Tabelas III e IV.
B. Análise de segurança
A mesma análise de segurança é considerada para os três
sistemas apresentados na Seção IV. Considere inicialmente
o sistema introduzido por Hao et al. [17] e apresentado em
IV-A1. Suponha que θlock (5) é obtido pelo inimigo, i.e., o
ou-exclusivo da chave com redundância, θps , e do código íris,
θref . Sabe-se que existem correlações na íris. O ponto crítico,
ainda em aberto, é se essas correlações juntamente com as
correlações introduzidas pelo processo de correção de erros
podem ser exploradas com vantagem. A fim de definir uma
cota inferior para a dificuldade do inimigo liberar a chave
tendo acesso a θlock , Hao et al.[17] consideraram o pior caso
assumindo que o inimigo tem conhecimento completo sobre
as correlações no código íris.
Como visto na Seção II-A2, dado que o comprimento do
código íris é ||θ|| e apenas N desses dígitos são considerados
independentes, se as correlações da íris forem conhecidas basta
o inimigo conhecer os N dígitos independentes para chegar ao
código íris completo. Em particular, essa aproximação é válida
ao se considerar um sistema de reconhecimento por íris. No
caso específico de um sistema de regeneração de chave, devese levar em conta também o fato de que a palavra-código
θps é combinada com o código íris do usuário. Portanto,
a redundância inserida pelo processo de correção de erro
também deve ser considerada como fator que reduz a entropia
do código íris. Assim, a cota de Hamming se mostra uma
ferramenta útil, a fim de estimar quantos bits de informação
de fato o inimigo precisa para chegar à chave criptográfica K.
Desta forma, Hao et al. [17] estimaram a entropia usando a
cota de Hamming considerando
M
≥
2N
w (
∑
i=0
∥ Foram
N
i
)≃(
2N
),
N
w
(11)
feitos deslocamentos cíclicos à direita e à esquerda nas imagens
da íris normalizada a fim de eliminar efeitos de rotação na base de dados.
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
em que M denota o número de N -uplas, N denota o grau-deliberdade do código íris estimado pelo procedimento apresentado em [33, pág. 283] (2), w = nt × N , em que nt é a taxa
de correção do CCE.
Portanto pelos dados fornecidos em [17] ao considerar que
o grau de liberdade da íris é N = 249 e que o esquema de
codificação usado permite que 27% dos erros sejam corrigidos,
o inimigo estaria tentando encontrar um vetor de 249 dígitos a
uma distância de Hamming da chave K igual a 67.
cota
)
( Pela
de Hamming [28, pág. 19] com N = 249 e w = nt × N =
0, 27 × 249 = 67 em (11) o inimigo necessitaria testar pelo
menos M = 244 249-uplas para obter K. Em outras palavras
a entropia de chave K é no mínimo de H(K) = 44 bits.
Aplicando a mesma análise ao sistema proposto por Kanade
et al. [23], dado que na base de dados do NIST-ICE 2005 Exp1
os códigos íris extraídos usando OSIRIS possuem N = 1.172
graus-de-liberdade
e segundo informado em [23] nt = 35%,
(t)
assim w = n × z = 0, 35 × 1.172 = 410 em (11). Portanto,
o inimigo necessitaria de pelo menos 283 operações para obter
K, i.e., H(K) ≥ 83 bits.
Já para o sistema proposto em [25] a análise da distribuição
de distâncias de Hamming normalizadas para os códigos
íris modificados na base de dados NIST-ICE 2005, com
OSIRIS sendo usado na extração dos códigos íris, mostra que
N = 1.595. Como a taxa de erro alcançada é nt = 31, 93%
conclui-se por (11) que o inimigo precisa de pelo menos 2160
operações para obter K, i.e., H(K) ≥ 160 bits.
VI. C OMENTÁRIOS FINAIS
Este artigo apresenta uma abordagem tutorial sobre sistemas
que fazem a combinação biometria/criptografia possível. Uma
atenção especial foi dada aos sistemas de regeneração de
chaves, os quais utilizam CCE para lidar com a inerente
natureza ruidosa da biometria. Tais sistemas proporcionam
uma combinação biometria/criptografia capaz de manter a
privacidade dos dados biométricos, assim como gerar chaves
criptográficas fortemente ligadas ao usuário, permitindo revocabilidade de chave e diversidade de chave.
Alguns sistemas de regeneração de chaves atuais foram
apresentados com o intuito de ilustrar a técnica e a importância
de CCE para a mesma. Em particular, o sistema introduzido
em [25] apresentou os melhores resultados, podendo regenerar
chaves de comprimento 287 dígitos e entropia estimada de 160
bits, com FAR = 0% e FRR = 0,34%. Os bons resultados obtidos em [25] se devem ao fato da técnica de inserção de dígitos
aleatórios ter reduzido pouco o grau-de-liberdade da íris e com
uma taxa de correção de erros de 31,93% ter obtido níveis
baixos de FAR e FRR. É importante, no entanto, continuar com
a busca de técnicas capazes de manter N o mais alto possível,
para que a redundância inserida pelo código não torne a
chave menos robusta do que as aplicações criptográficas atuais
necessitam. Além disso, deverá ser continuada a investigação
de técnicas de correção de erros para aplicação em sistemas de
regeneração de chaves, capazes de proporcionar a geração de
chaves longas e fortes. Recentemente, a técnica introduzida em
[25] vem sendo testada numa versão adaptada para sistemas
unibiométricos, apresentando resultados promissores.
37
AGRADECIMENTOS
O autora agradece o apoio parcial recebido do Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)
e da Fundação de Amparo à Ciência e Tecnologia do Estado
de Pernambuco (FACEPE) pelo projeto de Desenvolvimento
Científico Regional (350198/2009-8, DCR-0008-3.04/09 e
APQ-0055-3.04/09). O autor agradece o apoio parcial recebido
do CNPq, Projeto 304696/2010-2.
R EFERÊNCIAS
[1] A. K. Jain, P. Flynn and A. A. Ross, Handbook of Biometrics, Springer,
2008.
[2] B. Schneier, Applied Cryptography Second Edition: Protocols, Algorithms and Source in C, Wiley Publishing, Inc., 1996.
[3] W. Mao, Modern Cryptography - Theory & Practice, Prentice Hall
PTR, 2004.
[4] A. J. Menezes, P. C. Van Oorschot e S. A. Vanstone, Handbook of
Applied Cryptography, CRC Press Series, 1996.
[5] “Advanced
Encryption
Standard
(AES),”
Federal
Information
Processing
Standards
Publication
197,
National
Institute of Standards and Technology, November 2001,
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf.
[6] N. K. Ratha, J. H. Connell, and R. M. Bolle, “Enhancing Security and
Privacy in Biometrics-based Authentication Systems,” IBM Systems
Journal, Vol. 40, No.3, 2001.
[7] N. K. Ratha, S. Chikkerur, J. H. Connell, and R. M. Bolle, “Generating
Cancelable Fingerprint Templates,” IEEE Transactions on Pattern
Analysis and Machine Intelligence, vol. 29, no. 4, pp. 561-572, April
2007.
[8] T. E. Boult, W. J. Scheirer, and R. Woodworth, “Revocable Fingerprint Biotokens: Accuracy and Security Analysis,” IEEE Conference
on Computer Vision and Pattern Recognition, pp. 1-8, Minneapolis,
Minnesota, USA, June 2007.
[9] A. Lumini and L. Nanni, “An Improved Biohashing for Human
Authentication,” Pattern Recognition, vol. 40, no. 3, pp. 1057-1065,
March 2007.
[10] M. Savvides, B. V. Kumar and P. Khosla, “Cancelable Biometric
Filters for Face Recognition,” Proceedings of the 17th International
Conference on Pattern Recognition (ICPR04), vol. 3, pp. 922-925,
Cambridge, UK, August 2004.
[11] Y. Dodis, L. Reyzin, and A. Smith, “Fuzzy Extractors: How to Generate
Strong Keys from Biometrics and Other Noisy Data,” Proceedings of
the Eurocrypt 2004, pp. 523-540, Interlaken, Switzerland, May 2004.
[12] F. Monrose, M.K. Reiter, and R. Wetzel, “Password Hardening Based
on Keystroke Dynamics,” Proceedings of the Sixth ACM Conference on
Computer and Communication Security (CCCS), pp. 73-82, Singapore,
November 1999.
[13] F. Monrose, M.K. Reiter, Qi Li, and S. Wetzel, “Cryptographic Key
Generation from Voice,” Proceedings of the IEEE Symposium on
Security and Privacy, pp. 202-213, Oakland, California, USA, May
2001.
[14] A. Goh and D. C. L. Ngo, “Computation of Cryptographic Keys
from Face Biometrics,” Proceedings of the International Federation
for Information Processing 2003, pp. 1-13, 2003.
[15] A. B. J. Teoh, D. C.L. Ngo, and A. Goh, “Personalised Cryptographic
Key Generation Based on Facehashing,” Computers & Security, vol.
23, pp. 606- 614, 2004.
[16] Y. Chang, W. Zhung, and T. Chen, “Biometrics-based Cryptographic
Key Generation,” IEEE International Conference on Multimedia and
Expo (ICME), vol. 3, pp. 2203-2206, Taipei, Taiwan, June 2004.
[17] F. Hao, R. Anderson and J. Daugman, “Combining Crypto with
Biometrics Effectively,” IEEE Transactions on Computers, vol. 55, No.
9, pp. 1081-1088, 2006.
[18] A. Juels and M. Wattenberg, “A Fuzzy Commitment Scheme,” Proceedings of the Sixth ACM Conference on Computer and Communication
Security (CCCS), pp. 28-36, Singapore, November 1999.
[19] C. Soutar, D. Roberge, A. Stoianov, R. Gilroy, and B. V. K. Vijaya Kumar, “Biometric Encryption,” ICSA Guide to Cryptography, McGrawHill, 1999. http://www.bioscrypt.com/assets/documents/whitepapers
/Biometric_Encryption.pdf.
REVISTA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO, VOL. 2, NÚMERO 2, DEZEMBRO 2012
[20] T. C. Clancy, N. Kiyavash, and D. J. Lin, “Secure Smartcard-based
Fingerprint Authentication,” Proceeding of ACM SIGMM Workshop on
Biometrics Methods and Applications, pp. 45-52, Berkeley, CA, USA,
November 2003.
[21] A. Juels and M. Sudan, “A Fuzzy Vault Scheme,” Proc. IEEE Int. Symp.
Information Theory, p. 408, IEEE Press, Lausanne, Switzerland, 2002.
[22] J. Bringer, H. Chabanne, G. Cohen, B. Kindarji and G. Zmor, “Theoretical and Practical Boundaries of Binary Secure Sketches,” IEEE
Transactions on Information Forensics and Security, Vol. 3, No. 4, pp.
673-683, December 2008.
[23] S. Kanade, D. P. B. A. Camara, E. Krichen, D. Petrovska-Delacrétaz,
B. Dorizzi, “Three Factor Scheme for Biometric-based Cryptographic
Key Regeneration Using Iris,” The 6th Biometrics Symposium 2008
(BSYM2008), pp. 59-64, Tampa, Florida, USA, September 2008.
[24] S. Kanade, D. P. B. A. Camara, D. Petrovska-Delacrétaz, B. Dorizzi,
“Application of Biometrics to Obtain High Entropy Cryptographic
Keys,” Proceedings of World Academy of Science, Engineering and
Technology, Vol. 27, pp. 251 - 255, Hong Kong, China, March 2009.
http://www.waset.org/journals/waset/v27/v27-43.pdf
[25] D. P. B. A. Camara, J. Lemos Neto and V. C. da Rocha Jr., “Multiinstance Based Cryptographic Key Regeneration System,” SBrT2012 Simpósio Brasileiro de Telecomunicações, Brasília, DF, 2012.
[26] K. Nandakumar and A. K. Jain,“Multibiometric Template Security
Using Fuzzy Vault,” IEEE 3rd International Conference on Biometrics:
Theory, Applications, and Systems, Washington DC, USA, 2009.
[27] D. Petrovska-Délacretaz, G. Cholet, B. Dorizzi, Guide to Biometric
Reference Systems and Performance Evaluation, Springer, 2009.
[28] F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting
Codes, North Holland, 1988.
[29] S. Lin, D. J. Costello, Error Control Coding (2nd Edition), Prentice
Hall, 2004.
[30] International
Standards
for
Business,
Government
and Society - ISO/IEC JTC 1 /SC 37 Biometrics
http://www.iso.org/iso/jtc1_sc37_home (acessado em 10 de junho de
2012).
[31] A. K. Jain, A. Ross and S. Prabhakar, “An Introduction to Biometric
Recognition,” IEEE Transactions on Circuits and Systems for Video
Technology, Special Issue on Image and Video Based Biometrics, Vol.
14, No. 1, January 2004.
[32] P. Tuyls, B. Skoric and T. Kevenaar, Security with Noisy Data - Private
Biometric, Security Key Storage and Anti-Counterfeiting, Springer
2007.
[33] J. Daugman, “The Importance of Being Random: Statistical Principles
of Iris Recognition,” Pattern Recognition, vol. 36, no. 2, pp. 279-291,
February 2003.
[34] R. Viveros, K. Balasubramanian, N. Balakrishnan, “Binomial and
Negative Binomial Analogues Under Correlated Bernoulli Trials,” The
American Statistician, Vol. 48, Issue 3, pp. 243-247, 1994.
[35] “An Introduction to Information Security,” A Certicom White Paper,
1997. http://www.certicom.com
[36] National Institute of Science and Technology (NIST), “Iris Challenge
Evaluation”, 2005, http://iris.nist.gov/ice.
38

Documentos relacionados