Enunciado
As credenciais de acesso dos usuários de um aplicativo são armazenadas em um banco de dados e são utilizadas unicamente para acesso às funcionalidades do aplicativo. A equipe de desenvolvimento definiu como requisito não funcional que o sistema deve evitar que as senhas sejam obtidas por um invasor mesmo que o aplicativo ou banco de dados esteja comprometido. Para implementar o requisito não funcional, um modo de proteger as senhas dos usuários é:
Alternativas
- A)
ocultar o algoritmo utilizado para proteção das senhas;
- B)
armazenar as senhas cifradas por meio de um algoritmo de chaves assimétricas;
- C)
utilizar um algoritmo hash com salt antes de persistir as senhas no banco de dados;
- D)
codificar um algoritmo próprio para cifrar as senhas com base em uma chave randômica segura;
- E)
usar uma chave randômica gerada pelo aplicativo para cifrar as senhas por meio de um algoritmo de chave simétrica.
Gabarito e comentário
Resposta correta: C
Gabarito definitivo da FGV: alternativa C. Senhas devem ser armazenadas por função hash apropriada com salt individual, dificultando o uso de tabelas precomputadas. Persistir senha em texto claro compromete credenciais em caso de vazamento.