Saydam veri şifrelemesi (tde)

Güvenli bir sistem tasarımı, gizli varlıklar şifreleme ve güvenlik duvarı veritabanı sunucuları etrafında bina gibi veritabanını güvenli hale getirmek için çeşitli önlemler alabilir. Ancak, nerede fiziksel ortamı (örneğin, sürücü veya yedekleme teyplerini) çalıntı bir senaryoda, kötü niyetli bir parti sadece geri veya veritabanını iliştirmek ve veri gözatmak. Veritabanındaki duyarlı verileri şifrelemek ve sertifika ile verileri şifrelemek için kullanılan anahtarları korumak için bir çözüm olabilir. Bu anahtarlar olmadan kimse verileri kullanmasını önler, ancak bu tür bir koruma önceden planlanması gerekir.

Saydam veri şifrelemesi (tde) gerçekleştiren gerçek zamanlı I/O şifreleme ve şifre çözme veri ve günlük dosyaları. Şifreleme kurtarma sırasında kullanılabilirlik veritabanı önyükleme kaydında depolanan bir veritabanı şifreleme anahtarı (dek) kullanır. dek güvenli sunucu ana veritabanında depolanan sertifika kullanarak bir simetrik anahtar veya asimetrik anahtar bir ekm modülü tarafından korunan değildir. tde verileri korur "adlı dinlenme" anlamına gelen veri ve günlük dosyaları. Birçok kanun, yönetmelik ve çeşitli sektörlerde belirlenen kurallara uymak yeteneği sağlar. Bu yazılım geliştiricilerin varolan uygulamaları değiştirmeden aes ve 3DES şifreleme algoritmaları kullanarak verileri şifreleme sağlar.

Önemli notÖnemli

tde şifreleme iletişim kanalları üzerinden sağlamaz. İletişim kanalları üzerinden veri şifreleme hakkında daha fazla bilgi için bkz: Veritabanı altyapısı (SQL Server Configuration Manager) şifreli bağlantıları etkinleştir.

Güvenli olduğunu sonra veritabanı doğru sertifika kullanılarak geri yüklenebilir. Sertifikalar hakkında daha fazla bilgi için bkz: sql sunucu sertifikaları ve asimetrik anahtarları.

[!NOT]

tde etkinleştirirken, hemen sertifika ve sertifikayla ilişkilendirilmiş özel anahtarı yedeklemeniz gerekir. Eğer sertifika hiç kullanılamaz duruma gelir veya geri yüklemek veya başka bir sunucuda veritabanını iliştirmek gerekiyor, sertifikanın ve özel anahtarın yedek olmalıdır veya veritabanını açmak mümkün olmayacaktır. Şifreleme sertifikası veya tde artık veritabanında etkin olsa bile asimetrik korudu. Veritabanında şifreli değil olsa da, veritabanı şifreleme anahtarı veritabanında muhafaza edilebilir ve bazı operasyonlar için erişilebilir olması gerekir. Onun sonunu aştı sertifika hala şifrelemek ve tde ile verilerin şifresini çözmek için kullanılır.

Şifreleme veritabanı dosyasının, sayfa düzeyinde gerçekleştirilir. Şifrelenmiş bir veritabanı sayfaları için yazılmış önce şifrelenmiş disk ve ne zaman şifresi belleğe okumak. tde şifrelenmiş veritabanı boyutunu artırmaz.

tde şifreleme mimarisi aşağıda gösterilmiştir:

Konuda açıklanan hiyerarşiyi görüntüler.

Saydam veri şifrelemesi kullanarak

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

  • Ana anahtar oluşturma

  • Oluşturmak veya ana anahtar tarafından korunan bir sertifika alın

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

  • Şifreleme kullanmak için veritabanı ayarlama

Aşağıdaki örnekte, şifreleme ve şifre çözme gösterilmiştir AdventureWorks2012adlı sunucuda yüklü bir sertifika veritabanı kullanarak MyServerCert.

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

Şifreleme ve şifre çözme işlemleri üzerinde arka plan iş parçacığı tarafından planlanan SQL Server. Bu konudaki görüntülenen listeden katalog görünümler ve dinamik yönetimi görünümleri kullanarak bu işlemlerin durumunu görüntüleyebilirsiniz.

Dikkat notuDikkat

