Genişletilebilir Anahtar Yönetimi (EKM)

Şunlar için geçerlidir: SQL Server

SQL Server, şifreleme ve anahtar oluşturma için Microsoft Şifreleme API'sini (MSCAPI) kullanarak Genişletilebilir Anahtar Yönetimi (EKM) ile birlikte veri şifreleme özellikleri sağlar. Veri ve anahtar şifrelemesi için şifreleme anahtarları geçici anahtar kapsayıcılarında oluşturulur ve veritabanında depolanmadan önce bir sağlayıcıdan dışarı aktarılmalıdır. Bu yaklaşım, şifreleme anahtarı hiyerarşisi ve anahtar yedeklemesi içeren anahtar yönetiminin SQL Server tarafından işlenmesini sağlar.

Mevzuat uyumluluğu talebi ve veri gizliliği endişesi artan kuruluşlar, "derinlemesine savunma" çözümü sağlamanın bir yolu olarak şifrelemeden yararlanıyor. Bu yaklaşım genellikle yalnızca veritabanı şifreleme yönetim araçları kullanılarak pratik değildir. Donanım satıcıları , Donanım Güvenlik Modülleri (HSM) kullanarak kurumsal anahtar yönetimine yönelik ürünler sağlar. HSM cihazları şifreleme anahtarlarını donanım veya yazılım modüllerinde depolar. Şifreleme anahtarları şifreleme verileriyle bulunmadığından bu daha güvenli bir çözümdür.

Bir dizi satıcı hem anahtar yönetimi hem de şifreleme hızlandırma için HSM sunar. HSM cihazları, bir uygulama ile HSM arasında aracı olarak sunucu işlemine sahip donanım arabirimleri kullanır. Satıcılar ayrıca, donanım veya yazılım olabilecek modülleri üzerinde MSCAPI sağlayıcıları da uygular. MSCAPI genellikle HSM tarafından sunulan işlevlerin yalnızca bir alt kümesini sunar. Satıcılar ayrıca HSM, anahtar yapılandırması ve anahtar erişimi için yönetim yazılımı sağlayabilir.

HSM uygulamaları satıcıdan satıcıya farklılık gösterir ve bunları SQL Server ile kullanmak için ortak bir arabirim gerekir. MSCAPI bu arabirimi sağlasa da, HSM özelliklerinin yalnızca bir alt kümesini destekler. Ayrıca simetrik anahtarların yerel olarak kalıcı olmaması ve oturum odaklı destek eksikliği gibi başka sınırlamaları da vardır.

SQL Server Genişletilebilir Anahtar Yönetimi, üçüncü taraf EKM/HSM satıcılarının modüllerini SQL Server'a kaydetmesini sağlar. KAYDOLduğunda, SQL Server kullanıcıları EKM modüllerinde depolanan şifreleme anahtarlarını kullanabilir. Bu, SQL Server'ın toplu şifreleme ve şifre çözme gibi bu modüllerin desteklediği gelişmiş şifreleme özelliklerine ve anahtar eskime ve anahtar döndürme gibi anahtar yönetimi işlevlerine erişmesini sağlar.

SQL Server bir Azure VM'de çalıştırılırken, SQL Server Azure Key Vault'ta depolanan anahtarları kullanabilir. Daha fazla bilgi için bkz. Azure Key Vault Kullanarak Genişletilebilir Anahtar Yönetimi (SQL Server).

EKM Yapılandırması

Genişletilebilir Anahtar Yönetimi, Microsoft SQL Server'ın her sürümünde kullanılamaz. SQL Server sürümleri tarafından desteklenen özelliklerin listesi için bkz. SQL Server 2016 Sürümleri Tarafından Desteklenen Özellikler.

Varsayılan olarak Genişletilebilir Anahtar Yönetimi kapalıdır. Bu özelliği etkinleştirmek için, aşağıdaki örnekte olduğu gibi aşağıdaki seçenek ve değere sahip sp_configure komutunu kullanın:

sp_configure 'show advanced', 1  
GO  
RECONFIGURE  
GO  
sp_configure 'EKM provider enabled', 1  
GO  
RECONFIGURE  
GO  

Uyarı

EKM'yi desteklemeyen SQL Server sürümlerinde bu seçenek için sp_configure komutunu kullanırsanız bir hata alırsınız.

