Udostępnij za pośrednictwem


SQL Server and Database Encryption Keys (Database Engine)

SQL Server uses encryption keys to help secure data, credentials, and connection information that is stored in a server database.SQL Server has two kinds of keys: symetryczny and asymetryczne.Za pomocą tego samego hasła kluczy symetrycznych szyfrowania i odszyfrowywania danych.Klucze asymetryczne szyfrowania danych przesyłanych za pomocą jednego hasła (o nazwie publiczne klucz), a drugi do odszyfrowywania danych (o nazwie prywatne klucz).

W SQL Server, klucze szyfrowanie zawierać kombinację klucze publiczne, prywatne i symetrycznego, które są używane do ochrony dane poufne. klucz zawartości Jest tworzony podczas SQL Server Inicjowanie przy pierwszym uruchomieniu SQL Server wystąpienie. Ten klucz jest używany przez SQL Server do szyfrowania dane poufne, który jest przechowywany w SQL Server. Klucze publiczne i prywatne są tworzone przez system operacyjny i są one używane do ochrony klucz symetrycznego.Pary kluczy publicznych i prywatnych jest tworzony dla każdego SQL Server wystąpienie, które są przechowywane dane poufne w bazie danych.

Aplikacje dla programu SQL Server i kluczy bazy danych

SQL Server składa się z dwóch podstawowych aplikacji dla kluczy: a klucz główny usługa (SMK) wygenerowanych w i SQL Server wystąpienie oraz klucz główny bazy danych (DMK) używane w bazie danych.

SMK jest generowany automatycznie przy pierwszym SQL Server wystąpienie jest uruchomiony i jest używany do szyfrowania hasła połączonego serwera, poświadczenia i klucz głównego w bazie danych. SMK są szyfrowane przy użyciu klucz komputera lokalnego przy użyciu systemu Windows Data Protection API (DPAPI).DPAPI korzysta z klucz, którego wywodzi się od poświadczenia systemu Windows z SQL Server konto usługa i poświadczenia komputera. Klucz główny usługa mogą być odszyfrowane tylko przez konto usługa, w którym został utworzony lub obiektem, który ma dostęp do poświadczenia komputera.

Baza danych klucza głównego jest klucz zawartości używany do ochrony prywatnych kluczy, certyfikaty i klucze asymetryczne, które znajdują się w bazie danych.Może również służyć do szyfrowania danych, ale ma ograniczeń długości, które mniej praktyczne danych niż klucz zawartości.

Podczas jego tworzenia klucz głównego jest szyfrowana przy użyciu algorytmu Triple DES i hasła dostarczane przez użytkownika.Aby włączyć automatyczne odszyfrowywania klucz głównego, kopię klucz są szyfrowane przy użyciu SMK.Jest on przechowywany w obu bazy danych, w przypadku, gdy jest używany i w master Baza danych systemu.

Kopia DMK, przechowywane w master systemowa baza danych jest dyskretnie aktualizowane po każdej zmianie DMK. Jednak to ustawienie domyślne można zmienić za pomocą DROP ENCRYPTION BY SERVICE MASTER KEY Opcja ALTER MASTER KEY Instrukcja. DMK, które nie są szyfrowane za pomocą klucz głównego usługa muszą być otwierane za pomocą OPEN MASTER KEY Instrukcja i hasła.

Zarządzanie programu SQL Server i kluczy bazy danych

Zarządzanie kluczami szyfrowanie składa się z tworzenia nowych kluczy bazy danych, tworzenia kopia zapasowa serwera i bazy danych klucze i wiadomo, kiedy i jak przywrócić, usuwanie lub zmienianie kluczy.

Aby zarządzać kluczy symetrycznych, można użyć narzędzi zawartych w SQL Server Aby wykonać następujące czynności:

  • Wykonaj kopię zapasową kopię serwera i bazy danych klucze, dzięki czemu można korzystać z nich do odzyskać instalacji serwera, lub jako część planowanego migracji.

  • przywracanie uprzednio zapisany klucz do bazy danych.Umożliwia to nowe wystąpienie serwera dostępu do danych istniejących, który nie on pierwotnie szyfrowania.

  • Usuwanie zaszyfrowanych danych w bazie danych w mało prawdopodobne zdarzenie że użytkownik nie może uzyskać dostępu do zaszyfrowanych danych.

  • Ponownie utworzyć klucze i re-encrypt danych w przypadku mało prawdopodobne, że naruszono zabezpieczenia klucz.Zgodnie z zaleceniami dotyczącymi zabezpieczeń należy ponownie utworzyć klucze okresowo (na przykład, co kilka miesięcy), aby chronić system przed atakami, które próbuje odszyfrować klucze.

  • Dodawanie lub usuwanie wystąpienie serwera z rozmieszczania limit czasu skali serwerów, którym wiele serwerów udostępniać zarówno w jednej bazie danych, jak i klucz który zapewnia szyfrowanie odwracalne danej bazy danych.

Ważne informacje dotyczące zabezpieczeń

Uzyskiwanie dostępu do obiektów zabezpieczone przez usługa klucz głównego wymaga albo SQL Server Konto usługa, który został użyty do utworzenia klucz lub konta komputera (komputer). Oznacza to na komputerze jest związany z systemem utworzenia klucz.Można zmienić SQL Server Konto usługa lub konta komputera bez utraty dostępu do klucz.Jednak w przypadku zmiany zarówno użytkownik utraci dostęp do klucz głównego usługa.W przypadku utraty dostępu do klucz głównego usługa bez jednego z tych dwóch elementów, można nie można odszyfrować danych i obiektów szyfrowane przy użyciu oryginalnego klucz.

Nie można przywrócić połączenia zabezpieczonego za pomocą klucz głównego usługa bez klucz głównego usługa.

Dostęp do obiektów i danych zabezpieczonego za pomocą klucza głównego bazy danych wymaga hasła, który jest używany do zabezpieczania klucz.

Ostrzeżenie

W przypadku utraty dostępu do kluczy, opisane wcześniej, użytkownik utraci dostęp do obiektów, połączenia i dane zabezpieczone przez te klucze.Można przywrócić klucz głównego usługa, zgodnie z opisem w łącza, które są wyświetlane, lub możesz wrócić do oryginalnego systemu szyfrowania, aby odzyskać dostępu.Nie ma żadnych "back drzwi" do odzyskania dostępu.

W tej sekcji