21 Ocak 2013 Pazartesi

Elektronik Güvenlik, Şifreleme Teknikleri ve Algoritması açık olan Şifreleme Teknikleri(Public Key Encryption)



                                 
T.C.
DOKUZ EYLÜL UNIVERSITY
DEPARTMENT of COMPUTER ENGINEERING

CSE 428
Network Security E-Commerce

Konu:
Elektronik Güvenlik, Şifreleme Teknikleri ve Algoritması açık olan Şifreleme Teknikleri(Public Key Encryption)

 

 

 Student   :Ferhat BOZKURT
No        :2001510051


Date      : 02/11/2005              
Due Date  : 02/11/2005





Elektronik Güvenlik, Şifreleme Teknikleri ve Algoritması açık olan Şifreleme Teknikleri (Public Key Encryption)

Bilginin güvenli iletimi yani iletim esnasında bilginin gizliliğinin ve bütünlüğünün korunması önemli bir gereksinim haline gelmiştir. Özellikle, e-ticaret ve e-devlet projeleri, internet üzerinden askeri, özel ve resmi yazışmalar, ulusal güvenlik, internet bankacılığı v.b. gibi alanlarda bilginin güvenliğini sağlamak amacıyla çeşitli algoritmalar ve bunları kullanan donanım ve yazılımlar geliştirilmiştir.

Günlük hayatta karşılaştığımız uygulamalardan da anlaşılacağı gibi bilgi güvenliği denilince akla ilk gelen, şifreleme ve şifreleme algoritmalarıdır. Bu nedenle çalışmamızda, literatürde yaygın olarak kullanılan şifreleme algoritmaları sınıflandırılmıştır. Sınıflandırma işleminde; algoritmaların anahtar kullanıp kullanmaması, şifreleme - çözme işlemlerinde kullanılan anahtar sayısı ve algoritmaların gizlilik yada anonimliği göz önüne alınarak bunların genel yapısı incelenmiştir.

Internette gezerken birilerinin sizi izlediğini biliyor muydunuz? Bunu nasıl yapıyorlar? Web sitelerinin sizin web istemcinize gönderdiği cookie'ler aracılığı ile sitenin en son hangi kısmını ve ne zaman ziyaret ettiğinizi takip etmesi ve kayıt altına alması mümkündür. Web'de bir çok belgeye yada programa erişmeden web sunucu tarafından önce bir form doldurarak kişisel bilgilerinizi vermeniz isteniyor.Bu formu doldurduğunuz zaman artık bütün bilgilerinize erişmiş oluyorlar. Elektronik iletişimin artmasıyla beraber başta finans kurumları olmak üzere birçok kuruluş ticari işlemlerini elektronik iletişimin en yaygın aracı olan İnternet'e taşımaya başlamıştır. Örneğin, bankacılık sektörü internet üzerinden para yatırma işlemi hariç her türlü faaliyeti gerçekleştirebilen sanal şubeler kullanmaktadırlar. Böylece, bilgilerin herkese açık bir ağ üzerinde dolaşmasının doğurduğu haklı tedirginlik gündeme gelmiş, bu konu yoğun bir şekilde tartışılmaya başlanmıştır.

“Şirketler, finans kurumları, devlet kurumları, kişiler ve internet’te bilgi transferi yapan özel yada tüzel kişilerin internet’te bilgi güvenliği ve şifreleme teknikleri konusunda ciddi bir şekilde bilgi sahibi olmaya ihtiyaçları olduğunu anlamaktayız. Elektronik ticaret ve finansal işlemlerin yürütüldüğü siteler internet'ten bilgi alışverişini şifreleyerek gerçekleştirdikleri zaman genel olarak güvenlidirler. Şifrelenmiş bilgi internet üzerinde iletilirken ele geçirilse bile, şifrenin kırılması çok büyük bir yatırım ve oldukça uzun bir zaman dilimi gerektirdiğinden güvenli olduğu kabul edilebilir.

Elektronik Güvenlik Nedir?
E-güvenlik; tüm sistemi ağ yapısı, kullanıcıları ve yazılımları ile bir arada bir bütün olarak düşünmeyi gerektirir. Güvenli bir uygulamanın minimum gereksinimleri şunlardır:
  • Gizlilik: Mesajın sadece gönderici ve alıcı kişiler tarafından görülebilmemeli.
  • Bütünlük: Mesajın gönderici dışında hiç kimse tarafından değiştirilememeli.
  • Doğrulama: Mesajı gönderen kişinin kimliğinin doğrulanması, böylece yetkili kişiler dışında hiç kimsenin mesaja erişimine izin verilmemeli.
  • İnkar Edememe: Mesajı gönderen kişinin mesajı gönderdiğini inkar edememeli.
