Saydam (TDE) veri şifrelemesi'ni anlama

Güvenli bir sistem tasarlama, gizli kıymetler şifreleme ve güvenlik duvarı geçici veritabanı sunucuları oluşturma veritabanını güvenli hale getirmek için birkaç önlem.Ancak, fiziksel ortamı (örneğin, sürücüleri veya yedek teyplerini) burada çalınıyor senaryosunda, kötü niyetli bir kişi yalnızca geri yükleme veya veritabanına eklemek ve verileri bulun.Veritabanındaki duyarlı verileri şifreleyen ve verileri bir sertifika ile şifrelemek için kullanılan anahtarlar korumak için bir çözümdür'ı tıklatın.Bu anahtarlar olmadan herkes verileri kullanmasını engeller, ancak bu tür bir koruma önceden yapılmış gerekir.

Saydam bir veri şifreleme (TDE), gerçek zamanlı g/Ç şifreleme ve şifre çözme veri ve günlük dosyalarının gerçekleştirir.Şifreleme, kurtarma sırasında kullanılabilirlik için Veritabanı önyükleme kaydındaki depolanan bir veritabanı şifreleme anahtar (DEK) kullanır.DEK EKM bir modül tarafından korunan bir asimetrik anahtar ya da ana sunucu veritabanında saklanan bir sertifika kullanarak güvenli bir simetrik anahtar ' dir.Veri TDE korur "diğer" veri ve günlük dosyalarını başka bir deyişle, adres.Bu, birçok kanunlar, düzenlemelerine ve içinde çeşitli sektörler için belirlenmiş yönergelere uymak olanağı sağlar.Bu yazılım geliştiricileri, varolan uygulamaların değiştirmeden AES ve 3DES şifreleme algoritmalarını kullanarak verileri şifrelemek de sağlar.

Important noteImportant Note:

Iletişim kanalı TDE, şifreleme sağlamaz.Iletişim kanalı veri şifreleme hakkında daha fazla bilgi için bkz: SQL Server bağlantıları için şifreleme.

Güvenlik altına alınır, sonra veritabanı doğru kullanılarak geri yüklenebilir sertifika.Sertifikalar hakkýnda daha fazla bilgi için bkz: SQL sunucu sertifikası ve asimetrik anahtarları.

Not

TDE etkinleştirdiğinizde, sertifika ve sertifikayla ilişkili özel anahtar hemen yedeklemelisiniz.Varsa sertifika şimdiye kadar kullanılamaz duruma veya geri yükleme yüklemek veya başka bir sunucuda veritabanı eklemek, sertifika ve özel anahtar yedekler olmalıdır ya da veritabanı açma olanağınız olmayacaktır.Şifreleme sertifikası veya TDE artık veritabanında etkin olsa bile asimetrik korunabilmesi.Veritabanı şifreli olsa bile, veritabanını şifreleme anahtar veritabanında korunur ve bazı operasyonlar için erişim vermeniz gerekebilir.

Şifreleme veritabanı dosyasının sayfa düzeyinde gerçekleştirilir.Bir şifrelenmiş veritabanı sayfaları için yazılmış önce şifrelenir disk ve ne zaman şifresi belleğe okunamıyor.TDE şifrelenmiş veritabanı boyutunu artırmaz.Veritabanı sayfaları hakkında daha fazla bilgi için bkz: Anlama sayfaları ve alanları.

Aşağıdaki resimde TDE şifreleme mimarisini gösterir:

Displays the hierarchy described in the topic.

Saydam veri şifrelemesi'ni kullanma

TDE kullanmak için aşağıdaki adımları izleyin.

  • Bir ana anahtar oluşturma

  • Oluşturmak veya ana anahtar tarafından korunan bir sertifika edinin.

  • Bir veritabanı şifreleme anahtar oluşturmak ve bu sertifika tarafından koruma

  • Şifreleme kullanmamak için veritabanı küme

Aşağıdaki örnek, şifreleme ve şifre çözme gösterir AdventureWorks Veritabanı adlı sunucuda yüklü olan bir sertifika kullanıyor. 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

Şifreleme ve şifre çözme işlemleri hakkında arka plan iş parçacıkları tarafından planlanır SQL Server. Bu konuda daha sonra görüntülenen listede, katalog görünümleri ve dinamik yönetimi görünümleri kullanarak, bu işlemlerin durumunu görüntüleyebilirsiniz.

Uyarı

Veritabanını şifreleme kullanarak TDE etkinleştirilmiş olan bir veritabanı yedek dosyalar da şifrelenir anahtar.Sonuç olarak, bu yedeklerin geri yükleme yüklediğinizde, sertifika veritabanını şifreleme anahtarının koruma kullanılabilir olması gerekir.Bu veritabanını yedekleme ek olarak, veri kaybını önlemek için sunucu sertifikaları yedekleri korumak emin olmak sahip olduğunuz anlamına gelir.Sertifika artık kullanılabilir değilse, veri kaybına neden olur.Daha fazla bilgi için bkz:SQL sunucu sertifikası ve asimetrik anahtarları.

