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.