Pergunta

Sou programador de um instituto financeiro. Recentemente, me disseram para aplicar que todos os novos IDs de usuário tenham pelo menos um alfa e um numérico. Eu imediatamente pensei que essa era uma ideia horrível e prefiro não implementá-la, pois acredito que isso é uma experiência anti-Rodada e de má experiência do usuário. O problema é que não tenho um bom argumento para não implementar esse requisito.

Você acha que esse é um bom requisito?

Você tem boas razões para não fazer isso?

Você conhece qualquer pesquisa que eu possa fazer referência.

Editar: isso é não em relação à senha. Já temos requisitos semelhantes para isso, ao qual não sou oposto.

Foi útil?

Solução

Um argumento contra isso é que muitos nomes de usuário / IDs em outras áreas não exigem componentes numéricos. É mais provável que os usuários possam lembrar melhor os IDs de usuário que usaram em outros lugares - e isso é mais provável se não precisar incluir numéricos.

Além disso, dependendo do sistema, os IDs de usuário podem funcionar bem como padrões ao se conectar a sistemas externos (o SSH se comporta dessa maneira sob sistemas semelhantes a Unix). Nesse caso, é claramente benéfico ter um ID compartilhado entre os sistemas.

O uso do mesmo ID em vários lugares melhora a consistência, o que é um aspecto bem conhecido de boas interfaces de software. Não é muito difícil mostrar que a maneira como as pessoas interagem com um sistema é uma interface do usuário e deve aderir a (pelo menos alguns) das diretrizes de interface bem conhecidas. (Obviamente, idéias como atalhos de teclado não têm sentido se você está considerando as interações entre sistemas múltiplos, possivelmente desconhecidos, mas aspectos como consistência Faz Aplique.)

Editar: Estou assumindo que esta discussão é sobre nomes de usuário ou identificações publicamente visíveis, NÃO algo que pertence diretamente à segurança, como senhas.

Outras dicas

Eu começaria pedindo a eles seus motivos específicos por trás disso. Depois de ter uma lista de pontos de bala e os motivos, é mais fácil refutar ou fornecer alternativas.

Quanto às idéias gerais:

  • Isso é opinião, mas adicionar um número a um nome de usuário não aumentará necessariamente a segurança. As pessoas escrevem nomes de usuário nas notas de TI da postagem, a maioria dos usuários adiciona um '1' ao início ou final de seu nome de usuário, facilitando a adivinhação.
  • Do ponto de vista da usabilidade, isso é ruim, pois quebra a norma. Forçá -los a adicionar um numeral ao nome de usuário levará ao ponto acima. Eles simplesmente adicionarão um '1' ao final ou início de seu nome de usuário.

Lembre -se, quanto mais complexo um sistema de autenticação é, mais provável que um usuário geral seja encontrar maneiras de contorná -lo e tornar seu link na cadeia fraca.

IDS de usuário? Exigir que as senhas sejam alfanuméricas geralmente é uma boa idéia, pois as torna mais resistentes a um ataque de dicionário. Realmente não faz sentido para nomes de usuário. O ponto principal de ter uma combinação de nome/senha é que a parte do nome não precisa ser mantida em segredo.

Se você está trabalhando em uma instituição financeira, provavelmente existem regulamentos sobre esse tipo de coisa, então provavelmente está fora de suas mãos. Mas uma coisa que você pode fazer é deixar claro para o usuário quando ele inseriu um ID inválido. E não espere até que ele clique em enviar; Mostre algum tipo de mensagem ao lado do campo e atualize -a conforme ele digita.

Algumas das respostas acima têm um contra-argumento: se os usuários escolherem o mesmo nome de usuário que usam nos outros sites, é provável que eles também escolham as mesmas senhas ou similares para o site financeiro, diminuindo a segurança.

Um motivo para não fazê -lo: se você impor mais restrições do que eles estão acostumados aos usuários, eles começarão a anotar as informações de login, e essa é uma perda óbvia de segurança.

Ambas as contas bancárias necessárias um nome de usuário alfanumérico e duas senhas para o login on -line. Um deles também tem uma imagem que eu tenho que lembrar. As duas senhas precisam mudar uma vez por mês. Portanto, tenho todas as informações de login aqui em um arquivo de texto. (Mesmo olhando para isso, não faz sentido; terei que ir ao banco e redefinir minhas senhas novamente. Isso é um total de 7 redefinições de senha para 6 logins. Fale sobre segurança, nem mesmo EU pode acessar minha conta.)

É bom se estiver em sua senha (como, infelizmente, as empresas financeiras gostam de negar esse direito de segurança [estou falando com você American Express]).

Nome de usuário, eu digo não, a menos que eles queiram.

Um nome de usuário (presumivelmente) precisará ser citado no telefone ao pedir suporte para que seja divulgado, diferentemente de uma senha. Além disso, o campo de nome de usuário não será mascarado em navegadores como os campos de senha, por isso terá muito mais exposição e será armazenado em cache/registrado em vários lugares; portanto, o 'benefício' da segurança adicional será desfeito em pouco tempo.

E quanto mais difícil você faz as coisas, maior a probabilidade de um usuário escrever em algum lugar, o que prejudica novamente a segurança (o mesmo se aplica às políticas de senha, mas isso é outra história!)

Eu também trabalho em uma instituição financeira e nossos nomes de usuário (pessoas reais e IDs de produção) são todos minúsculos, alfabéticos, até 8 caracteres e nunca considerei um problema ... evita a confusão de 0 vs O, 1 vs Eu e 8 vs B - a menos que você trabalhe para a mesma empresa que eu e estou prestes a implementar uma nova política ...

Adicionar qualquer recurso adiciona custos. Agora levará tempo para construí -lo e testá -lo e, no futuro, apoiá -lo. Nenhum recurso deve ser construído sem um bom motivo.

Esse recurso é inútil. Os nomes de usuário não devem ser mantidos em segredo; portanto, ter nomes de usuário fortes não tem vantagem. Provavelmente vale a pena gastar tempo tornando fortes as senhas (ou outros fatores de autenticação), mas os usuários devem poder comunicar seu nome de usuário a outros usuários sem que isso seja um risco de segurança.

Se o seu aplicativo impõe restrições extras à escolha do ID do usuário, alguns de seus usuários terão um ID de usuário diferente para o seu aplicativo do que para os outros aplicativos em seu ambiente. Nota: suponho que este seja um aplicativo interno (para uso pelos funcionários) e não no aplicativo voltado para a Internet.

Ter nomes de usuário inconsistentes adiciona vários riscos específicos:

  1. Isso tornará mais difícil seguir a trilha de auditoria (um sério risco de segurança).
  2. Pode acrescentar custo se você começar a usar mais tarde sinalização única.
  3. Isso causará uma má experiência do usuário, pois os usuários precisam lembrar que esse aplicativo usa um nome de usuário estranho.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top