Bilginin Adresi Ana Sayfa
Forum Anasayfası Forum Anasayfası > Bilgisayar Güvenliği / Computer Security > Güvenlik / Security Makaleleri
  Aktif Konular Aktif Konular RSS - Kriptografi - BÖLÜM 1 (Simetrik kriptografi)
  SSS SSS  Forumu Ara   Events   Kayıt Ol Kayıt Ol  GiriÅŸ GiriÅŸ

Kriptografi - BÖLÜM 1 (Simetrik kriptografi)

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
megabros Açılır Kutu Gör
Security Professional
Security Professional
Simge

Kayıt Tarihi: 08-06-2009
Konum: Turkey
Status: Aktif DeÄŸil
Points: 752
Mesaj Seçenekleri Mesaj Seçenekleri   Thanks (0) Thanks(0)   Alıntı megabros Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Kriptografi - BÖLÜM 1 (Simetrik kriptografi)
    Gönderim Zamanı: 29-03-2011 Saat 10:45

Kriptografi romalılar zamanından beri var olup 2. dünya savaşı gibi modern savaşlarda önemli rol oynamıştır. Son zamanlarda kriptografi alanındaki gelişmeler bilgisayar endüstrisinin güvenli bilgi alış-verişi, depolama ve işleme ihtiyaçlarını karşıladı. Elektronik ticaretin kullanılmaya başlanılmasıylada kriptografi alanına büyük çapta ticari bir ilgi oluştu.

Bazı hükümetler, özellikle Amerikan hükümeti, kriptografinin geliştirilmesi ve uygulanmasını kontrol etmeye çalışıyor. Kriptografik teknikler harddisk, disket ve manyetik teyp gibi medyalar üzerinde depolanan önemli bilgilerin güvenliğini sağlamak için kullanılır. Aynı zamanda Internet üzerine transfer edilen bilginin güvenliğini sağlamak içinde kullanılır.

Kriptografi kriptolama ve dekriptolama diye bilinen iki işlem üzerine kuruludur. Kriptolama bir mesajını okunamayacak şekle sokma işlemine denir. Bu kriptolama anahtarı ile gerçekleştirilir. (Bir anahtar rastgele bit`lerden oluşan yazıdır. Bit sayısı kripto-sistemi`ne göre değişir.)
Dekriptolama mesajı orjinal şekline çevirme işlemidir. Buda bir dekriptolama anahtarı ile gerçekleştirilir. Bir mesaj kriptolanmadan önce düz-yazı formatındadır. Kriptolama işlemi sonrası mesaj şifreli-yazı formatına geçer.


Kriptolama mesaj içerisinde yer alan kelime ve numara gibi bilgileri direk olarak sembolleştirir. Örneğin, en basit şekli a=1, b=2, c=3 olduğu yer değiştirme şifrelemesidir. Buna göre, abc 123 olur ve eğer anahtarın ne olduğunu bilmiyorsanız dekriptolama işlemi uygulayamazsınız.

Açık anahtar kriptografi ve dijital imza teknolojileri güvenli elektronik ticaretin önemli birer parçasıdır. Kriptografi ağınızın pek çok güvenlik ihtiyacını karşılar.


Kriptografi 4 ana fonksiyon sağlar:

  • Gizlilik
  • Kimlik doğrulama
  • Bütünlük
  • İnkar edememe

Gizlilik, kriptolanmış bilgi transfer sırasında veya depolanırken dekriptolama anahtarına sahip olmayan kullanıcılar tarafından okunamadığından sağlanmış olur.

Kimlik doğrulama bilginin doğru kaynaktan alındığını doğrulamak için kullanılır.Bilgi veya mesaj bütünlüğü bilginin ağdaki yolculuğu sırasında değişikliğe uğramadığından emin olmak için gereklidir.
İnkar edememe bir mesajı gönderen kişinin o mesajı size gönderdiğini inkar edememesini sağlayan alındı onayları sağlar.