Komutlar ve işlevler

TDE sertifika, aşağıdaki ifadeler tarafından kabul edilmesi için veritabanı ana anahtar tarafından şifrelenmelidir.Bunlar yalnızca parola ile şifrelenir, ifadeleri bunları encryptors reddedin.

Important noteImportant Note:

Sonra TDE tarafından kullanılan parola korumalı olması için sertifikaları değiştirme, veritabanını yeniden başlatma sonrasında erişilemez duruma gelmesine neden olur.

Aşağıdaki tablo bağlantılar ve açıklamalarını TDE komutlar ve işlevler sağlar.

Komut veya işlev

Amaç

DATABASE ŞIFRELEME anahtar (Transact-SQL) CREATE

Veritabanını şifrelemek için kullanılan bir anahtar oluşturur.

DATABASE ŞIFRELEME anahtar (Transact-SQL) ALTER

Veritabanını şifrelemek için kullanılan anahtar değiştirir.

DATABASE ŞIFRELEME anahtar (Transact-SQL) DROP

Veritabanını şifrelemek için kullanılan anahtar kaldırır.

DATABASE küme seçenekleri (Transact-SQL) ALTER

Açıklıyor ALTER DATABASE seçenek TDE etkinleştirmek için kullanılır.

Görünümler ve dinamik yönetim görünümleri katalog

Aşağıdaki tabloda, TDE katalog görünümleri ve dinamik yönetimi görünümleri gösterir.

Katalog görüntüleme veya dinamik yönetim görünümü

Amaç

sys.Databases (Transact-SQL)

Veritabanı bilgileri görüntüleyen görünümü katalog.

sys.Certificates (Transact-SQL)

Veritabanındaki sertifikaların gösteren kataloğunu görüntüleyin.

sys.dm_database_encryption_keys (Transact-SQL)

Bir veritabanı ve veritabanı şifreleme durumunu kullanılan şifreleme anahtarları hakkında bilgi sağlayan dinamik yönetim görünümü.

İzinler

Her komut ve TDE özellik daha önce gösterilen tablolarda açıklanan, tek tek izin gereksinimleri vardır.

TDE ile ilgili meta veriler görüntüleme, sertifikadaki GÖRÜNÜM TANıMı izni gerektirir.Daha fazla bilgi için bkz:VIEW TANıM izni.

Dikkate Alınacak Noktalar

Bir veritabanını şifreleme işlemi için re-encryption tarama işlemi sırasında veritabanı bakım işlemlerini devre dışı bırakılır. Veritabanı tek kullanıcı modu ayarı, bakım işlemini gerçekleştirmek için kullanabilirsiniz.Daha fazla bilgi için bkz:Nasıl Yapılır: Bir veritabanı (SQL Server Management Studio'yu) tek kullanıcılı moda ayarlayın..

Sys.dm_database_encryption_keys dinamik yönetimi görünümünü kullanarak veritabanını şifreleme durumunu bulabilirsiniz.For more information, see the "Catalog Views and Dynamic Management Views"section earlier in this topic).

TDE, tüm dosya ve dosya gruplarını veritabanındaki şifrelenir.Veritabanında herhangi bir dosya gruplarını READ ONLY olarak işaretlendi, veritabanını şifreleme işlemi başarısız olur.

Bir veritabanını veritabanı yansıtması veya günlüğü kullanılıyorsa, her iki veritabanı şifrelenir.Günlük hareketleri, aralarında gönderilen şifrelenir.

Important noteImportant Note:

Şifreleme için bir veritabanı oluştururken yeni bir tam metin dizinleriyle şifrelenir.Daha önce oluşturulan tam metin dizinleriyle yükseltme sırasında yeniden alınır ve verileri içine yüklendikten sonra TDE olacaktır SQL Server. Bir sütun üzerinde bir tam metin dizinini etkinleştirmek, bu sütunun verilerin tam metin dizin tarama sırasında düz metin diske yazılmasına neden olabilir.Bir tam metin dizini üzerinde önemli bir şifreli verileri oluşturmayın öneririz.

Şifrelenmiş verileri, veri eşdeğer şifrelenmemiş'den daha az önemli ölçüde sıkıştırır.Bir veritabanı şifrelerseniz TDE kullanılırsa, yedekleme sıkıştırma yedek depolama önemli ölçüde Sıkıştırılacak gideremez ve çözemez.Bu nedenle, TDE ve yedek sıkıştırma birlikte kullanılması önerilmez.

