Pergunta

Recentemente, um amigo e eu estávamos conversando sobre como proteger o código do procedimento armazenado em um banco de dados SQL Server.

De memória distante, tenho certeza de que "com criptografia" é incrivelmente fácil de quebrar em todas as versões do SQL Server, no entanto, ele disse que foi bastante melhorado no SQL 2005.Como resultado, não considerei seriamente isso como uma opção de segurança em nenhum sistema em que trabalhei.

Então, em que cenário o "com criptografia" poderia ser usado e quando deveria ser evitado a todo custo?

Foi útil?

Solução

Pode ser usado para ocultar seu código de observadores casuais, mas como você diz:é facilmente contornado.

Realmente não pode ser de outra forma, já que o servidor precisa descriptografar o código para executá-lo.É DRM, basicamente, e falha pelo mesmo motivo que todos os outros DRM - você não pode ocultar simultaneamente os dados e permitir que eles sejam acessados.

Outras dicas

@Blorgbeard

Boa resposta, a documentação do MSDN sobre "COM ENCRYPTION" parece concordar com o seu argumento, agora chamando-o de "ofuscado" em vez de criptografado.

No entanto, conheci alguns desenvolvedores que desconheciam completamente esse ponto.Esperamos que esta pergunta/resposta também informe outras pessoas.

Sim, é facilmente quebrado.Tive uma situação na semana passada em que tive que descriptografar vários sprocs que um ex-desenvolvedor criptografou para um cliente meu.Depois de descriptografá-lo, o que exigiu um esforço moderado, eu não confiaria nisso para nenhum meio de proteger propriedade intelectual, senhas, IDs de usuário.Qualquer coisa, mesmo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top