Şifreleme Yöntemleri – Bölüm 1

guvenlik  kilit Şifreleme Yöntemleri   Bölüm 1

Veri hırsızlığı dur durak tanımıyor ve casus yazılım tehdidi de gün geçmiyor ki büyümesin. Giderek artan sayıda parola, banka hesabı ve kredi kartı bilgisi niyeti bozukların eline geçiyor. Çoğu kullanıcı PC’lerinde sakladıkları ya da internet üzerinden ve e-posta yoluyla ilettikleri kişisel bilgilerinin güvenliğinden endişe duyuyor. Güncel bir güvenlik paketi sizi casuslara karşı korurken, hassas verilerin de sabit diskteyken ya da aktarım sırasında hırsızlığa karşı şifrelenmesi içinizi rahatlatacaktır.

Ama tıpkı anti virüs yazılımları gibi, şifreleme prosedürleri de yüzde yüz koruma sağlamıyor. Yine de bir şifreyi kırmak için yüksek teknolojiye ve çok uzun zamana gereksinim var. Bu yine de kod kırıcıları caydırmıyor ve birbiriyle yarışan korsanlar bu alanda da göze çarpıyor. Bundan on yıl öncesinin kırılmaz gözüyle bakılan yöntemleri bugün aşıldığı için birer risk kaynağı konumunda. Şifreleme mekanizmalarının sağladığı güvenliği ölçmek isteyen herkesin, bu çözümün nasıl çalıştığı konusunda bilgilenmesi şart.

Anahtar: Metnin çözümü burada

Şifrelemenin en zayıf halkası, anahtar. Kriptografinin en temel ilkesi olan Kerckhoff ilkesi şöyle diyor: Bir şifreleme prosedürünün güvenliğini belirleyen tek bir şey vardır, o da şifreleme algoritmasının değil anahtarın gizlenmesidir. Bu yüzden, günümüzde geliştiriciler şifre analizcilerinin prosedürleri baştan aşağı test edebilmesi için algoritmalarını halka açıyorlar. Bunun tek istisnası Dijital Hak Yönetimi (DRM). DRM algoritmaları gizli tutuluyor ama korsan saldırılarından onlar da nasibini alıyor.

Anahtar, orijinal metni kodlayan bir desen olarak tanımlanabilir. Algoritma, bu kodlamanın ne şekilde gerçekleşeceğini belirliyor. Özünde iki çeşit şifreleme yöntemi var: Simetrik ve asimetrik. Simetrik, verinin kodlanmasında da, kodun çözülmesinde de aynı anahtarın kullanılması anlamına geliyor. Asimetrik şifreleme ise şifreleme ve kod çözme için birbirinden farklı anahtarlar kullanıyor (gerçek bir kilide ve uygun anahtara benzetebilirsiniz).

Melez şifreleme: Çift aşamalı kodlama

Simetrik şifreleme, kullanıcı kodlanmış veriyi sadece kendi bilgisayarında sakladığı ve başkasına göndermediği sürece güvenli. Bunun avantajı, yaygın simetrik prosedürlerin matematiksel açıdan basit algoritmalar ve kısa anahtarlar kullandığı için çok hızlı çalışması. Örneğin TrueCrypt adlı araç saniyede 175 MB veriyi kodlayabiliyor.

Simetrik prosedürün zayıf noktası, veri iletimi için uygun olmayışı. Örneğin, güvenli bir internet bağlantısında sunucuların her seferinde yeni ve rastgele bir anahtar (oturum anahtarı) vermesine rağmen, iletişim kuran tarafların bundan faydalanabilmesi için anahtar değiştokuşu yapması gerekiyor. Şayet bir saldırgan bu anahtarı elde ederse, iletişimin şifresini çözebiliyor.

