Zapytałem więc na czacie, jak bezpieczne są pliki kopii zapasowych programu SQL Server.
Powiedziano mi, że jeśli osoba atakująca ma niezaszyfrowany dostęp do pliku .bak, może mieć dostęp do danych.
Spójrzmy więc na ten scenariusz:
OPEN SYMMETRIC KEY MySymetricKey DECRYPTION
BY CERTIFICATE MyCertificate
Uwaga - tutaj nie ma hasła.
a następnie szyfrujemy nasze tabele poprzez:
UPDATE tbl1
SET namePAss = ENCRYPTBYKEY(KEY_GUID('MySymetricKey'),name)
GO
Powiedzmy teraz, że haker ma mój bak
plik. Wszystko, co musi zrobić, aby wyświetlić dane (na swoim komputerze i serwerze SQL) to:
SELECT
convert( NVARCHAR(max), decryptbykey(namePAss))
FROM tbl1
Czy nadal będzie mógł uzyskać dostęp do danych?
źródło
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DB Master key password!' GO
- Stworzyłem to z hasłem. ale dziwne jest to, że kiedy go otwieram - nie potrzebuję hasła, to jest kod, który wkleiłeś. Tego nie rozumiem. Jeśli jestem hakerem - nie dbam o hasło użyte do jego utworzenia. wszystko, co muszę zrobić, toOPEN SYMMETRIC KEY MySymetricKey DECRYPTION
BYĆ CERTYFIKATEM MójCertyfikat` i tutaj nie ma hasła. proszę mnie poprawićKrótka odpowiedź brzmi „nie”, ponieważ potrzebują klucza głównego bazy danych i hasła.
Oto dobry przegląd szyfrowania certyfikatów: http://www.mssqltips.com/sqlservertip/1319/sql-server-2005-encryption-certificates-overview/
I jeden dla kluczy głównych: http://www.mssqltips.com/sqlservertip/1312/managing-sql-server-2005-master-keys-for-encryption/
źródło