Infra - Linux

Biometria facial na autenticação do usuário root

O comando su/sudo no sistema operacional tem a função de atribuir ao usuário os poderes administrativos. Neste documento veremos como elevar a segurança incluindo a tecnologia de biometria facial junto a senha, assim criando uma camada adicional de autenticação.

por Alessandro de Oliveira Faria



Jogo rápido: Download e instalação a partir do código fonte

Tecnologia de reconhecimento facial

É o método mais comum entre os seres humanos se reconhecerem, além de identificar podemos perceber o estado emocional de uma pessoa apenas observando sua expressão facial.

Aplicações estáticas e assistidas (onde a imagem, a iluminação ambiente e a verificação é controlada) favorece a precisão do sistema. Quando a aplicação é desassistida ou a iluminação ambiente e a imagem não são controladas, devemos aumentar o coeficiente de similaridade tornando o sistema exigente, assim obtendo resultados precisos.

Embora o reconhecimento facial seja uma tarefa simples para o ser humano, é extremamente complexo implementar esse processo em uma máquina, pois não sabemos, ao certo, como o cérebro humano realiza essa tarefa. O cérebro humano pode identificar corretamente uma pessoa a partir de sua imagem facial mesmo sobre as mais diversas condições, como variações de iluminação, observando apenas uma de suas características ou partes, e até mesmo com distorções ou deformações.

Linux: Biometria Facial na autenticação do usuário root!

O projeto pam-face-authentication

O pacote pam-face-authentication inicialmente foi projetado para trabalhar com o algorítimo eigenface para efetuar o reconhecimento facial baseada.

Algumas deficiências do eigenface alavancou a mudança para o algoritmo DCTMOD2 e LBP.

O método LBP - Padrão de Binários Locais (Local Binary Pattern) é utilizado para classificar a textura em escala de cinza da imagem. Seu valor é calculado com o valor binário de cada pixel, formando uma vizinhança linear de raio R em torno do pixel principal localizado na posição central. A seguir a ilustração mostra na prática o método:

Tabela:

Linux: Biometria Facial na autenticação do usuário root!Linux: Biometria Facial na autenticação do usuário root!

Mais informações e detalhes em: FaceRecognition at code.google.com

Download e instalação

Vamos direto ao assunto... Efetue o download com o comando wget no link especificado a seguir:

$ wget http://pam-face-authentication.googlecode.com/files/pam-face-authentication-0.2.tar.gz

Requisitos do projeto:
Descompacte o pacote com o comando "tar -zxvf" e entre na pasta recém-criada.

$ tar -zxvf ~/face/pam-face-authentication-0.2.tar.gz
$ cd pam-face-authentication-0.2/


Compile o pacote com o comando configure, make e make install:

$ ./configure
$ make
$ su

senha:
# make install

Agora, associar uma face ao usuário, utilize o aplicativo gtk-facemanager como no exemplo abaixo:

# gtk-facemanager

Linux: Biometria Facial na autenticação do usuário root!

O botão "ADD" adiciona usuário, já o botão "Remove" apaga a conta especificada. "Train Select" é o botão responsável por calcular e adicionar os dados biométricos na conta selecionada. Veja o vídeo logo abaixo:



Para incluir a autenticação através da biometria facial no comando su, basta adicionar a linha a seguir no arquivo /etc/pam.d/su:

auth sufficient pam_face_authenticate.so

O arquivo terá um conteúdo similar ao exemplo abaixo:

#%PAM-1.0
auth     sufficient     pam_rootok.so
auth     include        common-auth
auth     sufficient     pam_face_authenticate.so
account  include        common-account
password include        common-password
session  include        common-session
session  optional       pam_xauth.so

Pronto! Agora basta utilizar o comando su, após a digitação da senha será solicitado a autenticação facial como no vídeo demonstrativo.



Como sempre menciono: Colaborar atrai amigos, competir atrai inimigos...


Sobre o autor: http://www.netitec.com.br/alessandro
Alessandro de Oliveira Faria

Alessandro de Oliveira Faria - Sócio-proprietário da empresa NETi TECNOLOGIA fundada em Junho de 1996 (http://www.netitec.com.br), empresa especializada em desenvolvimento de software e soluções biométricas, Consultor Biométrico na tecnologia de reconhecimento facial, atuando na área de tecnologia desde 1986 assim propiciando ao mercado soluções em software nas mais diversas linguagens e plataforma, levando o Linux a sério desde 1998 com desenvolvimento de soluções open-source, membro colaborador da comunidade Viva O Linux, mantenedor da biblioteca open-source de vídeo captura entre outros projetos.