Olá, pessoal! Hoje vou falar sobre a biblioteca open source para o desenvolvimento de aplicativos utilizando biometria no Linux.
O projeto fprint visa preencher uma lacuna presente hoje nos desktops Linux: o suporte para dispositivos de leitura de impressão digital. Antes deste projeto, o suporte a tais dispositivos estava espalhado entre vários projetos (a grande maioria deles, incompletos) de forma bastante desorganizada, de forma que o desenvolvedor tinha que implementar o suporte para cada um dos dispositivos de maneira separada. O projeto tem como objetivo fornecer suporte a todos os dispositivos que a equipe de desenvolvimento tiver acesso (que promessa, hein!).
O projeto é dividido em 3 vertentes:
- libfprint: é o núcleo do projeto, onde reside o trabalho pesado, que é conversar com os dispositivos e processar os dados. É a parte que mais interessa a nós programadores.
- módulo PAM (Pluggable Authentication Module): fornece integração da libfprint com projetos já existentes. Por exemplo, você pode fazer login no seu sistema Linux utilizando sua impressão digital ao invés da sua senha.
- fprintd: um daemon que fornece a funcionalidade de escanear impressões digitais através de D-Bus.
Hoje, a biblioteca, que se encontra na versão 0.4.0 fornece suporte a uma boa quantidade de leitores, dentre eles:
- F3Sv Laptop (ASUS)
- F1F Tablet (ASUS)
- Z37E Laptop (ASUS)
- SmartTerminal SFR-1244U (Cherry)
- Alya (Covardis)
- Atria (Covardis)
- U.are.U 4000 Reader (Digital Persona)
- U.are.U 4000B Reader (Digital Persona)
- U.are.U Fingerprint Keyboard (Digital Persona)
- FP-Sensor S26381-K342-V1 (Fujitsu-Siemens)
- Lifebook S7110 (Fujitsu-Siemens)
- 2510p, 6510b, 6710b, 6910p, 8710w, nc6400, nx6125, nx6325 e nw9440 (HP)
- Pavilion dv6640ew, HDX9494nr, tx1302au e tx2108ca (HP)
- Thinkpad T43p, T61 e X41 (IBM)
- V100, 3000 N100 e Thinkpad R61i (Lenovo)
- MD85264 (Medion)
- Leitor biométrico / teclado (Microsoft)
- 100 XS (Precise Biometrics)
- P35 e X65 (Samsung)
- SZ61VN (Sony)
- Pangolin (System76)
- PA460U DEFCON Authenticator (Targus)
- A-105 (Toshiba)
- Eikon (UPEK)
- 5thSense (Veridicon)
- XM550 e XM570 (Verinex)
Como pode ser percebido, a biblioteca já conta com uma boa quantidade de dispositivos. Além disso, o projeto encontra-se ativo e periodicamente conta com a adição de novos dispositivos.
Neste post, mostrarei como instalar a biblioteca no Ubuntu. Primeiramente, vamos baixar o código-fonte para compilar neste link. O Ubuntu tem a biblioteca em seus repositório, porém na versão 0.0.6. Vamos instalar a versão mais recente (no momento em que escrevo este post, versão 0.4.0).
Antes de compilarmos a biblioteca, é necessário instalarmos as suas dependências. Abra um terminal no Ubuntu e digite:
sudo apt-get install libglib2.0-dev libssl-dev libcrypto++-dev libusb-dev libusb-1.0.0-dev imagemagick libmagick++-dev
Após a instalação dos pacotes, descompacte os arquivos e execute os conhecidos comandos para a instalação da biblioteca:
./configure make sudo make install
Pronto! Se tudo correu nos conformes, a biblioteca já deve estar instalada em seu sistema. Para testar, abra o Gedit ou qualquer editor de texto e digite o seguinte código:
#include <libfprint/fprint.h> #include <stdio.h> int main(void) { fp_init(); fp_exit(); return 0; }
Para compilar:
gcc -lfprint -oexecutavel main.c
Pronto! Em um outro post eu mostro como realizar operações de autenticação com a biblioteca. Até lá!