Beruflich Dokumente
Kultur Dokumente
ndice [esconder] 1 Introduo 2 Conceito 3 Download e instalao 3.1 Download 3.2 Instalao: 4.1 Autenticao biomtrica 4.3 O su e o comando sudo 4.4 A biblioteca fprint 4.5 Instalando a autenticao biomtrica:
Introduo
O pacote fprint o sonho de todo desenvolvedor de cdigo aberto. O kit de integrao permite o desenvolvimento de processos de identificao e verificao de impresses digitais. Um dos pontos fortes nesta soluo open-source, a compatibilidade com diversos modelos de sensores disponveis no mercado. Em Setembro de 2005 a doao um sensor biomtrico Microsoft fingerprint iniciou o desenvolvimento do projeto dpfp. Onde o principal objetivo, era tornar possvel o uso do mesmo na plataforma Linux (Instalando leitores de impresso digital modelo Digital Persona no Linux). Foras/projetos paralelos extraam imagens de outros sensores. Entretanto ainda nada era possvel com estas imagens. Projetos open-source para processamento da imagem foram testados, mas por vrios motivos no foi incorporado ao desenvolvimento principal. Problemas com propriedade intelectual surgiram durante a jornada de trabalho. Aps algum tempo, o projeto foi retomado como um trabalho Universitrio, mais adiante publicado como Open-Source.
Conceito
A impresso digital composta de linhas formadas pelas elevaes da pele. A comparao por impresso digital um mtodo utilizado a mais de mil anos como forma de identificao de usurios. uma caracterstica nica entre os seres
humanos, inclusive entre irmo gmeos univitelinos. Formada ainda quando feto, a impresso digital acompanha a pessoa por toda a sua existncia sem apresentar grandes mudanas. Extraindo os pontos caractersticos ou ponto de mincias de uma impresso digital, um papiloscopista ou sistemas computadorizados podem identificar pessoas utilizando clculos bastantes confiveis. So vrios os tipos de impresses digitais, abaixo algumas imagens de diferentes digitais:
Grande parte dos algoritmos trabalham com o princpio de extrao dos pontos de mincias ou pontos caractersticos. Aps a extrao so calculados a relao entre as distncias destes pontos, cada algoritmo possui a sua base de clculo, seja por anlise dos pontos entre si ou por agrupamentos de pontos para anlise de semelhanas de tringulos com os ngulos internos.
Sensores biomtricos suportados pela biblioteca libfprint esto disponveis em: http://www.reactivated.net/fprint/wiki/Supported_devices Composio do pacote: libfprint: Biblioteca para desenvolvimento e integrao em sistemas; pam_fprint: Pacote utilizado para autenticao e login em sistemas Linux; fprint_demo: Aplicativo para fins demonstrativo da libfprint; fprintd: Daemon (servio) que utiliza o D-Bus (comunicao inter-processo) para facilitar a comunicao da libfprint com diversos aplicativos concorrentes.
Download e instalao
Download
Abaixo os links para download do cdigo-fonte, pacotes para o OpenSuse e Ubuntu. Neste documento trabalharemos a partir da compilao do cdigo fontes para compatibilizar o mximo possvel as instrues para qualquer distribuio. Cdigo fonte (utilizado neste documento): http://ufpr.dl.sourceforge.net/sourceforge/fprint/fprint_demo0.4.tar.bz2 (exemplo no modo grfico)http://ufpr.dl.sourceforge.net/sourceforge/fprint/libfprint-0.0.6.tar.bz2 (fontes da biblioteca) Pacotes OpenSuse: Os usurios openSUSE podem selecionar diretamente os pacotes no yast como na figura abaixo dispensando o download, compilao e instalao a partir dos fontes.
Instalao:
Aps o download, devemos descompactar e extrair os arquivos fontes. Utilize o comando "tar -jxvf" como abaixo . Entre na pasta criada pelo comando tar (libfprint-0.0.6) e execute o comando "./configure" para configurar as diretivas de compilao para o seu ambiente.
$ tar -jxvf libfprint-0.0.6.tar.bz2 $ cd libfprint-0.0.6 $ ./configure
Execute o comando "make" para efetuar a compilao na ntegra, a seguir transforme-se em super-usurio para efetuar a instalao da bibliotecas atravs do comando "make install" seguido do "ldconfig" conforme as instrues abaixo.
$ make $ su Senha: $ make install $ ldconfig
Para finalizar este pacote, entre na pasta "example" e execute o comando "make" para compilar os cdigos exemplos.
$ cd examples/ $ make
A compilao dos exemplos criar na pasta corrente programas para capturar a imagem do sensor, calcular o template biomtrico e verificao da digital em tempo real. Antes de executar quais quer um dos programas acima, em primeiro lugar plugue o sensor e execute o comando "dmesg" para constatar se tudo esta funcionando corretamente. Abaixo o resultado do comando ao plugar o meu sensor U.ARE.U 4000B.
$ dmesg usb 3-1: new full speed USB device using uhci_hcd and address 2 usb 3-1: new device found, idVendor=05ba, idProduct=000a usb 3-1: new device strings: Mfr=1, Product=2, SerialNumber=3 usb 3-1: Product: U.are.U 4000B Fingerprint Reader usb 3-1: Manufacturer: DigitalPersona, Inc. usb 3-1: SerialNumber: {BB353718-DFA3-B74C-A883-B8419AA53934} usb 3-1: configuration #1 chosen from 1 choice
Para capturar imagens do sensor de impresso digital, basta executar o programa "img_capture" e logo aps a mensagem encoste o dedo no sensor. Duas imagens sero geradas no disco (finger.pgm e finger_standardized.pgm). Veja a seguir o exemplo:
$./img_capture Found device claimed by Digital Persona U.are.U 4000/4000B driver Opened device. It's now time to scan your finger.
Para cadastrar e calcular o template da sua impresso digital, execute o programa enroll como no exemplo abaixo:
$ ./enroll This program will enroll your right index finger, unconditionally overwriting any right-index print that was enrolled previously. If you want to continue, press enter, otherwise hit Ctrl+C ound device claimed by Digital Persona U.are.U 4000/4000B driver Opened device. It's now time to enroll your finger. You will need to successfully scan your finger 1 times to complete the process. Scan your finger now. Wrote scanned image to enrolled.pgm Enroll complete! Enrollment completed!
O programa "verify_live" tem a funo de efetuar continuamente a verificao da impresso digital aps o usurio encostar o dedo no sensor. Execute o programa para verificar a funcionalidade seguindo as instrues abaixo:
$ ./verify_live Found device claimed by Digital Persona U.are.U 4000/4000B driver Opened device. It's now time to enroll your finger. You will need to successfully scan your finger 1 times to complete the process. Scan your finger now. Enroll complete! Enrollment completed! Normally we'd save that print to disk, and recall it at some point later when we want to authenticate the user who just enrolled. In the interests of demonstration, we'll authenticate that user immediately. Scan your finger now. MATCH! Verify again? [Y/n]? Y Scan your finger now. MATCH! Verify again? [Y/n]? n
O su e o comando sudo
Em diversas situaes precisamos executar uma tarefa ou comando permitido apenas ao usurio root. Um opo eficaz e segura utilizar o comando su ou sudo. Ao digitar o comando su no terminal, ser solicitada a senha do usurio root. Logo a seguir todas as operaes podem ser efetuadas como usurio administrador. Ao trmino basta executar o comando exit e voltaremos a operar com o login utilizado anteriormente. O comando sudo um recurso similar, porm interessante e mais abrangente, pois possvel definir quais usurios poder utiliz-lo. Detalhes sobre o comando SU/SUDO no so o escopo deste texto, sendo assim sugiro algumas pesquisas na internet para mais informaes.
A biblioteca fprint
O pacote fprint o sonho de todo desenvolvedor de cdigo aberto. O kit de integrao permite o desenvolvimento de processos de identificao e verificao de impresses digitais. Um dos pontos fortes nesta soluo open source a compatibilidade com diversos modelos de sensores disponveis no mercado.
prximo passo efetuar o cadastramento biomtrico da sua impresso digital. Se concludo com sucesso esta tarefa, no prximo login o usurio, alm da senha, dever fornecer a sua impresso digital para ter acesso ao sistema. O programa pam_fprint_enroll responsvel pelo cadastramento das impresses digitais. Para entender melhor a sintaxe, digite "pam_fprint_enroll --help" e constataremos que devemos informar o nmero correspondente ao dedo utilizado para cadastro.
$ pam_fprint_enroll --help Usage: ./pam_fprint_enroll options -h --help Display this usage information. -f --enroll-finger index Enroll finger with index. Valid indexes are: 1 - Left Thumb 2 - Left Index Finger 3 - Left Middle Finger 4 - Left Ring Finger 5 - Left Little Finger 6 - Right Thumb 7 - Right Index Finger 8 - Right Middle Finger 9 - Right Ring Finger 10 - Right Little Finger
No meu caso utilizei o nmero 7 representando o dedo indicador da mo direita. Ao executar o programa, pressione a tecla [ENTER] e encoste o dedo no leitor de impresso digital. Pronto! Nesta fase, ao efetuar o login, o seu sistema operacional solicitar a senha seguida da autenticao biomtrica.
$ pam_fprint_enroll --enroll-finger 7 This program will enroll your finger, unconditionally overwriting any selected print that was enrolled previously. If you want to continue, press enter, otherwise hit Ctrl+C Found device claimed by Digital Persona U.are.U 4000/4000B driver Opened device. It's now time to enroll your finger. You will need to successfully scan your Right Index Finger 1 times to complete the process. Scan your finger now. Enroll complete! Enrollment completed!
Se tudo estiver funcionando corretamente, aps o comando su ser solicitada a autenticao biomtrica e a senha de root. Ou seja, implementamos uma terceira camada de autenticao com a impresso digital do usurio. A seguir o vdeo apresenta a tecnologia open source fprint (leitura de impresso digital) integrado ao comando SU na plataforma Linux.
A biblioteca fprint proporciona inmeros recursos alm dos mencionados neste documento, para um estudo detalhado sobre o assunto, sugiro algumas leituras no site oficial do projeto fpint e outros disponves na internet... Concluso: "O prximo grande salto evolutivo da humanidade ser a descoberta de que cooperar melhor que competir" Sendo assim, como sempre menciono... Colaborar atrai amigos, competir atrai inimigos... Sobre o autor: (Alessandro de Oliveira Faria A.K.A.CABELO )