Aracılığıyla paylaş


Şifreleme hiyerarşisi

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

SQL Server, verileri hiyerarşik şifreleme ve anahtar yönetimi altyapısıyla şifreler. Her katman sertifikalar, asimetrik anahtarlar ve simetrik anahtarların birleşimini kullanarak altındaki katmanı şifreler. Asimetrik anahtarlar ve simetrik anahtarlar Genişletilebilir Anahtar Yönetimi (EKM) modülünde SQL Server dışında depolanabilir.

Aşağıdaki çizimde, şifreleme hiyerarşisinin her katmanının altındaki katmanı şifrelediği ve en yaygın şifreleme yapılandırmalarını görüntülediği gösterilmektedir. Hiyerarşinin başlangıcına erişim genellikle bir parolayla korunur.

Bir yığındaki şifreleme birleşimlerinin diyagramı.

Aşağıdaki kavramları aklınızda bulundurun:

  • En iyi performans için, verileri sertifikalar veya asimetrik anahtarlar yerine simetrik anahtarlar kullanarak şifreleyin.

  • Veritabanı Ana Anahtarları (DMK), Hizmet Ana Anahtarı (SMK) tarafından korunur. Hizmet Ana Anahtarı SQL Server kurulumu tarafından oluşturulur ve Windows Veri Koruma API'si (DPAPI) ile şifrelenir.

  • Ek katmanları yığan diğer şifreleme hiyerarşileri mümkündür.

  • Genişletilebilir Anahtar Yönetimi (EKM) modülü, SQL Server dışında simetrik veya asimetrik anahtarları tutar.

  • Saydam Veri Şifrelemesi (TDE), "veritabanı şifreleme anahtarı" olarak adlandırılan simetrik bir anahtar kullanmalı ve bu anahtar, veritabanının DMK'si tarafından korunan bir sertifikayla ya da EKM'de saklanan bir asimetrik anahtarla korunmalıdır.

  • Hizmet Ana Anahtarı ve tüm Veritabanı Ana Anahtarları simetrik anahtarlardır.

Aşağıdaki çizimde, aynı bilgiler alternatif bir şekilde gösterilmektedir.

Tekerlekteki şifreleme bileşimlerinin diyagramı.

Bu diyagramda aşağıdaki ek kavramlar gösterilmektedir:

  • Bu çizimde oklar yaygın şifreleme hiyerarşilerini gösterir.

  • EKM'deki simetrik ve asimetrik anahtarlar, SQL Server'da depolanan simetrik ve asimetrik anahtarlara erişimi koruyabilir. EKM ile ilişkili noktalı çizgi, EKM'deki anahtarların SQL Server'da depolanan simetrik ve asimetrik anahtarların yerini alabileceğini gösterir.

Background

Azure SQL ve SQL Server, asimetrik şifreleme için RSA algoritmasını kullanır. RSA algoritması semantik güvenlikten yoksun olduğundan ve belirleyici yapısı nedeniyle seçilen düz metin saldırılarına veya şifreleme metni saldırılarına karşı güvenli olmadığından "saf" biçiminde kullanılamaz. Aynı iletinin iki kez şifrelenmesi aynı şifreleme metnini oluşturur.

Güvenliği sağlamak için iletilerin dolgulama yapılması gerekir. Şu anda veriler PKCS #1 v1.5 doldurma düzeni kullanılarak RSA ile şifrelenir. PKCS#1 v1.5 doldurmasının belirgin bir zayıflığı, eklenen baytların özel olarak belirlenmiş bir değere sahip olmadan rastgele olması nedeniyle fazla yedekli olmamasıdır. Rastgele bayt dizisi küçük bir olasılıkla "düzgün bir şekilde doldurulabilir". Bir saldırganın düz metni deneme yanılma yoluyla kurtarmak için yaklaşık bir milyon yarım kalan el sıkışmasına ihtiyacı olacaktır.

PKCS#1 v1.5'in daha yeni sürümleri, önemli iç yedeklilik eklemek için karma işlevi kullanan Optimal Asimetrik Şifreleme Doldurma (OAEP) adlı yeni bir doldurma türünü açıklar ve bu da rastgele bir dizenin doldurma biçimiyle eşleşmesini olanaksız hale getirir. OAEP, RSA şifrelemesi ile yastıklama denetimi arasında bazı karma fonksiyonları ekler. OAEP'ten gelen karma, saldırganın gördüklerini anlama becerisini önemli ölçüde değiştirir.

RSA tabanlı şifreleme için OAEP-256 desteği SQL Server 2025'te (17.x) kullanıma sunulmuştur. OAEP doldurma moduna geçiş, veritabanı uyumluluk düzeyine göre belirlenir. Bu özellik, veritabanı uyumluluk seviyesi 170 veya daha yüksek olan veritabanları için kullanılabilir.

Şifreleme mekanizmaları

SQL Server şifreleme için aşağıdaki mekanizmaları sağlar:

  • Transact-SQL işlevleri

  • Asimetrik anahtarlar

  • Simetrik anahtarlar

  • Certificates

  • Şeffaf Veri Şifrelemesi

Transact-SQL işlevleri

Tek tek öğeler, Transact-SQL işlevleri kullanılarak eklendikçe veya güncelleştirildikçe şifrelenebilir. Daha fazla bilgi için bkz: ENCRYPTBYPASSPHRASE ve DECRYPTBYPASSPHRASE.

Certificates