Özelliği devre dışı bırakmak için değeri 0 olarak ayarlayın. Sunucu seçeneklerini ayarlama hakkında daha fazla bilgi için bkz. sp_configure (Transact-SQL).

EKM'yi Kullanma

SQL Server Genişletilebilir Anahtar Yönetimi, veritabanı dosyalarını koruyan şifreleme anahtarlarının akıllı kart, USB cihazı veya EKM/HSM modülü gibi kullanıma açık bir cihazda depolanmasını sağlar. Bu, veritabanı yöneticilerinden (sysadmin grubunun üyeleri dışında) veri korumasını da etkinleştirir. Veriler, dış EKM/HSM modülünde yalnızca veritabanı kullanıcısının erişimi olan şifreleme anahtarları kullanılarak şifrelenebilir.

Genişletilebilir Anahtar Yönetimi aşağıdaki avantajları da sağlar:

  • Ek yetkilendirme denetimi (görev ayrımını etkinleştirme).

  • Donanım tabanlı şifreleme/şifre çözme için daha yüksek performans.

  • Dış şifreleme anahtarı oluşturma.

  • Dış şifreleme anahtarı depolama (verilerin ve anahtarların fiziksel ayrımı).

  • Şifreleme anahtarı alma.

  • Dış şifreleme anahtarı saklama (şifreleme anahtarı döndürmeyi etkinleştirir).

  • Daha kolay şifreleme anahtarı kurtarma.

  • Yönetilebilir şifreleme anahtarı dağıtımı.

  • Şifreleme anahtarının güvenli bir şekilde imha edilmesi.

Kullanıcı adı ve parola bileşimi veya EKM sürücüsü tarafından tanımlanan diğer yöntemler için Genişletilebilir Anahtar Yönetimi'ni kullanabilirsiniz.

Dikkat

Microsoft teknik desteği, sorun giderme için EKM sağlayıcısının şifreleme anahtarını gerektirebilir. Sorunu çözmeye yardımcı olması için satıcı araçlarına veya süreçlerine de erişmeniz gerekebilir.

EKM Cihazı ile kimlik doğrulaması

EKM modülü birden fazla kimlik doğrulaması türünü destekleyebilir. Her sağlayıcı SQL Server'da yalnızca bir kimlik doğrulaması türünü kullanıma sunar; yani modül Temel veya Diğer kimlik doğrulama türlerini destekliyorsa birini veya diğerini kullanıma sunar, ancak ikisini birden sunmaz.

EKM Device-Specific Kullanıcı adı/parola kullanarak Temel Kimlik Doğrulaması

Sql Server, kullanıcı adı/parola çifti kullanarak Temel kimlik doğrulamasını destekleyen EKM modülleri için kimlik bilgilerini kullanarak saydam kimlik doğrulaması sağlar. Kimlik bilgileri hakkında daha fazla bilgi için bkz. Kimlik Bilgileri (Veritabanı Altyapısı).

EKM sağlayıcısı için kimlik bilgisi oluşturulabilir ve bir EKM modülüne, hem Windows hem de SQL Server hesaplarıyla oturum açma temeline dayalı olarak erişim sağlamak için oturum açma bilgilerine eşlenebilir. Kimlik bilgilerinin kimlik alanı kullanıcı adını içerir; gizli dizi alanı, EKM modülüne bağlanmak için bir parola içerir.

EKM sağlayıcısı için oturum açma eşlenmiş kimlik bilgisi yoksa, SQL Server hizmet hesabına eşlenen kimlik bilgisi kullanılır.

Farklı EKM sağlayıcıları için kullanıldıkları sürece bir girişe birden çok kimlik bilgisi eşlenebilir. Oturum açma başına EKM sağlayıcısı başına yalnızca bir eşlenmiş kimlik bilgisi olmalıdır. Aynı kimlik bilgileri diğer oturum açma bilgileriyle eşlenebilir.

Diğer EKM Device-Specific Kimlik Doğrulaması Türleri

Windows veya kullanıcı/parola birleşimleri dışında kimlik doğrulamasına sahip EKM modülleri için kimlik doğrulaması SQL Server'dan bağımsız olarak gerçekleştirilmelidir.

EKM Cihazı Tarafından Şifreleme ve Şifre Çözme

Simetrik ve asimetrik anahtarlar kullanarak verileri şifrelemek ve şifresini çözmek için aşağıdaki işlevleri ve özellikleri kullanabilirsiniz:

