ASP.NET
Network Akademi

Met Hostimg

“Bilgi paylaşıldıkça artar” sloganı ile .NET Platformuna ilişkin birikimlerin paylaşıldığı ASP.NET.TR Topluluğunda sizde “YAZAR” olmak için ; info@asp.net.tr e-mail adresine kendinizi anlatan bir e-mail göndererek başvuruda bulunabilirsiniz.

SQL Server Sertifika ile Şifreleme

Onur YILMAZ
SQL
05.05.2011 23:43:38
Hit : 6581

Merhaba arkadaşlar;

Günümüzde veri güvenliğinin ne derece yapılabildiği sorgulanır.
Bir nebze veri güvenliğini sağlaya bilmek için Güvenlik Sertifikası kullanımından bahsetmek istedim.
Öncelikle SQL Server’ımızı açıp ve bir sorgu penceresi açalım.
 
Daha sonra aşağıdaki açıklamalı T-SQL kodlarını çalıştırıp inceleyelim.
 
Not: Şifreli alanlar veri tabanında binary formatta tutulur.
 
--Test Veritabanımızı Oluşturuyoruz
CREATE DATABASE SertifikaTestDB
 
--örnek teşkil edecek bir tablo oluşturalım
--Tablomuzda Kullanıcının TC Kimlik numarasını
--şifreli tutmak istiyoruz
CREATE TABLE Kullanici
(
KullaniciId           INT PrimaryKey IDENTITY,
            Ad                      NVARCHAR(300),
            Soyad                 NVARCHAR(300),
            TckNo                 VARBINARY(256)   
)
 
--Sertifika Test veri tabanımızda master key oluşturuyoruz
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='sifreniz'
 
--Sertifika oluşturmadan önce master key açılır ve sertifika
--oluşturulmak için hazır hale getirilir
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'sifreniz'
 
--Sertifika Konusu ve Başlangıç tarihi ile oluşturulur.
--Başlangıç tarihi içinde bulunulan tarihten öncesi olarak seçilemez
CREATE CERTIFICATE Test_Certificate
WITH SUBJECT ='şifreleme için kullanılacaktır.',
START_DATE ='05/05/2011'
 
--SYMMETRIC KEY Oluşturulur
CREATE SYMMETRIC KEY Test_Key
WITH ALGORITHM = triple_des,
            identity_value ='sifreniz',
            key_source ='sifreniz'
ENCRYPTION BY CERTIFICATE Test_Certificate
 
--Insert Update ve Select işlemleri yapılırken SYMMETRIC KEY açılır
OPEN SYMMETRIC KEY Test_Key decryption BY CERTIFICATE Test_Certificate
 
--Insert Update ve Select işlemleri yapıldıktan sonra SYMMETRIC KEY kapatılır
CLOSE SYMMETRIC KEY Test_Key
 
--Select Örneği
OPEN SYMMETRIC KEY Test_Key DECRYPTION BY CERTIFICATE [Test_Certificate]
Select     Ad,
              Soyad,
              CONVERT(nvarchar(100), DecryptByKey(TckNo))    AS TCKNo
from Kullanici
CLOSE SYMMETRIC KEY Test_Key
 
 
--Insert Örneği
OPEN SYMMETRIC KEY Test_Key DECRYPTION BY CERTIFICATE [Test_Certificate]
INSERT INTO Kullanici   (Ad,Soyad,TckNo)
VALUES               (    
'Onur',
'YILMAZ',
EncryptByKey(Key_Guid('Test_Key'), '12345678901')
      )
OPEN SYMMETRIC KEY Test_Key DECRYPTION BY CERTIFICATE [Test_Certificate]
CLOSE SYMMETRIC KEY Test_Key
 
--Update Örneği
OPEN SYMMETRIC KEY Test_Key DECRYPTION BY CERTIFICATE [Test_Certificate]
UPDATE               Kullanici
SET                      Ad                        =     'Onur',
                            Soyad                   =     'YILMAZ',
                            TckNo                   =     EncryptByKey(Key_Guid('Test_Key'), '98765432101')
WHERE KullaniciId       =     1
 
OPEN SYMMETRIC KEY Test_Key DECRYPTION BY CERTIFICATE [Test_Certificate]
CLOSE SYMMETRIC KEY Test_Key
 
Bir sonraki makalede görüşmek üzere.
İyi günler dilerim...

 




BU İÇERİĞE YORUMDA BULUNUN


Bu MAKALE'ye yorum yapabilmek için Üye olmalısınız ...!


BU İÇERİĞE YAPILAN YORUMLAR