Windows Server 2012 görsel eğitim seti

Windows Server 2012 görsel eğitim seti yararlı olması ümidiyle :)

İndirme Linki
Adsız - - - - Yorum yok 4 Tem 2014

Cisco Switchlerde IOS Yükleme İşlemi

Cisco Switch Cihaza IOS Yükleme İşlemi

Bildiğiniz gibi Cisco cihazları IOS (Internetwork Operation System) adlı işletim sistemi ile yönetiliyor.
Bu konumuzda cihazımıza IOS yüklemesi yaparken nasıl bir yol izleyeceğimizi açıklamaya çalışacağız. Öncelikle kısa bir şekilde cihazlarımızdaki genel açılış mantığını açıklamakta fayda olacağını düşünüyorum.

Cihazımız ilk açılış sırasında Fat32 dosya sistemi ile formatlanmış Flash (Windowsdaki sistem yüklü disk alanı gibi düşünebilirsiniz.) denen kısımdaki IOS’u bulur ve bunu Ram’e yükler işletim sistemi(IOS) ile birlikte Ram’e konfigürasyon dosyaları da yüklenerek sistem açılmaya başlar. Bu konfigürasyon dosyaları güç kesilse bile silinmeden muhafaza edildiği NVRAM denen kısımdan alınır.
Ayrıca bu kısımda Configuration Register denen cihazımızın nasıl başlaması gerektiğini belirttiğimiz register ayarları da saklanmaktadır.Tüm bu işlemler ve arada açıklamadığım bazı işlemler Bootstrap sayesinde sırası ile kontrol edilerek yapılır. Bu kadar bilgi fazlasıyla yeterli diye düşünüyorum şuan ki konumuz için…


Elimizdeki cihazın Flash üzerindeki IOS’unun silindiğini farz edelim. Bu durumda en kolay yöntemlerden biri cihaza Xmodem ile IOS yüklemesi yapmaktır. Bu yöntem için konumuzda SecureCRT adlı rogramdan istifade edeceğim.
Kullanacağımız cihaz ise Cisco 3500 XL ailesinin Cisco 3524 XL modeli. Switch ile bilgisayarımızın
bağlantısını aşağıda göründüğü gibi yapıyoruz. Benim bilgisayarımda seri port bulunmadığı için
Usb çevirici ile bağlantıyı yapıyorum.


Öncelikle bilgisayarımızda bağlantının kaç numaralı Com portunda olduğuna bakıyoruz. Aygıt Yöneticisini açarak “ Ports ( COM&LPT ) ” kısmına bakıyoruz.



Benim bilgisayarımda bağlantının COM3 portundan olduğunu görüyorum. SecureCRT programını çalıştırıyoruz. Daha sonra cihazıma bağlanmak için gerekli ayarları giriyorum. Default ayarlar aşağıdaki gibidir. Eğer sürekli kullandığınız bir cihazsa “Save Session” seçeneğini işaretleyerek oturumu
kaydedip bir sonraki oturumlarda ayarlar ile uğraşmadan direk oturum açabilirsiniz.


“ Connect ” diyerek oturumumuzu açıyoruz. Aşağıda gördüğünüz gibi sekmede Serial olarak Com3 portundan cihaza bağlandığımızı görüyoruz.
Senaryomuzu hatırlıyacak olursak cihazda IOS dosyası bulunmamaktadır.Cihazımız açıldığında aşağıdaki gibi “ Rom Monitor “ modunda açılacaktır.
Bunun sebesi açılış sürecini kontrol eden “ Bootstrap ” Flash üzerinde Ram’e yükleyecek IOS bulamadığı için bazı kısıtlı ayarların yapılabildiği “ Rom Monitor “ (Rommon Mode) modunda açar cihazı.
Aşağıda gördüğünüz şekildeki gibi…



Peki bu bölümde yapabileceğimiz kısıtlı ayarlar neler diye soracak olursanız komut satırımızda “ ? ” işareti koyup
Enter’a bastığımızda aşağıdaki gibi kullanabileceğimiz komutların bir listesini görebiliriz.


Şimdi Rom Monitor modun da işlemlerimize başlayabiliriz. İlk komutumuz ” flash_init “ Flash dosya
sistemini başlatır. Aşağıda bu komutumuzu girdikten sonra zaten başlatılmış olduğu bilgisini veriyor.
Bir sonraki komutumuz ise yüklemeyi başlatacak olan komutumuzdur.

Copy xmodem: flash: “IOS sürümü veya istediğiniz bir isim”  

Yukarıdaki komutta tırnak işareti içerisindeki kısma biz ne yazarsak cihaz flash’ında programla gösterdiğimiz IOS dosyasını bize belirttiğimiz isimle kaydedecektir. Burada çoğunlukla IOS sürümü ne ise onu yazarız ama ben farkı göstermek için kısaltarak switch serimizi yazdım.

Copy xmodem: flash:c3500xl komutunu yazarak Enter’a basıyoruz.


Cihaz Xmodem olarak transfere hazır sıradaki adımımız cihaza yükleyeceği IOS dosyasını göstermek. Bunuda aşağıda göründüğü
gibi SecureCRT programımızın menülerinden “ Transfer ” seçeneğinin altında “ Send Xmodem… ” seçeneğine tıklayarak yapıyoruz.



IOS dosyasının bulunduğu konuma gidip c3500xl-c3h2s-mz.120-5.WC17 isimli (.bin) uzantılı IOS dosyamızı
seçtikten sonra “ Send ” diyoruz.


Sonrasında aşağıdaki gibi transfer işlemimizin başladığını görüyoruz.


Bu kısımda ki transfer işlemi bittikten sonra switchimiz aşağıdaki gibi dosyanın başarılı bir şekilde kopyalandığı hakkında bilgi veriyor. Cihazın bu
yükleme işlemini 38 dk gibi bir sürede tamamladığını da görebiliyoruz.Bu süreyi kısaltma imkanımız var tabiki. Son kısımda bu yükleme
işlemini hızlandırmak için yapmamız gereken ayarları da göstereceğim.

Cihazımız şuan normal bir şekilde açılmaya hazırdır. “ boot ” komutu ile cihazımı tekrardan başlatıyoruz.


Bu açılışımızda ise IOS mevcut olduğunu gören bootstrap IOS’u Ram’e yükleyerek cihazı aşağıdaki gibi yapılandırılmaya hazır halde başlatacaktır.


Cihazımız artık yapılandırmaya hazır haldedir. Yukarıdaki Copy xmodem: flash:c3500xl komutumuz da dediğimiz gibi aradaki
farkı görmek için farklı bir isim verdik. (c3500xl) Bunu kontrol edecek olursak. Cihaz boot edildikten
sonra yukarıdaki resimdeki gibi bize sorduğu “ Konfigürasyon dialogları ile devam et ” sorusuna “ no ” diyoruz.

Daha sonra komut satırına “ enable “ yazarak Privilege moda geçiyoruz. Burada “ Show flash “ komutu ile
flash dosyasının içeriğini görüyoruz. “ c3500xl-c3h2s-mz.120-5.WC17 ” isimli IOS dosyamızın komutta dediğimiz gibi
flash üzerine “ c3500xl ” şeklinde kopyalandığını görüyoruz.



Aynı yöntemin kullanacağı bir başka durum ise cihazın privilege moduna geçerken koyduğumuz
şifreyi unutmamız halinde yapılabilir. Eğer cihaz içerisindeki konfigürasyon lazım ise Password recovery yapılabiliriz.


Ama burada dikkat etmemiz gereken husus cihazın içinde bir IOS var yukarıdaki gibi bootstrap
IOS bulamayınca Rommon moda geçmeyecek. Burada cihazın Rommon mod’a geçmesini biz sağlıyacağız nasıl mı?


Çoğu cisco cihazında IOS yüklenirken Ctrl + Break tuşlarına basarak Rommon moda geçilir.
Fakat elimizde Cisco 3500 XL serisi var bu ve bunun gibi bazı serilerde aşağıdaki resimde görüldüğü gibi “ Mode “ tuşu bulunmaktadır.


Cihaz açılmaya başlayınca tüm interface ledleri yanar. Bi süre sonra 1 numaralı interface led’i söndüğü zaman
cihaz üzerindeki “Mode” tuşuna 2-3 saniye basılı tutarak cihazın Rommon moda düşmesini sağlıyoruz.


Cihazdaki konfigürasyonun lazım olmadığını veya sıfırlamak istediğimizi varsayarsak switch’i sıfırlamak için cihaza
Rom Monitor modunda “ format flash: ” komutunu girdikten sonra; Bütün datamızın kaybolacağını emin olup olmadığımızı sorusuna
aşağıdaki gibi “ y ” deyip cihazımızı sıfırlıyoruz.



Bu işlemden sonra Flash’ımızı kontrol edecek olursak “ dir flash: ” komutu ile aşağıdaki gibi flash’ımızın
formatlandığını göreceğiz.


