Então, eu estava perguntando no bate-papo sobre a segurança dos arquivos de backup do SQL Server.
Disseram-me que, se um invasor tiver acesso ao arquivo .bak não criptografado, poderá ter acesso aos dados.
Então, vamos olhar para este cenário:
OPEN SYMMETRIC KEY MySymetricKey DECRYPTION
BY CERTIFICATE MyCertificate
aviso - não há senha aqui.
e depois criptografamos nossas tabelas:
UPDATE tbl1
SET namePAss = ENCRYPTBYKEY(KEY_GUID('MySymetricKey'),name)
GO
Agora vamos dizer que um hacker pegou meu bak
arquivo. Tudo o que ele precisa fazer para visualizar os dados (em seu próprio computador e servidor sql) é:
SELECT
convert( NVARCHAR(max), decryptbykey(namePAss))
FROM tbl1
Ele ainda seria capaz de acessar os dados?
fonte
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DB Master key password!' GO
- criei com uma senha. mas o mais estranho é que, quando a abro - não preciso da senha, é exatamente o código que você colou. É isso que eu não entendo. Se eu sou um hacker - não me importo com a senha usada para criá-lo. tudo o que preciso fazer éOPEN SYMMETRIC KEY MySymetricKey DECRYPTION
CERTIFICADO MyCertificate` e não há senha aqui. por favor me corrijamA resposta curta é não, pois eles precisariam da chave mestra do banco de dados e da senha.
Aqui está uma boa visão geral da criptografia de certificado: http://www.mssqltips.com/sqlservertip/1319/sql-server-2005-encryption-certificates-overview/
E um para chaves mestras: http://www.mssqltips.com/sqlservertip/1312/managing-sql-server-2005-master-keys-for-encryption/
fonte