Opis przezroczystego szyfrowania danych (TDE)

Można wykonać kilka środki ostrożności, aby zabezpieczyć bazę danych, takich jak projektowanie bezpieczny system, szyfrowania poufnych aktywów i budowanie zapory wokół serwerów baz danych.Jednak w sytuacji, gdzie kradzieży nośnik fizyczny (takie jak dyski lub taśmy kopii zapasowych), strona złośliwego można także przywracanie lub dołączyć bazę danych i przeglądać dane.Jedno rozwiązanie jest do szyfrowania dane poufne w bazie danych i ochrony kluczy, które są używane do szyfrowania danych za pomocą certyfikat.Zapobiega to osoby bez kluczy przy użyciu danych, ale taki rodzaj ochrony, które muszą być planowane z wyprzedzeniem.

Szyfrowanie danych przezroczyste (TDE) wykonuje rzeczywistą -czas we/wy, szyfrowania i odszyfrowywania plików danych i dziennika.szyfrowanie wykorzystuje klucz szyfrowanie bazy danych (DEK), przechowywanego w rekordzie rozruchowym bazy danych dla dostępności podczas odzyskiwanie.DEK jest klucz zawartości zabezpieczone przy użyciu certyfikat przechowywane w baza danych master serwera lub chroniony przez moduł EKM klucza asymetrycznego.TDE chroni dane "spoczynku", czyli plików danych i dziennika.Zapewnia możliwość wykonania wielu ustawowe, wykonawcze i wytycznych ustanowionych w różnych branż.Umożliwia programistom do szyfrowanie danych przy użyciu algorytmów szyfrowanie AES i 3DES bez zmiany istniejących aplikacji.

Ważna informacjaWażne:

TDE nie zapewnia szyfrowanie całej kanałów komunikacji.Aby uzyskać więcej informacji dotyczących szyfrowania danych przesyłanych przez kanały komunikacji, zobacz Szyfrowania połączeńSQL Server.

Po jest zabezpieczona, można przywrócić bazy danych przy użyciu prawidłowego certyfikat.Aby uzyskać więcej informacji na temat certyfikatów, zobacz SQL Server certyfikaty i klucze asymetryczne.

Ostrzeżenie

Podczas włączania TDE, należy natychmiast tworzyć kopię zapasową certyfikat i klucz prywatnego skojarzonego z certyfikatem.Jeśli certyfikat kiedykolwiek niedostępny lub należy przywracanie lub dołączyć bazę danych na innym serwerze, muszą mieć kopie zapasowe certyfikatu i klucz prywatnego lub nie można otworzyć bazy danych.Certyfikat szyfrowania lub asymetrycznego powinny być zachowane nawet jeśli TDE jest już włączona na bazie danych.Nawet, jeśli baza danych nie jest zaszyfrowany, klucz szyfrowanie bazy danych mogą być przechowywane w bazie danych i może muszą być dostępne dla niektórych operacji.

Szyfrowanie plik bazy danych jest wykonywane poziom strona.Strony zaszyfrowanych bazy danych są szyfrowane przed są zapisywane dysk i odszyfrowywane po odczytu do pamięci.TDE nie zwiększa rozmiar bazy danych zaszyfrowanych.Aby uzyskać więcej informacji na temat stron bazy danych, zobacz Opis stron i zakresów.

Na poniższej ilustracji przedstawiono architekturę TDE szyfrowanie:

Wyświetla hierarchię opisaną w tym temacie.

Za pomocą przezroczystego szyfrowania danych

Aby użyć TDE, wykonaj następujące kroki.

  • Utwórz klucz główny

  • Utworzyć lub uzyskać certyfikat chroniony przez klucz główny

  • Utwórz klucz szyfrowanie bazy danych i chronić go przez certyfikat

  • Ustawianie bazy danych do szyfrowanie

Poniższy przykład ilustruje szyfrowania i odszyfrowywania AdventureWorks2008R2 bazy danych za pomocą certyfikat zainstalowanego na serwerze o nazwie MyServerCert.

USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>';
go
CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'My DEK Certificate';
go
USE AdventureWorks2008R2;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
ALTER DATABASE AdventureWorks2008R2
SET ENCRYPTION ON;
GO

Operacje szyfrowanie i odszyfrowywania są planowane na tle wątków przez SQL Server.Można wyświetlić stan tych operacji za pomocą widoki wykazu i dynamicznego zarządzania widoki na liście w dalszej części tego tematu.

PrzestrogaPrzestroga

