• Sonuç bulunamadı

SQL Server Veritabanı Şifreleme Uygulaması

7. TEZ KAPSAMINDA YAPILAN YAZILIM UYGULAMALARI

7.2. SQL Server Veritabanı Şifreleme Uygulaması

Yazılım uygulamasında C# dili kullanılmış olup, SQL Server veritabanı sisteminde istenen herhangi bir veritabanına ait tablolar üzerinde veri şifreleme ve deşifreleme işlemlerini gerçekleştirebilmektedir. Şifreleme işleminde sütun bazlı şifreleme yapılabilmektedir. Aynı anda bir veya birden fazla sütunun şifrelenmesine veya deşifrelenmesine imkân tanımaktadır. Programın ana ekran görüntüsü Şekil 7.7 deki gibidir.

Şekil 7.7: SQL Server Veritabanı Şifreleme Programı.

Program çalıştığında, bağlanılmak istenen veritabanı sunucusu ve kullanılacak doğrulama tipi istenmektedir.

Şekil 7.8: SQL Server Veritabanı doğrulama yöntemi.

Veritabanı sunucusu için gerekli bilgiler seçilip bağlantı sağlandıktan sonra, programda o sunucuda yer alan veritabanları listelenebilir. Program ayrıca, mevcut veritabanları üzerinde değil de yeni bir veritabanı üzerinde işlem yapmak için yeni bir veritabanı ve içerisinde tablolar oluşturma olanağı sağlamaktadır. Create Veritabanı butonuna tıklanarak yeni veritabanı oluşturma ekranı açılır. Yeni veritabanı için daha önce kullanılmamış yani o sunucuda yer almayan bir veritabanı adı belirlenir. Örneğimizde MUSTERI adında yeni bir veritabanı oluşturulmaktadır.

Şekil 7.9: SQL Server veritabanında yeni bir veritabanı oluşturma.

Yeni oluşturulan veritabanı içinde hiçbir tablo veya nesne bulunmaz. Veritabanımızda HESAP_BILGILERI adlı bir tablo oluşturmak için Create Tablo sekmesine tıklayıp tablo adını girelim. Ayrıca tabloda bulunacak sütun adlarını ve veri türlerini belirlemek gerekmektedir. Oluştur butonuna tıklanarak tablo oluşturulur.

Şekil 7.10: SQL Server da veritabanı içerisinde yeni bir tablo oluşturma.

Bu aşamadan sonra veritabanı başına bir adet olabilen Database Master Key oluşturmak gerekir. Programın Create Database Master Key butonuna tıklanarak açılan ekrandan Musteri veritabanı seçilerek kullanıcı tarafından Database Master Key için bir şifre belirlenir ve Oluştur butonuna tıklanılır.

Tablolar listesinden seçilen tabloya ait bilgiler ekrana yansır. Ayrıca oluşturulan tablo otomatik olarak aktif yani seçili tablo durumuna geleceğinden tablo sütunları da Şekil 7.11’deki gibi listelenir.

Şekil 7.12: SQL Server da veritabanı master anahtarı oluşturma.

Şifreleme yapmak veya simetrik, asimetrik anahtar oluşturmak için var olan bir sertifikayı kullanmak veya yeni bir sertifika oluşturmak gerekir. Burada yeni bir sertifika oluşturulacaktır. Yeni sertifika için konu, başlangıç ve bitiş tarihi girilmelidir.

Eğer şifrelemede simetrik anahtar kullanılacaksa Create Simetrik Key butonu kullanılarak yeni bir simetrik anahtar üretilmelidir. Simetrik anahtarın bir sertifika veya asimetrik anahtarla mı şifreleneceği belirlenir. Sertifika adı veya asimetrik anahtar adı listeden seçilir. Simetrik anahtar için belirlenecek şifreleme algoritması ise DES, TRIPLE_DES, RC2, RC4, RC4_128, DESX, AES_128, AES_192, AES_256 seçeneklerinden birisi olabilir.

Şekil 7.14: SQL Server simetrik anahtar oluşturma.