Amerikan Hükümeti kriptografiyi savunmanın ve bilgi korumanın önemli bir paçası olarak görmektedir. Bu yüzden kriptografi tekniklerinin ithal ve ihracatı için önemli şartlar koşmaktadır. stratejik malzemeler ile ilgili olarak Amerikan ihracat politikası; İhracat Yönetimi Kanunu, Silah ihracat kontrolü kanunu ve nükleer-silahsızlanma kanunlarında belirlenmiştir. Amerikan hükümeti kriptografiyi askeri mühimmat olarak görmektedir. Kriptografi Amerikan Askeri Malzeme Listesi (USML) ve Uluslarası Askeri malzeme Listesi (IML)`nde listelenmektedir. Ayrıca Ticaret Kontrol Listesi (CCL) ve Uluslararsı Endüstriyel Liste (IIL) de listelenmektedir.

Kriptografinin ihracını kontrol eden iki amerikan hükümeti kuruluşu vardır:

  • Ticaret Bakanlığı`na bağlı İhracat Yönetimi Bürosu (BXA). İhracat Yönetimi kanunlarına göre yetkilendirilmiştir.
  • Eyalet departmanında Savunma Ticareti Kontrol Ofisi (DTC). Uluslarası Silah trafigi Kanunları (ITAR) tarafından yetkilendilirmiştir.


BXA ithalat ve ihracat gereksinimlerine hafif kurallar koyar. Fakat DTC bütün kriptografik ihracatı BXA`dan önce inceler ve karar yetkisini BXA ya transfer etmeye karşı çıkma gücüne sahiptir.

ITAR kriptografik ihraçlarda bütün bilgileri inceler. Geçmişte, DTC çok güçlü kriptolama ürünleri için ihraç lisanları çıkarmazdı. İhraç lisansları kullanılan kriptolama ekipmanı, ürünün son kullanımı ve son kullanıcıya bağlı olarak lisanslanır.


Ulusal Güvenlik Kuruluşu (NSA) ekonomik, askeri ve dış işleri ile alakalı olarak ulusal güvenlik için kriptografinin çok önemli olduğunu düşünmektedir. Yerel alanlarda Amerikan firmaları arasında şifreleme kullanmayı destekler.

Kriptografi tekniklerini amerika dışına ihraç edebilmek için ürün onayı (CJ) almanız gerekmektedir. Bunu alabilmek için ürününüzü onay için NSA`ya bırakmalı ve Eyalet Departmanına isteğinizi bildirmelisiniz. Eğer Eyalet Bakanlığı isteği onaylarsa, bu sefer onay için Ticaret Bakanlığına geçer. Eyalet Bakanlığı NSA`in onayı olmadan bir CJ çıkartamaz.

Kriptolamanın bazı çok kullanılan tipleri özel donanım kullanır. Bununla beraber geçtiğimiz yıllarda yazılım kriptolama tekniklerinde bir artış görüldü. Ordu ve aşırı önemli ticari uygulamalar donanım tekniklerini tercih ederler.



Donanım tekniklerinin seçilmesi için 3 ana sebep vardır:

  • Hız
  • Güvenlik
  • Kurulum kolaylığı

Özel yapılandırılmış donanımlar her türlü yazılım tekniğinden daha hızlıdır. Bir bilgisayarda, yazılım kriptolama tekniğinin fiziksel güvenliği yoktur. Bu yüzden farkedilmeden algoritma ile oynamak mümkündür. Fakat donanım teknikleri bu probleme karşı daha iyi koruma sunarlar. Açılması zor olan kutular saldırganları uzak tutmada donanım kullanmanın bir yoludur. Ayrıca çipler algoritma anahtarını okuyacak saldırganlara karşı koruma sağlayacak şekilde dizayn edilebilirler.


3 basit tipte kriptolama donanımı mevcuttur:

  • Kendi başına çalışan kriptolama modülleri
  • Haberleşme bağlantıları için adanmış kriptolama kutuları
  • Kişisel bilgisayarlara takılan kartlar

Kendi başına çalışan kriptolama modülleri tipik olarak şifre onaylama ve anahtar yönetimi gibi alanlarda banka ve benzeri kuruluşlar tarafından kullanılır.


Adanmış kriptolama kutuları genelde noktadan noktaya iki site arasındaki bilgi transferini güvenli hale getirmek için kullanılırlar. Kişisel bilgisayarlarda kullanılan Kart kriptolayıcılar normalde harddisk`e gönderilen herşeyi şifrelerler. Ve floppy disket gibi diğer depolama ünitelerine gönderilen bilgileride kriptolamak için ayarlanabilirler.