tde etkin olan veritabanlarını yedekleme dosyalarını da veritabanı şifreleme anahtarı kullanılarak şifrelenir. Sonuç olarak, bu yedekleri geri yüklediğinizde, veritabanı şifreleme anahtarının koruma sertifikası bulunmalıdır. Bu, veritabanı yedekleme ek olarak, veri kaybını önlemek için sunucu sertifikaları yedekleri korumak emin olduğunuz anlamına gelir. Sertifika artık mevcut değilse, veri kaybına neden olur. Daha fazla bilgi için, bkz. sql sunucu sertifikaları ve asimetrik anahtarları.

Komutlar ve işlevler

tde sertifikaları aşağıdaki deyimleri tarafından kabul edilmesi için veritabanı ana anahtar tarafından şifrelenmesi gerekir. Parola ile şifrelenir, ifadeler onları encryptors reddet.

Önemli notÖnemli

tde tarafından kullanıldıkları sonra parola korumalı sertifikaları değiştirme veritabanına yeniden sonra erişilemez duruma neden olur.

Aşağıdaki tabloda, bağlantılar ve açıklamalarını tde komutlar ve işlevler sağlar.

Komut veya işlev

Amaç

Veritabanı şifreleme anahtarı (Transact-sql) oluştur

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

alter veritabanı şifreleme anahtarı (Transact-sql)

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

Veritabanı şifreleme anahtarı (Transact-sql) bırak

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

alter database set seçenekleri (Transact-sql)

Açıklar ALTER DATABASEtde etkinleştirmek için kullanılan seçeneği.

Katalog görünümler ve dinamik yönetimi görünümleri

tde katalog görünümler ve dinamik yönetimi görünümleri aşağıdaki tabloda gösterilmektedir.

Katalog veya dinamik yönetimi görünümü

Amaç

sys.Databases (Transact-sql)

Katalog veritabanı bilgilerini görüntüleyen görünüm.

görülebilirsys.CertificatesKatalog (Transact-sql)

Sertifikalar Veritabanı gösteren Katalog görünümü.

görebilirsinizsys.dm_database_encryption_keysDinamik (Transact-sql)

Dinamik yönetimi görünümü veritabanı ve veritabanı şifreleme durumunu kullanılan şifreleme anahtarları hakkında bilgi sağlar.

İzinler

Her tde özellik ve komut daha önce gösterilen tablolarda açıklanan bağımsız izin gereksinimleri vardır.

tde ile ilgili meta veri görüntüleme, sertifika görünüm tanımı izni gerektirir.

Dikkate Alınacak Noktalar

Bir veritabanını şifreleme işlemi için şifresinin tarama devam ederken, veritabanına bakım işlemleri devre dışı bırakılır. Veritabanı tek kullanıcı modu ayarı, bakım işlemi gerçekleştirmek için kullanabilirsiniz. Daha fazla bilgi için, bkz. Bir veritabanı tek kullanıcı modunda.

Sen-ebilmek bulmak kullanarak veritabanı şifreleme durumunu sys.dm_database_encryption_keysdinamik yönetimi görünümü. Daha fazla bilgi için bkz: "Katalog görünümler ve dinamik yönetimi görünümleri"bu konuda Bölüm).

tde tüm dosyaları ve filegroups veritabanı şifrelenir. Veritabanındaki tüm filegroups read only işaretliyse, veritabanını şifreleme işlemi başarısız olur.

Veritabanı yansıtma veya günlük sevkiyat veritabanı kullanılmakta ise, her iki veritabanı şifrelenir. Günlük hareketleri, aralarında gönderilirken şifrelenir.

Önemli notÖnemli

Bir veritabanı şifreleme olarak ayarlandığında tüm yeni tam metin dizinlerini şifrelenir. Önceden oluşturulmuş tam metin dizinlerini yükseltme sırasında ithal ve onlar-ecek var olmak içinde tde verileri içine yüklendikten sonra SQL Server. Sütun tam metin dizini 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 hassas şifreli verileri oluşturmayın öneririz.

Equivalent şifrelenmemiş veri daha az önemli ölçüde şifreli verileri sıkıştırır. tde veritabanı şifrelemek için kullanılırsa, yedekleme sıkıştırma önemli ölçüde yedek depolama sıkıştırmak mümkün olmayacaktır. Bu nedenle, tde ve yedekleme sıkıştırma birlikte kullanılması önerilmez.

