Aracılığıyla paylaş


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

SQL Server bir sunucu veritabanında depolanan verileri, kimlik bilgilerini ve bağlantı bilgilerini korumaya yardımcı olmak üzere şifreleme anahtarları kullanır. SQL Server'da iki tür anahtar vardır: simetrik ve asimetrik. Simetrik anahtarlar, verileri şifrelemek ve şifrelerini çözmek için aynı parolayı kullanır. Asimetrik anahtarlar, verileri şifrelemek için bir parola (buna ortak anahtar denir), verilerin şifresini çözmek için başka bir parola (buna özel denir) kullanır.

SQL Server'da, şifreleme anahtarları, gizli verileri korumak için kullanılan ortak, özel ve simetrik anahtarların bir kombinasyonunu içermektedir. Simetrik anahtar, SQL Server başlatması sırasında, SQL Server örneğini ilk başlattığınızda oluşturulur. Bu anahtar, SQL Server tarafından, SQL Server'da depolanan gizli verileri şifrelemek için kullanılır. Ortak ve özel anahtarlar ise işletim sistemi tarafından oluşturulur ve simetrik anahtarı korumak için kullanılır. Bir veritabanında gizli verileri depolayan her SQL Server örneği için bir ortak ve özel anahtar çifti oluşturulur.

SQL Server Uygulamaları ve Veritabanı Anahtarları

SQL Server'ın anahtarlar için iki temel uygulaması vardır: bir SQL Server örneği üzerinde ve için oluşturulan bir hizmet ana anahtarı (SMK) ve bir veritabanı için kullanılan bir veritabanı ana anahtarı (DMK).

SMK, SQL Server örneği ilk kez başlatıldığında otomatik olarak oluşturulur ve bağlantılı sunucu parolası, kimlik bilgileri ve veritabanı ana anahtarını şifrelemekte kullanılır. SMK, Windows Data Protection API (DPAPI) kullanan yerel bilgisayar anahtarı kullanılarak şifrelenir. DPAPI, SQL Server hizmet hesabının Windows kimlik bilgileri ve bilgisayarın kimlik bilgilerinden türetilen bir anahtar kullanır. Hizmet ana anahtarının şifresi yalnızca oluşturulduğu hizmet hesabı ya da makinenin kimlik bilgilerine erişimi olan bir sorumlu tarafından çözülebilir.

Veritabanı ana anahtarı, sertifikaların özel anahtarlarını ve veritabanında mevcut olan asimetrik anahtarları korumak için kullanılan simetrik bir anahtardır. Veri şifrelemek için de kullanılabilir ama uzunluk sınırlamalarından dolayı veriler için simetrik anahtar kullanımı kadar pratik değildir.

Ana anahtar oluşturulduğunda, Üçlü DES algoritması ve kullanıcı tarafından sağlanan bir parola kullanılarak şifrelenir. Ana anahtarın otomatik şifre çözümünü etkinleştirmek için, anahtarın bir kopyası SMK kullanılarak şifrelenir. Bu kopya, hem kullanıldığı veritabanında hem de master sistem veritabanında depolanır.

master sistem veritabanında depolanan DMK kopyası, DMK her değiştiğinde sessizce güncellenir. Ancak bu varsayılan, ALTER MASTER KEY deyiminin DROP ENCRYPTION BY SERVICE MASTER KEY seçeneği kullanılarak değiştirilebilir. Hizmet ana anahtarı tarafından şifrelenmeyen bir DMK, OPEN MASTER KEY deyimi ve bir parola kullanılarak açılmalıdır.

SQL Server ve Veritabanı Anahtarlarının Yönetimi

Şifreleme anahtarlarının yönetimi; yeni veritabanı anahtarlarının oluşturulması, sunucu ve veritabanı anahtarlarının bir yedeğinin oluşturulması ve ne zaman ve nasıl geri yükleme yapılacağının bilinmesini içerir.