Switch üzerine IOS kopyalama süremiz 38 dk sürmüştü hatırlasanız bunu kısaltmak için ne yapmamız gerektiğini
açıklayacak olursak. SecureCRT ile cihazımıza bağlantı yaparken Baud Rate kısmına default değer olan 9600 girdik. Bu Baud Rate değeri cihazımızın bilgi akış hız birimini belirtir. Cihaz üzerinde default 9600 olduğu için
cihazda bu default değeri değiştirmeden programda yüksek bir değer belirtsek bağlantı gerçekleşmeyecektir. Bu kısma ne gibi değerler verebileceğimiz SecureCRT programında Baud Rate kısmına tıkladığımızda karşımıza çıkacaktır.
(Ben 115200 seçeneğini tercih edeceğim)


Cihazımızda bu ayarı Rom Monitor modundayken “ set BAUD 115200 ” komutunu yazarak yaparız. Bu komuttan sonra aynı ekranda
komut veremezsiniz çünkü 9600 baud rate ile bağlanmıştık cihaza. Bağlantı kopmuş olması ve yeni baud ayarımızla oturum açmamız gerekiyor. Yukarıdaki komuttan sonra hala komut
verebiliyorsanız komutu yanlış yazmış veya BAUD kısmını küçük yazmış olabilirsiniz. Yeni Baud rate değerimizi girip “ Connect ” diyerek tekrardan cihazımıza erişebiliriz.


Aradaki farkı görmemiz adına aşağıda cihazımızın Baud rate değeri 115200 olarak yaptığımız IOS yüklemesinin ekran görüntüsü bulunuyor. Yüklemenin 7 dk 52 sn sürdüğünü görebilirsiniz.
Bu özellik vakit bakımdan sıkıntılı durumlarda bize fazlasıyla yardımcı olacaktır.
www.cyber-warrior.org
Alıntı yaptığım site:
Adsız - - - Yorum yok 3 Tem 2014

Java ile Ağ Programlama | Giriş

Selamun aleyküm/ Aleykum selam

Networkçü olmam beni nedense bir anda Javaya çekti ve bu konuda da Java ile ağda çalışma medotlarını araştırıp öğrenmeye sürüklendiğimi hissettim. Bu açıdan sizlere bildiğim basit olan ağ programladan bahsedeceğim. Java ile ağ programlama çok basit olan bir işlemdir. Karışık ağ programlamalar java ile çok basit bir hale gelmiştir.

Bu yazı dizimde değineceğim konular ise;

Giriş   
    Temel Kavramlar
    Adres kıyaslama
URL sınıfı ile dosya erişim
    Proxy sunucusu üzerinden bağlantı.
URL Connection
    Proxy-Authentication
Get ve Post ile veri aktarımı
    Get sistemi
    post sistemi
    Arama motorları
Host ve IP adresi
Socket Programlama
    Socket hakkında bilgi
    Server bağlantısı
Datagram Socket
UDP Server

 Javada Ağ API'leri java.net javax.net pakatleri içerisinde bulunmaktadır. Ağ programlamaya geçmeden önce basit bilindir bir kaç kavramdan bahsetmek istiyorum. Aslında bildiğiniz şeyler olsada, ben yine de anlatmadan geçemeyecem :)

Host: ağ sistemlerinde belli bir adres olan makine

IP: Ağda hostu belirleyen 32 bitlik belirtici adrestir.

Paket: tek mesaj dizini olarak tanımlayabiliriz

Router:  farklı ağlar arasında paketleri yollayan bir host.

URI veya URL

URL: Webtek bir adres formatıdır. örneğin kurtulushalil.blogspot.com adresi web ordamında bir adresi göstermektedir. adres öncelikle protokol ile başlar bu protokol ya http veya https dir.
Her  URL nin bir protokolü olmak zorundadır ve bu URI nin özleştirişmiş halidir.

URL url = new URL("http://internetadresiniz.com/index.html");
URL'leri bu şekilde tanımlayabildiğimi gibi ayrı ayrıda tanımlaya bilmekteyiz.

Şimdi  gelin ufaktan kodlama yapalım ve kullandığımız kodları yavaş yavaş tanıyalım.

Her hatalı tanımlamada kurucu olan metodlar bir MalformedURLException hatası gösterir. Bunun 2 nedeni vardır.
1: Adres hatası
2: tanımlanmamış bir protokol kullanılıyor olması.

___________________________
try
 {
    URL url  = new URL (...)
}
catch ( MalformedURLException e )
{
}
____________________________

yukarıda ki hata kodumuz zatede yanlış bir url den kaynaklandığını unutmamak gerekiyor.
kök bilgi  hatası veya uzak bir aygıta erişemediği için verdiği bir hata değildir.

Gelin bir URL nesnesini oluşturduktan sonra bir kaç değişkenden bilgi alalım ve kullandığımız metodları ne işe yaradığını tek tek öğrenelim.

___________________________
import java.net.MalformedURLException;
import java.net.URL;

public class URLMetotları (
   
    public static void main (string[] args) {
        try {
        URL url = new URL {
        "http://internetadresi.com:2014"+
        "/java/halil/index.html?anahtar=kelime");
            System.out.println(url.getProtocol());
            System.out.println(url.getHost());
            System.out.println(url.getPort());
            System.out.println(url.getFile());
            System.out.println(url.getPath());
            System.out.println(url.getQuery());
            System.out.println(url.getRef());
        } catch (MalformedURLException e)

            e.printerStackTrace();
        }
    }
}
_____________________________________________
Gelelim bu kodların ne işe yaradığına

String getProtocol():     Protokolü iletir.
String getHost():     Host ismi iletir.
int getPort();         Port numarasını bize iletir eğer yoksa -1 diye gösterir.
String getPath();    URL path bilgilerinin kök bilgisi olmadan verir.
String getFile();        URL Path bilgisini kök bilgisiyle verir.
String getQuery();     Soru işaretinden sonra gelen bilgileri iletir.

Bu günlük bu kadar gece 04:42 olmuş artık uyuma vakti ALLAHın izni ile vakit bol yazacak çok şeyimiz var zaten :) diğer yazımda adres kıyaslama ve URL sınıfı ile dosya erişim kısmına değineceğim.

Ha diyeceksiniz hiç bir şey anlamadım anlamanız için Javayı bilmeniz gerekiyor yaptığım işlem basit bir olay önümüzdeki çalışmalarda aslında bu ufak tanımlamaların ne işe yaradığını daha iyi anlayacaksınız. ;)
Adsız Yorum yok 30 Haz 2014

Zararı yok dursun şuracıkta :( [ Overloading NAT (NAT/PAT) ]





en az 20 defa denedim olmadı bir yerde hata yapmıştım ama nerde bir sigara yakıp tekrar denedim oldu.

Demek ki neymiş sakin kafa ile çalışmak önemliymiş :D :D 






Bu basit ama dursun lazım olur...



Adsız Yorum yok 19 May 2014

Facebook Arkadaş Ekleme Butonunu Kaldırma


Herkes soruyor Facebook'ta arkadaş ekleme butonunu herkese kapalı hale getirebilir miyim? diye

Artık gına geldi bari milletle paylaşayım da onlarda kurtulsun bende kurtulayım. Gerçi soyadım kurtuluş ama olsun neyse saçmalamanın anlamını olmadığını düşünerek kısaca nasıl yapılacağını anlatayım.

1: 




Bana kimler arkadaşlık isteği gönderebilir kısmına gelip sağ tıklayıp Öğeyi denetle diyoruz.


2:



yukarıda ki kodu bulup sağ tıklayıp Edit as HTML i seçiyoruz.
Açılan bölümdeki kodları silip  BURADAKİ KODLARI olduğu gibi yapıştırın ve ardından denetlemeyi kapatın.
Ve tekrar Bana kimler arkadaşlık isteği gönderebilir bölümüne gelin sonuç








Kolay gelsin :)
Cyber-Warrior <3 br="" nbsp="">

GRUP YÜRÜYÜŞ-ŞUHEDA KLİP EL-CENNE

arada dinlemek lazım
Adsız Yorum yok 24 Nis 2014

Akıllı Evler ve Hacker Ütüler

Akıllı evler yakında “Bilgisayar ışığı yak!” diyerek evimizi sesli komutlarla yönetmemize izin verecek, hatta beyin-bilgisayar arayüzleri ile evimizi düşünce gücüyle yönetebileceğiz.


