Usuário com melhor resposta
criptografar-proteger string de conexão do banco de dados - windows forms

Pergunta
-
Olá, estou tentando proteger o código de um software e usei o DotFuscator do visual studio 2008 2x no mesmo arquivo .exe. Porém observei que consegui ler a string de conexão do banco de dados. Pensei em criptograr a string usando Rijndael e uma chave. Alguém tem uma idéia sobre isto?
obs: Detalhe usei uma ferramenta para fazer a engenharia reversa do código e transformando o código intermediário em código cs fica ainda mais visível as string fixas do código, o que facilita o entendimento do código (mesmo estando obfuscado).
Paulo Moreira- Editado paulo3011 quarta-feira, 24 de fevereiro de 2010 20:30 Inclusão de mais informações.
Respostas
-
Olá,
Essa string encontra-se no código-fonte?
Existem versões do DotFuscator (pagas penso eu) que permite encriptar as strings de forma a não serem visíveis nesses casos.
Deves considerar remover esses dados do código, passando por exemplo para o app.config.
Desta forma, podes consultar este site para te ajudar a proteger esses dados:
http://www.nickfessel.com/index.php?post=13
Espero ter ajudado,
Comprimentos- Marcado como Resposta paulo3011 quinta-feira, 11 de março de 2010 12:44
Todas as Respostas
-
Olá,
Essa string encontra-se no código-fonte?
Existem versões do DotFuscator (pagas penso eu) que permite encriptar as strings de forma a não serem visíveis nesses casos.
Deves considerar remover esses dados do código, passando por exemplo para o app.config.
Desta forma, podes consultar este site para te ajudar a proteger esses dados:
http://www.nickfessel.com/index.php?post=13
Espero ter ajudado,
Comprimentos- Marcado como Resposta paulo3011 quinta-feira, 11 de março de 2010 12:44
-
Olá,
Então... mas me diga uma coisa, o arquivo de app.config fica amostra e permite que qualquer pessoa veja qual é o algoritmo usado e pelo que percebi no exemplo do artigo mostra informações da chave usada para criptografar os dados. Neste caso não fica fácil fazer a descriptografia?
Essa string encontra-se no código-fonte?
Existem versões do DotFuscator (pagas penso eu) que permite encriptar as strings de forma a não serem visíveis nesses casos.
Deves considerar remover esses dados do código, passando por exemplo para o app.config.
Desta forma, podes consultar este site para te ajudar a proteger esses dados:
http://www.nickfessel.com/index.php?post=13
Espero ter ajudado,
Comprimentos
Paulo Moreira -
Olá Paulo,
Não é algo 100% seguro, mas não é tão simples quanto saber o algoritmo. É necessário saber a chave, que dependendo do tipo de nível (utilizador ou máquina) pode estar em:
Utilizador:
\Documents and Settings\{UserName}\Application Data\Microsoft\Crypto\RSA
Máquina:
\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
Um maior conhecedor da matéria irá saber recuperar a informação da connectionString. Mas acho que podes confiar, é o suficiente para proteger os dados.
Espero ter ajudado,
Cumprimentos. -
Olá Paulo,
Olá Elohim, obrigado pelas respostas está ajudando sim. Então, mas sabe como a chave é armazenda? é ela criptografada?
Não é algo 100% seguro, mas não é tão simples quanto saber o algoritmo. É necessário saber a chave, que dependendo do tipo de nível (utilizador ou máquina) pode estar em:
Utilizador:
\Documents and Settings\{UserName}\Application Data\Microsoft\Crypto\RSA
Máquina:
\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
Um maior conhecedor da matéria irá saber recuperar a informação da connectionString. Mas acho que podes confiar, é o suficiente para proteger os dados.
Espero ter ajudado,
Cumprimentos.
Porque sabendo o local onde fica a chave é so abrir o arquivo e usar o método de descriptografia passando a chave... correto?
abraço
Paulo Moreira
Paulo Moreira -