Udostępnij za pośrednictwem


Understanding Transparent Data Encryption (TDE)

Można zastosować kilka środków ostrożności zabezpieczania bazy danych, takie jak projektowanie bezpieczny system, szyfrowania poufnych zasobów i budowanie zapory wokół serwerów baz danych.Jednak w sytuacji, gdy nośnik fizyczny (na przykład dysków lub taśm z kopiami zapasowymi) są kradzieży, niebezpieczną stronę można po prostu przywrócić lub dołączyć bazę danych i przeglądać dane.Jednym z rozwiązań jest do szyfrowania dane poufne w bazie danych i zabezpieczyć klucze, które są używane do szyfrowania danych przy użyciu certyfikat.Dzięki temu każdy użytkownik bez kluczy przy użyciu danych, ale taki rodzaj ochrony, które muszą być planowane z wyprzedzeniem.

Szyfrowanie danych przezroczyste (TDE) wykonuje We/Wy czas rzeczywistego, szyfrowania i odszyfrowywania plików danych i dziennika.szyfrowanie wykorzystuje klucz szyfrowanie bazy danych (DEK), który jest przechowywany w rekord rozruchowy bazy danych dla dostępności podczas odzyskiwanie.DEK jest klucz zawartości zabezpieczone przy użyciu certyfikat przechowywane w głównej bazie danych serwera lub kluczu asymetrycznego, który jest chroniony przez moduł EKM.TDE chroni dane "na resztę", co oznacza plików danych i dziennika.Zapewnia on możliwość wykonania wielu prawodawstwem i wskazówki w różnych branż.Dzięki temu deweloperzy oprogramowania mogą do szyfrowanie danych przesyłanych za pomocą algorytmów szyfrowanie AES i 3DES bez zmiany istniejących aplikacji.

Important noteImportant Note:

TDE nie zapewnia szyfrowanie całej komunikacji kanałów.Aby uzyskać więcej informacji na temat szyfrowania danych przesyłanych przez kanały informacji zobacz Encrypting Connections to 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 Certificates and Asymmetric Keys.

Uwaga

Podczas włączania TDE, należy natychmiast wykonać kopie zapasowe certyfikat i klucz prywatnego skojarzonego z certyfikatem.Jeśli kiedykolwiek certyfikat będzie niedostępna lub przywrócić lub dołączyć bazę danych na innym serwerze, trzeba mieć kopie zapasowe certyfikatu i klucz prywatnego lub nie można otworzyć bazy danych.Certyfikat szyfrowania lub asymetrycznego powinny zostać zachowane nawet jeśli nie włączono TDE w bazie danych.Mimo że baza danych nie są szyfrowane, klucz szyfrowanie bazy danych mogą być przechowywane w bazie danych i może być konieczne, można uzyskać dostęp do niektórych operacji.

Szyfrowanie plik bazy danych jest wykonywane poziom strona.Strony z bazą danych zaszyfrowanych są szyfrowane przed są one zapisywane na dysku i odszyfrowywane przy wczytać 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:

Displays the hierarchy described in the topic.

Za pomocą szyfrowanie danych przezroczysty

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

  • Tworzenie klucz głównego

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

  • Tworzenie klucz szyfrowanie bazy danych i zabezpieczyć go przez certyfikat

  • zestaw bazę danych do użycia szyfrowanie

Poniższy przykład ilustruje szyfrowanie i odszyfrowywanie AdventureWorks za pomocą certyfikat zainstalowanego na serwerze o nazwie bazy danych MyServerCert.

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

Operacje szyfrowanie i odszyfrowywania są planowane na tle wątków przez SQL Server. Można przeglądać stan tych czynności za pomocą widoki wykazu i dynamicznego zarządzania widoki na liście, która pojawia się w dalszej części tego tematu.

Ostrzeżenie

Pliki kopii zapasowych baz danych, które zostały włączone TDE również są szyfrowane przy użyciu 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 zachowuje się kopie zapasowe certyfikatów serwera, aby zapobiec utracie danych.Jeśli certyfikat nie jest już dostępny, spowoduje utratę danych.Aby uzyskać więcej informacji zobaczSQL Server Certificates and Asymmetric Keys.

Polecenia i funkcje

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

Important noteImportant Note:

Zmienianie certyfikatów, które zabezpieczony hasłem, gdy są one używane przez TDE spowoduje, że baza danych staje się niedostępny po ponownego uruchomienia komputera.

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

Polecenie lub funkcja

Cel

CREATE DATABASE ENCRYPTION KEY (Transact-SQL)

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

ALTER DATABASE ENCRYPTION KEY (Transact-SQL)

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

DROP DATABASE szyfrowanie klucz (języka Transact-SQL)

Usuwa klucz, który został użyty do zaszyfrowania bazy danych.

ALTER DATABASE SET Options (Transact-SQL)

W tym artykule wyjaśniono ALTER DATABASE Opcja, która służy do włączania TDE.

widoki wykazu i dynamiczne zarządzanie widoki

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

dynamiczny widok zarządzania lub widoku wykazu

Cel

sys.Databases (języka Transact-SQL)

Katalogu widok wyświetlający informacje z bazy danych.

sys.Certificates (języka Transact-SQL)

Katalogu widok, w którym są wyświetlane certyfikaty w bazie danych.

sys.dm_database_encryption_keys (Transact-SQL)

dynamiczny widok zarządzania, który zawiera informacje dotyczące kluczy szyfrowanie stosowanych w bazie danych i stan szyfrowanie bazy danych.

Uprawnienia

Każdy TDE funkcje i polecenie ma wymagania poszczególnych uprawnień, opisane w tabel wymienionych wcześniej.