Akıllı telefonlar ve akıllı saatler derken, eskiden donatılması en az 20 bin Euro tutan ve sadece lüks kesime hitap eden akıllı evler de hayatımızın bir parçası olmaya başladı. Çamaşır makinesini elektriğin ucuz olduğu saatlerde çalıştıran, güvenlik alarmını otomatik olarak kuran, saati ayarlayan, ocakta çaydanlık unutup unutmadığımızı kontrol eden akıllı evleri pratikte bilgisayarlarla yönetilen konutlar olarak tanımlayabiliriz.
İçinde bulunduğumuz eşyaların interneti çağında, buzdolapları ile Smart TV’ler internete girebiliyor ve akıllı evler de yerel ağ üzerinden bütün bu cihazları birbirine bağlıyor. Böylece iPhone veya Android telefonunuzu uzaktan kumanda olarak kullanarak evinizi yönetebiliyorsunuz. Akıllı evlersu ve elektrik sayaçlarına entegre olduğu için enerji ve su tüketimini azaltmaya yardımcı oluyor. Örneğin termosifonu açıyor, odalarda açık unutulan lambaları kapatıyor, hatta TV ve müzik sisteminin sesini ayarlıyor.
Akıllı evler yakında Uzay Yolu dizisinde olduğu gibi “Bilgisayar ışığı yak!” diyerek evimizi sesli komutlarla yönetmemize izin verecek. Bugün engelliler için kablosuz telepatiyle kullanılan tekerlekli sandalyeler var. Yarın bu teknoloji akıllı evlerin hizmetine girecek ve beyin-bilgisayar arayüzleri ile evimizi düşünce gücüyle yönetebileceğiz.

Berg Insight’a göre, akıllı evlerin otomasyonunda kullanılan teknolojilerin pazar değeri 2015’te 9,5 milyar dolara ulaşacak. 2017 yılında ise sıradan mobilyalara bile yara bandı gibi yapıştırılabilen sticker elektronik teknolojisi ile (mini elektronik devreli yapışkan bantlar) eşyaların interneti patlama yapacak ve bu sayede akıllı ev pazarının büyüklüğü 44 milyar dolara erişecek.

Eşyaların internetinin iki riski var: Birincisi giysileri ütülediğimiz sıradan ütübile bilgisayarlarımıza virüs bulaştırabilecek ki Rusya 24 kanalının haberine Çinliler Rusya’ya Wi-Fi bağlantılı hacker ütüler ihraç etmiş bile. İkincisi akıllı evdeki güvenlik kameraları şirketler ve devletlerin bizi evimizde de gözetleme şansını artıracak. En iyisi bir bilene danışmak! kaynak
Adsız Yorum yok 27 Mar 2014

Büyük Veri'yle İlgili Doğru Bilinen Yanlışlar



Büyük Veri'yle İlgili Doğru Bilinen Yanlışlar
Büyük veri ve büyük verinin analiz edilerek işletmeler tarafından kullanılması, iş dünyasının dijital yapılanmasıyla birlikte gün geçtikçe gelişim gösteriyor.

Bu her ne kadar önemli bir konu da olsa, Büyük Veri’nin daha fazla dikkat çeken yönleri genellikle diğer iki V oluyor: Variety (Çeşitlilik) ve Velocity (Hız). Hız, duraksız iletilen veriyi ve çok hızlı veriyi ifade ediyor. Düşük gecikme süreleri olan veriler bir veri havuzunda toplanıyor ve bu dainsanların daha hızlı (hatta otomatik) karar almalarına olanak sağlıyor.”

Bu her ne kadar önemli bir konu da olsa, Büyük Veri’nin daha fazla dikkat çeken yönleri genellikle diğer iki V oluyor: Variety (Çeşitlilik) ve Velocity (Hız). Hız, duraksız iletilen veriyi ve çok hızlı veriyi ifade ediyor. Düşük gecikme süreleri olan veriler bir veri havuzunda toplanıyor ve bu dainsanların daha hızlı (hatta otomatik) karar almalarına olanak sağlıyor.”

EMC’nin Global Eğitim Hizmetleri bölümünün Teknik Danışmanı David Dietrich, büyük veri konusunda karşılaştığı "doğru bilinen yanlışları" yorumladı.
Büyük veriyle ilgili en önemli şey boyutudur

David Dietrich, Büyük Veri’nin boyutunu şöyle anlatıyor: “Büyük Veri daha çok verinin boyutu ile ilgilidir çünkü Büyük Veri adı üstünde büyüktür, öyle değil mi? Harvard Üniversitesi Kantitatif Sosyal Bilimler Enstitüsü’ndenGary King’e göre pek de öyle değil… Geçmişe göre daha fazla miktarda veriyle çalışıldığı bir gerçek, ancak insanlar ağırlıklı olarak gigabaytlara, terabaytlara, petabaytlara odaklanırsa, Büyük Veri’ye de veri depolamave teknoloji ile ilgili bir sorun olarak bakıyorlar demektir. 
Birçok insan verileri rakamlardan oluşan sütun ya da satır olarak düşünür, örneğin bir Excel tablosu, RDBMS ve terabaytlarca yapılandırılmış veri saklayan veri depoları gibi… Bu doğru olsa da, Büyük Veri ağırlıklı olarakyarı-yapısal ya da yapılandırılmamış verilerle ilgilidir. Büyük Veri insanların veriler hakkında düşünürken aklına gelmeyen, RFID yongaları, akıllı cep telefonlarındaki jeo-uzamsal sensörler, resimler, video dosyaları, ses tanıma verileri ve bu verilerle ilgili meta veriler gibi diğer unsurların tümünü içerir.

Şirketimin mevcut yapısıyla Büyük Veri’yi analiz edebilirim
İşletmelerin, büyük veriyi işlerken farklı tür veri girdilerini (görsel, tıklama dizisi, video, ses ses izleri, XML, ...) anlayabilen, depolayabilen, analiz edebilen ve bu verileri paralel bir şekilde işleyebilen yeni araçlara ihtiyacıvardır. Bu nedenle sektörde, bu ayrı veri kaynaklarını yönetebilen ve onlarla paralel bir şekilde ilgilenebilen yeni teknolojilere ihtiyaç duyuluyor.

Kusurlu veri kalitesi Büyük Veri’nin değersiz olduğu anlamına gelmeli
Büyük Veri kuşkusuz dağınık olabilir ve veri kalitesi de her tür analiz için önemlidir. Ancak, unutulmaması gereken önemli şey verinin doğası gereği “gürültülü” olduğudur. Yani, dikkati dağıtacak birçok şey, farklı birçok anormallik ve tutarsızlık olacaktır. Önemli olan budanabilen ve değerli analizler için kullanılabilen verinin miktarına ve çeşitliliğine odaklanmaktır. Bazı durumlarda, işletmeler büyük veri kaynaklarını ayrıştırmak vetemizlemek isteyecektir, bazılarında ise bu daha az önemli olacaktır.

Dietrich, bu noktada “Google Trends” örneğinden yola çıkıyor ve şöyle açıklıyor: "Google Trends, Google’da en çok arama yaptıkları başlıkları gösterir. Örneğin insanların 2013 senesi boyunca Google’da en çok arama yaptığı başlıkları bulmak istediğimizi düşünelim... Yapılan aramaları taramak ve sıralamak olağanüstü büyük bir depolama kapasitesi, işlemcigücü ve güçlü analitik teknikler gerektirir. Bu GİGO’ya daha az odaklanılan Büyük Veri kullanımına bir örnektir." kaynak

Adsız Yorum yok

RSA Algoritması

     Şifreleme işlemi antik çağlardan günümüze kadar insanoğlunun üzerinde düşündüğü ve çalışmalar yaptığı konulardan birisi olmuştur. Şifreleme işlemini belli bir tekniğe dayandırarak gerçekleme ise Sezar’ın basit yer değiştirme tekniği ile başlamıştır diyebiliriz. Zamanla kullanılan şifreleme tekniklerin deşifre edilmesi farklı teknik ve şifreleme yöntemleri bulmak adına yapılan çalışmaları arttırmıştır. Teknolojinin hızla gelişmesiyle beraber ayrı bir araştırma ve bilim dalı olarak kriptoloji(şifre bilimi) ortaya çıkmıştır.

    Günümüz teknolojisinin baş döndürücü hızla gelişimine paralel olarak bilgisayar, akıllı telefon, vb. elektronik cihazlar hayatımızda daha fazla yer almaya ve daha fazla kullanılmaya başlamıştır. Bu cihazlar aracılığıyla banka işlemleri, alış-veriş(e-ticaret) ve haberleşme gibi bir çok işlemin kolaylıkla gerçekleştirilebiliyor olması insanları cezbettiği için her geçen bu tür cihazları kullanan insan sayısının artmaktadır. Güvensiz bir ortam olan internet üzerinden bu kadar çok işlemin güvenli bir şekilde gerçekleştirilmesinin sağlanması ise gelişen teknolojinin en büyük dezavantajlarından birisidir.
