Manipulando senhas
Atualmente, as credenciais de nome de usuário e senha são as credenciais mais comuns usadas para autenticação. Embora outros tipos de credenciais, como certificados e biometria, estejam começando a encontrar seu caminho para o mundo dos sistemas e da rede, eles geralmente são apoiados por senhas. E, mesmo quando os certificados são usados, suas chaves de criptografia devem ser protegidas. Portanto, nomes de usuário e senhas continuarão a ser usados para credenciais bem no futuro próximo.
Dado que as senhas e as chaves de criptografia estarão em torno de um tempo, é importante que os sistemas de software as usem de forma segura. Se um sistema de rede ou computador permanecer seguro, as senhas deverão ser protegidas contra supostos intrusos. Isso pode, a princípio, parecer trivial. No entanto, o sistema após o sistema e a rede após a rede foram comprometidos porque um invasor conseguiu detectar as senhas dos usuários. Os problemas vão desde usuários compartilhando suas senhas com alguém até softwares que podem ser penetrados por um invasor.
É impossível armazenar informações secretas no software de forma completamente segura. E como o armazenamento de senhas e chaves de criptografia em um sistema de software nunca pode ser completamente seguro, é recomendável que elas não sejam armazenadas em um sistema de software.
No entanto, quando as senhas devem ser armazenadas em um sistema de software, o que geralmente é o caso, há precauções que podem ser tomadas. A principal precaução é tornar o mais difícil possível para um intruso descobrir uma senha. Assim como trancar as portas de sua casa, se alguém está determinado a invadir, é quase impossível impedi-lo de fazê-lo. Mas espero que você tenha aumentado o nível de dificuldade suficientemente que o suposto intruso preferiria encontrar presas mais fáceis.
Há muitas maneiras de dificultar o trabalho de um invasor de descobrir senhas. No entanto, a extensão do que pode realmente ser feito geralmente é uma compensação com o que os usuários da rede ou do sistema estão dispostos a conviver. Por exemplo, use o caso em que "logon único" não é usado e o usuário é solicitado a fornecer uma senha sempre que um aplicativo é iniciado. Na maioria dos casos, isso criaria um fardo significativo para os usuários e eles provavelmente reclamariam. Não só isso, mas a falta de um único logon é ineficiente e degradaria a produtividade dos usuários. Portanto, praticamente falando, uma senha geralmente não é coletada de um usuário, exceto no momento do logon.
Dado que as senhas geralmente devem ser armazenadas no sistema de software, torna-se importante garantir que as senhas sejam mantidas o mais seguras possível e que a conveniência para os usuários seja mantida. Para obter mais informações, consulte estes tópicos:
Observação
Quando terminar de usar senhas em aplicativos, limpe as informações confidenciais da memória chamando a função SecureZeroMemory .