You are on page 1of 4

Integrao de Biometria usando Java e a Digital P ...

http://rafaelnaskar.blogspot.com.br/2010/02/integ...

Home

Livros

FLF

Piano

Eventos

Naskar
Tecnologia da Informao e Comunicao, Arquitetura e Desenvolvimento de Software e alguns experimentos.

Integrao de Biometria usando Java e a Digital Persona One Touch I.D. SDK
04:37 in biometria, biometria, digitalpersona, digitalpersona, griaule, griaule, java

Search

Ok
Popular Posts
Integrao de Biometria usando Java e a Digital Persona One Touch I.D. SDK Introduo One Touch SDK um kit de desenvolvimento da DigitalPersona para autenticao de impresses digitais. Simplficando, podemos r... Spring MVC e jQuery, simples e rpido O objetivo criar uma aplicao web to simples e rpida quanto possvel, assim iremos mostrar como desenvolver uma pequena aplicao web, ... Usando Vaadin com MVC Como utilizar o Vaadin em larga escala, fazendo que o seu cdigo fique limpo e sem regras de negcio na camada de interface com o

Introduo
One Touch SDK um kit de desenvolvimento da DigitalPersona para autenticao de impresses digitais. Simplficando, podemos resumir nos seguintes procedimentos: 1- Registro do Template; 2- Captura do Template; 3- Comparao do Registro com a Captura;

usurio, o...

Registro do Template a coleta de uma ou mais impresses digitais para formar um padro de template que possa ser usado para futuras comparaes (match). ela que vamos guardar em alguma base de dados. Captura do Template a coleta de uma digital para formao de um template e comparao com outro template que j temos em uma base de dados. Comparao do Registro com a Captura o processo de verificao se o Registro feito anteriormente "casa" (match) com o Capturado. (Autenticao Um para Um) Existe outro processo chamado Um para Muitos.

Integrando Vaadin com Spring em cinco minutos Vaadin um framework para criar aplicaes web ricas (RIA) que usa os componentes do GWT e mapeia os eventos para o servidor, ou seja, ab... QueryOver Specification: reusando critrios muito comum termos que duplicar partes dos critrios feitos em consultas a banco de dados para atender regras de negcio. O Specification ... Como implementar um simples avaliador de regras em Java Como implementar um conjuto de condies definidas pelo usurio de forma simples que possa ser armazenado em um banco de dados em Java ? ... Spring.AutoRegistration: Fluent Configuration for Spring .NET Spring.AutoRegistration is Fluent registration for Spring .NET, that I ported, inspired by the Unity AutoRegistration . Vdeos: OpenCV, CLanLib e LinearParticle Engine Esses so alguns vdeos dos exemplos que eu fiz para o mini-curso de Processamento de

O que necessrio ?
1- Faa o download da One Touch SDK 2- Voc vai precisar de um leitor de impresses digitais da DigitalPersona*. Utilizei o Leitor U.are.U 4000B:

Imagens.

Categories
*Caso voc j tenha leitores de outros fornecedores ou no queira utilizar os da DigitalPersona, voc ter que utilizar outras SDK como a Griaule - Fingerprint SDK, SDK, s preste ateno na questo do licenciamento.

java (5)
vaadin (2)

spring (3) .NET (2) C# (2) MVC (2)

Desenvolvimento
Para uma aplicao web, voc pode desenvolver uma applet para efetuar o registro e captura das digitais e enviar como um campo normal de texto para servidor. Essa applet tambm pode ser disponibilizada para aplicaes clientes para enviar o template no padro da sua aplicao e assim, com todos os requisitos de segurana necessrios.

Blog Archive
2012 (2) 2011 (2)

Registro do Template
Trecho para efetuar o registro da digital:

1 de 4

22-03-2014 22:11

Integrao de Biometria usando Java e a Digital P ...

http://rafaelnaskar.blogspot.com.br/2010/02/integ...