Kısıtlamalar

Ilk veritabanını şifreleme anahtar değiştirme veya veritabanı şifre çözme sırasında aşağıdaki işlemleri izin verilmez:

  • Veritabanındaki bir dosya grubu alanından bir dosya siliniyor

  • Veritabanını bırakma

  • Veritabanı için çevrimdışı duruma getirme

  • Veritabanı ayırma

  • Bir veritabanı veya dosya grubu bir READ ONLY duruma geçmekte...

Aşağıdaki işlemleri, CREATE DATABASE ŞIFRELEME anahtar, ALTER DATABASE ŞIFRELEME anahtar, DROP DATABASE ŞIFRELEME anahtar veya ALTER DATABASE... küme ENCRYPTION ifadeleri sırasında izin verilmez.

  • Veritabanındaki bir dosya grubu alanından bir dosya siliniyor.

  • Veritabanını bırakma.

  • Veritabanının çevrimdışı duruma getirme.

  • Veritabanı ayırma.

  • Bir veritabanı veya dosya grubu bir READ ONLY duruma geçmekte.

  • Bir ALTER DATABASE komutunu kullanma.

  • Bir veritabanı veya veritabanı dosyası yedeği başlatılıyor.

  • Bir veritabanı veya veritabanı dosyası geri yükleme başlatılıyor.

  • Anlık görüntü oluşturma.

Aşağıdaki işlemler veya koşullar, CREATE DATABASE ŞIFRELEME anahtar, ALTER DATABASE ŞIFRELEME anahtar, DROP DATABASE ŞIFRELEME anahtar veya ALTER DATABASE... küme ENCRYPTION ifadeleri engelleyecektir.

  • Veritabanı salt okunur veya herhangi bir salt okunur bir dosya grubu.

  • Bir ALTER DATABASE komutu yürütülüyor.

  • Herhangi bir veri yedeği çalışıyor.

  • Veritabanı, bir çevrimdışı veya durumu geri yükleme yükleyin.

  • anlık görüntü görüntü işlemi sürüyor.

  • Veritabanı bakım görevlerini.

Saydam veri şifreleme ve hareket günlükleri

Bir veritabanını TDE kullanmak üzere etkinleştirme "dışında kalan bölümü sonraki sanal bir işlem günlüğü zorlamak için sanal bir işlem günlüğünün zeroing" sahiptir.Bu veritabanı, şifreleme için ayarlandıktan sonra şifresiz metin işlem günlüklerinin kaldığını güvence altına alır.Bu örnekte olduğu gibi sys.dm_database_encryption_keys görünümün encryption_state sütun görüntüleyerek Günlük dosya şifreleme durumunu bulabilirsiniz:

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

Hakkında daha fazla bilgi için SQL Server Dosya mimarisi oturum için bkz: Fiziksel işlem günlüğü mimarisi.

Önce bir veritabanını şifreleme anahtarının değişiklik hareket günlüğüne yazılan tüm veri, önceki veritabanı şifreleme anahtar kullanılarak şifrelenir.

Bir veritabanını şifreleme anahtarının iki kez değiştirilmiş sonra günlük yedek veritabanını şifreleme anahtar yeniden değiştirilebilmesi için önce gerçekleştirilmelidir.

Saydam veri şifreleme ve sistem veritabanı tempdb

Diğer veritabanı üzerinde sistem veritabanı tempdb şifrelenmiş örnek, SQL Server TDE kullanılarak şifrelenir. Bu bir performans etkisi şifrelenmemiş veritabanlarının aynı örnek olabilir. SQL Server. Tempdb sistem veritabanı hakkında daha fazla bilgi için bkz: tempdb veritabanı.

Saydam bir veri şifreleme ve çoğaltma

Çoğaltma otomatik olarak veri TDE etkinleştirilmiş bir veritabanından şifreli bir biçimde çoğaltma değil.Dağıtım ve abone veritabanlarını korumak isterseniz, TDE ayrı ayrı etkinleştirmeniz gerekir.Ilk veri dağıtımını yanı sıra, çoğaltma anlık görüntü görüntü görüntüsünü işlem ve birleştirme çoğaltması, verileri şifrelenmemiş bir ara depolayabilirsiniz dosyaları, örneğin Kullanımıbcp dosyaları.Işlem sırasında veya çoğaltma, birleştirme iletişim kanalı korumak için şifreleme etkinleştirilebilir.Daha fazla bilgi için bkz:Nasıl Yapılır: Şifrelenmiş bağlantılar (SQL Server yapılandırma Manager) Veritabanı Altyapısı'nı etkinleştirme.

Saydam veri şifreleme ve FILESTREAM VERI

TDE etkin olsa bile FILESTREAM veriler şifrelenmez.