Cryptography ‘nin Temelleri –1 ( Encryption Tipleri - Algoritmalar ve Anahtarlar ( Key ) - Symmetric Encryption - Symmetric Algoritmalar )
Encryption Tipleri
Cryptography , symmetric encryption ve asymmetric encryption ‘i cryptographic fonksiyonlar için destekler
¦ Symmetric encryption encryption ve decryption için ayni anahtarin ( key’in ) kullanildigi encryption metodudur.
Anahtar ( key ) degis tokus edilmelidir böylelikle hem data yi gönderen hem de alici plaintext data ya ulasabilir.
¦ Asymmetric encryption Iki matematiksel iliskili public ve private key ‘i içeren bir key pair dir ; encryption and decryption processes leri için kullanilir
? Eger public key encryption için kullanildi ise bu durumda ona bagli olan private key decryption için kullanilir
? Eger private key encryption için kullanildi ise bu durumda ona bagli olan private key decryption için kullanilir
Sadece bir kisi private key ‘i elinde bulundurmalidir , fakat public key serbestçe dagitilabilir
Bir dijital sertifikanin bir attribute (nitelik ) ü olarak Public key , siklikla Active Directory Domain Services, AD DS gibi networksel erisimi olan dizinlerde daha kolay erisimi saglamak için dagitilir
Algoritmalar ve Anahtarlar ( Key )
Bir data encrypt edildiginde , encryption için iki giris gereklidir. Bir algoritma ve bir de anahtar – key
¦ Algorithma Bir algoritma datanin orjinal plaintext data dan nasil chiphertext dataya dönüstügünü ve chiphertext datanin nasil plaintext dataya dönüstürüldügünü tanimlar. encryption ve decryption islemlerinin her ikiside ayni algoritma ile yapilmak durumundadir.
¦ Key Key algoritmaya bir giris olarak plaintext data ile beraber kullanilir böylelikle algoritma plaintext data yi chiphertext e encrypt eder ya da chiphertext datayi plaintext dataya decrypt eder.
Tüm uygulamalar bu girislerin ( input ) encoder ve decoder arasinda nasil dagitilacagini belirtir. Bir güvenlik sorunu olmamasina ragmen , eger bir saldirgan data yi encrypt etmek için kullanilan algoritmayi tanimlar ise , key’in ele geçirilmesi bir güvenlik riski olarak göz önünde bulundurulur.
Encryption ‘i etkin hale getirmek için PKI-enabled bir uygulama asagidakileri yapmalidir :
Uygulama tarafindan desteklenen algoritmalari belirlemek : Bazi durumlarda uygulama algoritma negotiation’a izin vermelidir böylece encoder ve decoder en güçlü form da negotiate edebilirler.
Algoritma ile kullanmak için bir key olusturulmalidir. En iyi durumlarda key sadece single encryption ve decryption process’I için bir kez kullanilacak bir key dir . Bir key birçok kez kullanildiginda saldirganlarin ( attacker ) key i “differential cryptanalysis“ adi verilen bir process içinden identify etmeleri daha kolaylasir.
Differential cryptanalysis bir attacker in encryption key i , encryption algoritmasini ve encryption key ile üretilmis birden fazla chiphertext saglayarak belirlemesine izin verir.
Key dagitim metodu belirlenmelidir. Key encoder ve decoder arasinda güvenli bir sekilde iletilmelidir. Yani bu iletim sirasinda ele geçirilmeye karsi korunmalidir ve network üzerinden olmayacak sekilde ya da bir encrypted durumda iletilmelidir.
Data Encryption
Encryption datanin yetkisiz bir kisi tarafindan incelenmesine karsi koruma saglar . Simdi size symmetric encryption ve asymmetric encryption processes lerinin nasil çalistigini ve bazi uygulamalarin nasil symmetric and asymmetric processes leri birlestirdigini anlatacagim.
Symmetric Encryption
Daha önce belirttigim üzere symmetric encryption encryption ve decryption için ayni key ‘i kullanir. Asagidaki resim de bu durumu görebilirsiniz. Symmetric encryption ile eslesmis algoritmalar çok büyük bir datayi çok kisa bir sürede encrypt eder. Bu single key kullanimi ve symmetric encryption algoritmalarinin asymmetric encryption algoritmalarina kiyasla çok daha basit olmasi gerçegi ile ilgilidir
Not : Symmetric encryption büyük boyuttaki genis plaintext datayi encrypt ederken ki hizindan dolayi siklikla “bulk encryption” olarak refere edilir
Symmetric encryption process :
Data bir symmetric algorithm ile encrypt edildiginde , system bir random symmetri Key olusturur . Key in uzunlugu algoritma ve symmetric algoritma yi kullanan uygulama tarafindan belirlenir ve tipik olarak bit numaralari ile ifade edilir ,
Symmetric key olusturuldugunda ,key plaintext data yi ciphertext olarak refere edilen encrypted duruma encrypt ermek için kullanilir. Sonra ciphertext data alicisina ya gönderilir ya da ulasilabilir hale getirilir.
NOT : symmetric key aliciya ,alici ciphertext’i decrypt edemeden önce güvenli bir sekilde iletilmelidir. Symmetric key ‘in iletilmesi symmetric encryption algoritmalari kullanildiginda en büyük güvenlik riskidir. Eger symmetric key saldirganlar tarafindan ele geçirilirse bu key ile encrypt edilmis tüm datayi decrypt edebilirler.
Alici encrypted ciphertext ve symmetric key’i aldiginda symmetric key kullanarak datayi orjinal plaintext formata geri decryp eder.
Symmetric Algoritmalar
Symmetric algoritmalar büyük boyutlu datayi çok kisa sürede decrypt etme yetenekleri oldugundan dolayi en çok kullanilanlar arasindadir PKI-enabled uygulamalar tarafindan kullanilan Symmetric algoritmalar asagidakileri içerir :
Not : Bu symmetric encryption protocol’lerinin kapsamli bir listesi degildir.
¦ Data Encryption Standard (DES)
Random sekilde olusturulmus 56 bit bir symmetric key ile datayi encrypt eden bir encryption algoritmasi.
¦ Data Encryption Standard XORed (DESX)
DESX DES encryption algorithmanin daha kuvvetli bir varyasyonudur.
Plaintext datayi diek olarak encrypt etmek yerine , sonuç datasi DES algoritmasi ile encrypt edilmeden önce plaintext , ilave 64 bit key material li “Exclusive Or” (XOR) fonksiyonu içerisinden process edilir.
Ayrica DES algoritmasinin output’u ilave 64 bit key material li Exclusive Or (XOR) fonksiyonu ile dönüstürülür. Bu islem , datayi kisa uzunlukta ki DES 56 bit key ile baglantili attack arastirmasi yapan saldirganlara karsi korur.
¦ Rivest’s Cipher version 2 (RC2) (40 bit)
Salt ( Tuz ) olarak adlandirilan ilave 40 bitlik bir string kullanan 64 bitlik bir baslangiç blok büyüklügü ile bir degisken key-size blok sifreleme türüdür. Salt ( Tuz ) encryption key e ilave edilmistir ve bu mesaji encrypt eden key’i uzatir.
¦ RC2 (128 bit)
RC2 (40-bit) cipher ‘in bir varyasyonudur. Fark olarak Salt 88 bit ‘e yükseltilmistir.
¦ RC4
byte-oriented operasyonlari ile bir degisken key-size stream cipher.
Random bir degis tokus kullanim tabanli bir algoritmadir ve genellikle Secure Sockets Layer (SSL) protocol kullanarak secure web sitelerine olan ve sitelerinden olan trafigi encrypt etmek için kullanilir.
¦ Triple DES (3DES)
DES encryption ‘in plaintext’e üç kez uygulandigi DES encryption algorithmasinin bir varyasyonudur. Plaintext key A ile encypt edilir , key B ile decrypt edilir ve Key C ile yeniden encrypt edilir.
3DES ‘in genel formu sadece 2 key kullanir :
Plaintext key A ile encrypt edilir , key B ile decrypt edilir ve tekrar Key A ile encrypt edilir.
¦ Advanced Encryption Standard (AES)
DES in halefi olarak gelistirilmistir, 56 bit key kullanmak yerine AES 128 , 192 ve 256 bit keyler kullanabilir
AES Rijndael algorithmasini kullanir ve datayi 3 kez ( 3DES ) yerine bir geçiste encrypt edebilir
Not AES tanzim edilmemis datanin encryption’i için National Institute of Standards and Technology (NIST) tarafindan teklif çagrisina yanit olarak gelistirilmisti . Bu çalismada çesitli algoritmalar önerilmisti ve algoritma olarak en sonunda Rijndael algorithmasi seçildi .
Kaynak : Windows Server 2008 PKI and Certificate Security