Yazılım teknikleriyle genelde dosyaları kriptolar ve dekriptolarsınız. Bu teknikler kriptolama anahtarları ile çalışırlar. Bu yüzden disk gibi kolay bulunabilecekleri yerde değil güvenli yerlerde saklanmalıdırlar. Ayrıca kriptolama işlemi sonrası şifrelenmemiş yerleri ve kriptolama anahtarlarını kaldırmalısınız. Kriptolama/Dekriptolama anahtarları içeren cihazların fiziksel güvenliği çok önemlidir.

Simetrik kriptografi, şifrelemede ve şifreyi çözmede aynı kriptolama anahtarını kullanır. Simetrik kriptografi aynı zamanda Özel Anahtar Kriptografi olarakda bilinir.


Asimetrik kriptografi yada açık anahtar kriptografi sistemi ise kriptolama ve dekriptolama için bir çift anahtar kullanır. Bir anahtar (açık anahtar) mesajı kriptolamak için kullanılır ve diğer anahtar (özel anahtar) dekriptolamak için kullanılır.

 
Diyelim ki Ertan ve Elif simetrik kriptografi kullanarak güvenli haberleşecek olsun. Kriptolama ve dekriptolama için aynı anahtarı kullanarak Ertan ve Elif güvenli olarak haberleşebilir.

Simetrik kriptografi bilgiyi kriptolamak ve dekriptolamak için tek bir anahtar kullandığından Mesajı sadece kriptolamada kullanılan anahtarı kullanarak açabilirler.

Simetrik kriptografinin blok (block) ve akış (stream) şifreleme olarak bilinen iki tip kriptolama algoritması vardır. Bir blok şifreleme bilgiyi bloklar halinde işler.

Bir akış şifreleme bilgiyi bit`lere veya bazı durumlarda byte`lara göre işler.

Blok şifreleme şifrelenecek bir blok bilgiyi alır (genelde 64 bit), ve tek anahtarı ile seçilmiş fonksiyonu kullanarak onu aynı boyuttaki başka bir bloğa dönüştürür.

Akış şifreleme farklı uzunluklardaki girişlerle çalışabilir. Yani algoritma, işlenmeden önce belirli boyuttaki bir bilginin girilmesini beklemez.

Şifre tabanlı kriptolama (PBE) şifreden elde edilen bir simetrik anahtar yapısı oluşturur. Sonra anahtar bilgiyi kriptolamak için kullanılır. Fakat bir şifre kendi başına bir anahtar yaratacak kadar yada anahtar yaratmada kullanılacak bir 'random seed' yaratacak kadar bile yeterli bilgi içermez.
Anahtar yaratmak için şifre bir rastgele sayı (salt olarak bilinir) ile birleştirilir. Bu metoda göre sadece şifreyi bilmek kodun dekriptolanmasında yeterli değildir. Simetrik kriptografi bütünlük kontrol değeri kullanarak bilgi bütünlüğü temelini oluşturur.

 
Bilginin değiştirilmediğinden emin olmak için bütünlük kontrol değerini kullanabilirsiniz. Bu gönderen tarafından yaratılan ve orjinal düzyazı mesaja eklenen ekstra bir bilgidir. Alıcı mesajı aldığında bütünlük kontrol değeri yaratır. Ve iki değerin aynı olup olmadığını kontrol eder. Eğer mesaj herhangi bir şekilde değiştirilmişse farklı bir bir kontrol değeri ortaya çıkar. Yeni değer alıcıyı mesajın değiştirildiğine dair uyarır.

Bir mesajı kriptolamak için blok şifreleme kullanıldığında blok şifre üzerinde 'işlem modları' olarak bilinen teknikler kullanılır. Modların kullanılan şifre kadar güvenli olması önemlidir.
3 önemli mod mevcut:

