Mozilla BrowserID: Mais um mecanismo de login

You can see this post in english too.

Recentemente testei o mecanismo de autenticação lançado pela Mozilla em Julho/2011.

À primeira vista, a idéia é excelente e simples. Oferece uma alternativa fácil de ser implementada, segura, portável e descentralizada. É mais uma alternativa para o OpenID e ao oAuth, com a vantagem de que praticamente todos possuem uma conta de e-mail e por isso lidam com estas de forma muito mais natural.

Em sua proposta, a Mozilla Labs sugere que a autenticação seja de primeiro fator utilizando quaisquer endereço de e-mail do usuário como sua identidade. Reza também que a autenticação seja descentralizada e baseada em servidores de e-mail, ao invés de domínios e websites. Este método libera as aplicações de guardar os atributos de login e senha dos usuários, e os usuários de guardar o usuário/senha para cada serviço na web que utilizem.

A implementação

Implementação
  • A especificação pode ser lida aqui;
  • Utiliza sistema de chaves pública/privada;
  • O navegador do usuário gerencia os artefatos de autenticação localmente (todos acessíveis via DOM com [window|session].localStorage), ou seja, nada relacionado a certificados ou dispositivos de segurança;
  • O pop-up de autententicação é implementado em HTML5.

Prós

Prós
  • Facilidade de implementação;
  • Tempo de vida curta para as chaves pública/privada (são apenas algumas horas);
  • Troca de dados via JSON.

Contras

Contras
  • Ainda é de primeiro fator;
  • Revela o endereço de e-mail do usuário para o website que está autenticando-o. Não é um efeito colateral ou algo não esperado, informar o endereço de e-mail para o website é uma decisão de arquitetura tomada pelo pessoal da Mozilla Labs e explicada por Ben Adida. O OpenID aqui leva vantagem pois não revela os endereços de e-mail do usuário;
  • Não existe uma forma de realizar logout, ele deve ser feito do lado da aplicação invalidando os dados de sessão;
  • A usabilidade do recurso me incomoda em alguns pontos, como disparar um janela pop-up e o processo adotado quando trata-se da primeira vez do usuário.
  • Outro ponto incômodo é sobre a descentralização. Se há mais de um ponto autenticador, como a autenticação funcionará quando o usuário navegar em duas aplicações com pontos autenticadores diferentes?

Conclusão

A idéia é excelente, a minha primeira sensação foi de “É só isso?” de tão simples que é. Apesar de ter apresentado mais contras do que prós sinto que disponibilizaria mais esta forma de login se tivesse a chance. Torço para que existam mais autenticadores para fazer valer o efeito da descentralização.

Só é preciso lembrar que este mecanismo é apenas uma parte do processo: a autenticação. O trabalho de identificação e autorização do usuário ainda deve ser realizado pela aplicação.

Quer testar?

Testei o mecanismo na minha garagem virtual (é sua inauguração também, meus testes poderão ser testados “ao vivo” neste local). Além de minha garagem, a Mozilla oferece o website MyFavoriteBeer onde o login já utiliza este recurso.

About Adriano Laranjeira

Software engineer & developer See more at http://about.me/arglbr
This entry was posted in Português and tagged , , , , . Bookmark the permalink.

1 Response to Mozilla BrowserID: Mais um mecanismo de login

  1. Pingback: Adriano Laranjeira » Blog Archive » Mozilla BrowserID: More one way to sign in

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s