Simetrik anahtarları yönetmek için, aşağıdakileri yapmak üzere SQL Server'da yer alan araçları kullanabilirsiniz:

  • Sunucu ve veritabanı anahtarlarının bir kopyasını yedekleyin; böylece bunları bir sunucu yüklemesini kurtarmada ya da planlı bir geçişin parçası olarak kullanabilirsiniz.

  • Önceden kaydedilmiş bir anahtarı bir veritabanına geri yükleyin. Böylece yeni bir sunucu örneği, aslen şifrelemediği mevcut verilere erişebilir.

  • Şifrelenmiş verilere artık ulaşamamanız gibi olağandışı bir durumda veritabanındaki şifrelenmiş verileri silin.

  • Anahtarın güvenliğinin aşılması gibi olağandışı bir durumda anahtarları yeniden oluşturun ve verileri yeniden şifreleyin. Güvenlik açısından en iyi uygulama olarak, sunucuyu anahtarların şifrelerini çözmeye çalışan saldırılardan korumak amacıyla anahtarları düzenli aralıklarla (örneğin birkaç ayda bir) yeniden oluşturun.

  • Birden çok sunucunun hem tek bir veritabanını hem de bu sunucu için tersine çevrilebilir şifreleme sağlayan anahtarı paylaştığı bir sunucu genişleme dağıtımına bir sunucu vakasını ekleyin veya kaldırın.

Önemli Güvenlik Bilgileri

Hizmet ana anahtarı ile korunan nesnelere erişim için, ya anahtarı oluşturmakta kullanılan SQL Server Hizmet hesabı ya da bilgisayar (makine) hesabı gereklidir. Yani bilgisayar, anahtarın oluşturulduğu sisteme bağlıdır. SQL Server Hizmet hesabını ya dabilgisayar hesabını, anahtar erişimini kaybetmeden değiştirebilirsiniz. Ancak ikisini birden değiştirirseniz, hizmet ana anahtarına erişimi kaybedersiniz. Bu öğelerden biri olmadan hizmet ana anahtar erişimini kaybederseniz, özgün anahtar kullanılarak şifrelenmiş veri ve nesnelerin şifrelerini çözemezsiniz.

Hizmet ana anahtarıyla korunan bağlantılar, hizmet ana anahtarı olmadan geri yüklenemez.

Veritabanı ana anahtarıyla korunan nesneler ve verilere erişim için sadece anahtarın güvenliğini sağlamaya yardımcı olmak için kullanılan parola gerekir.

Dikkat notuDikkat

Daha önce bahsedilen anahtarlara tüm erişimi kaybederseniz, bu anahtarlarla güvenliği sağlanan nesneler, bağlantılar ve verilerin erişimini de kaybedersiniz. Hizmet ana anahtarını, burada gösterilen bağlantılarda anlatıldığı şekilde geri yükleyebilir ya da erişimi kurtarmak için ilk şifreleme sistemine geri dönebilirsiniz. Erişimi kurtarmak için bir "arka kapı" yoktur.

Bu Bölümde

ilişkili Görevler

Hizmet ana anahtarı yedeklemek

Hizmet ana anahtar geri yüklemek

Bir veritabanı ana anahtar oluşturma

Bir veritabanı ana anahtarı yedeklemek

Bir veritabanı ana anahtar geri yüklemek

İki sunucularda aynı simetrik anahtarlar oluşturmak

tde ekm kullanma etkinleştir

İlişkili İçerik

MASTER KEY (Transact-sql) oluştur

alter hizmet ana anahtar (Transact-sql)

Bir veritabanı ana anahtar geri yüklemek

Ayrıca bkz.

Kavramlar

Yedekleme ve geri yükleme Raporlama Hizmetleri şifreleme anahtarları (ssrs yerel mod)

Şifreleme anahtarlarını silmeli ve

Ekleme ve ölçek-giden dağıtımı için şifreleme anahtarlarını kaldırma

Saydam veri şifrelemesi (tde)