* Elektronik Kod Kitabı (ECB-Electronic Code Book)
* Şifre-Bloğu Zincirleme (CBC-Cipher BLock Chaining)
* Şifre Geribesleme Modu (CFB-Cipher Feedback Mode)

Bunlar bilginin güvenli olduğundan emin olmak için farklı mekanizmalar sunarlar.

ECB kullanımında düzyazı kalıpları gizli değildir. Her benzer düzyazı bloğunun benzer şifreliyazı bloğu vardır. Düzyazı bloklarını kolaylıkla silebilir, tekrar edebilir veya yer değiştirebilirsiniz.

CBC kullanımında şifreliyazı bloğu, bir düzyazı bloğu ile şifrelenmemiş önceki düzyazı bloğuna XOR işlemi uygulanarak elde edilir. Bu bütün düzyazı kalıplarını gizler. Bir Başlangıç vektörü (IV) işlem için 'tohum' (seed) olarak kullanılır.

CFB kullanımında şifre nesnesi byte üreteci olarak çalışır. Bir byte şifreliyazı yaratmak için çıktının herbir byte`ı düzyazının bir byte`ı ile XOR`lanır. Bu işlem sırasında IV (başlangıç vektörü) giriş bloğuna kopyalanır. Sonra bu giriş bloğu üzerinde kriptolama uygulanır ve elde edilen sonuç, çıktı için ayrılan hafızaya aktarılır. Ve daha sonra düzyazının ilk byte`ı en soldaki byte ile XOR`lanır. Giriş bloğundak bütün byte`ları sola kaydırıp bir tanesini atarak, elde edilen byte, giriş bloğunun en sağındaki byte`a şifreliyazı çıktısı olarak gönderilir. Çıktının en soldaki byte`ı bir sonraki düzyazı byte`ı ile XOR`lanır. Bu işlem elde edilen byte çıktı için ayrılan hafızaya taşındığında devam eder ve en sağ bloktan başlayarak giriş bloğuna gönderilir. Ayrıca bir bilgi akışını kriptolamak için CFB de kullanabilirsiniz.

En çok kullanılan blok şifreleme Bilgi Kriptolama Standardı`dır (DES-Data Encryption Standard).

DES 64 bit blok boyutu olan bir blok şifrelemedir. 64 bitlik düzyazı bloklarını 56 bitlik anahtarlar kullanarak 64 bitlik şifreliyazı bloklarına çevirir.

Düzyazı bazı permutasyon ve yedeklemelerle işleme tabi tutulur.

Sonra, güvenli bir şifreliyazı bloğu yaratmak için çıktılar XOR kullanılarak orjinal düzyazı ile birleştirilir. Bu kriptolama serisi 16 kere tekrarlanır. Her seferinde farklı anahtar bit grupları kullanılır.
DES orta seviye kaynakları olan hacker`lara karşı sınırlı bir koruma sağlar.

56 bitlik kısa anahtar boyutuyla ve teknoloji ve işlem gücündeki ilerlemeler sonucunda DES artık güçlü işlemcilerin saldırısı karşısında yetersiz kalıyor ve 3 ila 7 saat arası gibi bir zaman süresinde kırılabiliyor.

DES`in zayıflıkları yüzünden daha güçlü ve etkili kriptolama metodları geliştiriliyor.

Triple-DES, DES`in daha çok güvenlik sağlayan bir çeşididir. Bu metod kriptolama anahtarındaki bitleri 3 katına çıkaran, DES`in 3 kez kullanımına dayalıdır. Triple-DES kullanımı DES kullanımına göre 2 kat daha fazla güvenlik sağladığına inanılmaktadır. Bu 112 bitlik koda sahip olunması demektir. Ayrıca kodlama süresinide doğru orantılı olarak arttırmaktadır.

Triple-DES tarafından kullanılan teknik EDE (encrypt-decrypt-encrypt) olarak bilinmektedir. Düzyazı Triple-DES anahtarının ilk 8 byte`ı ile kriptolanır. Sonra mesaj anahtarın ortadaki 8 byte`ı ile dekriptolanır. Ve son olarak anahtarın son 8 byte`ı ile kriptolanarak 8 byte`lık bir blok elde edilir. Eğer her anahtar aynı ise işlem DES kullanmakla aynıdır. Eğer her anahtar birbirinden farklı ise anahtarın ortasındaki 8 byte ile dekriptolama işlemi mesajı iyice karmaşık hale getirir.

DESX yine DES`e dayalı ve daha fazla özelliğe sahip diğer bir algoritmadır. Düzyazı girişini gizlemek için ekstra bir anahtar kullanır. 2 'whitening step' etrafında inşa edilmiştir. 'Whitening step' ler düzyazıyı maskelemek için ekstra bir anahtar kullanırlar. Bu adımlar ekstra güvenlik sağlar ve anahtar aramayı hemen hemen imkansız kılar.