İnternet, sağladığı sınırsız imkanlar ve sunduğu onca kolaylıklara karşın son derece güvensiz bir ortamdır. Onun için bu ortamda bankacılık işlemleri, askeri sistemler, özel görüşmeler gibi işlemleri gerçekleştirirken iki nokta arasında veya sistemler arası haberleşmede gizlilik, bütünlük ve kullanılabilirlik ilkelerine göre bilginin güvenliği sağlanmalıdır. Bu kapsamda ilk olarak güvenli iletim ortamının sağlanması adına bir çok çözüm üretilebilir fakat %100 güvenli hiç bir sistem yoktur sözü göz önünde bulundurulacak olursa iletilecek olan bilgi üzerinde de ayrıca bir güvenlik tedbiri uygulanmalıdır diyebiliriz. Bu tedbirlerden en önemlisi olarak sayılabilecek olan giden ve gelen verinin şifrelenerek anlaşılmaz hale getirilmesi ve bu şekilde iletilmesidir. Yıllardır bu alanda yapılan çalışmalar neticesinde bir çok şifreleme tekniği bulunmuş ve kullanılmıştır. Fakat bunlardan bazısı zayıflık barındırdığı, bazısı gelişen teknoloji karşısında gücünü kaybettiği, bazısının da yeni donanımlarla uyumlu çalışamaması neticesinde rafa kaldırıldığını söyleyebiliriz. Bu zorlu süreçlerden güvenilirliğini ispatlayarak ve koruyarak günümüze kadar gelebilen bir kaç tane şifreleme algoritması vardır. Bunlardan birisi de en yaygın kullanılan asimetrik şifreleme algoritmalarından birisi olan RSA şifreleme algoritmasıdır.

       Bu makale kapsamında günümüzde en çok kullanılan açık anahtarlı(asimetrik) şifreleme algoritmalarından olan RSA şifreleme algoritması incelenecektir. RSA şifreleme algoritmasının ortaya çıkış tarihinden başlanarak, anahtarların üretimi, şifreleme ve şifre çözme işlemlerinin nasıl gerçekleştirildiği, algoritmanın doğruluğunun ispatı ve algoritmanın gücünden bahsedilerek algoritmaya karşı yapılan saldırıların neler olduğunu ve nasıl yapıldığı incelenecektir.


2. RSA ALGORİTMASI


RSA şifreleme algoritması, digital ortamda verinin güvenli aktarımının sağlanması fikri temel alınarak yapılan araştırmalar neticesinde bulunan çok büyük tam sayıları çarpanlara ayırmanın algoritmik zorluğu göz önüne alınarak geliştirilen açık anahtarlı bir şifreleme tekniğidir. Günümüzde en çok kullanılan hem şifreleme hem de sayısal imza atma olanağı tanıyan bir yöntemdir. 1974 yılında Diffie ve Hellman tarafından bulunan Açık Anahtarlı(Asimetrik) şifreleme yönetimini kullanan Ronald Rivest, Adi Shamir ve Leonard Adleman, kendi isimlerinin ilk harflerini verdikleri RSA algoritmasını bulmuşlardır. Algoritmayı ilk defa inceleyen birisine göre son derece basit matematiksel işlemlere dayanan bir yöntem izlenimi veren algoritmada  bu matematiksel işlemler neticesinde iki farklı anahtar üretilmektedir. Anahtarlardan birisi herkesin erişebileceği açık anahtar, diğeri ise gizli anahtardır. Herkes kendisine şifreli bir mesaj göndermek isteyen birisinin gönderilecek mesajı sadece kendisinin açabileceği şekilde şifreleyebilmesi için açık anahtarını yayınlar ve bu açık anahtarı kullanılarak mesaj şifrelenir ve gönderir. Gönderilen şifreli mesajı ise sadece şifrelendiği açık anahtarın eşi olan gizli anahtara sahip olan kişi görüntüleyebilir.

3. TARİHİ 


Teknik temelleri bir ingiliz matematikçi ve kriptolog olan Clifford Christopher Cocks tarafından Hükümet İletişim Karargahında(GCHQ) yaptığı çalışmalar neticesinde 1973 yılında açıklanmıştır. Fakat gerek açıklamış olduğu sistemin o zamanın teknolojisi ile gerçekleştirilmesinin mali yönden sıkıntılı olması gerekse çalışmakta olduğu kurumun gizlilik politikaları nedeniyle Cocks’un yaptığı çalışmalara dair dışarıya herhangi bir açıklama yapılmamıştır. Ancak 1998 yılında Cocks’un çalışmalarına ait dökümanlar yayınlanınca Cocks’un da eşdeğer bir sistem tasarlamış olduğu ortaya çıkmıştır. Bu zamana kadar Cocks’un yapmış olduğu çalışmalar hakkında herhangi bir bilgi paylaşılmamış olduğundan RSA yöntemini Cocks’un çalışmasından bağımsız olarak tasarlamış ve 14 Aralık 1977 yılında algoritmayı bulan Ron Rivest, Adi Shamir ve Leonard Adleman tarafından isimlerinin ilk harfleri ile isimlendirilerek duyurulmuştur. Daha sonra ise geliştirilen bu algoritma için 20 Eylül 1983 yılında MIT’den patent de alınmıştır.

4. İŞLEMLER 


Açık anahtarlı şifreleme tekniği olan RSA algoritması ile anahtar üretimi, şifreleme ve şifre çözme işlemlerinin nasıl gerçeklendiğini anlatmadan önce açık anahtarlı şifreleme tekniğini hatırlamakta fayda olduğunu düşünmekteyim. Açık anahtarlı şifreleme, şifre ve şifre çözme işlemleri için farklı anahtarların kullanıldığı bir şifreleme tekniğidir. Açık anahtarlı şifreleme tekniğini temel alarak yapılan şifreli haberleşme işlemlerinde haberleşen tarafların sahip olduğu bir çift anahtar vardır. Bu anahtarlardan biri herkesin bildiği, öğrenebildiği ve kullanabildiği açık anahtardır; diğeri ise kullanıcıya ait sadece kullanıcının bildiği ve bilmesi gerektiği gizli anahtardır. Bu anahtarlardan açık anahtar sadece kendisi ile çift oluşturacak olan gizli anahtarın sahibi tarafından oluşturulabilir ve herkesin erişimine açılır. Şifreleme işlemleri bu açık anahtar ile yapılır ve kullanılan bu açık anahtarın çifti olan gizli anahtar dışında şifreli metni hiçbir anahtar açamaz. Basit bir şekilde açık anahtarlı şifreleme ile haberleşme aşağıda bulunan resimdeki gibi gösterilebilir.
acik_anahtarlama.png 
Şekil 1 - Açık anahtarlı şifreleme ile haberleşme
Açık anahtarlı şifreleme mantığınının anlaşıldığı kabul edilirse, açık anahtarlı şifreleme yöntemi olan RSA için anahtarlar üretimi, şifreleme ve şifre çözme işlemlerinin nasıl yapıldığını inceleyebiliriz.

4.1 Anahtar Üretimi


RSA’nın çok büyük tam sayıları çarpanlara ayırmanın algoritmik zorluğu göz önüne alınarak geliştirilen açık anahtarlı bir şifreleme tekniği olduğunu söylemiştik. Burada bahsi geçen çok büyük tam sayıyı oluşturma işlemi için çok büyük ve birbirinden farklı olan iki asal sayı kullanılarak daha güvenli bir yapı oluşturulmuştur. RSA şifreleme algoritması için anahtar oluşturma işlemlerini sıra sıra ele alarak görelim.
1-) Bundan sonra N ile ifade edeceğimiz çok büyük tamsayıyı oluşturacak olan iki faklı ve büyük asal sayı belirlenir. Bu sayılar p ve q olarak isimlendirilir.
2-) İki asal sayının çarpımını asal çarpanlarına ayırmak asal olmayan sayıları asal çarpanlarına ayırmaktan daha zor olduğu için N tam sayısını oluştururken bu iki asal sayının çarpımından elde ettiğimiz değeri kullanıyoruz.
N = p.q
3-) N sayısının totient değeri hesaplanır. Totient, sayılar teorisinde bir tam sayının o sayıdan daha küçük ve o sayı ile aralarında asal olan sayı adedini belirten fonksiyondur. Genellikle Euler Totient ya da Euler'in Totienti olarak adlandırılan Totient, İsveçli matematikçi Leonhard Euler tarafından tanımlanmıştır. Totient fonksiyonu, Yunan harflerinden phi(φ) ile simgelendiği için Phi fonksiyonu olarak da anılabilir.[1]
φ(N) = (p-1)(q-1)
4-) 1 < e < φ(N)   ve   EBOB(e, φ(N)) = 1
Yukarıdaki matematiksel ifadeden de anlaşıldığı üzere 1 ile Totient değeri arasında olan ve Totient değeri ile aralarında asal olan bir tam sayı seçilir ve e olarak isimlendirilir. Burada seçilecek olan e sayısının küçük seçilmesi(ör: 3 gibi) mod ve üs alma gibi işlemleri yaparken performanstan kazandırıyor olsa da bazı durumlarda güvenliği azaltmaktadır.
5-) d.e ≡ 1  (mod φ(N))
Denkliğini sağlayan ve gizli anahtarı oluşturmada kullanılacak olan d sayısı bulunur. Burada yapılacak olan işlem e sayısının mod φ(N)’de tersinin bulunmasıdır. Bu değeri bulurken Genişletilmiş Öklid Algoritması kullanılabilir. Yapacağımız örnekte bu algoritmanın nasıl uygulanacağını göstereceğim için burada detaya girmiyorum.
Açık ve gizli anahtar oluşturmak için gerekli olan tüm değişkenleri/değerleri oluşturduk. Gizli anahtarı oluşturan d sayısının hesaplanmasında kullanılan (p,q, φ(N)) sayılarının gizli kalması şartı ile (N,e) çifti açık anahtarı; (N,d) çifti ise gizli anahtarı oluşturmaktadır.

