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 |
---|
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
Hizmet ana anahtarı
Hizmet ana anahtarı ve en iyi uygulamalarına dair kısa bir açıklama sunar.Genişletilebilir anahtar yönetimi (ekm)
Üçüncü taraf anahtar yönetimi sistemlerinin SQL Server ile nasıl kullanılacağını açıklar.How-to Topics for SQL Server and Database Encryption Keys
SQL Server ve veritabanı şifreleme anahtarlarıyla çalışmak için adım adım yönergeleri gösterir.
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
İ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