Pliki kopii zapasowych baz danych, które mają włączone TDE również są szyfrowane za pomocą klucz szyfrowanie bazy danych.W rezultacie podczas przywracanie te kopie zapasowe certyfikat ochrony klucz szyfrowanie bazy danych musi być dostępny.Oznacza to, że oprócz kopii zapasowej bazy danych, trzeba upewnić się, że utrzymanie kopii zapasowych certyfikatów serwera, aby zapobiec utracie danych.Jeśli certyfikat nie jest już dostępny, spowoduje utratę danych.Aby uzyskać więcej informacji, zobacz SQL Server certyfikaty i klucze asymetryczne.

Polecenia i funkcje

Certyfikaty TDE musi być zaszyfrowany przez klucz główny bazy danych zostanie zaakceptowana przez następujące instrukcje.Jeśli są one zaszyfrowane przez tylko hasła, oświadczeń odrzuci je jako encryptors.

Ważna informacjaWażne:

Zmienianie certyfikatów zabezpieczony hasłem, gdy są one używane przez TDE spowoduje bazy danych stać się niedostępne po ponownym uruchomieniu komputera.

Poniższa tabela zawiera łącza i objaśnienia TDE poleceń i funkcji.

Funkcja lub polecenie

Cel

Utwórz klucz szyfrowania bazy danych (Transact-SQL)

Tworzy klucz, który jest używany do szyfrowania bazy danych.

Zmienianie klucza szyfrowania bazy danych (Transact-SQL)

Zmienia klucz, który jest używany do szyfrowania bazy danych.

Usuwanie klucza szyfrowania bazy danych (Transact-SQL)

Usuwa klucz użyty do zaszyfrowania bazy danych.

ZMIENIA opcje zestawu bazy danych (Transact-SQL)

Wyjaśnia ALTER DATABASE opcja, która jest używana do włączania TDE.

Wykaz widoków i dynamicznego zarządzania

W poniższej tabela przedstawiono TDE widoki wykazu i dynamicznego zarządzania widokami.

Wykaz widoku lubdynamiczny widok zarządzania

Cel

sys.Databases (Transact-SQL)

Widok wykazu, który wyświetla informacje z bazy danych.

sys.Certificates (Transact-SQL)

Wykaz widok certyfikatów w bazie danych.

sys.dm_database_encryption_keys (języka Transact-SQL)

Dynamiczne zarządzanie widok, który zawiera informacje dotyczące kluczy szyfrowanie używany w bazie danych i stanu szyfrowanie bazy danych.

Uprawnienia

Każda funkcja TDE i polecenia ma wymagania poszczególnych uprawnień, opisane w tabelach przedstawionej.

Wyświetlanie metadane związanych z TDE wymaga uprawnień VIEW DEFINITION na certyfikat.Aby uzyskać więcej informacji, zobacz Uprawnienie definicji WIDOKU.

Uwagi

Podczas skanowania szyfrowany dla operacji szyfrowanie bazy danych jest w toku, czynności konserwacji w bazie danych są wyłączone. Ustawienie tryb pojedynczego użytkownika bazy danych można użyć do wykonania operacji konserwacji.Aby uzyskać więcej informacji, zobacz Jak Ustawianie bazy danych w trybie pojedynczego użytkownika (SQL Server Management Studio).

Można znaleźć stanu przy użyciu szyfrowanie bazy danych sys.dm_database_encryption_keys dynamiczny widok zarządzania.For more information, see the "Catalog Views and Dynamic Management Views"section earlier in this topic).

W TDE są szyfrowane wszystkie pliki i aplikacjami w bazie danych.Jeśli wszystkie aplikacjami w bazie danych są oznaczone READ ONLY, operacji szyfrowanie bazy danych nie powiedzie się.

Jeśli baza danych jest używana w dublowanie bazy danych lub wysyłanie dziennika, obie bazy danych będą szyfrowane.Dziennik transakcji będą szyfrowane podczas przesyłanych między nimi.

Ważna informacjaWażne:

Wszelkie nowe indeksy pełnotekstowe będą zaszyfrowane, gdy baza danych jest zestaw do szyfrowanie.Indeksy pełnotekstowe poprzednio utworzone zostanie zaimportowany podczas uaktualniania i będą miały TDE po załadowaniu danych do SQL Server.Włączenie indeksu pełnotekstowego kolumna może spowodować tej kolumna dane są zapisywane w formacie zwykłego tekstu na dysk podczas skanowania indeksowania pełnotekstowego.Zaleca się, aby nie utworzyć indeks pełnotekstowy na poufnych danych zaszyfrowanych.

Zaszyfrowane dane są kompresowane znacznie mniej niż równowartość niezaszyfrowane dane.TDE jest używany do szyfrowania bazy danych, kompresji tworzenia kopia zapasowa nie będzie w stanie znacznie skompresować magazynu kopia zapasowa.Dlatego razem z TDE i kompresji kopia zapasowa nie jest zalecane.

Ograniczenia