Asimetrik prosedürler bu sorunu bir çift anahtar kullanarak çözüyor. Gönderici, veriyi halka açık bir anahtarla kodluyor ve bu anahtar karşıdaki kişiyle daha önce paylaşılmış oluyor. Ama veriyi, sadece alıcının elinde olan özel anahtar çözebiliyor. Bu sayede kod çözme anahtarı yanlış ellere düşmüyor. Diğer yandan, halka açık anahtarı başkalarıyla paylaşmak sorun yaratmıyor çünkü bu anahtar şifrelenmiş verileri açamıyor ve özel anahtarı bu anahtardan hareketle üretmek mümkün değil. Halka açık anahtarı, anahtarı olmayan bir kilide benzetebilirsiniz. Kapıyı kaparken kullandığınız bu kilidi tekrar açamazsınız. Fakat bu yöntemin de ciddi bir zaafı var: Asimetrik prosedürler, yüksek hesap gücü gerektirdikleri için simetrik prosedürlerden yaklaşık 1.000 kat yavaş çalışıyor ve bu nedenle de yüksek kapasiteli veriler için uygun değil. Bu yüzden de melez şifreleme teknikleri pratikte web üzerinden veri alışverişi, e-posta trafiği ya da çevrimiçi bankacılıkta kullanılıyor. Bu yöntem, asıl veriyi simetrik, verinin anahtarını asimetrik olarak kodluyor. Bu melez prosedür güvenli anahtar iletimi ve verinin hızlı kodlanması avantajlarına sahip.

Melez şifreleme ilkesi

guvenlik  sifree Şifreleme Yöntemleri   Bölüm 1

Melez prosedürler bir defalık bir anahtarın (oturum anahtarı) simetrik olarak, anahtar çiftinin (halka açık / özel anahtar) ise asimetrik olarak şifrelendiği iki kısımdan oluşuyor.

  1. Gönderici metni oturum anahtarıyla şifreliyor.
  2. Oturum anahtarını halka açık anahtarla şifreliyor.
  3. Alıcı oturum anahtarının şifresini çözüyor.
  4. Oturum anahtarını özel anahtarla, metni de oturum anahtarıyla çözüyor.

Bit mi blok mu: Hepsi zamana bağlı

Şifreleme türleri arasındaki temel ayrımlardan biri de blok ve akış şifrelemesi. Verinin bit bazında kodlanması (akış şifreleme) özellikle kablosuz ağlarda gerçek zamanlı veri aktarımında faydalı oluyor. Şifreleme ilk bitle başladığı ve blok tamamlanana kadar beklemediği için, bu teknikle zaman yitirmeden kodlama ve iletim mümkün. Üstelik hatalar tüm bloğu değil sadece o biti etkiliyor. Ancak akış kodlayıcılar karmaşık algoritmalarla çalışmıyor. Güvenlik, daha çok yazılım ortamındaki uygulamayla ilgili.

Eski WLAN standardı olan WEP, akış şifrelemenin sorunlarını adeta gözler önüne seriyor. WEP protokolü WLAN ağlarında şifreli aktarım sağlıyor ve bunun için de RC4 akış şifresinden yararlanıyor. RC4′ün işleyişi şöyle: RC4 önce o ile 255 arasında (her biri 8 bitlik) bir dizi rakam yaratıyor. Sonra bu sayı dizilerini bit bit orijinal veriye bağlıyor. Anahtar ve dolayısıyla da üretilen rakam sadece bir kez kullanıldığı sürece bu yöntem güvenli.

Ancak WEP protokolü bu önkoşulu yerine getirmiyor. Bir kez kullanılan anahtarın içinde sabit bir WEP anahtarı (yönlendirici yapılandırmasında kaydedilen) ve bir de rastgele oturum anahtarı (başlangıç vektörü) bulunuyor. Ne var ki WEP, 24 bit uzunluğundaki bu başlangıç vektörünü her bir veri paketiyle birlikte şifrelenmemiş halde aktarıyor. Şifreli veri paketinden ve bilinen başlangıç vektöründen yola çıkarak, çoğunlukla 40 ya da 104 bit uzunluğunda olan sabit anahtarı elde etmek Aircrack gibi doğru aygıtlarla donatılmış sıradan bir bilgisayar için bile çocuk oyuncağı. Yazılım 40 bitlik bir anahtarı çözmek için yaklaşık 5.000 veri paketine gereksinim duyuyor ve bu da birkaç dakika sürüyor. Blok şifreleme ise normalde sadece zaman bakımından daha az kritik (örneğin sabit diskteki veriler, e-posta trafiği, web bağlantısı) durumlar için kullanılıyor. Bu prosedürde veri bloklara bölünüyor ve her bir blok için karmaşık algoritmalar kullanılıyor.

Şifreleme iş başında