4.2 Şifreleme İşlemi 


RSA kullanılarak gerçekleştirilecek olan şifreli haberleşmede gönderilecek olan metin, alıcı kişinin herkese açık olan (N,e) değerleri yani açık anahtarı ile şifrelenmelidir ki bu mesajı istenilen alıcı dışında kimse görüntüleyemesin. Bunun için açık anahtar olan e kullanılır ve şifrelenecek bilginin sayısal karşılığının e’inci kuvvetinin mod N’deki karşılığı da şifrelenmiş metni oluşturur.
c = me  (mod N)

4.3 Şifre Çözme İşlemi


Açık anahtarlı şifreleme tekniğinin yapısı gereği açık anahtar ile şifrelenmiş bir metin ancak o açık anahtarın çifti olan gizli anahtar ile açılabilir. Bu yüzden (N,e) açık anahtarı kullanarak şifrelediğimiz yukarıdaki m mesajını sadece bu açık anahtarın çifti olan (N,d) gizli anahtarı kullanarak açabiliriz. Bunun için de şifrelenmiş metnin yani c’nin sayısal karşılığının d’inci kuvveti alınır ve bunun mod N’deki karşılığı bulunarak şifre çözme işlemi gerçekleştirilir ve açık metin elde edilir.
m = cd (mod N)

4.4  Örnek


Yukarıda anlatılan anahtar üretimi, şifreleme, şifre çözme ve öklid algoritmasının uygulanması işlemlerini bir örnek yaparak görelim.
- İlk adım olarak N tamsayısını oluşturacağımız p ve q sayılarını seçelim. Gerçekte çok büyük iki farklı asal sayı olması gerekiyor fakat burda örnek yaptığımız için küçük sayılar kullanıyoruz.
p = 7 ve q = 19
- İkinci adım olarak bu sayıların çarpımını bularak N tam sayısının değerini buluyoruz.
N = p.q  => N = 7.19  => N = 133
- Bu N sayısının Totient değerini hesaplıyoruz.
φ(N) = (p-1).(q-1)  => φ(N) = 6.18 = 108
- Son olarak bu Totient değeri ile aralarında asal olan e sayısı seçerek e’nin tersine eşit olan d sayısını buluyoruz.
1 < e < 108   ve   EBOB(e, 108) = 1
Denklemlerini sağlayan e sayısını 5 olarak seçelim. Öyleyse 5’in mod 108’e göre tersini bulursak, d sayısını da bulmuş olucaz.
d.5 ≡ 1  (mod 108)
denkliğini sağlayan d sayısını genişletilmiş öklid algoritması kullanarak bulabileceğimizi söylemiştik. Şimdi bunu nasıl yapacağımıza bakalım; önce Öklid algortimasını uygulayarak bu iki sayının en büyük ortak bölenini buluruz(Biz zaten bu sayıları aralarında asal olacak şekilde seçtiğimiz için bir yanlışlık yapmaz isek sonucun 1  olması gerekiyor):
108 = 21.5 + 3
    5 = 1.3 + 2
    3 = 1.2 + 1
    2 = 2.1 + 0
Sıfırdan bir önceki değer bize bu iki saynın EBOB’unu vermektedir. Öyleyse:
EBOB(108,5) = 1
Yani beklendiği üzere bu iki sayı aralarında asaldır. Şimdi bir adım daha ileri giderek Genişletilmiş Öklid Algoritmasını uygulayalım ve d sayısını bulalım. Bunun için de EBOB’tan yola çıkarak geriye doğru giden matematiksel/mantıksal işlemler yapmamız gerekiyor.
1 = 3 – 1.2
       = 3 – 1.(5 – 1.3)
       = 3 – 5 + 3
       = 2.3 -5
       = 2.(108 – 21.5) – 5
       = 2.108 - 42.5 – 5
       = 2.108 - 43.5
Hangi sayının tersi aranıyorsa onun yanındaki çarpan kendisinin tersi olmaktadır. Biz 5 sayısının mod 108’de tersini arıyorduk, o zaman 5 sayısının yanındaki çarpan aradığımız değerdir. Bu sayı görüldüğü üzere (-43)’tür veya başka bir deyişle 108+(-43) = 65’tir. Sonuç olarak gizli anahtar için aradığımız d sayısını 65 olarak bulmuş olduk. Tüm değerleri bulduğumuza göre artık açık ve gizli anahtarlarımızı oluşturarak şifreleme ve şifre çözme işlemlerine geçebiliriz.
Şifrelemede kullanılacak açık anahtarımız :  (N,e) = (133,5)
Şifre çözmede kullanılacak gizli anahtarımız : (N,d) = (133,65)
Anahtarlarımız ile şifreleme ve şifre çözme işlemini gerçekleyerek şifrelenen metin ile şifre çözme sonucunda elde edilen metnin aynı olup olmadığını test edelim. Bu örnek için m=15 sayısını açık anahtarımız ile şifreleyip gizli anahtarmız ile açalım ve çıkan sonuçları karşılaştıralım.
c = me = 155 = 78 (mod 133)
m = cd  => m = 7865 (mod 133)  => m =  15
Not: Bu işlemlerin doğruluğunu Wolfram Alpha kullanarak test edebilirsiniz. 

5. YAPILAN ATAKLAR


RSA algoritması duyurulalı otuz beş yıldan fazla oldu. Bu uzun süre zarfında RSA’in popularitesi ve buna bağlı olarak kullanım alanı ve oranı arttı. Çok kullanılan bir şifreleme tekniği olduğu için de haliyle bügüne kadar bir çok saldırıya maruz kalmıştır. Yapılan bu saldırılar yan kanal ve kriptanaliz saldırıları olmak üzere iki ana başlık altında toplanabilir. Burada kriptanaliz, şifreyi algoritmanın zayıflığından yararlanarak çözmeye çalışırken yan kanal saldırıları, algoritmanın çalıştığı fiziksel ve elektriksel ortamın sağladığı bilgilerden yararlanarak çözmeye çalışır.
yan_kanal_bilgileri.png 
Şekil 2 - Yan Kanal Saldırılarında kullanılabilecek bilgiler 
RSA’e yapılan yan kanal analizi saldırılarında başarılı sonuçlar elde edilmiş olmasına karşın kriptanaliz yöntemleri ile pratikte RSA’ın kırılması hala daha gerçekleşmemiştir. Anahtar üretiminde kullanılan sayının büyüklüğüne göre RSA’ın güvenlik seviyeside artmaktadır. Yani yeni saldırı metotları veya daha güçlü makineler kullanılarak yapılacak olan saldırıları bertaraf etmek için daha büyük asal sayılar kullanılabilir. Bügüne kadar yapılan her bir saldırı ağır matematik işlemleri içeren ayrı bir makale olabilecek seviyededir. Onun için yapılan saldırıları ele alıp inceleme gibi bir seçeneğimiz bu makale kapsamında bulunmamaktadır. Bu bölümde daha çok yapılan saldırı çeşitleri ele alınarak tanıtılacak ve bu saldırıları kimlerin bulduğuna değinilecektir. Bahsi geçen saldırı çeşitleri hakkında yapılan çalışmalar üzerine detaylı bilgi edinmek isteyenler için ise referans olarak makalelerin kaynakları verilecektir.



Zamanlama Saldırıları

Temel felsefe, algoritmanın ya da algoritmanın adımlarının birinde yürütülen işlemin ne kadar sürede çalıştığını tespit edip buna göre çıkarımlar yapmaktır.
timing_attack.png 
Şekil 3 - Zamanlama saldırısı gerçeklenmesi 
Bu alanda yapılan ilk çalışma amerikalı bir kriptocu olan Paul Carl Kocher tarafından 1995 yılında gerçekleştirilmiş.[2] Bu çalışmadan beş yıl sonra bu sefer başka bir kriptocu olan Werner Schindler 2000 yılında çinli kalan teoremi ile RSA’ya karşı bir zamanlama saldırısı yapılabileceğini göstermiştir.[3] Daha sonra ise 2003 yılında Brumley ve Boneh yaptıkları çalışma ile bir ağ üzerinden elde edilen veriler kullanılarak RSA’yı çarpanlarına ayırmanın daha kolay ve pratik bir yolunu bulduklarını açıkladır.[4]

