Autenticação multifator

A autenticação multifator é algo que tem se popularizado rapidamente nos sistemas de internet banking (transações bancárias pela internet) e outras aplicações de identidade digital no Brasil e no mundo.

Espero que com esse artigo você tenha uma visão prática e abrangente dos fatores de autenticação, um aspecto da segurança que a maioria das pessoas utiliza de alguma forma em seu dia a dia.

Vamos começar definindo autenticação e seus fatores.

Autenticação

Autenticação, no âmbito da segurança digital, é o procedimento que confirma a legitimidade do usuário que realiza a requisição de um serviço, para o controle de acesso identificado. Este procedimento é baseado na apresentação de uma identidade junto com uma ou mais credenciais de confirmação e verificação.

Na definição objetiva de Wel. R. Braga, o processo de autenticar usuários consiste em determinar se um usuário é quem ele afirma ser.

A identidade ou identificador do usuário pode ser um nome criado especificamente para determinado ambiente, serviço ou aplicação, que se costuma denominar login ou logname. O login pode ser textual (um codinome) ou numérico (similar a um número de identidade).

Em algumas situações, pode-se aproveitar um identificador que o usuário já possui como login. Logins textuais muitas vezes permitem que se utilize o nome de uma conta de e-mail do usuário. Logins numéricos podem utilizar um número de documento de identidade como CPF, número do título de eleitor, RG, número de registro profissional (OAB, CRM, CREA etc.), número de inscrição do usuário no serviço, matrícula funcional etc.

Para confirmar a credencial, usa-se um elemento que deve casar unicamente com o identificador do usuário. É aí que entra o fator de autenticação.

Os fatores de autenticação para humanos são normalmente classificados em três casos:

  • algo que o usuário sabe: senha, PIN (número de identificação pessoal), frase de segurança ou frase-passe, que normalmente deve ser apenas memorizada e não escrita, para garantir o segredo que torna o fator seguro;
  • algo que o usuário possui/tem: certificado digital A3 (token ou smart card), cartão de códigos numéricos, token de segurança (gerador eletrônico de senhas únicas temporais), token por software, códigos enviados por telefone celular (SMS) etc.;
  • algo que o usuário é: impressão digital, padrão de retina, sequência de DNA, padrão de voz, padrão de vasos sanguíneos, reconhecimento facial, reconhecimento de assinatura, sinais elétricos unicamente identificáveis produzidos por um corpo vivo, ou qualquer outro meio biométrico.

A autenticação mais comum é a combinação de login e senha, ou seja, utilizando apenas um fator. A senha memorizada, contudo, tem sua fragilidade. Tanto a identificação (login) quanto a senha (este fator “algo que você sabe”) podem ser revelados ou descobertos, permitindo a fraude de utilização ilegítima de identidade de uma pessoa por outra. Pode ainda ser esquecida, causando transtornos ao usuário, pois exigirão alguma forma de redefinição ou reposição de uma nova senha.

Por isso, bancos e outras instituições têm cada vez mais recorrido à utilização de mais um fator, como veremos na seção seguinte.

Referências:

Fatores de autenticação e aplicações bancárias

Vistos os conceitos básicos, vamos comentar os fatores de autenticação exemplificados por sua utilização pelos bancos, em caixas eletrônicos e, principalmente, nas aplicações de internet banking.

O cartão magnético sempre foi utilizado pelos bancos. Além de armazenar a identificação numérica do usuário (banco, agência e conta), que é automaticamente lida nos caixas eletrônicos, ele é um fator de autenticação física do tipo “algo que você possui”. É combinado com a senha do cartão, fator do tipo “sabe”.

Com o aumento das fraudes e golpes em caixas eletrônicos, desde malfeitores próximos que observavam a senha digitada até o uso de equipamentos eletrônicos de fraude instalados nos caixas, os bancos começaram a inovar.

Algo que você sabe

Primeiro, vieram as técnicas de fornecimento indireto da senha. Menus de escolha mostrando mais de um dígito em cada opção. Isso faz com que um observador não saiba qual dos dígitos de cada opção é o da senha, sem reduzir a segurança — em termos matemáticos, em uma senha de 6 algarismos, escolhê-los em pares reduz as possibilidades de 10 dígitos para 5 pares, mas cada escolha (par) contém 2 opções de dígitos, então 106 = 56 * 26 = 1 milhão.