Bu gereksinimleri karşılamak için kriptolojiden yararlanılır.
Kriptoloji

Özellikle internet teknolojisinin yaygınlaşmasıyla adını sıkça duymaya başladığımız kriptoloji gitgide önem kazanmaktadır. Bu bilim dalı Kriptografi, Kriptoloji ve Kriptoanaliz olmak üzere üç ana kısımdan meydana gelir. Kriptoloji şifreleme algoritmalarının matematiksel temelleriyle ilgilenen bir matematik dalıdır. Kriptografi ise bu algoritmaları kullanarak yapılan gizli mesajlaşma, onaylama, dijital imzalar, elektronik para ve diğer uygulamaların tüm  yönleriyle ilgilidir. Kriptografik algoritmaların açıklarını bulup ortaya çıkartma ve bu açıkların giderilmesiyle ilgilenen dala ise kriptoanaliz denilmektedir. Şifreleme (Encryption), veriyi alıcından başkasının okuyamayacağı şekilde kodlamaya verilen addır. Şifre Çözme(Decryption) ise alıcının kodlanmış veriyi çözüp eski haline getirmesi işlemidir.
Farz edelim ki bir kişi diğer bir kimseye bir mesaj göndermek istiyor ve başka hiçbir kimsenin mesajı okumadığından emin olmak istiyor. Ancak, bir başka kimsenin mektubu açması veya elektronik iletişimi duyması olasılığı vardır. Kriptografik terminolojide mesaj plaintext (düz-metin) veya cleartext (açık-metin) olarak adlandırılır. Mesajın içeriğini diğer kişilerden saklamak için kodlamaya encryption (şifreleme) adı verilir. Şifrelenmiş mesaja ciphertext (şifreli-mesaj) denir. Ciphertext’ten düz-metni elde etme işlemine decryption (şifre çözme) adı verilir. Veriyi şifrelerken ve çözerken kullanılan matematiksel metoda ise şifreleme algoritması denilmektedir. Şifreleme ve çözme genelde bir anahtar(Key) kullanılarak yapılır ve şifreleme algoritması çözme işlemi ancak doğru anahtarın bilinmesiyle gerçekleştirilebilir.

1.      Şifreleme Tekniklerinin Sınıflandırılması

Şifreleme teknikleri algoritmalarına, anahtar sayısına ve şifrelenecek mesajın tipine göre sınıflandırılmıştır. Sınıflandırmada bütün şifreleme algoritmalarını tek tek incelemek yerine her bir algoritma türü için en yaygın olarak kullanılan ve en temel yapıya sahip birkaç algoritma örnek olarak verilmiştir.

1.1    Şifreleme Tekniklerinin Algoritmalarına ve Anahtar Sayısına Göre Sınıflandırılması


Tarihi sürece bakıldığında şifreleme teknikleri önce açık yada gizli algoritma kullanmalarına göre ikiye ayrılırlar.

1.1.1.      Algoritması Gizli Olan Şifreleme Teknikleri

Literatürde bulunan en ilkel şifreleme algoritmaları sadece alıcı ile gönderen arasında bilinen ve birbirinin tersi olan gizli bir algoritmaya dayanmaktadır. Bu tip algoritma ilk defa Sezar tarafından generallerine mesaj göndermek için kullanılmıştır. Her bir karakteri belirli bir miktar kaydırma prensibine dayanmaktadır. Bu şifreleme türünün diğer örnekleri ise Yer değiştirme ve Alfabe değiştirme şifreleridir.

1.1.2.      Algoritması Açık Olan Şifreleme Teknikleri (Public Key Encryption)