Güç Analizi Saldırıları

Bilindiği gibi en küçük donanım parçası transistörlerdir. Bir transistörün girişine uygulanan gerilim ile üzerinden akım geçmeye başlar. Bu akımdan dolayı transistörde güç tüketimi ve elektromanyetik alan oluşur. Güç analizi saldırılarında da işte bu akım farklarından yararlanarak bilgi toplanmaya çalışılır. Bu saldırı çeşidinin iki farklı türü vardır; sadece işlemcinin harcadığı enerjinin analiz edildiği Basit Güç Analizi(Simple Power Analysis) ile buna ek olarak istatistiki analizlerden ve hata düzeltme algoritmalarından yararlanılarak yapılan Farksal Güç Analizi(Differential Power Analysis) saldırılarıdır. RSA’e yapılan güç analizi saldırıları için öncelikli olarak ünlü kriptocu Kocher’in diferansiyel güç analizi üzerine yapmış olduğu çalışmalar[5][6] incelenmelidir. Bu çalışmaların yanında bir türk güvenlik uzmanı olan Onur Acıiçmez’in bu konu üzerine yaptığı ve başarılı sonuçlar elde ettiği çalışmasına[7] göz atılabilir.

Hata Analizi Saldırıları

Algoritma işletilirken çevresel bazı parametrelerin(sıcaklık, sistem saati, ışık, radyasyon, voltaj vb.) değiştirilmesi sağlanarak sistemde hatalı çalışmaya sebebiyet verilir. Hataya zorlanan sistemden elde edilen yanlış çıktılar ile beklenen doğru çıktıların karşılaştırılması ile elde edilen bilgiler yorumlanarak kriptografik anahtar ve algoritmanın koruduğu varlıklar hakkında bilgi toplanmaya çalışılır. Hata analizi ile RSA’e yapılan ilk saldırı 2010 yılında uygulanmıştır.[8] Bunun dışında incelenmesi gereken diğer bir çalışma ise Bellcore saldırısıdır.[9]

Akustik Kriptanaliz

Şifreleme ve şifre çözme işlemleri sırasında işlemci üzerinde yapılan matematiksel işlemler artmaktadır. Bundan dolayı da işlemciden insan kulağının duyabildiği ve duyamadığı bazı sesler çıkmaktadır. İşte bu seslerin geliştirilen cihazlar aracılığı ile dinlenmesi ve analiz edilip yorumlanarak bilgi toplanması işlemidir. RSA’in mimarlarından olan Shamir 2004 yılında sadece işlemciden çıkan ses ile zamanlama saldırısı yapılabileceğini ispatlayarak bu saldırı tekniği için kapıyı aralamış oldu. Daha sonra içerisinde yine Shamir’inde bulunduğu bir ekip bu araştırmalarını geliştirerek 2013 yılının sonlarında başarılı sonuçlar veren yeni bir saldırı tekniğini duyurmuşlardır.[10]

Elektromanyetik Alan Saldırıları

İşlemcilerin temelini oluşturan donanımın en küçük parçası olan transistörler durum geçişlerinde  yüksek akım çekerler. Bu akım değişimi ile bir elektromanyatik alan oluşur. İşte bu yan kanal bilgisi analiz edilerek işlenen veri hakkında bilgi toplama üzerine inşa edilmiş bir saldırıdır. Bu alanda yapılan saldırı ve nasıl yapıldığı, intel atom işlemcileri üzerine yapılmış olan çalışma üzerinde incelenebilir.[11]

Çarpanlara ayırma saldırısı

Klasik şifre çözme yöntemi olan kaba kuvvet saldırısının RSA veriyonudur diyebiliriz. Anahtar üretimnde kullanılan N tam sayısını çarpanlarına ayırıp p ve q asal sayılarını bulmak amaçlı yapılan saldırıları kapsamaktadır. Bu işlemlerin nasıl gerçekleştiğini öğrenmek için bu alanda yapılan birkaç çalışmaya göz atmak yeterli olacaktır.[12][13]

Küçük ‘e’ sayısı saldırısı

Kullanıcının aynı mesaji bir çok kişiye aynı e sayısı ile şifreleyip gönderdiği durumda eğer e sayısı 3 gibi küçük bir sayı ise o zaman araya girip trafiği dinleyen bir kişi topladığı veriler ile çinli kalan teoremini kullanarak gönderilen mesajı ele geçirebilir. Daha detaylı olarak bu saldırıyı incelemek için bu saldırı üzerine geliştirilmiş olan Hastad ve Coppersmith teorileri incelenebilir.[14]

Kuantum Hesaplama Gücü ile yapılan Saldırılar

RSA basit görünen fakat bir o kadar da işlem gücü gerektiren matematik temelli bir şifreleme ve şifre çözme algoritmasıdır. Bu işlemler büyük sayıların modülü ve üslerinin hesaplanması olduğu için ciddi anlamda sağlam bir donanıma sahip bilgisayar veya paralel olarak çalışan bilgisayarlar üzerinde gerçekleştirildiği zaman verim alınabilir, aksi taktirde bu işlemlerin yapılması yıllar sürebilir. Ünlü matematikçi Peter Shor 1994 yılında kuantum bilgisayarlar üzerinde çalışan ve RSA algoritmasının güvenlik duvarı olan N sayısının çarpanlarına ayrılması işlemini yerine getiren Shor Algoritmasını[15] duyurur. Bu algoritma kendisine verilen bir sayının çarpanlarını çıktı olarak üretmek üzerine çalışmaktadır. Bu da demek oluyorki kuantum bilgisayarların gelişimi ile günümüzde kullanılan RSA algoritmalarının kırılması mümkün olacak.

6. DOĞRULUK İSPATI


RSA algoritması ile ilgili en ilgi çekici husus, RSA’in temelinde yüzyıllardan bu yana bilinmekte olan matematiksel bir teorem yatmasıdır. Fermat’nın “küçük teoremi” (Fermat’s little theorem) olarak bilinen ve ilginç, ancak ilk görüşte çok da işe yarayan bir şey olmadığı düşünülebilecek bu teorem kabaca şöyle ifade edilebilir; her p asal sayısı, a tam sayı olmak üzere, her (ap – a) sayısını böler. Bu, modüler aritmetik sembolleriyle şöyle ifade edilebilir:
ap ≡ a (mod p)   yani ap-1 ≡1  (mod p)
Burada p, asal bir sayı ve a ise p’den küçük sıfırdan farklı herhangi bir tamsayıdır. Bu teorem ile kabaca, p gibi asal bir sayıdan küçük bir tamsayının modüler olarak (p-1). üssünü hesapladığımızda bunun her zaman 1 tamsayısına eşit olduğu söylenir. Matematik bilgisi çok da kuvvetli olmayan birisi için oldukça soyut görünmesine rağmen bu teorem RSA algoritması için çok önemlidir. Gerçi RSA algoritmasında Fermat’nın küçük teoremi değil onun Euler tarafından genelleştirilmiş hali kullanılır.
Görüldüğü üzere, Fermat ve Euler tarafından, sadece entelektüel bir edimin sonucunda bulunmuş bir teorem yüz yıllar sonrasında (Fermat 17. Euler ise 18. yüzyıllarda yaşamışlardır), elektronik imza gibi devrim niteliğindeki bir teknolojiye temel oluşturmaktadır. Pierre de Fermat bu teoremi öne sürmüş, fakat ispatlamamıştır. Teorem, daha sonra Leonhard Euler tarafından 1736'da ispatlanmıştır. Teorem asallık testlerinde ve bilgisayarda büyük sayılarla işlemlerde kullanılır. Örneğin; a = 2 ve p = 7 ise, 27 = 128, ve 128 − 2 = 7 × 18 sayısı 7'nin tam katıdır.[16]

6.1. Fermat’ın Küçük Teoremi ile İspat


Her m mesajı için (me)d  ≡  m (mod N)  denkliğinin doğruluğunu göstermemiz gerekiyor. Yukarıda açıkladığımız ve gösterdiğimiz gibi Fermat’ın küçük teoremi; p asalı ve p’nin bölmediği bir a tam sayısı için ap-1 ≡ 1  (mod p) denkliğinin doğru olduğunu gösterir.
ap-1 ≡ 1  (mod p)
d.e ≡1  (mod φ(N))    yani   d.e ≡1  (mod (p-1)(q-1))  
Öyleyse;    d.e -1 = k.(p-1)(q-1)    şeklinde yazılabilir.
  (me)d  ≡  m (mod N)   yani   (me)d  ≡  m (mod p.q)  