Genellikle yalnızca sertifika olarak adlandırılan ortak anahtar sertifikası, ortak anahtarın değerini ilgili özel anahtarı barındıran kişinin, cihazın veya hizmetin kimliğine bağlayan dijital olarak imzalanan bir deyimdir. Sertifikalar bir sertifika yetkilisi (CA) tarafından verilir ve imzalanır. Sertifika Yetkilisi'nden (CA) sertifika alan varlık, o sertifikanın konusudur. Sertifikalar genellikle aşağıdaki bilgileri içerir.

  • Konunun ortak anahtarı.

  • Konu adı ve e-posta adresi gibi tanımlayıcı bilgileri.

  • Geçerlilik süresi. Bu, sertifikanın geçerli olarak kabul edildiği süredir.

    Sertifika yalnızca içinde belirtilen süre boyunca geçerlidir; her sertifika Geçerli Başlangıç ve Geçerlilik Bitiş tarihleri içerir. Bu tarihler geçerlilik döneminin sınırlarını belirler. Sertifikanın geçerlilik süresi geçtiğinde, süresi dolmuş sertifikanın konusu tarafından yeni bir sertifika istenmelidir.

  • Veren tanımlayıcı bilgileri.

  • Verenin dijital imzası.

    Bu imza, ortak anahtar ile konunun tanımlayıcı bilgileri arasındaki bağlamanın geçerliliğini doğrular. (Bilgileri dijital olarak imzalama işlemi, bilgilerin yanı sıra gönderen tarafından tutulan bazı gizli bilgilerin imza adı verilen bir etikete dönüştürülmesini gerektirir.)

Sertifikaların birincil avantajlarından biri, sunucuların tek tek kullanıcılar için bir dizi parolayı yönetme gereğini ortadan kaldırmalarıdır. Bunun yerine, konak yalnızca bir sertifika veren kuruma güven tesis eder ki bu kurum sınırsız sayıda sertifika imzalayabilir.

Güvenli Bir Web sunucusu gibi bir konak, vereni güvenilir bir kök yetkili olarak belirlerse, konak verenin verdiği sertifikaların bağlamalarını oluşturmak için kullandığı ilkelere örtük olarak güvenir. Aslında, sunucu, sertifika verenin sertifika sahibinin kimliğini doğruladığına güvenir. Bir ana bilgisayar, verenin ortak anahtarını içeren verenin otomatik olarak imzalanan sertifikasını ana bilgisayarın güvenilen kök sertifika yetkilisi sertifika deposuna koyarak vereni güvenilir kök yetkili olarak işaretler. Ara veya alt sertifika yetkililerine yalnızca güvenilen bir kök sertifika yetkilisinden geçerli bir sertifika yolu varsa güvenilir.

Sertifikayı veren, süresi dolmadan önce sertifikayı iptal edebilir. İptal, ortak anahtarın sertifikada onaylanan bir kimliğe bağlanmasını iptal eder. Her veren, belirli bir sertifikanın geçerliliğini denetlerken programlar tarafından kullanılabilecek bir sertifika iptal listesi tutar.

SQL Server tarafından oluşturulan otomatik olarak imzalanan sertifikalar X.509 standardını izler ve X.509 v1 alanlarını destekler.

Asimetrik anahtarlar

Asimetrik anahtar, özel anahtardan ve buna karşılık gelen ortak anahtardan oluşur. Her anahtar, diğer anahtarlar tarafından şifrelenen verilerin şifresini çözebilir. Asimetrik şifreleme ve şifre çözme nispeten yoğun kaynak kullanır, ancak simetrik şifrelemeden daha yüksek bir güvenlik düzeyi sağlar. Asimetrik anahtar, veritabanındaki depolama için simetrik anahtarı şifrelemek için kullanılabilir.

Simetrik anahtarlar

Simetrik anahtar, hem şifreleme hem de şifre çözme için kullanılan anahtarlardan biridir. Simetrik anahtar kullanarak şifreleme ve şifre çözme hızlıdır ve veritabanındaki hassas verilerle rutin kullanım için uygundur. SImetrik anahtarın anahtar malzemesini korumak için SQL Server, anahtar malzemesini asimetrik RSA şifrelemesi kullanan şifrelenmiş biçimde depolar. Geçmişte bu şifreleme PKCS#1 v1.5 doldurma modunu kullanmıştı; veritabanı uyumluluk düzeyi 170'den başlayarak şifreleme, OAEP-256 doldurma modunu kullanır.

Şeffaf Veri Şifrelemesi

Saydam Veri Şifrelemesi (TDE), simetrik anahtar kullanan özel bir şifreleme örneğidir. TDE, veritabanı şifreleme anahtarı olarak adlandırılan simetrik anahtarı kullanarak veritabanının tamamını şifreler. Veritabanı şifreleme anahtarı, DMK veya EKM modülünde depolanan asimetrik anahtar tarafından korunan diğer anahtarlar veya sertifikalar tarafından korunur. Daha fazla bilgi için bkz . Saydam veri şifrelemesi (TDE).

Doku SQL veritabanı

Microsoft Fabric'teki SQL veritabanında Always Encrypted, EKM ve TDE şu anda desteklenmiyor. Microsoft Fabric'teki SQL veritabanında, veritabanı kullanıcıları için Microsoft Entra Id desteklenen tek kimlik doğrulama yöntemidir. Daha fazla bilgi için bkz. Microsoft Fabric'te SQL veritabanında yetkilendirme ve Özellikler karşılaştırması.