Fórum [OFF] Sobre criptografia #299570

15/10/2005

0

Problema: Armazenar a string de conexão para que o sistema utilize essa string para se conectar ao banco de dados. O sistema so verifica a autenticação de usuário, não fazendo a autenticação do banco de dados, por isso a string precisa estar disponivel para a aplicação.

Não posso deixar a string inteira aberta, seja no registro, em arquivo ini ou hard code. Pelo menos a senha precisa ser criptografada. O problema é que os algoritmos de criptografia necessitam de uma chave. Ai surge a questão.

Qual a forma mais segura para guardar a [b:c8d362aed9]CHAVE[/b:c8d362aed9] de criptografia?


Rjun

Rjun

Responder

Posts

15/10/2005

Vinicius2k

Particularmente, eu uso uma chave fixa minha dentro do executável para alguns casos. Não é difícil de encontrá-la com um disassembler, mas ela está protegida contra leigos.

O problema deste método é que, uma vez descoberta a chave, será sempre a mesma chave para aquele .exe. Vc pode dificultar o trabalho de crackers ´dando voltas´ com funções que não fazem nada e nomes pouco esclarecedores e com várias funções retornando cada uma um pedaço da chave.

Outra alternativa é vc ter uma ´pseudo-chave´ gravada externamente, dentro de uma DLL ou arquivo qualquer. Esta pseudo-chave deve ser um hash ´duro´ (SHA1, por exemplo), mas ela, em si, não é nada.
Sua aplicação deve lê-la e aplicar algum algorítimo que irá resultar na chave verdadeira. Se vc precisar trocar a chave, basta trocar a pseudo-chave.
Também utilizo desta forma, mas depende do caso.

T+


Responder

Gostei + 0

16/10/2005

Rjun

Vinicius, valeu pela ideia.

Alguem mais?


Responder

Gostei + 0

17/10/2005

Dopi

Isso é bem básico... mas...

- Não use variaveis para armazenar chaves em hard code e sim uma constante...
- Na constante, não use nomes como ´Senha´, ´Chave´, etc... que tal ´_ks3´ ;)
- A escolha do conteudo da chave também é importante... usar letras, numeros e sinais e chaves com mais de 6 caracteres


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar