quinta-feira, 29 de junho de 2017

Quais as considerações para salvar um senha do usuário na aplicação?

Se você tiver construindo um App para celular e precisar salvar a senha do usuário, quais os pontos positivos e negativos dessa decisão? Essa funcionalidade pode ser oferecida?

Primeiramente, podemos aprender com quem já faz isso hoje, por exemplo os navegadores. Os navegadores modernos, após você digitar usuário e senha costumam perguntar "Você deseja salvar as informações de acesso deste site?". Neste momento, você sabe quais aspectos de segurança estão envolvidos?

Pontos positivos ao salvar a senha

Você salvar sua senha e não ter que digitar a todo momento tem algumas vantagens:
  1. Evita alguém descobrir sua senha
    1. Ter um keylogger instalado na máquina pode capturar o que foi digitado (Na verdade, se este for o seu problema sua segurança está mais comprometida do que estamos discutindo aqui)
  2. Visualizarem sua digitação. Se você viu o filme do Snowden deve lembrar dele logando em um notebook digitando uns 20 caracteres debaixo de um cobertor. Ver o que você digita no celular é ainda mais fácil por uma pessoa de fora
  3. Comodidade de não ter que digitar a senha a todo momento

Pontos negativos de ter a senha salva


  1. Se esquecer o dispositivo desbloqueado, um invasor que tiver acesso ao dispositivo terá acesso a todos sites e apps que tem senha armazenados.
  2. Senha salvas, por mais que encriptadas ou escondidas, estão no dispositivo. Essas podem ser quebradas (de um jeito fácil ou até difícil, dependendo da implementação do desenvolvedor)

Boas práticas para o usuário que utiliza a funcionalidade

  1. No Chrome rodando no Windows, a senha armazenada depende da senha do usuário do Windows, então escolha um senha forte para o usuário do windows - pois com acesso a esse, o invasor poderá ter acesso ao computador e todas as senhas armazenadas facilmente.
  2. Se proteja de malwares
  3. Se quiser maior segurança, não salve senha no navegador. Salve em gerenciadores de senha como o Keepass. Obviamente, há perda da conveniência entregue pelo auto completar.
  4. Quer ainda mais segurança, faça a criptografia dos dados no disco rígido. Assim caso a pessoa tenha acesso ao dispositivo físico, não terá acesso aos dados facilmente

Conclusão para o usuário

O tanto da segurança ao salvar senhas depende totalmente do usuário e seus cuidados. Passando pelo conhecimento do que está acontecendo no aplicativo utilizado (nesse processo de salvar a senha) e a restrição de acesso ao dispositivo que ocorreu o armazenamento.

Conclusão para o desenvolvedor

Aprenda com soluções de mercado as práticas e riscos de armazenar as senhas, veja os links abaixo explicando o que foi feito pelos navegadores.

Referências:
http://www.pandasecurity.com/mediacenter/security/browser-saves-password-secure/
http://raidersec.blogspot.com.br/2013/06/how-browsers-store-your-passwords-and.html?m=1
https://www.howtogeek.com/70146/how-secure-are-your-saved-chrome-browser-passwords/