Kısıtlamalar

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

  • Veritabanındaki filegroup gelen dosya siliniyor

  • Veritabanını bırakma

  • Veritabanı çevrimdışı duruma getirme

  • Bir veritabanı ayırma

  • Veritabanı veya filegroup bir read only duruma geçiş

Aşağıdaki işlemleri, veritabanı şifreleme anahtarı oluşturmak, alter veritabanı şifreleme anahtarı, veritabanı şifreleme anahtarı bırak veya alter database sırasında verilmiyor...set şifreleme deyimleri.

  • Bir dosya veritabanındaki filegroup gelen bırakılıyor.

  • Veritabanını bırakma.

  • Veritabanı çevrimdışı duruma getirme.

  • Bir veritabanı ayırma.

  • Veritabanı veya filegroup bir read only duruma geçmekte.

  • alter database komutunu kullanarak.

  • Veritabanı veya veritabanı dosyası yedekleme başlatılıyor.

  • Veritabanı veya veritabanı dosya geri yükleme başlatılıyor.

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

Aşağıdaki işlemleri veya koşullar veritabanı şifreleme anahtarı oluşturmak, alter veritabanı şifreleme anahtarı, veritabanı şifreleme anahtarı bırak veya alter database engeller...set şifreleme deyimleri.

  • Veritabanı salt okunur veya herhangi bir salt okunur dosya grupları vardır.

  • alter database komutu yürütülüyor.

  • Herhangi bir veri yedekleme çalışıyor.

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

  • Anlık devam ediyor.

  • Veritabanı bakım görevleri.

tde etkin olduğunda veritabanı dosyalarını oluştururken, anlık dosya başlatma kullanılamaz.

Bir asimetrik anahtar ile veritabanı şifreleme anahtarı şifrelemek için asimetrik anahtar, bir Genişletilebilir anahtar yönetimi sağlayıcı bulunmalıdır.

Saydam veri şifrelemesi ve hareket günlükleri

tde kullanmak bir veritabanını etkinleştirme "dışarı sıfırlanması" etkisi vardır Sonraki sanal işlem günlüğü zorlamak için sanal işlem günlüğü geri kalan bölümü. Bu, veritabanı şifrelemesi için ayarlandıktan sonra açık metin işlem günlüklerinde bırakılır garanti eder. Günlük dosyası şifreleme durumunu görüntüleyerek bulabilirsiniz encryption_statesütununda sys.dm_database_encryption_keysGörünüm, bu örnekte olduğu gibi:

USE AdventureWorks2012;
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 Serverbkz: günlük dosyası mimari İşlem günlüğü (SQL Server).

Hareket günlüğü veritabanı şifreleme anahtarı değişikliği önce yazılan tüm veriler önceki veritabanı şifreleme anahtarı kullanılarak şifrelenir.

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

Saydam veri şifrelemesi ve tempdb sistem veritabanı

tempdbDiğer örneği üzerinde veritabanı veritabanı şifrelenir SQL Servertde kullanılarak şifrelenmiştir. Bu aynı örneğini şifresiz veritabanları için bir performans etkisi olabilir SQL Server. Hakkında daha fazla bilgi için tempdbveritabanı, bakın tempdb veritabanı.

Saydam veri şifrelemesi ve çoğaltma

Çoğaltma otomatik olarak veri bir tde etkinleştirilmiş veritabanında şifreli çoğaltmaz. Dağıtım ve abone veritabanları korumak istiyorsanız tde ayrı etkinleştirmeniz gerekir. Verileri ilk dağıtımı yanı sıra, çoğaltma anlık görüntü işlem ve birleştirme çoğaltma, şifrelenmemiş ara dosyalarda; verileri depolamak Örneğin, bcp dosyaları. İşlem sırasında veya birleştirme çoğaltması, şifreleme iletişim kanalı korumak için etkinleştirilebilir. Daha fazla bilgi için, bkz. Veritabanı altyapısı (SQL Server Configuration Manager) şifreli bağlantıları etkinleştir.

Saydam veri şifrelemesi ve FILESTREAM veri

Hatta tde etkinleştirildiğinde FILESTREAM veriler şifrelenmez.

ilişkili Görevler

Başka bir SQL Server veritabanına bir tde korumalı taşıma

İlişkili İçerik

SQL Server şifreleme

SQL Server ve Veritabanı Şifreleme Anahtarları (Veritabanı Altyapısı)

Ayrıca bkz.

Kavramlar

Güvenlik ve koruma (veritabanı altyapısı)

FILESTREAM (SQL Server)