Şifreleme algoritmalarının geniş bir kullanım alanına sahip olabilmesi için standart hale getirilmesi gerekir. Gizli algoritmaya dayalı şifreleme sistemleri, algoritmanın gizliliğinin sağlanması zorunluluğu nedeniyle sadece sınırlı bir kullanım alanına sahiptir ve standart hale getirilmesi mümkün değildir. Özellikle, bankalar ve elektronik ticaret siteleri gibi yaygın iletişim ağlarına sahip kuruluşlar için gizli algoritmaya dayalı şifreleme sistemleri uygun değildir. Ayrıca, şifreleme sisteminin güncellenmesi gerektiğinde gizli algoritmaya dayalı şifreleme sistemleri esnek bir yapıya sahip olmadıklarından eski sistemin tamamen kaldırılıp yerine yenisinin kurulması gerekir. İşte bu standart hale getirme ve güncelleme gereksinimini karşılamak için algoritması herkes tarafından bilinen şifreleme sistemleri tasarlanmıştır. Bu tip şifreleme sistemlerine, açık metin sadece gönderen ile alıcı tarafından bilinen bir anahtarla şifrelendiği için bir anahtara dayalı şifreleme sistemi denilir. Modern şifreleme tekniklerinin büyük bir çoğunluğu açık algoritmaya sahip teknikler kullanırlar. Anahtara dayalı şifreleme sistemleri anahtar sayısına göre simetrik ve asimetrik şifreleme teknikleri olarak ikiye ayrılır:

1.1.2.1.Simetrik Şifreleme Teknikleri

Hem şifreleme hem de çözme işlemi için tek bir anahtar kullanılır. Aynı zamanda bu teknik; şifreleme işleminde kullanılan anahtarı, gönderen ve alıcıdan başka kimsenin bilmemesi gerektiği için, gizli anahtar, anonim anahtar yada özel anahtar şifreleme olarak da adlandırılır. Ayrıca şifreleme ve çözme işlemlerinde tek bir anahtarla birbirinin simetriği olan algoritmalar kullanarak gerçekleştirildiğinden simetrik şifreleme teknikleri olarak da bilinirler. Bu şifreleme tekniğini kullanan algoritmalara örnek olarak XOR Şifreleme, DES, 3DES, IDEA, DESX, SKIPJACK, RC2, RC4, RC5 algoritmaları verilebilir. Bunların en meşhuru Veri Şifreleme algoritması (Data Encryption Algorithm) olarak da bilinen DES’tir. DES 64 bit blok boyutu olan bir blok şifrelemedir. 64 bitlik düzyazı bloklarını 56 bitlik anahtarlar kullanarak 64 bitlik şifreli yazı bloklarına çevirir.Simetrik şifreleme tekniğinde gizli anahtarın taraflar arasında iletilmesi problemi bulunmaktadır. Bu gizli anahtar taraflar arasında iletilirken istenmeyen kişiler tarafından ele geçirilebilir. Simetrik şifreler ise hız avantajına sahiptir; genellikle asimetrik şifrelerden 100, 1000 kat arası daha hızlı çalışırlar. Bu avantaj simetrik şifreleri yoğun ve hız gerektiren mesajlaşmalarda tek seçenek haline getirmiştir. Ancak başka bir yere güvenli bir mesaj göndermek istendiğinde, anahtarı karşı tarafa ulaştırmak gerekmektedir. En bilinen simetrik şifreleme algoritmaları DES, Triple DES, RC2 ve RC4 tür. Bir simetrik şifrenin kuvveti anahtar uzunluğu ile doğru orantılıdır. 40 bit genelde zayıf kabul edilirken 128 bit ve üzeri bir anahtar uzunluğu kuvvetli kabul edilir.