Uluslararası Bilgi Kriptolama Algoritması (IDEA) 64-bit bloklar üzerinde 128-bit anahtar kullanan bir simetrik anahtar metodudur. IDEA patentli bir algoritmadır. RSA Laboratories tarafından geliştirilen RC5 algoritması değişken-uzunluklu anahtarlar ile çalışır. İhracat kısıtlamaları yüzünden farklı anahtar uzunluklarına ihtiyaç duyan uygulamalar için oldukça uygundur.

RC2, DES`e alternatif bir metod olarak geliştirildi. Giriş ve Çıkış blokları 8 byte uzunluğundadır. RC2`nin düzgün çalışması için, giriş düzyazısı 8 byte`ın bir kaç katı olmalıdır. RC2 için giriş anahtarı 1 ile 1024-bit arası bir uzunlukta olabilir. Giriş anahtarı algoritma tarafından kriptolama işlemlerinde kullanılacak bir anahtar yaratmak için kullanılır. Kriptolama anahtaru bir bit`den 1024-bit`e kadar değerler alabilir. RC2`nin amerika dışına ihracatı 40 ile 48-bit arası anahtar sınırlaması ile mümkündür.

Skipjack 64-bitlik blok, 80-bitlik anahtar ve 32 dahili tur kullanan diğer bir blok şifreleme metodudur.

DES`in aksine Skipjack gizlidir ve herkesin kullanımına açık değildir. Skipjack sadece 'Clipper' çipi yada Fortezza token gibi onaylanmış donanımlarla uygulanabilir. Fortezza token hükümet kullanımı için yaratılmış bir token`dır.

Bildiğiniz gibi bir akış şifreleme, bir kerede bir bilgi ünitesi olacak şekilde giriş bilgisini işler.

RC4, 1987`de RSA Laboratories tarafından geliştirilen bir simetrik akış şifreleme metodudur.

Pseudo-random numara sırasına dayalıdır. RC4`den elde edilen çıkış bilgi akışı ile XOR`lanır. Bu sebeple hiçbir RC4 anahtarı iki farklı bilgi akışını kriptolamak için kullanılmamalıdır.

RC4 1 ile 2048-bit arası uzunluklarda anahtarları destekler. Fakat Amerika dışına satılan yazılımlarda 40-bit sınırlaması uygulanır. 40-bit altındaki anahtarların RC4 ile kullanılması tavsiye edilmez. DES ile karşılaştırıldığında RC4 beş kat daha hızlıdır. Fakat geçmişte RC4 kırma girişimleri başarı ile sonuçlandı.

RC4`ü çalıştırmada kullanılan kod DES`inkinin onda biri kadardır. RC4 algoritması Çıkış Geribesleme Modunda (OFB) ve CFB`ye benzer bir şekilde çalışır.

Fakat CFB`den farklı olarak önceki çıkış bloğunun bitlerini giriş bloğunun sağına gönderir. OFB işlerin (düzyazı mesajı almamışken bile) çevrim-dışı yapılabilmesini sağlar. Düzyazıyı gerçekte aldığında algoritma çıktısıyla XOR`lanır. Ve bu işlem şifreliyazı bloğunu yaratır. OFB hem blok hemde akış şifrelemede kullanılabilir. Bir akış şifrelemede anahtar sonraki durum fonksiyonunu etkiler. Çıktıyı yaratan fonksiyon anahtara dayalı değildir.