Depois, veio o uso de mais de um fator na autenticação, o que caracteriza a chamada autenticação multifator que intitula este artigo. Primeiro, a criação de mais de uma senha, como senha do cartão, senha eletrônica de internet, senha de telefone, código mnemônico de letras. Em internet banking, o banco costuma solicitar uma senha eletrônica para autenticar no início, e depois pede a senha do cartão para confirmar uma transação bancária.

Ainda assim, os fatores do tipo “sabe” têm o problema de serem basicamente um segredo único memorizado, que pode ser descoberto involuntariamente, ou mesmo repassado voluntariamente. Saber algo não é um fator intrinsecamente único e individual. Ainda tem o problema de que quando são escolhidos pelo próprio usuário, este pode por comodidade ou preguiça escolher para senha um dado comum (como usar uma data de aniversário como senha numérica) e que pode ser conhecido por outras pessoas.

Algo que você possui

Então, os bancos passaram a acrescentar um fator do tipo “possui”. O fator desse tipo costuma ter o objetivo de transpor códigos que antes eram escolhidos e memorizados para dispositivos que transportam códigos seguros.

O primeiro fator desse tipo costuma ser o cartão de códigos. Um cartão impresso com vários códigos numerados (em geral, são 50 a 70 códigos de três ou quatro dígitos) é fornecido pelo banco e, na autenticação ou confirmação de uma transação, ele solicita um desses códigos. Bancos como Bradesco, Itaú e Real utilizam este fator. As fraudes sobre esses cartões são mais fáceis do usuário identificar, pois em geral solicitam que o usuário forneça todos os códigos numéricos do cartão ao mesmo tempo, e não apenas um por vez como o banco faz. O caso típico desse tipo de fraude é se travestir de uma operação de recadatro ou confirmação de segurança do próprio banco.

Outro fator que alguns bancos passaram a utilizar foi um dispositivo físico de geração de senhas únicas a intervalos de tempo. Tecnicamente conhecidos como dispositivos OTP (one time password), eles funcionam assim: em um mecanismo eletrônico, o dispositivo gera um código numérico válido por um período de tempo, em geral um minuto. Depois desse período, o dispositivo automaticamente gera outro código. A fórmula matemática utilizada para a geração desses números é conhecida pelo banco e sincronizada com seus computadores centrais, mas é um técnica complexa e praticamente imprevisível, denominada função pseudo-aleatória.

Bancos como antigo Unibanco (“multisenha”) e Itaú (“iToken”) utilizaram este fator (ilustrações a seguir). Apesar de seguro, ele tem alguns inconvenientes práticos. Para o banco, representa um custo extra da aquisição desse dispositivo para cada cliente, o que tem que compensar frente à redução de prejuízo em fraudes. Para o usuário (cliente), é um penduricalho a mais que ele tem que guardar e transportar consigo para onde precisar usar.

Multisenha Unibanco iToken Itaú pessoa física iToken Itaú pessoa jurídica (RSA SecurID)

Outra variante do fator “possui” tem sido o envio de códigos para o celular do cliente via SMS. Similar ao dispositivo OTP, esse fator permite que um código diferente seja gerado a cada uso. O que o cliente deve efetivamente possuir de forma única é o seu telefone celular. Como hoje em dia as pessoas em geral portam consigo o celular, isso evita ter que se carregar o dispositivo OTP. Essa técnica exige uma abrangência e eficiência da rede celular da operadora, pois o usuário terá de receber o código via SMS no momento em que está realizando uma operação bancária eletrônica. Bancos como Citibank, Itaú e Banco do Brasil tem utilizado esse fator.

Para que um fator do tipo “possui” utilizando um dispositivo físico como o OTP ou celular seja utilizado indevidamente, é preciso que o pretenso usuário ilegítimo (fraudador) consiga obter o dispositivo, minimizando o risco de fraudes eletrônicas à distância.

Certificação digital

Merece destaque o fator de autenticação usando certificado digital. Certificado digital é um mecanismo genérico, padronizado e amplamente utilizado para identificação e assinatura digital seguras nas mais diversas aplicações. Funciona como uma carteira de identidade digital. São emitidos por entidades credenciadas confiáveis chamadas autoridades certificadoras (AC) e autoridades de registro (AR). Exigem a comprovação de documentos do usuário titular para emissão, e uma série de procedimentos técnicos e operacionais de segurança.