1.1.2.2. Asimetrik Şifreleme Teknikleri
Simetrik şifreleme tekniğinde bulunan anahtar dağıtım problemini çözmek için şifreleme ve çözme işlemlerinin her birisi için ayrı ayrı anahtar kullanma prensibine dayanan bir şifreleme sistemi geliştirilmiştir. Bu sistemde şifreleme işlemi herkes tarafından bilinen anonim anahtarla yapılır. Bundan dolayı bu sistem anonim anahtar şifreleme sistemi olarak adlandırılır. Şifreleme ve çözme işlemi birbirinin simetriği olmayan (yani aynısı olan) algoritmalarla gerçekleştirildiğinden dolayı da asimetrik şifreleme sistemi olarak bilinir. Asimetrik şifreler aynı zamanda kimlik doğrulamada da kullanılabilir. Eğer bir metni kendi 'özel' anahtarınızla şifrelerseniz bu şifreli metin ancak sizin 'açık' anahtarınızla açılabilir. Böylece sizin 'açık' anahtarınızla metni çözebilen bir kişi bunu sizin şifrelediğinizden emin olur. Bu fikir 'Sayısal İmza' kavramının temelini oluşturur. En bilinen asimetrik şifreleme algoritmaları RSA, Diffie-Hellman, DSA ve 'Elliptic Curve Cryptography'dir.Bunlardan en meşhuru ve en yaygın olarak kullanılanı RSA dır. RSA algoritmasının büyük sayıların modüler aritmetiğine dayalı çok basit bir prensibi vardır. Gücünü ise büyük sayıları asal çarpanlarına ayırma probleminden alır. Asimetrik şifreleme tekniğinde şifreleme ve çözme işlemi simetrik şifreleme tekniğine göre daha fazla zaman almaktadır. Bu zaman şifrelenecek mesajın ve anahtarların boyutlarına göre üssel olarak artar ve kırılması daha zordur.
RSA -Rivest, Shamir ve Adleman- Şifre Sistemi
Bu algoritma, 1978 yılında MIT Üniversitesi'nde Rivest, Shamir ve Adleman adlı üç araştırmacı tarafından bulunmuştur. Bu algoritmanın güvenliği, çok büyük sayıları çarpımlarına ayırmanın zorluğuna dayanmaktadır.
 Geliştirilen ilk asimetrik anahtarlı şifreleme algoritmalarından biridir. Bu teknikte şifreleme ve şifre çözme için farklı kripto anahtarları kullanılır. Bu iki anahtar öyle özelliklere sahiptir ki birisi ile şifrelenen mesaj ancak ve ancak eşi olan diğer anahtar ile açılabilir. Bu anahtarlar çok büyük asal sayılar kullanılarak elde edilirler. Şifreli iletişim yapmak isteyen herkesin iki tane anahtarı vardır. Bunlardan biri sadece şifre sahibi tarafından bilinir (özel anahtar) ve başkalarının eline geçmesi engellenmelidir. Bu anahtarın eşi olan diğer anahtar ise (açık anahtar) serbestçe iletişim kurulacak kişilere verilebilir. Anahtarlar ne kadar uzun seçilirse şifrenin kırılması o kadar zor olur.
