O que um UX Designer tem a ver com segurança?
Quando iniciamos os estudos na área de UX , aprendemos muitos métodos para descobrir e resolver problemas. Isso é um dos estágios do nosso trabalho, diria que o primeiro deles.
Mas as coisas começam a se complicar um pouco na hora da entrega e da documentação daquela bela e inspiradora solução que trazemos.
Mas como assim?
Vamos começar pelo mais trivial das ações que um usuário irá tomar dentro do seu produto: o login. Um login não é nada mais que um usuário (e-mail, nome, código, documento, etc.) e uma senha (simples, complexa, com limite de caracteres, sem limite).
O que podemos chamar de solução simples; Só que não é bem assim.
Login Seguro:
Para darmos segurança ao nosso produto/serviço, o login é a primeira etapa da implementação de segurança (visível ao usuário), por isso, devemos tomar muito cuidado aqui.
O seu usuário eventualmente irá errar os dados do login e, o que você projeta a partir desse erro, pode gerar uma brecha de segurança.
Exemplo:
Usuário coloca seu e-mail e sua senha para entrar e erra um caractere do e-mail. O login não será concluído e uma mensagem de erro irá aparecer (ou ao menos deveria aparecer). Pela lógica, poderíamos dizer que a mensagem seria:
“Verifique seu e-mail” ou “E-mail não cadastrado”
E assim também para o campo de senha:
“Verifique sua senha” ou “Senha incorreta”
Mensagens de erros claras, mas que, com certeza, podem e devem ser melhor estruturadas por questão de segurança:
Vamos ao problema que esse tipo de abordagem pode acarretar se uma pessoa mal intencionada receber mensagem de erro como essa:
- Ela sabe exatamente o dado que está certo, e o que está errado;
- Você entregou uma informação válida para a pessoa errada;
Com essas informações em mãos, fica infinitamente mais fácil encontrar o e-mail e senha corretos para entrar na conta de um produto/serviço de um terceiro e roubar suas informações, trancá-lo para fora dessa conta e fazê-lo perder tudo.
Como eles fazem isso?
Automação é a resposta! Uma pessoa mal intencionada pode rodar um script (que nada mais é que um conjunto de instruções para que ações sejam executadas em um determinado site/app/serviço) para fazer logins com vários dados já colhidos publicamente daquela e de outras centenas de pessoas que pretende atacar e, a partir disso, um robô faz o trabalho de força, testando centenas de combinações, até achar a correta. E, ao entregar qual dado está correto/incorreto, você está ajudando o golpista a obter sucesso.
Mas então, o que eu devo fazer?
Neste caso, seremos um pouco contra o que o UX Design prega, que é ser claro e direto com o usuário. Mas é para o seu bem.
Vamos precisar usar informações indiretas, e deixar o usuário verificar por si aonde está o erro. Afinal, um robô não saberá só de “olhar” o que está errado.
A mensagem segura a ser mostrada seria:
“Dados incorretos, verifique e-mail e/ou senha”
ou
“e-mail ou senha incorreto”
A primeira vista, pode parecer sim que estamos dificultando as coisas, mas é para o bem dos seus usuários e seus dados.
E você irá ajudá-los de outras formas, como por exemplo, permitindo a verificação da senha com um botão de mostrar e esconder senha. Isso ajuda um humano a encontrar o erro, mas não ajuda um robô, afinal ele sabe exatamente o que colocou ali, e não comete erros.
Quando falamos de segurança e design, o login é só uma das questões. Posso citar várias outras, como categorização e acesso de usuário, autopreenchimento, filtros e como usar, buscas seguras, poder de edição e muito mais. E sim, muito disso tem a ver com você designer e como você entregará essas soluções.
Essa é a primeira de muitas publicações sobre segurança que trarei para ajudar outros designers, mas se você quer ser ajudado de verdade, cola do lado de uma pessoa desenvolvedora especialista em segurança e pede algumas dicas. Isso vai fazer toda a diferença no resultado final do seu trabalho!