Cryptography ‘nin Temelleri –2 ( Asymmetric Encryption , Asymmetric Signing Process , Asymmetric Algoritmalar )

 

Asymmetric Encryption

Asymmetric encryption; encryption process’ini public key ve a private key olarak bilinen ayri olarak kullanilan fakat birbiriyle iliskili iki matematiksel key ile güvenligi artirir. Encryption process daha güvenlidir çünkü private key sadece key pair ‘in olusturuldugu user ya da computer de bulunur . Public key ise private key’i tutan user ya da computer ‘e encrypted data göndermek isteyen herhangi bir kisiye dagitilabilir.

Asymmetric encryption 2 key kullanir. Biri encryption ve digeri decryption için ilgili keydir. Asymmetric encryption algorithmasinin karmasikligi nedeniyle encryption process symmetric e gore oldukça yavastir.

Çalismalar göstermistir ki symmetric encryption asymmetric encryption dan software-tabanli cryptography kullanildiginda 100 kez daha hizlidir ve hardware tabanli cryptography kullanildiginda ise 10,000 kez daha hizlidir.

Data asymmetric encryption ile encrypt edildiginde , key pair data alicisi tarafindan alinir. bu key pair ‘in kullanimi sadece alicinin gerekli private key ‘e ulasmasini ve alicinin encryption edilmis datayi decrypt etmesini saglar.

Asymmetric encryption process

image

1.   Data sender recipient ‘in public key’ini edinir. Bu dogrudan datayi meydana getiren kisiye alici tarafindan gönderilebildigi gibi AD DS gibi bir directory den de edinilebilir.

2. Plaintext data alicinin public key ‘ini encryption key olarak kullanarak asymmetric encryption algorithmasi içinden geçer . encryption algorithmasi encrypted ciphertext ‘i olusturur.

3. Ciphertext aliciya gönderilir ya da ulasilabilir bir hale getirilir. Key ‘i göndermeye gerek yoktur keza alici ciphertext ‘i decrypt etmek için gereken private key’e sahiptir.

4. Alici ciphertext’i private key’i ile birlikte decrypt eder ve sonuç olarak ortaya çikan plaintext data , datayi meydana getiren kisinin yarattigi orjinal plaintext datadir

Önemli NOT : Bir uygulamanin sadece asymmetric encryption algorithmasini kullanmasi oldukça nadirdir. Genellikle , data symmetric algorithma ile encrypt edilir ve sonrasinda sadece symmetric encryption key bir asymmetric encryption algorithmasi ile encrypt edilir

Bu kombinasyonu bu kismin ilerleyen bölümlerinde ele alacagiz.

Asymmetric Signing Process

Asymmetric algoritmalar datayi modifikasyondan korur ve data sahibinin kimligini gösterir. Bu senaryoda , public ve private key rolleri tersine dönmüstür , olusturucunun key pair ‘ini kullanmaya ihtiyaç duyulur.

Not Olusturucularin(originator) kimlik bilgilerinin kanitlanmasi / dogrulanmasi tamamlanir.Çünkü sadece yaratici (originator) nin key pair ‘in private key’ine erisimi vardir. Tabi ki , Bu yaratici (originator) nin private key ‘ini korumak için kullanilan yöntemdir. Bir Smart Card üzerinde depolanan / konulan bir private key gibi bir hardware-protected private key , kullanicinin local certificate store ‘unda depolanan / konulan bir private key den daha fazla güvenlidir.

Asagidaki resim asymmetric signing’in  nasil gönderenin kimligini dogruladigini ve datanin modifiye edilmesinin nasil önlendigini gösterir

asymmetric signing process

image

1. plaintext data bir asymmetric encryption algorithmasi içerisinden yaraticisinin private key’ini encryption key olarak kullanarak geçer. encryption algorithmasinin sonucu encrypted ciphertext dir.

2. Ciphertext aliciya gönderilir ya da aliciya ulasilabilir bir hale getirilir

3. Data alicisi yaraticinin public key’ini elde eder .public key ciphertext ile birlikte gönderilebilir ya da alici public key ‘i bir directory gibi ( AD DS ) güvenilir bir kaynaktan edinilebilir

4. Alici ciphertext’i yaraticinin public key’i ile birlikte decrypt eder. Sonuçta ortaya çikan plaintext data yaraticinin olusturdugu orjinal plaintext dir . Yaraticinin key pair inin public key i ile decryption , datanin yaratici tarafindan olusturuldugunu dogrular. Ayrica datanin iltilmesi esnasinda herhangi bir modifikasyona ugramadigini kanitlar.

Asymmetric Algoritmalar

Asagidaki asymmetric algorithmalar datayi digital olarak imzalarken ya da encrypt ederken PKI-enabled applicationlar tarafindan kullanilir.

¦?Diffie-Hellman Key Agreement

Bu algoritma encryption ve decryption tabanli degildir fakat bunun yerine online bilgiyi gizli bir sekilde degis tokus etmek için iki parti olusturarak generate edilen gizli bir paylasilmis key’i kullanmaya olanak saglayan matematiksel fonksiyonlara dayanmaktadir. Diffie-Hellman key agreement iki host arasinda kullanildiginda , iki hostta bir public value ( v) ve large prime number ( p ) ile uyusur . Her bir host, üç girislerini kullanarak, kendi gizli degeri seçer ve degis tokus edilebilir bir public degeri gelir. Bu iki public deger, hostlar arasinda gönderilen verileri sifrelemek için kullanilan bir paylasilan gizli anahtari hesaplamak için kullanilir.

¦?Rivest Shamir Adleman (RSA)

Bu algoritma datayi encrypt etmek ve imzalamak için kullanilabilir.Sifreleme ve imzalama islemleri modüler bir dizi çarpma islemi üzerinden yapilmaktadir. RSA algoritmasinin güvenligi, 1024 bit veya daha uzun anahtar boyutu kullanarak artabilir . Ancak, burada anahtar uzunlugu ne kadar uzun ise sifreleme veya imzalama süreci de bir o kadar yavas olur.

Not Hem Diffie-Hellman hem de RSA symmetric key in veri yaraticisi ve alici arasinda arasinda negotiate edilmesi ve güvenli izin iletimi saglamak üzere anahtar degisimi için kullanilabilir ,

¦?Digital Signature Algorithm (DSA)

Bu algoritma sadece veri imzalamak ( signing ) için kullanilabilir; Encryption ( sifreleme ) için kullanilamaz DSA signing process DSA imza islemi seçilen bir asal sayiya dayali bir dizi hesaplamalar ile gerçeklestirilir. Maksimum 1.024 bit anahtar boyutu amaçlanmis olsa da, artik daha uzun anahtar boyutlari desteklenmektedir.

Kaynak : Windows Server 2008 PKI and Certificate Security