Sabit diskinizde ya da e-postalarınızda şifreleme işi size düşerken, internette ya da ağ üzerinde bu işlem kendiliğinden gerçekleşiyor.

YEREL ŞİFRELEME

Yerel sabit diskte veri güvenliği için kullanılan programlar, tek anahtarlı ve hızlı simetrik prosedürleri izliyor, çünkü veriye sadece kullanıcı erişebiliyor. Örneğin TrueCrypt üç algoritmayı (AES, Twofish ve Serpent) teker teker ya da üst üste kullanabiliyor. Seçiminize bağlı olarak, araç tüm sürücüyü ya da sadece istenen dosyayı şifreleyebiliyor.

E-POSTA TRAFİĞİ

E-posta trafiğinin şifrelenmesi melez bir proses gerektiriyor.Gpg4win gibi programlar e-posta içeriklerini simetrik, anahtarın kendisini ise asimetrik olarak şifreliyor. Ücretsiz OpenPGP standardı ve algoritma olarak da IDEA ya da RSA kullanılıyor.

SSL BAĞLANTISI

SSL protokolü ya da yerine geçecek olan TLS, bankayla ya da çevrimiçi mağazalarla güvenli internet bağlantısı kurmaya yarıyor. Sağlayıcının kimliğinin doğrulanması büyük önem taşıyor. Eğer web sitesi bu doğrulama kontrolünü geçerse protokol melez şifrelenmiş iletişimi başlatıyor ve veriyi simetrik şekilde (AES, DES ve RC4 yaygın olarak kullanılıyor) anahtarı ise asimetrik olarak (RSA ile) kodluyor.

WLAN’DA KABLOSUZ İLETİŞİM

Eski standart olan WEP, RC4 algoritmasının şifreli iletişime kötü şekilde uyarlanmış bir algoritmasını kullanıyordu. Yeni WPA2 standardı ise iyileştirilmiş bir şifreleme protokolünü (CCMP) ve güvenli AES algoritmasını kullanıyor. Anahtar serbestçe seçilebiliyor ve yönlendirici yapılandırmasında saklanıyor.

HBCI İLE EV BANKACILIĞI

HBCI’yi ya da onu takip eden FinTS standardını destekleyen yazılımlar, mesajları simetrik 2 anahtarlı 3DES prosedürünü (bir sabit bir de gelişigüzel 3DES anahtarıyla) gönderiyorlar. Programlar anahtarları asimetrik olarak RSA’yla şifreleyerek iletiyorlar.

guvenlik  truecrypt Şifreleme Yöntemleri   Bölüm 1

TrueCrypt'te kullanıcı verilerini aynı anda iki ya da üç yöntemi bir arada kullanarak kodlayabiliyor.

DES: Çığır açan algoritma

ABD hükümeti 1977 yılında, dünyanın halka açık ilk simetrik şifreleme standardı olan Lucifer algoritmasına dayalı DES’i (Veri Şifreleme Standardı) kullanıma soktu. DES, 64 bitlik blokları 56 bitlik bir anahtarla kodluyor. Blokları her biri 32 bitlik sol ve sağ bloklara bölmek için Feistel şifresi kullanılıyor. Bu şifre sağ bloğu uzatarak 48 bite dönüştürüyor ve gerçek anahtardan oluşturulan 48 bitlik bir anahtara bit bit bağlıyor. DES, ortaya çıkan bu sağ bloğu bir çıkarma kutusu kullanarak tekrar 32 bite düşürüyor ve bu sefer bit bit sol bloğa bağlıyor. Her blok, bu algoritmadan 16 kez geçiyor.

1998 yılında “Deep Crack” adlı süper bilgisayar kaba güç kullanarak (tüm olası anahtarları deneyerek) sadece 56 saatte çözene kadar DES güvenli sayılıyordu. Bunun üzerine, şimdi çevrimiçi bankacılıkta ve SSL bağlantılarında kullanılmakta olan 3DES (yani üçlü DES) geliştirildi. Üç adet 56 bitlik anahtar kullanan yöntemde, bu anahtarlar blokları birbiri adına kodluyor ve ikinci anahtar, algoritmayı ters yönden uyguluyor. Bu prosedüre EDE (şifrele, çöz, şifrele) adı veriliyor.

AES: Her yerde karşımıza çıkıyor