Podczas szyfrowanie wstępnej bazy danych, zmiana klucz lub odszyfrowywanie bazy danych nie są dozwolone następujące operacje:

  • Usunięcie pliku z grupa plików w bazie danych

  • Porzucanie bazy danych

  • Przełączanie do trybu offline bazy danych

  • Odłączanie bazy danych

  • Przechodzi do stanu ODCZYTAĆ tylko bazy danych lub grupa plików

Następujące działania nie są dozwolone podczas tworzenia klucza szyfrowania bazy danych, zmiany klucza szyfrowania bazy danych, UPUŚĆ bazę danych klucza szyfrowania lub ZMIEŃ bazę danych...SZYFROWANIE zestawu instrukcji.

  • Usunięcie pliku z grupa plików w bazie danych.

  • Porzucanie bazy danych.

  • Przełączanie trybu offline z bazą danych.

  • Odłączanie bazy danych.

  • Przechodzi do stanu ODCZYTAĆ tylko bazy danych lub grupa plików.

  • Za pomocą polecenia ZMIEŃ bazę danych.

  • Uruchamianie bazy danych lub kopia zapasowa pliku.

  • Uruchamianie bazy danych lub przywracanie pliku.

  • Tworzenie migawka.

Następujące operacje lub warunki uniemożliwi się utworzyć klucza szyfrowania bazy danych, zmienianie klucza szyfrowania bazy danych, UPUŚĆ klucza szyfrowania bazy danych lub ZMIEŃ bazę danych...SZYFROWANIE zestawu instrukcji.

  • Baza danych jest tylko do odczytu lub ma wszystkie grupy plików tylko do odczytu.

  • Wykonuje polecenie ZMIEŃ bazę danych.

  • Dowolny kopia zapasowa danych jest uruchomiony.

  • Baza danych jest w trybie offline lub przywracanie warunek.

  • migawka jest w toku.

  • Zadań konserwacji bazy danych.

Podczas tworzenia plików bazy danych, inicjowanie błyskawiczne pliku nie jest dostępny, po włączeniu TDE.

Szyfrowanie danych przezroczyste i dzienniki transakcji

Włączanie bazy danych używać TDE ma skutek "zerowania" Pozostała część dziennika transakcji wirtualnego wymusić dalej dziennik transakcji wirtualnych.Gwarantuje to nie zwykłego tekstu, pozostaje w dziennikach transakcji po baza danych jest zestaw do szyfrowanie.Stan szyfrowanie pliku dziennika można znaleźć wyświetlając encryption_state kolumna w sys.dm_database_encryption_keys widoku, jak w przykładzie:

USE AdventureWorks2008R2;
GO
/* The value 3 represents an encrypted state 
   on the database and transaction logs. */
SELECT *
FROM sys.dm_database_encryption_keys
WHERE encryption_state = 3;
GO

Więcej informacji o SQL Server architektury pliku dziennika, zobacz Fizycznej architektury dziennika transakcji.

Wszystkie dane zapisane w dzienniku transakcji przed zmianą w kluczu szyfrowanie bazy danych będą szyfrowane przy użyciu poprzedniego klucz szyfrowanie bazy danych.

Po dwa razy został zmodyfikowany klucz szyfrowanie bazy danych, należy wykonać kopia zapasowa dziennika przed klucz szyfrowanie bazy danych można modyfikować, ponownie.

Szyfrowanie danych przezroczyste i systemowej bazy danych tempdb

tempdb Systemowej bazy danych będą zaszyfrowane, jeśli inne bazy danych na wystąpienie SQL Server są szyfrowane przy użyciu TDE.To może mieć wpływ wydajności niezaszyfrowane baz danych na tym samym wystąpienie z SQL Server.Więcej informacji o tempdb systemowej bazy danych, zobacz bazy danych tempdb.

Przejrzyste dane szyfrowania i replikacji

Replikacja nie automatycznie replikują dane z bazy danych włączono TDE w zaszyfrowanej formie.Oddzielnie musi umożliwiać TDE, jeśli chcesz zabezpieczyć baz danych dystrybucji i subskrybent.Migawkę replikacji, jak również wstępne rozpowszechnianie danych transakcyjnych i replikacja scalająca, można przechowywać dane w niezaszyfrowane pliki pośrednich; na przykład pliki bcp.Podczas transakcyjnych lub replikacja scalająca, szyfrowanie można włączyć ochronę kanału komunikacji.Aby uzyskać więcej informacji, zobacz Jak Włączanie połączeń szyfrowanych aparatu bazy danych (SQL Server Menedżer konfiguracji).

Przejrzyste dane szyfrowania i FILESTREAM

FILESTREAM dane nie są szyfrowane, nawet wtedy, gdy włączono TDE.