-
- Üyelik Tarihi
- 24 Mar 2017
-
- Mesajlar
- 4,579
-
- MFC Puanı
- 1,437
TDE (Transparent Data Encryption) iki kriptolama ihtiyacını karşılıyor:
Veriyi kullanan uygulamaları etkilemeden verilerin kriptolanması
Tüm veritabanını kriptolama
TDE her iki ihtiyacı da veritabanı seviyesi özelliği sunarak gideriyor. Hem veriler hem de log dosyaları disk'te kriptolanmış olarak tutuluyor ve hafızaya okunduklarında dekriptolanıyorlar. Bu da kriptolamayı uygulamalar için tamamen transparan olarak sağlıyor.
Veritabanı uygulamaları I/O işlemlerini minimumda tutmak istedikleri için (pahalı bir işlem), kriptolama ve dekriptolama işlemlerini I/O ya bağlamak varolan uygulama dizaynlarındaki optimizasyonlarında kriptolama işleminde performans olarak etkilenmemesini sağlıyor.
TDE'nin SQL Server 2005 ile gelen kriptolama çözümünün yerine geçecek birşey olmadığını belirtmeliyim. TDE daha geniş bir seviyede kriptolama sunan tamamlayıcı bir özellik olarak görülmeli. SQL 2005'deki kriptolama özellikleri veri parçalarının kriptolanabilmesini sağlıyor (buna hücre-seviyesi / cell-level kriptolama diyoruz, çünkü kolon seviyesi kriptolamadan daha detaylı bir kriptolama sunuyor), yeni TDE özelliği veritabanı seviyesinde kriptolama sunuyor. Ayrıca, kriptografik bakış açısıyla TDE'de kullanılan algoritmalar hücre-seviyesi kriptolama da da vardı, bu sebeple her iki özellik de aynı kriptolama gücünü sunuyor.
Bir veritabanını TDE ile kriptolama Veritabanı Kriptolama Anahtarı (Database Encryption Key - DEK) adı verilen özel bir anahtar ile yapılıyor. DEK standart DDL (CREATE/ALTER/DROP) ile yönetilebiliyor. Kriptolama durumu ALTER DATABASE komutu ile ve yeni gelen SET ENCRYPTION [ON | OFF] ile açılp kapatılabiliyor. DEK bilgisi sys.dm_database_encryption_keys adındaki DMV'den edinilebiliyor. Eğer veritabanı işlemleri için GUI kullanmayı seviyorsanız, bütün bu özellikler Management Studio'da da sunuluyor.
Eğer CTP build'ini kurduysanız TDE özelliği olup olmadığını aşağıdaki komut ile kontrol edebilirsiniz:
alter database <db_ismi> set encrypton on. Bir yazım hatası özelliğin olmadığını belirtirken daha detaylı bir hata mesajı özelliğin varolduğuna işaret edecektir. Bildiğim kadarıyla sadece en son CTP build'leri bu özelliğe sahip.
Veriyi kullanan uygulamaları etkilemeden verilerin kriptolanması
Tüm veritabanını kriptolama
TDE her iki ihtiyacı da veritabanı seviyesi özelliği sunarak gideriyor. Hem veriler hem de log dosyaları disk'te kriptolanmış olarak tutuluyor ve hafızaya okunduklarında dekriptolanıyorlar. Bu da kriptolamayı uygulamalar için tamamen transparan olarak sağlıyor.
Veritabanı uygulamaları I/O işlemlerini minimumda tutmak istedikleri için (pahalı bir işlem), kriptolama ve dekriptolama işlemlerini I/O ya bağlamak varolan uygulama dizaynlarındaki optimizasyonlarında kriptolama işleminde performans olarak etkilenmemesini sağlıyor.
TDE'nin SQL Server 2005 ile gelen kriptolama çözümünün yerine geçecek birşey olmadığını belirtmeliyim. TDE daha geniş bir seviyede kriptolama sunan tamamlayıcı bir özellik olarak görülmeli. SQL 2005'deki kriptolama özellikleri veri parçalarının kriptolanabilmesini sağlıyor (buna hücre-seviyesi / cell-level kriptolama diyoruz, çünkü kolon seviyesi kriptolamadan daha detaylı bir kriptolama sunuyor), yeni TDE özelliği veritabanı seviyesinde kriptolama sunuyor. Ayrıca, kriptografik bakış açısıyla TDE'de kullanılan algoritmalar hücre-seviyesi kriptolama da da vardı, bu sebeple her iki özellik de aynı kriptolama gücünü sunuyor.
Bir veritabanını TDE ile kriptolama Veritabanı Kriptolama Anahtarı (Database Encryption Key - DEK) adı verilen özel bir anahtar ile yapılıyor. DEK standart DDL (CREATE/ALTER/DROP) ile yönetilebiliyor. Kriptolama durumu ALTER DATABASE komutu ile ve yeni gelen SET ENCRYPTION [ON | OFF] ile açılp kapatılabiliyor. DEK bilgisi sys.dm_database_encryption_keys adındaki DMV'den edinilebiliyor. Eğer veritabanı işlemleri için GUI kullanmayı seviyorsanız, bütün bu özellikler Management Studio'da da sunuluyor.
Eğer CTP build'ini kurduysanız TDE özelliği olup olmadığını aşağıdaki komut ile kontrol edebilirsiniz:
alter database <db_ismi> set encrypton on. Bir yazım hatası özelliğin olmadığını belirtirken daha detaylı bir hata mesajı özelliğin varolduğuna işaret edecektir. Bildiğim kadarıyla sadece en son CTP build'leri bu özelliğe sahip.