(me)d  ≡  m (mod p)   ve    (me)d  ≡  m (mod q) olduklarını gösterebilirsek Çinli kalan teoremi göre (me)d  ≡  m (mod p.q) olduğunu ispatlamış oluruz.
(me)d ≡ m (mod p) olduğunu göstermek için m ≡ 0 (mod p) ve m ≢ 0 (mod p) durumlarına bakalım. İlk durumda (me)d, p 'nin katı olduğundan (me)d ≡ 0 ≡ m (mod p). İkinci durumda da mp-1 'in Fermat’nın küçük teoreminden dolayı 1’e denk olmasını kullanarak ispatı yapabiliriz:
(me)d = m(e.d-1).m = mk.(p-1)(q-1).m = (mp-1)k.(q-1).m ≡ 1k(q-1).m ≡ m (mod p)
(me)d ≡ m (mod q) olduğunu da benzer şekilde gösterip algoritmanın doğruluğunu ispatlamış oluruz.

6.2. Euler Teoremi ile İspat


Rivest, Shamir ve Adleman orjinal makalelerinde RSA yönteminin çalışmasını açıklarken Fermat’nın küçük teoremini kullanmalarına rağmen genellikle ispatlarda Euler teoremi kullanılır.
Her m mesajı için (me)d ≡ m (mod p.q) denkliğinin doğru olduğunu göstermek istiyoruz.
e.d ≡ 1 (mod φ(N)) olduğunu biliyoruz. Dolayısıyla negatif olmayan bir h tamsayısı için e.d çarpımını e.d = 1 + h. φ(n)  şeklinde yazabiliriz. m ve n’nin aralarında asal olduğunu varsayarsak:
euler.png 
Son eşitlik Euler teoremi’nin bir sonucudur. Eğer   ve   aralarında asal değilse bu argüman doğru olmaz. m ≡ 0 (mod p) ve m ≡ 0 (mod q) durumları yukarıdaki ispatta olduğu gibi gösterilebilir.[17]
Sonuç olarak açık anahtarlı şifreleme algoritmalarında, sistemin güvenliği anahtar uzunluğuna bağlıdır. Bu algoritmaları daha güvenli hale getirmek için büyük/uzun anahtar değerleri kullanılmaktadır. Günümüzde de RSA şifreleme algoritmasını daha güvenli hale getirebilmek için çok daha büyük asal sayılar kullanılmaktadır. RSA şifreleme algoritması ile şifrelenmiş mesajın kırılması için anahtarların üretildiği bu asal sayıların tahmin edilmesi veya bulunması gerekmektedir. Günümüzde RSA algoritmasında anahtarları üretmek için kullanılan asal sayılar binlerce haneli olarak üretilebilmektedir. Bu da RSA algoritmasının kriptanaliz ve kaba kuvvet saldırıları ile kırılmasının şu anki teknoloji ile yıllar sürebileceğine işarettir. Bundan dolayı RSA şifreleme algoritması hala daha gücünü korumaktadır.
Adsız Yorum yok 20 Mar 2014

DNS Nedir?

DNS nedir? 
DNS,Domain Name System’in kısaltılmış şeklidir.

Türkçe karşılığı ise Alan İsimlendirme Sistemi olarak bilinir. 
DNS, 256 karaktere kadar büyüyebilen host isimlerini IP’ye çevirmek için kullanılan bir sistemdir. Host ismi,tümüyle tanımlanmış isim (full qualified name) olarak da bilinir ve hem bilgisayarın ismini hem de bilgisayarın bulunduğu Internet domainini gösterir. Örneğin kirikhanmyo.mku.edu.tr/‎ ismi. Bu isimde “mku.edu.tr” ifadesi internet domainini, “kirikhanmyo” ifadesi ise bu domaindeki tek bir makineyi belirtir. DNS , verilen bir makina adının IP adresini çözerek makinaların Internet üzerinde host isimleri ile haberleşmelerine olanak tanır. 


DNS, kolay anlaşılabilir ve kullanılabilir makine ve alan isimleri ile makine IP adresleri arasında çift taraflı dönüşümü sağlar. IP adreslerinin gündelik hayatta kullanımı ve hatırlanması pek pratik olmadığı için domain isimlendirme sistemi kullanılır. Ana amacı, ağ uzerinden gelen alan adı veya IPnumarası ile ilgili sorgulamalara yanıt vermektir. Bu amaç için cok yaygın olarak "Berkeley Internet Name Domain (BIND)" yazılımı kullanılmaktadır. Siz bir siteye erişmek istediğinizde, DNS sayesinde hangi site nerde , hangi IP hangi bilğisayara ait olduğu belirlenir, ve istediğiniz yere erişirsiniz. 

DNS sistemi isim sunucuları ve çözümleyicilerinden oluşur. İsim sunucuları olarak düzenlenen bilgisayarlar host isimlerine karşılık gelen IP adresi bilgilerini tutarlar. Çözümleyiciler ise DNS istemcilerdir. DNS istemcilerde, DNS sunucu yada sunucuların adresleri bulunur. Bir DNS istemci bir bilgisayarın ismine karşılık IP adresini bulmak istediği zaman isim sunucuya başvurur. İsim sunucu, yani DNS sunucu da eğer kendi veritabanında öyle bir isim varsa, bu isme karşılık gelen IP adresini istemciye gönderir. DNS veritabanına kayıtların elle,tek tek girilmesi gerekir. Internet adresleri ilkönce ülkelere göre ayrılır. Adreslerin sonundaki tr, de , uk gibi ifadeler adresin bulunduğu ülkeyi gösterir. Örneğin tr Türkiyeyi, de Almanyayı, uk İngiltereyi gösterir. ABD adresleri için bir ülke takısı kullanılmaz çünkü DNS ve benzeri uygulamaları yaratan ülke ABD’dir. Internet adresleri ülkelere ayrılıdıktan sonra com, edu, gov gibi daha alt bölümlere ayrılır. Bu ifadeler DNS’de üst düzey (top-level) domainlere karşılık gelir. Üst düzey doainler aşağıdaki gibidir: 


Com :Ticari kuruluşları gösterir. Edu :Eğitim kurumlarını gösterir. Org :Ticari olmayan, hükümete de bağlı bulunmayan kurumları gösterir. Net :Internet omurgası işlevini üstlenen ağları gösterir. Gov :Hükümete bağlı kurumları gösterir. Mil :Askeri kurumları gösterir. Num :Telefon numaralarını bulabileceğiniz yerleri gösterir. Arpa :Ters DNS sorgulaması yapılabilecek yerleri gösterir. 

Adsız - - Yorum yok 13 Mar 2014

DHCP Nedir?





DHCP, bilgisayarlara IP adresi ve subnet maskesi başta olmak üzere TCP/IP parametrelerini otomatik olarak dağıtan bir protokoldür. 

DHCP kullanımı şu şekilde gerçekleştirilir:

Bir makine DHCP sunucu olarak kurulur. DHCP sunucuda diğer bilgisayarlara dağıtılacak adresler için bir adres aralığı ve bir subnet maskesi tanımlanır. IP adresi ve subnet maskesi dışında dağıtılabilecek parametreler de (default gateway, DNS ve WINS sunucu adresleri gibi) tanımlanabilir. 

DHCP istemci olarak belirlenmiş bilgisayarlar DHCP sunuculara başvurduklarında adres havuzlarından uygun bir adres seçilerek subnet maskesi ile birlikte istemciye gönderilir.

Bu sırada seçimlik bilgiler (default gateway adresi, WINS sunucu ve DNS sunucu adresleri gibi) de istemciye gönderilebilir.
Eğer istemci bilgisayar bu adres önerisini kabul ederse önerilen adres istemciye belli bir süre için verilir. Eğer IP adres havuzunda verilebilecek bir adres kalmamışsa ve istemci başka bir DHCP sunucudan da adres alamıyorsa TCP/IP iletişimine geçilemez.DHCP ile IP adres alımı broadcast mesajlara dayandığı için, ağımızı oluşturan her bölüme bir DHCP sunucu kurmak gerekmektedir. Bölümlerin birine kuracağımız DHCP sunucu ile diğer bölümlere de hizmet vermek mümkündür.

DHCP sunucular büyük alanlara kurulu olan üniversitelerde, çeşitli devlet kuruluşlarında, okullarda kurulmaktadır.

Adsız Yorum yok 11 Mar 2014

Flex VPN/IKEv2 Teknolojileri ve Yenilikleri