Bu sistemin kullanımı şöyledir:
1.       p ve q olarak adlandırılan çok büyük iki asal sayı bulunur.
2.       n = p*q ve z = (p-1)*(q-1)  hesaplanır.
3.       z'ye ilişkili (relatively) asal bir sayı bulunur ve bu sayı d olarak adlandırılır. 4.               e*d = 1 mod z eşitliğini sağlayan e sayısı bulunur.
Bu parametreler hesaplandıktan sonra şifreleme işlemine başlanır. Matematikçiler çok büyük sayıların çarpanlarına ayrılabilmesinin gerçekten zor bir problem olduğu konusunda hemfikirdirler. Ancak bilgisayar hızlarındaki artış, p ve q sayılarını seçerken bizleri çok dikkatli olmaya zorlar. Örneğin 512 ikillik bir mod (n) kullanmak, artık çok güvenli sayılmamakta, 1024 ikil şu anki standart olarak kabul edilmektedir.RSA şifreleme sistemi, sayısal imza olarak da kullanılabilir. Bunun için e ve d'nin kullanım sırasını değiştirmek ve alıcının anahtar çifti yerine, göndericinin anahtar çiftini kullanmak yeterlidir.
Diffie-Hellman
Anahtar değiş-tokuşu için yaygın olarak kullanılan bir protokoldür. Pek çok kriptografik protokolde iki taraf aralarında bir iletişim başlatmak isterler. Ancak, varsayalım ki başlangıçta herhangi bir ortak gizliliğe sahip olmasınlar, ve böylece gizli anahtar kriptosistemlerini kullanabilirler. Bu durum için, Diffie-Hellman protokolü tarafından sağlanan anahtar değiş-tokuşun, güvenli olmayan kanallar üzerinden ortak bir gizli anahtar iletiminin sağlanmasına bir çare bulmuştur. Diffie-Hellman problemi olarak adlandırılan bu yöntem, kesikli logaritmalarla ilgili bir problem üzerine kurulmuştur. Bu problemin çok zor olduğu , ve bazı durumlarda kesikli logaritma problemi kadar zor olduğu düşünülmektedir.
Diffie-Hellman protokolünün, uygun bir matematiksel grup kullanıldığında genelde güvenli olduğu düşünülmektedir. Özel olarak, üslü ifadelerde kullanılan üretici eleman geniş bir peryoda (sıraya) sahip olmalıdır.  Kesikli logaritma algoritmaları Diffie-Hellman'a saldırmak için kullanılabilir, ve -parametrelerin doğru olarak seçildiğini kabul edersek- şu anda yapılabileceklerin en iyisi pasif saldırılardır. Eğer alışıldık bir aritmetik modülo asıl sayı kullanılarak Diffie-Hellman uygulanılırsa, yeterince geniş bir asal seçmek ve üretici elemanın seçiminde özen göstermek yeterli olacaktır. Güç algılanan problemler, üreteçin kötü seçimlerinden kaynaklanıyor olabilir.. Genelde Diffie-Hellman donanım üzerinde uygulanmaz, ve böylece donanım saldırıları önemli bir tehdir oluşturmazlar. Gelecekte, mobil iletişim yaygınlaştığında, bu durum değişebilir.
Eliptik Eğri Kriptosistemleri (Elliptic Curve Cryptography)
Kriptografideki eliptik eğriler temel olarak, p karakteristiğinin (p>3 olmalıdır) sonlu alanında düşünüldüğünde, y2 = x3 + ax + b denklemini sağlayan noktaların bir kümesidir. p = 2 ve p = 3 karakteristikleri için biraz farklı bir denklem gerekmektedir.
Eliptik eğriler üzerindeki noktalar bir araya toplanabilir ve bunlar grup adı verilen bir yapı oluştururlar (aslında bir Abel Grubu). Bu , şunu söylemenin farklı bir yoludur; aynı tamsayılarla yaptığımız gibi bunlar ile de sadece toplama ve çıkarma kullanarak aritmetik yapabiliriz.
Bunların bazı teorik faydaları vardır ve ayrıca çok pratiktirler. Hiperbolik eğriler, bir sonlu alan veya diğer bazı pek çok gruptaki kesikli logaritmalarda olduğunun aksine, eliptik eğrilerin kesikli logaritma problemlerini hesaplamak için bilinen bir subexponential algoritma yoktur. Eliptik eğriler için hızlı kesikli logaritma hesaplamasının olmamasının bir faydası anahtar genişliğinin, üretilen dijital imzaların ve şifrelenen mesajların küçük olmasıdır. Gerçekte, anahtar genişliği için güvenlik düzeyinin hesaplanmasının kolay bir yolu, bir anahtar genişliğini, bir gizli anahtar kriptosistemine bitler halinde almak ve sonra bunu 2 ile çarpmaktır.
Eliptik eğriler donanım ve yazılım ile çok etkin bir biçimde uygulanabilirler, ve hız bazında RSA ve DSS gbi kriptosistemler ile yarışabilirler. Eliptik eğri kriptosistemlerini standartlaştırmak için pek çok girişimde bulunulmaktadır (örneğin, ANSI tarafından ECDSA). Şu anda eliptik eğriler yayın olarak bilinmektedirler, ama pratikte pek kullanılmamaktadırlar. Özel örneklere karşı saldırılarda gelişmeler kaydedilmiş olmasına rağmen, eliptik eğri kriptosistemlerinin güvenliği yıllardan beri oldukça sağlamdır. Bununla birlikte, bunlar, yıllar öncesinden araştırmacılar tarafından tahmin edilmişler ve henüz büyük bir şaşkınlık ortaya çıkmamıştır.
Lenstra ve Verheul tarafından geliştirilen XTR algoritması eliptik eğrilere karşı güçlü bir rakip haline gelebilir. Ancak, eliptik eğriler performans açısından bir miktar iyi görünmekte, ve anahtar genişliğinde kesinlikle daha iyidirler.
DSA (Digital Signature Algorithm)
 Asimetrik şifreleme algoritmasıdır. Bu algoritma açık anahtar altyapısı kullanılarak elektronik imzalamanın nasıl yapılacağını tanımlamaktadır.
SONUÇLAR VE DEĞERLENDİRME
Şifreleme/deşifreleme (encryption-decryption) bir bilgisayar ağında veya kişisel bilgisayarlarda haberleşme ya da dosya güvenliğini sağlamak için kullanılır. Özellikle, e-ticaret ve e-devlet projeleri, internet üzerinden askeri, özel ve resmi yazışmalar, ulusal güvenlik, internet bankacılığı v.b. gibi alanlarda bilginin güvenliğini sağlamak amacıyla çeşitli algoritmalar ve bunları kullanan donanım ve yazılımlar geliştirilmiştir.

KAYNAKLAR
William Stalings , Cryptography and Network Security: Principles and Practice , Second Editon,
Feistel H.,Cryptography and Computer Privacy,Scientific American,May 1973.
Konheim,A. ,Cryptography: A Primer.New York :Wiley,1981.
Stallings W., Network And Internetwork Security,New Jersey:IEEE PRESS,1995

Hiç yorum yok:

Yorum Gönder

isterseniz anonim seçeneginden kayıtsız gönderebilirsiniz iyi günler