Biometria Não é a Solução. Será? - Parte 2
Primeiramente é importante ressaltar que eu não discordo totalmente do Fernando. Compreendo seu ponto de vista mas considero que algumas afirmações dele soaram um tanto binárias, isso é, sem as nuances que a escolha de um fator de autenticação forte exigem. Minha resposta não deve ser compreendida como uma defesa do uso de dispositivos biométricos na autenticação de websites mas um contra ponto à certas afirmações feitas por ele, dito isso, peço aos leitores que procurem não observar essa série de posts como mais uma daquelas "guerras santas tecnológicas". Tenho certeza que o Fernando concorda comigo.
Acerca da réplica dele, gostaria de comentar alguns pontos:
Discordo quando Fernando diz que "Neste caso o leitor na verdade identifica o usuário e se autentica junto ao sistema de segurança usando uma chave privada dentro do leitor. O fator de autenticação no sistema na verdade é a posse pelo usuário da chave privada armazenada dentro do leitor, e não a informação biométrica.", o que pode ser uma questão de semântica é na verdade uma questão de detalhes. Quando afirmo em meu post anterior que "O algoritmo biométrico poderia ser executado apenas no leitor, evitando transferir a imagem da digital para o PC" não é preciso presumir existência de certificados digitais e nem mesmo de criptografia. A execução do algoritmo de biometria no próprio dispositivo de leitura visa evitar que a totalidade da impressão digital seja transferida para algum outro dispositivo de processamento de forma a evitar o armazenamento das informações contidas em uma digital, talvez seja importante observar que um algoritmo de identificação de digitais não restringe-se a uma resposta binária de sim ou não, sendo capaz de prover fragmentos específicos da própria digital, os quais então podem ser transferidos para o serviço de autenticação sem maiores interações por parte do PC.
É importande deixar claro algo que Fernando percebeu em meu post anterior o fato de que "a informação biométrica também está fora do leitor". Para que o modelo comentado em meus dois posts funcione, é fundamental o cadastramento prévio das digitais em um ambiente controlado, o que pode ser visto como uma desvantagem desse tipo de solução. Ainda que conceitualmente faça sentido, em aplicações reais, a maioria dos sistemas empregando certificados digitais possuem uma base que relaciona determinado perfil de usuário à determinado certificado digital.
É natural que o mecanismo apresentado leve um especialista a perguntar, o que ocorre se um software hostil consultar o leitor de forma a obter todas as combinações possíveis de informações da digital de forma a construir um replay attack? A única forma de combater isso é estabelecer um mecanismo de autenticação entre o leitor e o próprio servidor de autenticação, daí a necessidade de um plugin no micro capaz de estabelecer esse canal entre o leitor e o servidor de autenticação. A lógica do plugin é a mesma daquele de um proxy HTTP quando lida com sessões criptografadas. O browser apenas conduz o fluxo de informações entre leitor e servidor sem interagir com as mensagens trocadas, sob o custo de invalidar a mensagem. Como sabemos, uma das formas mais simples e eficientes de se estabelecer essa comunicação segura é o emprego de um protocolo com base em chaves públicas. Note porém que entre o uso desse tipo de protocolo e a afirmação de que a autenticação é feita por uma chave privada do leitor há uma grande distância, especialmente se considerarmos que até mesmo o SSL, um dos mais conhecidos mecanismos que empregam certificados digitais oferecem a capacidade de se autenticar exclusivamente o servidor sem o uso de certificados de propriedade do cliente. Observa ainda que isso se dá sem a necessidade do uso de Next-Generation Secure Computing Base, o que significa que você ainda vai poder comprar músicas online sem se preocupar com mecanismos de DRM - ainda bem!
Não obstante, deve-se tomar extremo cuidado para não se confundir um protocolo criptográfico com um algoritmo criptográfico. Observado de forma purista, nem mesmo o RSA é capaz de resistir à um ataque de man-in-the-middle, sendo justamente por isso que o RSA é normalmente empregado em conjunto com métodos de troca de chaves, tais como PKI, web of trust, etc.
Porém, é importante observar que toda a aplicação desse tipo de mecanismos impacta diretamente no custo das soluções biométricas, muitas vezes inviabilizando sua aplicação em larga escala. Diversos fabricantes ao invés de reinventarem a roda, estão adotando uma estratégia que Fernando até comenta por alto em seus posts: o armazenamento do template biométrico em smart-cards. Porém as soluções não param por aí há até mesmo quem afirme oferecer um smartcard com o próprio sensor biométrico! (detalhe que apesar dessa empresa ter uma pinta de vaporware* as pesquisas nesse sentido continuam bem fortes, incluindo aí um anúncio por parte da Seiko Epson de um sensor com 0.2 milímetros de espessura).
Não é a toa que ao comentar em meu post anterior começo a argumentação com a seguinte frase:"Biometria não é a solução? Talvez não, talvez sim porém...". Ao publicar que "É possível garantir a confiança do equipamento e do procedimento de leitura pela Internet? De forma alguma.", Fernando comete aquilo que ao meu ver é um certo exagero. A situação atual dos dipositivos biométricos e essencialmente uma questão de custos, assim como foi a questão da adoção de smartcards pelas instituições financeiras. Porém considerando-se que a inviabilidade econômica e a tecnológica são fatores distintos, a expansão dos dispositivos biométricos depende mais da redução de custos de fabricação, aquisição e operação do que de qualquer outro.
Entretanto acredito ser adequado fazer mea-culpa e pedir desculpas ao Fernando por não ter sido objetivo no detalhamento do processo biométrico e do detalhamento de minhas idéias, creio que isso poderia ter evitado alguns equívocos por parte dele, tal como quando ele comenta minha observação sobre o erro de senhas. Não era minha idéia adotar as senhas estáticas como padrão de referência acerca da taxa de erros mas adotar uma analogia de forma a chamar a atenção de que o erro de identificação possui impacto menor em uma aplicação sem filas.
Sobre o MythBuster, faço de minhas palavras a de um leitor do Blog: "Os MythBusters fazem TV" e devem ser encarados como tal. Se a idéia é testar os dispositivos biométricos de forma mais séria, creio que é interessante prestar atenção em iniciativas mais sérias acerca do assunto. Em tempos de passaportes biométricos ninguém anda mais preocupado com isso do que o governo, academia e sociedade civil.
Mais uma vez agradeço ao Fernando pelas palavras e tempo dedicado.
* Antes de terminar, uma breve observação sobre o biometric smartcard da BAI: Durante uma pesquisa que fiz alguns anos atrás o website era quase o mesmo de hoje, com essa cara de abandonado e visto que existem muito poucas referências à empresa, eu prefiro utilizar "há quem afirme". Apesar disso existem pelo menos duas patentes acerca de fingerprint smartcards. São elas: US Patent 6325285 e US Patent 7044392