Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Program SQL Server używa kluczy szyfrowania do zabezpieczania danych, poświadczeń i informacji o połączeniu przechowywanych w bazie danych serwera. Program SQL Server ma dwa rodzaje kluczy: symetryczne i asymetryczne. Klucze symetryczne używają tego samego hasła do szyfrowania i odszyfrowywania danych. Klucze asymetryczne używają jednego hasła do szyfrowania danych (nazywanego kluczem publicznym ), a drugiego do odszyfrowania danych (nazywanego kluczem prywatnym ).
W programie SQL Server klucze szyfrowania obejmują kombinację kluczy publicznych, prywatnych i symetrycznych, które są używane do ochrony poufnych danych. Klucz symetryczny jest tworzony podczas inicjowania programu SQL Server podczas pierwszego uruchamiania wystąpienia programu SQL Server. Klucz jest używany przez program SQL Server do szyfrowania poufnych danych przechowywanych w programie SQL Server. Klucze publiczne i prywatne są tworzone przez system operacyjny i są używane do ochrony klucza symetrycznego. Para kluczy publicznych i prywatnych jest tworzona dla każdego wystąpienia programu SQL Server, które przechowuje poufne dane w bazie danych.
Aplikacje dla programu SQL Server i kluczy bazy danych
Program SQL Server ma dwa podstawowe zastosowania kluczy: klucz główny usługi (SMK), wygenerowany dla wystąpienia programu SQL Server, oraz klucz główny bazy danych (DMK) używany w bazie danych.
Klucz główny usługi
Klucz główny serwisu jest korzeniem hierarchii szyfrowania programu SQL Server. Protokół SMK jest generowany automatycznie przy pierwszym uruchomieniu wystąpienia programu SQL Server i służy do szyfrowania połączonego hasła serwera, poświadczeń i klucza głównego bazy danych w każdej bazie danych. Klucz SMK jest szyfrowany kluczem komputera lokalnego za pomocą interfejsu API ochrony danych systemu Windows (DPAPI). DPAPI używa klucza pochodzącego z poświadczeń systemu Windows powiązanych z kontem usługi SQL Server oraz poświadczeń komputera. Klucz główny usługi można odszyfrować tylko za pomocą konta usługi, w ramach którego został utworzony lub przez jednostkę, która ma dostęp do poświadczeń maszyny.
Klucz główny usługi można otworzyć tylko przez konto usługi systemu Windows, w ramach którego został utworzony lub przez jednostkę z dostępem zarówno do nazwy konta usługi, jak i jego hasła.
Program SQL Server używa algorytmu szyfrowania AES do ochrony klucza głównego usługi (SMK) i klucza głównego bazy danych (DMK). AES to nowszy algorytm szyfrowania niż 3DES używany we wcześniejszych wersjach. Po zaktualizowaniu wystąpienia aparatu bazy danych do SQL Server, należy ponownie wygenerować klucze SMK i DMK, aby zaktualizować klucze główne do algorytmu AES. Aby uzyskać więcej informacji na temat ponownego generowania zestawu SMK, zobacz ALTER SERVICE MASTER KEY (Transact-SQL) i ALTER MASTER KEY (Transact-SQL).
Klucz główny bazy danych
Klucz główny bazy danych jest kluczem symetrycznym używanym do ochrony kluczy prywatnych certyfikatów i kluczy asymetrycznych znajdujących się w bazie danych. Można go również użyć do szyfrowania danych, ale ma ograniczenia długości, które sprawiają, że są one mniej praktyczne dla danych niż używanie klucza asymetrycznego. Aby włączyć automatyczne odszyfrowywanie klucza głównego bazy danych, kopia klucza jest szyfrowana przy użyciu klucza SMK. Jest on przechowywany zarówno w bazie danych, w której jest używana, jak i w bazie danych systemu głównego .
Kopia klucza DMK przechowywanego w bazie danych systemu głównego jest w trybie dyskretnym aktualizowana za każdym razem, gdy klucz DMK zostanie zmieniony. Tę wartość domyślną można jednak zmienić za pomocą opcji DROP ENCRYPTION BY SERVICE MASTER KEY instrukcji ALTER MASTER KEY . Klucz DMK, który nie jest zaszyfrowany przez klucz główny usługi, musi być otwarty przy użyciu instrukcji OPEN MASTER KEY i hasła.
Zarządzanie kluczami programu SQL Server i bazy danych
Zarządzanie kluczami szyfrowania polega na tworzeniu nowych kluczy bazy danych, tworzeniu kopii zapasowej serwera i kluczy bazy danych oraz sposobie przywracania, usuwania lub zmieniania kluczy.
Aby zarządzać kluczami symetrycznymi, możesz użyć narzędzi zawartych w programie SQL Server, aby wykonać następujące czynności:
Utwórz kopię zapasową kluczy serwera i bazy danych, aby można było ich użyć do odzyskania instalacji serwera lub w ramach planowanej migracji.
Przywróć wcześniej zapisany klucz do bazy danych. Dzięki temu nowe wystąpienie serwera może uzyskać dostęp do istniejących danych, które nie zostały pierwotnie zaszyfrowane.
Usuń zaszyfrowane dane w bazie danych w mało prawdopodobnym przypadku, gdy nie można już uzyskać dostępu do zaszyfrowanych danych.
Utwórz ponownie klucze i ponownie zaszyfruj dane w mało prawdopodobnym przypadku naruszenia zabezpieczeń klucza. Najlepszym rozwiązaniem w zakresie zabezpieczeń jest okresowe ponowne tworzenie kluczy (na przykład co kilka miesięcy), aby chronić serwer przed atakami, które próbują odszyfrować klucze.
Dodaj lub usuń instancję serwera z wdrożenia rozproszonego serwerów, w którym wiele serwerów współdzieli zarówno pojedynczą bazę danych, jak i klucz zapewniający odwracalne szyfrowanie dla tej bazy danych.
Ważne informacje o zabezpieczeniach
Uzyskiwanie dostępu do obiektów zabezpieczonych przez klucz główny usługi wymaga konta usługi SQL Server, które zostało użyte do utworzenia klucza, lub konta komputera. To jest to konto komputera, które jest powiązane z systemem, w którym klucz został utworzony. Konto usługi programu SQL Server lub konto komputera można zmienić bez utraty dostępu do klucza. Jeśli jednak zmienisz oba te elementy, utracisz dostęp do klucza głównego usługi. Jeśli utracisz dostęp do klucza głównego usługi bez jednego z tych dwóch elementów, nie możesz odszyfrować danych i obiektów zaszyfrowanych przy użyciu oryginalnego klucza.
Nie można przywrócić połączeń zabezpieczonych za pomocą klucza głównego usługi bez klucza głównego usługi.
Dostęp do obiektów i danych zabezpieczonych za pomocą klucza głównego bazy danych wymaga tylko hasła używanego do zabezpieczania klucza.
Ostrzeżenie
Jeśli utracisz dostęp do kluczy opisanych wcześniej, utracisz dostęp do obiektów, połączeń i danych zabezpieczonych przez te klucze. Możesz przywrócić klucz główny usługi, zgodnie z opisem w linkach wyświetlanych tutaj, lub wrócić do oryginalnego systemu szyfrowania w celu odzyskania dostępu. Nie ma "tylnych drzwi", aby odzyskać dostęp.
W tej sekcji
Rozszerzone zarządzanie kluczami (EKM)
W tym artykule wyjaśniono, jak używać systemów zarządzania kluczami innych firm z programem SQL Server.
Powiązane zadania
Tworzenie kopii zapasowej klucza głównego usługi
Przywracanie klucza głównego usługi
Tworzenie klucza głównego bazy danych
Tworzenie kopii zapasowej klucza głównego bazy danych
Przywracanie klucza głównego bazy danych
Tworzenie identycznych kluczy symetrycznych na dwóch serwerach
Włączanie funkcji TDE w programie SQL Server przy użyciu EKM
Rozszerzone zarządzanie kluczami przy użyciu usługi Azure Key Vault (SQL Server)
Powiązana zawartość
CREATE MASTER KEY (Transact-SQL)
ALTER SERVICE MASTER KEY (Transact-SQL)
Przywracanie klucza głównego bazy danych
Zobacz też
Tworzenie kopii zapasowych i przywracanie kluczy szyfrowania usług Reporting Services
Usuwanie i ponowne tworzenie kluczy szyfrowania (SSRS Configuration Manager)
Dodawanie i usuwanie kluczy szyfrowania dla skalowalnego wdrożenia (SSRS Configuration Manager)
Transparent Data Encryption (TDE)