O TDE impede o acesso não autorizado aos dados restaurando os arquivos em outro servidor, pois requer o certificado de criptografia original e a chave mestra.
Se eu apliquei uma criptografia em nível de tabela usando TDE ao meu banco de dados e estou acessando o banco de dados do meu aplicativo do Windows, por meio da autenticação adequada. Considere que um intruso está tentando alguma técnica de injeção, minha pergunta é se ele recebe os dados originais ou os criptografados? ou podemos usar TDE as an anti-injection technique
? A consulta do meu aplicativo pode se parecer com:
Dim myQuery="Select * from myTable where some_id='" & txtUserId.Text & "'
para que eles possam injetar sql dando o texto como sameValue' or 1=1 or '
vai dar todos os dados. neste caso , se ele obtém os dados criptografados ou os dados reais
Observação: não uso essas consultas em meu aplicativo, estou usando consulta parametrizada e sp em todo o aplicativo. pedindo isso apenas para esclarecimento.
O invasor obterá os dados descriptografados.
O T em TDE significa "transparente". O usuário nunca verá os dados criptografados. O banco de dados o descriptografa de forma transparente quando é lido do disco e o criptografa de forma transparente ao gravar no disco. Se seu aplicativo for inseguro, o TDE não o ajudará a preencher essas brechas de segurança do aplicativo. Você precisa corrigi-los no aplicativo (portanto, use variáveis de ligação!)