O governo Brasileiro definiu a estrutura nacional de emissão de certificados digitais, a ICP Brasil (Infraestrutura de Chaves Públicas Brasileira), seguindo o padrão mundial já estabelecido. Através da ICP Brasil, pessoas físicas podem emitir o seu e-CPF e pessoas jurídicas (empresas) o e-CNPJ. O uso de certificados digitais tem sido impulsionado no Brasil pelo governo, em especial:

Entre aplicações de internet banking de pessoa física em geral, só tenho conhecimento do Banco do Brasil que atualmente permite a utilização de certificado digital como forma de autenticação do cliente. (Podem haver outros bancos utilizando, mas desconheço.)

[photopress:bb_autentica_certificado.png,full,centered]

Este fator não é necessariamente emitido pelo banco (para o banco emitir, deve ser AR devidamente credenciada a uma AC), mas sendo um padrão mundial estabelecido, ele consegue identificar seu cliente pelo nome completo e pelo CPF contidos na identidade digital.

O certificado digital tem diversas vantagens. Sendo um dispositivo de identidade universal amplo, serve não apenas para aplicações bancárias mas para qualquer uso de identificação digital da pessoa que seja disponibilizado.

O certificado do tipo A3 utiliza um dispositivo físico — um chip que pode ser em um token USB similar a um pen drive, ou em um cartão inteligente smart card (que exige uma leitora própria) — funcionando portanto como fator tipo “possui”. Existe também um certificado tipo A1 via software que é gravado no disco do computador, mas é considerado um pouco menos seguro.

Token da marca Alladin Smart card

O certificado digital é baseado na técnica de segurança digital chamada criptografia de chave pública, onde existe um código secreto (chave privada) que fica inviolável dentro do dispositivo físico do certificado A3, e uma contraparte para identificação pública do titular do certificado (chave pública), preservando o segredo da chave privada.

O uso da chave privada é protegido por uma senha (PIN) ou mesmo por um leitor biométrico (atualmente, os certificados digitais com biometria mais difundidos acoplam um leitor de impressão digital). Ou seja, o do certificado digital embute múltiplos fatores de autenticação.

O empecilho essencial para popularizar o certificado digital como fator de autenticação é o custo. Atualmente, a emissão de um certificado A3 com validade de três anos custa algo entre 100 e 300 reais, incluindo o custo do dispositivo (token ou smartcard). Por medida de segurança, essa identidade digital precisa ser renovada ou reemitida ao término de cada período de vigência, a um custo que hoje gira em torno de 100 reais.

No sistema da novo documento de identidade brasileiro, o Registro de Identidade Civil (RIC), há a possibilidade de ele incorporar um certificado digital. Iniciativas como essa para popularização de meios de armazenamento de certificado digital, mais a disseminação de serviços públicos (governamentais) com uso destes, podem levar nos próximos anos a uma grande popularização que leve a um aumento de escala e consequente redução drástica do custo. Essa é uma grande esperança!

Para saber mais:

Algo que você é

E a biometria como fator de autenticação? Teoricamente, parece ser o mais seguro e prático. Seguro porque parece difícil fraudar características físicas pessoais exclusivas como padrões de impressão digital, retina, veias, face etc. Prático porque você não precisa memorizar nem possuir nada, são características físicas que existem em seu corpo.

Mas dos três fatores, este é o que ainda possui os maiores desafios. Na prática, padrões biométricos ainda são sujeitos a problemas de abrangência e precisão. Não reconhecimento de uma pessoa legítima (“falso negativo”), a possibilidade mesmo que remota de identificar uma pessoa como a característica biométrica de outra (“falso positivo”), e a dificuldade de se estabelecer padrões biométricos que funcionem de forma efetiva para todos. Só para se ter ideia, na impressão digital, que é um dos padrões biométricos mais conhecidos e utilizados, uma pessoa muito jovem, idosa, que utiliza produtos químicos ou que faça trabalhos manuais duros que desgastem a pele podem simplesmente não ter uma digital legível de forma precisa.

Outro desafio preponderante de decisão da viabilidade e popularização no mercado é o alto custo. Dispositivos de leitura biométrica ainda são muito caros para se popularizar em larga escala atualmente.