İşlev veya özellik Reference
Simetrik anahtar şifrelemesi SIMETRİK ANAHTAR OLUŞTUR (Transact-SQL)
Asimetrik Anahtar şifrelemesi CREATE ASİMETRİK ANAHTAR (Transact-SQL)
EncryptByKey(key_guid, 'açık metin', ...) ENCRYPTBYKEY (Transact-SQL)
DecryptByKey(şifre metni, ...) DECRYPTBYKEY (Transact-SQL)
EncryptByAsmKey(key_guid, 'cleartext') ENCRYPTBYASYMKEY (Transact-SQL)
DecryptByAsmKey(şifre metni) DECRYPTBYASYMKEY (Transact-SQL)

EKM Anahtarları tarafından Veritabanı Anahtarları Şifrelemesi

SQL Server, veritabanındaki diğer anahtarları şifrelemek için EKM anahtarlarını kullanabilir. EKM cihazında hem simetrik hem de asimetrik tuşlar oluşturabilir ve kullanabilirsiniz. EkM asimetrik anahtarları ile yerel (EKM olmayan) simetrik anahtarları şifreleyebilirsiniz.

Aşağıdaki örnek bir veritabanı simetrik anahtarı oluşturur ve EKM modülündeki bir anahtarı kullanarak şifreler.

CREATE SYMMETRIC KEY Key1  
WITH ALGORITHM = AES_256  
ENCRYPTION BY EKM_AKey1;  
GO  
--Open database key  
OPEN SYMMETRIC KEY Key1  
DECRYPTION BY EKM_AKey1  

SQL Server'daki Veritabanı ve Sunucu Anahtarları hakkında daha fazla bilgi için bkz. SQL Server ve Veritabanı Şifreleme Anahtarları (Veritabanı Altyapısı).

Uyarı

Bir EKM anahtarını başka bir EKM anahtarıyla şifreleyemezsiniz.

SQL Server, EKM sağlayıcısından oluşturulan asimetrik anahtarlarla imzalama modüllerini desteklemez.

Sunucu Yapılandırma Seçeneği'nin EKM sağlayıcısı etkinleştirildi

EKM Kullanarak SQL Server'da TDE'yi Etkinleştirme

Azure Key Vault Kullanarak Genişletilebilir Anahtar Yönetimi (SQL Server)

Ayrıca Bkz.

ŞIFRELEME SAĞLAYıCıSı OLUŞTURMA (Transact-SQL)
DROP KRIPTOGRAFIK SAĞLAYICISI (Transact-SQL)
ALTER KRIPTOGRAFİK SAĞLAYICISI (Transact-SQL)
sys.cryptographic_providers (Transact-SQL)
sys.dm_cryptographic_provider_sessions (Transact-SQL)
sys.dm_cryptographic_provider_properties (Transact-SQL)
sys.dm_cryptographic_provider_algorithms (Transact-SQL)
sys.dm_cryptographic_provider_keys (Transact-SQL)
sys.credentials (Transact-SQL)
KREDİ GİRİŞİ OLUŞTUR (Transact-SQL)
ALTER LOGIN (Transact-SQL)
CREATE ASİMETRİK ANAHTAR (Transact-SQL)
ALTER ASIMETRIK ANAHTAR (Transact-SQL)
DROP ASIMETRIK ANAHTAR (Transact-SQL)
SIMETRİK ANAHTAR OLUŞTUR (Transact-SQL)
ALTER SIMETRIK ANAHTAR (Transact-SQL)
DROP SIMETRIK ANAHTAR (Transact-SQL)
AÇIK SİMETRİK ANAHTAR (Transact-SQL)
Reporting Services Şifreleme Anahtarlarını Yedekleme ve Geri Yükleme
Şifreleme Anahtarlarını Silme ve Yeniden Oluşturma (SSRS Configuration Manager)
Scale-Out Dağıtımı için Şifreleme Anahtarları Ekleme ve Kaldırma (SSRS Configuration Manager)
Hizmet Ana Anahtarını Yedekleme
Hizmet Ana Anahtarını Geri Yükleme
Veritabanı Ana Anahtarı Oluşturma
Veritabanı Ana Anahtarını Yedekleme
Veritabanı Ana Anahtarını Geri Yükleme
İki Sunucuda Aynı Simetrik Anahtarlar Oluşturma