DPFPEnrollmentControl newContentPane = new DPFPEnrollmentControl(); newContentPane.addEnrollmentListener(new DPFPEnrollmentListener() { @Override public void fingerDeleted(DPFPEnrollmentEvent evento) throws DPFPEnrollmentVetoException { // ... } @Override public void fingerEnrolled(final DPFPEnrollmentEvent evento) throws DPFPEnrollmentVetoException { SwingUtilities.invokeLater(new Runnable() { public void run() { dispareAoCapturar(evento.getTemplate()); } }); evento.setStopCapture(true); } }); this.setLayout(new BorderLayout()); this.add(newContentPane, BorderLayout.CENTER);

2010 (4) Novembro (2) Fevereiro (2) Integrando Vaadin com Spring em cinco minutos Integrao de Biometria usando Java e a Digital Pe...

Currculo Lattes Nuget Github Codeplex Slideshare Soundcloud

Autor
rafael uchoa Rafael

Agora s implementar o mtodo dispareAoCapturar. Ele recebe um objeto do tipo DPFPTemplate, que tem um mtodo serialize() que retorna um array de bytes. Voc pode implementar um Listener integrando a Applet com o Javascript de um pgina e receber o evento da applet:

Tecnologia do Blogger Blogger. .

private void dispareAoCapturar(DPFPTemplate template) { if(listener != null) { listener.aoObterTemplate(Util.bytesToHex(template.serialize())); } } ... public interface TemplateListener { void aoObterTemplate(String template); } ... public class MainApplet extends JApplet implements TemplateListener { @Override public void aoObterTemplate(String template) { try { // dispando para o javascript JSObject win = JSObject.getWindow(this); win.call("aoObterTemplate", new Object[] { template }); } catch (Exception e) { // TODO: tratar exception dentro da applet e.printStackTrace(); } } }

... Pgina:

function aoObterTemplate(template) { document.getElementById("formulario:template").value = template; }

2 de 4

22-03-2014 22:11

Integrao de Biometria usando Java e a Digital P ...

http://rafaelnaskar.blogspot.com.br/2010/02/integ...

Estou transformando o array bytes em uma String no formato Hexa para melhor trafegar dentro do request e ficar mais simples a sua manipulao, mas voc pode usar qualquer outro formato (base64, decimal, etc). Nesse momento, voc tambm pode incluir algum algoritmo de encriptao no template.

Captura do Template
O mesmo pode ser feito para efetuar a captura da digital:

try { // lista de leitores instalados na maquina DPFPReadersCollection readers = DPFPGlobal.getReadersFactory() .getReaders(); // inicializa o objeto capture DPFPCapture capturer = DPFPGlobal.getCaptureFactory() .createCapture(); capturer.setReaderSerialNumber(readers.get(0).getSerialNumber()); capturer.setPriority(DPFPCapturePriority.CAPTURE_PRIORITY_LOW); // adiciona um listener para observer ao capturar uma digital capturer.addDataListener(new DPFPDataListener() { public void dataAcquired(final DPFPDataEvent e) { if (e != null && e.getSample() != null) { SwingUtilities.invokeLater(new Runnable() { public void run() { dispareAoCapturar(e.getSample()); } }); } } }); capturer.startCapture(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); }

IMPORTANTE: a linha que define a prioridade importantssimo para o que o cdigo funcione.

Comparao dos Templates


Chegando o request no servidor podemos efetuar a comparao dos templates:

public class VerificadorImpl implements Verificador { private static DPFPVerification verificator = DPFPGlobal.getVerificationFactory().createVerification(); public boolean verifique(String registrado, String capturado) { DPFPFeatureSet features = DPFPGlobal.getFeatureSetFactory().createFeatureSet(hexToBytes(capturado)); if(features != null) { DPFPVerificationResult result = verificator.verify(features, DPFPGlobal.getTemplateFactory().createTemplate(hexToBytes(registrado))); return(result.isVerified()); } else return(false); } ... }

Questes de segurana

3 de 4

22-03-2014 22:11

Integrao de Biometria usando Java e a Digital P ...

http://rafaelnaskar.blogspot.com.br/2010/02/integ...

Request - utilize alguma forma de token dentro da digital para que ela no possa ser reusada. Leitor - dentro do template tambm existem informaes sobre serial do leitor, qualidade da imagem, etc, assim voc usar esses detalhes para aumentar a segurana. Imagem capturada- houveram casos de fraude usando uma pelcula em cima do leitor, assim, utilize alguma forma de checksum da imagem com um pequeno histrico de algumas N imagens j utilizadas anteriormente, assim voc aumenta um pouco mais a segurana do template gerado.

Negcio
Qualquer sistema que se utilize de impresses digitais deve se preocupar com isenes, auditoria de isenes e o perfil das pessoas que ser utilizado essa tecnologia. Outra forma de autenticao de contigncia deve est disponvel no sistema caso a biomtrica no esteja operando, como cartes, usurio e senha, etc. Nesse exemplo estamos armazendo um template no formato proprietrio da Digital Persona, ou seja, no estamos guardando a imagem da digital e sim, um padro matemtico da imagem. Existem alguns conversores para o formato ISO, mas no disponibilizados at o momento pela Digital Persona.

Concluso
A autenticao biomtrica nos sistemas tente aumentar cada mais e entender os detalhes de implementao fundamental. Assim, de forma simplificada foi mostrado como usar uma SDK de Biometria fazendo o registro, captura e comparao dos templates. A SDK da Griaule tambm usa esse mtodo de espera de eventos do hardware, no sendo muito difcil migrar ou mesmo generalizar esse processo para outras SDK.

Referncias
Como a biometria funciona NIST ITL American National Standards for Biometrics Griaule Biometrics DigitalPersona Postado por Rafael

Postagem mais recente

Incio

Links para esta postagem


Criar um link

Copyright 2013 Naskar | Powered by Blogger


Design by ThemeShift | Bloggerized by Lasantha - Free Blogger Templates | Best Web Hosting

4 de 4

22-03-2014 22:11

You might also like