Flex VPN/IKEv2 Teknolojileri ve Yenilikleri
Flex VPN;
Büyük enterprise networklerde aynı anda farklı VPN çeşitlerine ihtiyaç duyulmaktadır.
Bu teknolojilerin iç içe geçmesi bizim networkümüzü karmaşıklaştırmada ve yönetim zorluğu sebebiyle hata çözme sürelerini uzatmaktadır. Flex VPN çözümünde birçok vpn teknolojisi (site to site, remote site, remote access, spoke to spoke, mobility..) aynı anda
kullanılabilmektedir. Flex VPN tüm bunları yapabildiği gibi ayrıca GRE, Crypto, VTI tabanlı güçlü ve stabil çözümlerde sunmaktadır.
IKEv2;
Flex VPN, IKEv2 standartlarını kullanmaktadır. IKEv2 next-generation key management protokolü olarak tasarlanmıştır (RFC 4306). IKEv2 teknolojisi ile birlikte bir takım yenilikler gelmiştir. Bunlardan bahsedecek olursak;
  • VPN cihazlarının negotiation süreleri kısaltılmıştır. 4 mesaj CHILD_SA kurulması için yeterli olmaktadır.
  • Encryption, hash, Diffie-Hellman groups ve prf fonksiyonları tek bir policy içinde desteklenmektedir.
  • Main ve Aggressive modu yoktur.
  • Bazı temel fonksiyonlar protokolün içerisine yedirildi. (liveness/DPD (dead peer detection) check, NAT detection (NAT-T), DoS protection(IP Spoofing))
  • EAP (Extensible Authentication Protocol) protokolü desteklenmektedir.
  • Asimetrik authentication mekanızması desteklenmektedir (PKI)
  • Ipv4 ve Ipv6 encrption için tek bir crypto engine kullanmaktadır.
  • IKEv2 sequence ve acknowled mesajlarının kullanılması ile birlikte daha fazla güvenilirlik sağlanmıştır.
  • Tüm VPN cihazlarının tamamının aynı IKE versiyonunu kullanması gerekmektedir.
  • İnternet üzerinde telefon haberleşmeleri için (VoIP) SCTP protokolü desteklenmektedir.
IKEv1 ve IKEv2 mesajlarının karışıtırılması, görüldüğü gibi IKEv2 sadeleştirilmiş bir mesaj yapısına sahip.
Cisco IOS Flex VPN Özellikleri:
  • FlexVPN public ya da private networke uygulanabilmektedir. Yani internet veya MPLS networklerinede ygulanabilir.
  • Üç şekilde yedeklenebilmektedir;
1) Dinamik Routing Protokolü ile
2) IKEv2 tabanlı dynamic route distribution ve server clustering ile
3) İki cihaz arasında IPsec/IKEv2 active/standby stateful failover (cihaz ve IOS versiyonu kontrol edilmelidir.)
  • IKEv2 destekleyen cihazlar ile birlikte çalışabilmektedir.
  • Site to Site ve Remote Access VPN tek bir Flex VPN içerisinde desteklenmektedir. Connection isteklerine göre Flex VPN cevap vermektedir.
  • Native IP Multicast desteklenmektedir.
  • QoS fonksiyonu desteklenmetedir.
  • Oluşturulan VPN’ler için dinamik policyler uygulanabilmektedir. Örneğin; split-tunnel policy, encryption network policy, Virtual Route Forwarding (VRF) selection, Remote Access Server için Domain Name System (DNS) ve full entegre authentication, authorization ve accounting (AAA)/RADIUS fonksiyonları desteklenmektedir.
  • VRF desteği bulunmaktadır. MPLS VPN networklerine full entegre olabilmektedir. VRF policyleri merkezi bir AAA server ile uygulayabilirsiniz.
  • Hub & Spoke ve Spoke to Spoke VPN desteği mevcuttur ve NHRP ile entegre çalışabilmektedir.
Flex VPN içerisinde NHRP çözümlemesi Request ve Reply Şeması:
Flex VPN yapabileceğiniz cihazların listesi aşağıdaki gibidir;
BGP ile Spoke to Spoke Flex VPN örnek konfigurasyonu aşağıdaki gibidir.
Flex VPN Hub Konfigurasyonu;
hostname hub
!
crypto ikev2 authorization policy default
pool flex-pool
def-domain cisco.com
route set interface
!
crypto ikev2 profile default
match identity remote fqdn domain cisco.com
identity local fqdn hub.cisco.com
authentication local rsa-sig
authentication remote rsa-sig
pki trustpoint CA
aaa authorization group cert list default default
virtual-template 1
!
crypto ipsec profile default
set ikev2-profile default
!
interface Loopback0
ip address 172.16.1.1 255.255.255.255
!
interface Ethernet0/0
ip address 10.0.0.100 255.255.255.0
!
interface Virtual-Template1 type tunnel
ip unnumbered Loopback0
ip nhrp network-id 1
ip nhrp redirect
tunnel protection ipsec profile default
!
ip local pool flex-pool 172.16.0.1 172.16.0.254
!
router bgp 65100
bgp router-id 10.0.0.100
bgp log-neighbor-changes
bgp listen range 172.16.0.0/24 peer-group spokes
neighbor spokes peer-group
neighbor spokes remote-as 65100
neighbor spokes transport connection-mode passive
neighbor spokes update-source Loopback0
!
address-family ipv4
neighbor spokes activate
neighbor spokes default-originate
neighbor spokes prefix-list no-default in
exit-address-family
!
ip prefix-list no-default seq 5 deny 0.0.0.0/0
ip prefix-list no-default seq 10 permit 0.0.0.0/0 le 32
Flex VPN Client Konfigurasyonu;
Birinci client konfigurasyonu (spoke1);
hostname spoke1
!
crypto ikev2 authorization policy default
route set interface
!
crypto ikev2 profile default
match identity remote fqdn domain cisco.com
identity local fqdn spoke1.cisco.com
authentication local rsa-sig
authentication remote rsa-sig
pki trustpoint CA
aaa authorization group cert list default default
virtual-template 1
!
crypto ipsec profile default
set ikev2-profile default
!
interface Tunnel0
ip address negotiated
ip nhrp network-id 1
ip nhrp shortcut virtual-template 1
ip nhrp redirect
tunnel source Ethernet0/0
tunnel destination 10.0.0.100
tunnel protection ipsec profile default
!
interface Ethernet0/0
ip address 10.0.0.110 255.255.255.0
!
interface Ethernet1/0
ip address 192.168.110.1 255.255.255.0
!
interface Virtual-Template1 type tunnel
ip unnumbered Tunnel0
ip nhrp network-id 1
ip nhrp shortcut virtual-template 1
ip nhrp redirect
tunnel protection ipsec profile default
!
router bgp 65100
bgp router-id 10.0.0.110
bgp log-neighbor-changes
neighbor hubs peer-group
neighbor hubs remote-as 65100
neighbor hubs update-source Tunnel0
neighbor 172.16.1.1 peer-group hubs
!
address-family ipv4
network 192.168.110.0
neighbor 172.16.1.1 activate
exit-address-family
İkinci client konfigurasyonu (spoke2);
hostname spoke2
!
crypto ikev2 authorization policy default
route set interface
route set access-list flex-route
!
crypto ikev2 profile default
match identity remote fqdn domain cisco.com
identity local fqdn spoke2.cisco.com
authentication local rsa-sig
authentication remote rsa-sig
pki trustpoint CA
aaa authorization group cert list default default
virtual-template 1
!
crypto ipsec profile default
set ikev2-profile default
!
interface Tunnel0
ip address negotiated
ip nhrp network-id 1
ip nhrp shortcut virtual-template 1
ip nhrp redirect
tunnel source Ethernet0/0
tunnel destination 10.0.0.100
tunnel protection ipsec profile default
!
interface Ethernet0/0
ip address 10.0.0.120 255.255.255.0
!
interface Ethernet1/0
ip address 192.168.120.1 255.255.255.0
!
interface Virtual-Template1 type tunnel
ip unnumbered Tunnel0
ip nhrp network-id 1
ip nhrp shortcut virtual-template 1
ip nhrp redirect
tunnel protection ipsec profile default
!
router bgp 65100
bgp router-id 10.0.0.120
bgp log-neighbor-changes
neighbor hubs peer-group
neighbor hubs remote-as 65100
neighbor hubs update-source Tunnel0
neighbor 172.16.1.1 peer-group hubs
!
address-family ipv4
network 192.168.120.0
neighbor 172.16.1.1 activate
exit-address-family
Kaynaklar;
http://www.cisco.com/en/US/products/ps12922/products_configuration_example09186a0080c0e3f0.shtml
http://www.cisco.com/en/US/prod/collateral/routers/ps9343/data_sheet_c78-704277.html
http://en.wikipedia.org/wiki/Internet_Key_Exchange
http://www.cisco.com/en/US/tech/tk583/tk372/technologies_tech_note09186a0080bf2932.shtml
http://www.cisco.com/en/US/docs/ios-xml/ios/sec_conn_ike2vpn/configuration/15-mt/sec-flex-spoke.html#GUID-93BA760D-DB01-4849-BCE2-C21A047FE0E
D
Adsız - - - - - Yorum yok 10 Mar 2014

Sessiz Teori
Blogger: