segunda-feira, 4 de janeiro de 2010

Autenticação de Usuário - Estamos Avançando?

No princípio era a senha. E a senha era fraca e previsível e aí veio o teclado virtual.
Mas o teclado virtual era pesado, complexo de se instalar e não  funcionava em qualquer navegador e vieram os cartões de segurança (aqueles que vinham com várias combinações de números pra usar no internet banking e nos caixas eletrônicos) e depois vieram os "tokens" e os equipamentos biométricos (como leitores de impressões digitais e scanners biométricos)...



E mesmo após todo este avanço, nós continuamos tendo nossas senhas roubadas e nossas vidas digitais devassadas e muitas vezes destruídas por criminosos digitais que não tem nenhum respeito pela privacidade alheia... Isso acontece porque biometria (que na minha opinião seria uma solução definitiva e extremamente segura) ainda é muito cara e a aceitação e adaptação dos sites dependeria de uma API aberta e amplamente utilizada, o que parece que ainda levará alguns anos pra acontecer. Mesmo com o exponencial aumento na venda de notebooks com leitores biométricos, me parece muito distante a adoção deste tipo de solução em escala na internet... E então? Existe uma solução? Como resolver a questão da segurança de senhas na internet sem ter que decorar sequências como "3st@s3nh4ec0mpl1c4dapr@c@r4mba" e sem ficar paranóico com keyloggers e outros recursos de roubo de senhas na internet?

Na minha opinião, enquanto a biometria não pode ser utilizada em larga escala no mundo das autenticações online (o que é realmente algo lamentável, considerando que estamos em 2010), uma excelente saída seria a combinação de duas tecnologias  simples e que já são utilizadas hoje em dia: O uso de "Grades de Autenticação" (Iguais ao usado pelo fantástico site LastPass) ou "Cartões de combinações de senhas" (como usadas no maravilhoso site PassPack) e o uso de envio de senhas temporárias via SMS (do mesmo jeito que o Orkut manda avisos pelo celular... Basta configurar)
Então, como funcionaria esta combinação de tecnologias?

Muito simples:
01) O Google (ou qualquer empresa online que estivesse disposta a "comprar" a idéia) usaria o conceito de  identificação através de "Grid de Senhas" (parabéns ao LastPass pela aplicação fantástica de uma velha e conhecida idéia) como chave secundária de acesso ao site, em conjunto com a senha já existente. Como alternativa a isso, poderia ser desenvolvida uma ferramenta que pudesse ser instalada em celulares comuns (via Java, talvez) e que usando o IMEI do aparelho e uma senha secreta (a ser digitada apenas no celular e uma única vez no site em questão) pudesse gerar uma "senha aleatória temporária" (ou OTP - One Time Password) que permitisse o acesso ao site.
02) Caso você perdesse seu "Grid de Senhas" (ou tivesse algum problema que inviabilizasse o uso do programa no celular) poderia pedir que o Google (ou outro site) enviasse uma senha temporária através dos seus celulares previamente cadastrados (custos pagos pelo usuário, claro) para que fosse possível ao usuário cadastrar uma nova "senha fixa temporária - ficou horrível isso..." enquanto não fosse possível cadastrar ou solicitar outro "Grid" ou instalar o software em outro celular e refazer o processo de cadastramento.

O processo parece complicado, mas na verdade, não é. Apenas é um pouco complicado pra explicar. Afinal, se trata de um processo simples de "autenticação de dois fatores" onde ALGO QUE VOCÊ SABE é adicionado a ALGO QUE VOCÊ TEM para gerar uma autenticação ainda mais segura.

Algumas iniciativas bastante promissoras estão nascendo para solucionar o problema da segurança de senhas online e do roubo das mesmas.
Usuários de iPhone já podem usar o aparelho como um autenticador RSA SecurID, proporcionando autenticação em dois fatores conveniente e eficaz em termos de custos para aplicativos e recursos corporativos.

O RSA SecurID Software Token App está disponível na App Store gratuitamente. O RSA SecurID Software Token Seed necessário, bem como o RSA Authentication Manager, software que aciona o sistema RSA SecurID, estão disponíveis mundialmente para compra.

O aplicativo para token via software pode ser instalado facilmente no iPhone do usuário por meio de um simples download na App Store. Basta um toque para o usuário habilitar o aplicativo com um exclusivo software token seed fornecido por sua organização de TI, criando um autenticador conveniente, seguro e eficaz em termos de custos.

Ainda sobre iniciativas de segurança online, podemos citar os protocolos OpenID, OATH, SAML, entre outras tecnologias utilizadas para aumentar a confiabilidade dos nossos logins diários. Iniciativas como esta levam a um cenário onde os usuários de serviços na internet precisarão ter apenas um único login, universal e exclusivo, que os identificará em toda a internet. É uma visão utópica, com certeza, mas nem por isso impossível.

Mas como o usuário "comum" (leia-se: não nerd) pode tirar proveito de todas estas iniciativas de segurança? Como é possível para o usuário final e se sentir tão seguro no computador da lanhouse quanto no computador de casa, ao acessar sites com dados vitais, documentos sigilosos e informações de fundamental importância?

A solução é mais simples do que parece e custa menos do que se pensa!

Procurando na internet estes dias material para escrever este artigo (que estava como "rascunho" a muito tempo) encontrei algo que pode literalmente salvar as senhas (e em alguns casos, a vida ;) de muita gente (eu, inclusive): A YubiKey


Este pequeno e barato produto funciona de forma bastante simples e muito segura. A única coisa que vc precisa fazer é encaixar a pequena "chave" em uma porta USB e colocar seu dedo (qualquer um) sobre uma pequena área sensível ao toque. Simples assim!
Apesar do sistema não utilizar biometria (como eu achava no começo), o sistema funciona muito bem, impedindo que sua senha seja capturada e utilizada indevidamente, tendo em vista que o sistema gera senhas únicas a cada autenticação.

Existem vários sites e serviços na internet que já trabalham muito bem com a YubiKey. Como exemplo podemos citar o Google Apps (através da implantação de API´s e parceria com a ClavID), ClavID, Microsoft Live ID e mais uma lista enorme de sites, softwares e serviços. Além disso, não podemos esquecer dos maravilhosos sites de gerenciamento de senhas PassPack e LastPass.
Além disso, é possível usar a YubiKey para acessar o seu Windows (mesmo no servidor), criar volumes criptografados no TrueCrypt, e outras "brincadeiras" que dependem apenas da sua imaginação e de um pouco de talento para programação.





Já existem versões do produto que funcionam com o sistema OATH de autenticação e já existe previsão para um modelo dotado de RFID nativo.

Existe um canal no YouTube com vários vídeos úteis à respeito do produto. Se você se interessa MESMO pela segurança dos seus dados, deveria considerar a compra deste "brinquedinho".

É claro que nada é perfeito, e ainda existe - mesmo usando uma tecnologia tão inteligente - algumas possibilidades de ataque que poderiam causar danos aos usuários do sistema YubiKey. Mas, baseado no que temos hoje, posso afirmar que é muito - MUITO - mais seguro utilizar as YubiKeys do que simplesmente digitar suas senhas em qualquer lugar que você precisar acessar seus serviços e sites, uma vez que a geração de OTP´s (One Time Passwords) é um processo bastante seguro e de difícil acesso a criminosos digitais.

Acredito que com a massificação deste tipo de produto - ou solução - ficará cada vez mais fácil (e mais seguro) acessar serviços web em segurança e com confiança de confidencialidade.

Quando eu comprar minha YubiKey eu faço um review pra vocês...

Um abraço.



2 comentários:

  1. Olá, tenho uma pergunta, você deu um link para uma página onde explicava que o Yubikey pode ser tapeado e as senhas roubadas, mas está em ingles e eu nao entendi muito bem. Você pode me explicar o que diz? Afinal, é seguro ou não o Yubikey?

    ResponderExcluir
  2. Sim, Gabriel. Usar a Yubikey é uma opção muito segura, principalmente se você utilizar outros recursos como o PassPack ou o Lastpass, mas NENHUM RECURSO é 100% seguro. Mesmo a biometria pode ser quebrada. MAS é claro que, possuir mais de um fator de segurança é sempre MUITO, INFINITAMENTE melhor do que usar só login e senha, compreende?
    Tenho outros dois artigos muito bons sobre o assunto:
    bit.ly/googleauth
    bit.ly/facebookauth

    Um abraço!

    ResponderExcluir