Wyświetlanie metadane związanych z TDE wymaga uprawnienia definicja VIEW w certyfikacie.Aby uzyskać więcej informacji zobaczUprawnienie definicja VIEW.

Uwagi

Podczas skanowania re-szyfrowanie dla operacji szyfrowanie bazy danych jest w toku, operacji konserwacji w bazie danych są wyłączone. Ustawienie trybu pojedynczego użytkownika w bazie danych można użyć do wykonania tej operacji konserwacji.Aby uzyskać więcej informacji zobaczJak Ustawianie bazy danych w trybie jednego użytkownika (SQL Server Management Studio).

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

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

Jeśli baza danych jest używany w dublowanie bazy danych lub wysyłanie dziennika, zarówno w przypadku baz danych, jak będą szyfrowane.Transakcje dziennika szyfrowane będą przesyłanych między nimi.

Important noteImportant Note:

Wszelkie nowe indeksy pełnotekstowe będą zaszyfrowane, gdy baza danych jest ustawiony do szyfrowanie.Indeksy pełnotekstowe uprzednio utworzony zostanie zaimportowany podczas uaktualniania i będą one w TDE po załadowaniu danych do SQL Server. Włączenie indeksu całego tekstu na kolumna może spowodować zapisanie w formacie zwykłego tekstu na dysk podczas skanowania indeksowania pełnotekstowego tej kolumna danych.Zaleca się, że indeks pełnotekstowy nie należy tworzyć na poufne dane zaszyfrowane.

Zaszyfrowane dane są kompresowane znacznie mniej niż odpowiednik niezaszyfrowanej danych.Jeśli TDE jest używany do szyfrowania bazy danych, kompresja kopia zapasowa nie będzie można znacznie skompresować magazynowania kopia zapasowa.W związku z tym ze sobą za pomocą TDE i kompresji kopia zapasowa nie jest zalecane.

Ograniczenia

Podczas szyfrowanie wstępnej bazy danych, zmiany kluczy lub odszyfrowywanie bazy danych niedozwolone są następujące operacje:

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

  • Porzucanie bazy danych

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

  • Odłączanie bazy danych

  • Przechodzi w stan READ ONLY bazy danych lub grupa plików

Następujące operacje nie są dozwolone podczas CREATE DATABASE szyfrowanie klucz, ALTER DATABASE szyfrowanie klucz, DROP DATABASE szyfrowanie klucz lub instrukcji ALTER DATABASE... zestaw szyfrowanie.

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

  • Porzucanie bazy danych.

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

  • Odłączanie bazy danych.

  • Przechodzi do bazy danych lub grupa plików w stan READ ONLY.

  • Za pomocą wysłał polecenie ALTER DATABASE.

  • Uruchamianie bazy danych lub kopia zapasowa plik bazy danych.

  • Uruchamianie bazy danych lub przywracanie pliku bazy danych.

  • Tworzenie migawka.

Następujące operacje lub warunki uniemożliwi instrukcji CREATE DATABASE szyfrowanie klucz, ALTER DATABASE szyfrowanie klucz, DROP DATABASE szyfrowanie klucz lub ALTER DATABASE... zestaw szyfrowanie.

  • Baza danych jest tylko do odczytu lub ma żadnych grup, pliku tylko do odczytu.

  • To polecenie ALTER DATABASE jest wykonywana.

  • Wszystkie dane kopia zapasowa jest uruchomiona.

  • Baza danych znajduje się w trybu offline lub przywrócić stan.

  • migawka jest w toku.

  • Zadań związanych z konserwacją bazy danych.

Szyfrowanie danych przezroczyste i dzienniki transakcji

Włączanie bazy danych używać TDE ma skutek „ wyzerowanie poza"pozostałą część dziennika transakcji wirtualnych do wymuszenia następnego dziennik transakcji wirtualnych.Ta metoda gwarantuje, że zwykły tekst nie pozostaje po ustawieniu bazy danych do szyfrowanie w dziennikach transakcji.Stan szyfrowanie pliku dziennika można znaleźć, przeglądając kolumna encryption_state w widoku sys.dm_database_encryption_keys, tak jak w następującym przykładzie:

USE AdventureWorks;
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

Aby uzyskać więcej informacji na temat SQL Server Architektura pliku dziennika, zobacz Architektura fizyczny dziennik transakcji.

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

Po dwa razy został zmodyfikowany klucz szyfrowanie do bazy danych, należy wykonać kopia zapasowa dziennika dziennika przed klucza szyfrowanie bazy danych, które mogą być modyfikowane ponownie.

Szyfrowanie danych przezroczyste i systemowej bazy danych tempdb

Systemowej bazy danych tempdb będą zaszyfrowane, jeśli inne bazy danych na wystąpienie z SQL Server są szyfrowane przy użyciu TDE. To może mieć wpływ wydajności dla baz danych bez szyfrowania w tym samym wystąpieniu SQL Server. Aby uzyskać więcej informacji o bazie danych tempdb systemu Zobacz tempdb Database.

Data przezroczyste szyfrowanie i replikacja

Replikacja nie automatycznie replikują dane z włączoną TDE bazy danych w zaszyfrowanej formie.Należy włączyć TDE oddzielnie, jeśli chcesz włączyć ochronę bazy danych dystrybucji i subskrybent.Migawkę replikacja, początkowe rozmieszczenie danych dla transakcyjnych i replikacja łączenia, mogą być przechowywane dane w pośrednich bez szyfrowania plików, na przykład pliki bcp.Podczas transakcyjnych lub scalania replikacja, można włączyć szyfrowanie do ochrony kanału komunikacyjnego.Aby uzyskać więcej informacji zobaczHow to: Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager).

Szyfrowanie i FILESTREAM DATA przezroczyste danych

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