3DES'te anahtar 2 cesit olmaktadir, 2 anahtarli ve
3 anahtarli... bahsettiginiz 3DES'in 2 kat guvenlik saglamasi durumu 2 anahtarli
oldugu zaman gecerlidir...AMA zaten 2 anahtar oldugu zaman uzunlugumuz 112 bit
olmaktadir, kaldi ki burada yanlis anlasilan nokta vardir... 112bit , 56bit'in 2
kati degil tam 2^56=72057594037927936 kati entropiye sahiptir... ayrica 3
anahtarli sistemde ise 3*56=168bit olmaktadir... burada da anahtar uzayi
2^168=374144419156711147060143317175368453031918731001856 lik bir entropiye
sahiptir... her bit anahtar uzayini 2 katina cikarmaktadir...

3DES'ten
gelen extra guvenlikteki butun mantik DES'in bir group olmamasina
dayanmaktadir... boylece 3 anahtarla ard arda yaptiginiz islemi kisa yoldan tek
bir anahtarla yapamiyorsunuz... (sayet group olsaydi her a1,a2,a3 elemani icin
a1*a2*a3 isleminin sonucunda buna esit sonuc veren bir a4 (a1*a4=a1*a2*a3)
bulunabilirdi... ya da her islemin yerini alan tek bir islem)

dikkatimi
ceken bir diger nokta tek bir noktadan degil de, cesitli kaynaklardan bilgi
aldiginizi tahmin ediyorum, o yuzden bir yanlis anlasilma olmus olabilir,
anlattiginiz kisimda anahtarin 56bit oldugunu yazmissiniz (dogru), ama resimde 8
byte olarak gozukmekte( o da dogru :) )... tahminimce bircok kaynaktaki parity
bitleriyle 8byte verilen anahtarin aslinda hala 56bit olmasi durumu oradaki...
anahtar hala 7byte. resme bakmayin siz, bazi kaynaklarda anahtari parity
bitleriyle beraber 64bit yazar...

bundan sonrasi sahsi yorumum:

ayrica 3-7 saatlik saldirilar konusunu sanki guclu bir ev bilgisayariyla
yapabilirmisis gibi anlasilmis... orada pek katilamayacagim size, cunku 2^56
hala 'ev hacker'lari icin saglam durmakta... ama dediginiz su yonden dogru:
crypt(3) fonksiyonunda anahtar uzayimiz acisindan dusunecek olursaniz burada 95
karakter kullaniliyor, ve 8 karakter uzunlugunda bir parolada bile bu da
95^8=6634204312890625 yani yaklasik 53 bit eder, ve dahasi bircok kimse (hatta
adminler) bile alphanumeric parolalar kullanmaz... sadece kucuk harf vs olur,
belkide bunun icin hizli sistem(ler)le 3-7 saatte a-z 26 harflik brute force
yapilabilir 8 karakter uzunlugundaki parolaya (o bile daha cok tutabilir).
26^8=208827064576 bu da 38bit yapar, ki benim P3 866 jack the ripper ile
80-100.000/sn deneme yapabiliyor, yani 24 saat kadar tutar... sayet a-z,A-Z, 0-9
luk bir brute force ile dusunseydik, 62^8=218340105584896 yaklasik 48 bit
eder... bu 48 bit bile nispeten cok fazla. 38 bitin 2^10=1024 kati. benimki gibi
10 bilgisayar olsa 102.4 gun surecek... crypt(3) deyince aklima geldi: bundan
ayri olarak DES tabanli crypt(3)'un MD5'li yeni versiyonlarina gore teoride
olmasa bile pratikte hala daha guvenli oldugunu dusunmekteyim... bir yazi
hazirlamayi dusunuyorum bu konuda,ama zamanim yok ... DES'e geri donecek
olursak: dikkatinizi cekerim 48bit 56bitin 2^8=256'da biri.... kisaca: yazi 1
sene kadar once yazilmis, ama hala gunumuzun makul ev sistemleri icin 2^56 buyuk
bir sayi.

Saygılar.


Düzenleyen megabros - 29-03-2011 Saat 10:46
WHİTE HAT
BEYAZ ŞAPKA (BİLGİ NEFERİ)
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu Gör



Bu Sayfa 0.195 Saniyede Yüklendi.