Şifreleme asimetrik anahtar kullanılarak da yapılabilir. Create Asimetrik Key butonu yardımıyla asimetrik anahtar oluşturma ekranı açılıp oluşturulacak asimetrik anahtar için bir algoritma seçilir. Bu algoritma RSA_512, RSA_1024, RSA_2048 seçeneklerinden birisi olabilir.

Şekil 7.15: SQL Server da asimetrik anahtar oluşturma.

Veritabanı şifreleme için gerekli olan Database Master Key, Sertifika, Simetrik anahtar ve Asimetrik anahtar oluşturulduktan sonra şifreleme işlemi yapılabilir. Şifreleme işlemi için ilk önce Database Master Key açılmalıdır. Database Master Key için bir şifre belirlenmişse, söz konusu şifre girilip Aç butonuna tıklamak yeterlidir.

Şekil 7.16: SQL Server da veritabanı master anahtarının açılması.

Eğer şifrelemede sertifika kullanılmak isteniyorsa Sertifikalar listesinden sertifika adı ve tablodaki sütun adlarının bulunduğu listeden şifrelenmek istenen sütunların yanındaki onay kutuları seçilir, Seçili Sütunları Şifreleme butonuna tıklanarak şifreleme işlemi gerçekleştirilir.

Şifrelemesi yapılan sütunun şifrelenmiş hali yeni bir sütun oluşturularak Şekil 7.18’de olduğu gibi tabloda gösterilir.

Şekil 7.18: SQL Server veritabanında sertifikayla şifreleme çıktısı.

Şifreleme işlemi için simetrik anahtar kullanılmak isteniyorsa Simetrik Anahtarla Şifreleme alanındaki simetrik anahtarlar listesinden bir simetrik anahtar ve bu simetrik anahtarın kullandığı şifreleme yöntemi seçilir, varsa şifresi girilir. Daha sonra şifrelenmek istenen sütunlar işaretlenir ve Seçili Sütunları Şifreleme butonuyla şifreleme işlemi gerçekleştirilir.

Şekil 7.19: SQL Server veritabanında simetrik anahtar kullanılarak şifreleme.

Simetrik anahtarla şifrelenmiş sütun, kullanıcıya bilgi vermesi amacıyla yeni bir sütun olarak tabloya eklenmektedir.

Şekil 7.20: SQL Server veritabanında simetrik anahtar şifreleme çıktısı.

Şifreleme işlemi için asimetrik anahtar kullanılmak isteniyorsa Asimetrik Anahtarla Şifreleme alanındaki asimetrik anahtarlar listesinden bir simetrik anahtar seçilir ve varsa şifresi girilir. Daha sonra şifrelenmek istenen sütunlar işaretlenir ve Seçili Sütunları Şifreleme butonuyla şifreleme işlemi gerçekleştirilir.

Şekil 7.21: SQL Server veritabanında asimetrik anahtar kullanılarak şifreleme.

Asimetrik anahtarla şifrelenmiş sütun, yeni sütun olarak Şekil 7.22’deki tabloda görülebilmektedir.

Şekil 7.22: SQL Server veritabanında asimetrik anahtar şifreleme çıktısı.

Şifrelenmiş verinin deşifrelenmesinde ise, deşifrelemesi yapılacak sütun için hangi yöntemle şifrelenmişse aynı yöntemle deşifrelenmesi gerekmektedir. Deşifrelenecek sütun işaretlenir, sertifika, simetrik anahtar veya asimetrik anahtarla şifreleme yöntemlerinden hangisi kullanılmışsa o yöntem seçilir ve Seçili Sütunları Deşifrele butonuna tıklanarak deşifreleme işlemi yapılır. Deşifrelenmiş sütuna ait bilgi, karşılaştırma yapılabilmesi amacıyla yeni bir sütun olarak tabloya eklenir.

Şekil 7.23: SQL Server veritabanında deşifrelenmiş sütun.

Program, tüm SQL Server veritabanlarındaki tablolar üzerinde mümkün olan ve SQL Server şifreleme tarafından desteklenen tüm simetrik, asimetrik şifreleme algoritmalarını ve sertifikaları alternatifleri kullanarak şifreleme ve deşifreleme işlemlerini gerçekleştirebilmektedir.

Benzer Belgeler