Concrete Logo
Hamburger button

Como foi o Coders on Beer sobre Segurança de APIs

  • Blog
  • 8 de Novembro de 2014
Share
Na última terça-feira, realizamos no nosso escritório de São Paulo mais uma edição do Coders on Beer, uma invenção nossa para falar sobre tecnologia de uma forma mais relaxada, enquanto comemos pizza e tomamos cerveja. Já tivemos três edições: uma sobre desenvolvimento Android, uma sobre iOS e a terceira foi sobre Java 8. Nesta semana, eu fui o palestrante e o foco foi segurança. Na verdade, segurança de APIs. Na verdade, segurança de APIs REST.

O assunto é vasto e por isso ressaltamos que não se trata de XSS (Cross Site Scripting), CSRF (Cross Site Request Forgery), etc, etc. Do que se trata então? Autenticação e Autorização stateless! Como podemos proteger dados por uma tela de login? Somente postar o formulário?

Enfim, a palestra mostrou um pouco da história desse problema. Antes mandávamos o usuário e senha em todas as chamadas. Deu ruim! Depois tentamos apenas hashear usando a autenticação BASIC. Deu ruim! Melhoramos um pouco, criamos vergonha na cara e passamos a criptografar os dados no cliente e no servidor. Deu ruim também! A criptografia era fraca e com colisões o cliente guardava usuário e senha de alguma forma.

Todos estes esquemas ainda são amplamente utilizados por implementadores de APIs. Sabemos que segurança é difícil e por isso estamos investindo em procurar outras alternativas. A mais comum seria OAuth. No entanto, essa especificação é complexa, envolve delegação de responsabilidades de autenticação e autorização e suas versões são confusas.

Exemplo de confusão: OAuth 2.0 é inferior em critério de segurança a OAuth 1.0a.

Por fim, falamos de JSON Web Tokens como alternativa atual e mais segura que os outros. Mostramos como essa especificação tem potencial para resolver alguns problemas antigos como, por exemplo, não obrigar o cliente a guardar usuário e senha e garantir algum nível de anti-tampering do token (pois só o servidor consegue assinar um token).

Enfim, o assunto é vasto! Tivemos um bom feedback do público. Olha só como estávamos de casa cheia:
Público
Realmente é um problema para muita gente pensar em segurança e estas discussões com cerveja ajudam as pessoas a tirarem dúvidas, levantar questões e compartilhar experiências das trincheiras. A experiência foi ótima!

Fique ligado nas nossas redes sociais para saber as próximas edições. A cerveja é Heineken, tá? =) Se você não conseguiu vir dessa vez, pode assistir ao vídeo na íntegra, já que desta vez nós transmitimos o evento online:

Prometemos melhorar a qualidade com o tempo. E qualquer ideia, sugestão ou reclamação, é só deixar nos comentários. Até a próxima!