3DES, güncellenen anahtar ve değiştirilmiş algoritma sayesinde hala kırılamadıysa da, hatırı sayılır oranda yavaş çalışıyor. Bu yüzden, DES’in yerine 2002′de AES (İleri Şifreleme Standardı) getirildi ve hala da kullanımda. AES, Rijndael algoritmasından faydalanıyor ve 128 bitlik veri bloklarını 128,192 ya da 256 bitlik anahtarlarla kodluyor. Her blok, anahtar uzunluğuna bağlı olarak (soldaki kutuya bakınız) 10,12 ya da 14 defa bu algoritmadan geçiyor. AES’in DES’e kıyasla büyük avantajları, optimize algoritmanın yüksek hızı ve gerek donanım gerekse yazılım ayağında kolayca uygulanabilirliği. Minimum 128 bitlik anahtar uzunluğu, önümüzdeki yıllarda da bu yöntemin kaba güç saldırılarına karşı ayakta durmasını sağlayacak. 128 bitlik anahtarda 2A128 adet, yani 39 basamaklı bir sayı oluşturacak kadar olasılık var. Bu, günümüzün süper bilgisayarlarının bile makul bir sürede deneyemeyeceği kadar büyük bir değer. Bu yüzden de uygulamada AES ilk tercih olarak kullanılıyor. SSL bağlantılarında, sabit disk şifrelemede ya da yeni WLAN standardı WPA2′de göze çarpıyor. Hatta ABD istihbarat servisi NSA bile çok gizli bilgileri AES’le şifreliyor.

RSA: Güvenli anahtar değiş tokuşu

Simetrik kodlanmış veriler için anahtarların güvenli aktarımını garantileyen tek şey, simetrik anahtarı şifreleyen asimetrik prosedürler. Adını yaratıcıları olan Rivest, Shamir ve Adleman’dan alan RSA, internette, çevrimiçi bankacılıkta ya da şifreli e-posta trafiğinde kullanılan veri alışverişi için anahtar takasını güvenli hale getiriyor. RSA’nın emniyeti, bugüne dek sayıları asal çarpanlarına verimli şekilde ayrıştıran bir hesaplama algoritması olmamasından geliyor. Kodlanmış veriyi alan kullanıcı anahtar çiftini (halka açık ve gizli) yaratıyor. Halka açık anahtar bir çift sayıdan (e ve N) oluşuyor, tıpkı özel anahtar gibi (d ve N). N dediğimiz sayı, rastgele seçilmiş iki asal sayı; e (şifreleme anahtarı) ise sınırlar içinde serbestçe seçilen bir tamsayı ve d (çözme anahtarı) ise e’nin asal sayı çarpanları ve N ile hesaplanan bir rakam. Orijinal veri, bit düzeyinde bir matematiksel işlem (modüler türev) olarak kodlanıyor.

Bu kodu çözmek isteyen saldırganın d rakamına ve N’in asal sayı çarpanlarına ihtiyacı oluyor; ama çarpanlara ayırma sorununda olduğu üzere, saldırgan daha fazla bilgi sahibi olmadan bu rakamları hesaplayamıyor. Elbette zihinsel aritmetik ve deneme – yanılma yöntemiyle saldırganın bu çarpanları bulması mümkün. Örneğin N’in küçük olduğu 143 değeri için bu çarpanlar 11 ve 13. Ama RSA 1.024 ve 2.048 bitlik sayılar kullanıyor (sırasıyla, 309 ve 617 basamaklı) bu da bu tür girişimleri pratikte imkansız kılıyor.

İster RSA olsun isterse AES ya da DES, şifreleme prosedürleri bağımsız programlar şeklinde çalışmıyor ve yazılımın (mesela sabit disk şifreleme aracının) ya da amaca yönelik iletişim protokolünün (internet, e-posta, WLAN, bankacılık) içine gömülü oluyor. Genelde kullanıcı hangi algoritmayı kullanacağına karar veremiyor ve kullanılan prosedürün güvenli olması için dua etmekle yetiniyor.

Bölüm-2 için tıklayın

Kategori: Güvenlik

Etiketler: , , , , , , , , , , , , , , , , , ,

Yorum Yap




Yorumunuzda resminiz görünsün istiyorsanız: Gravatar.