Güvenlik Teknolojileri
-
İnternet üzerinden iletişimi gerçekleşen bilgilerin güvenilirliği, açık anahtar kriptografi olarak adlandırılan bir teknikle sağlanmaktadır [7][8]. Açık anahtar kriptografinin gerçekleştirdiği faaliyetler aşağıda listelenmiştir:
Şifreleme ve Şifre Çözme: Güvensiz bir ortamda birbirleriyle haberleşen iki tarafın, bilgiye sadece kendilerinin anlayacağı bir biçim vermesi tekniği olarak tanımlanmaktadır. Gönderilmeden önce gönderici tarafından şifrelenen veri, alıcı tarafından açılmakta ve orijinal veri elde edilmektedir. İletilen verinin şifreli olması, saldırganın veriye erişimini engellemektedir.
Kurcalama Sezme: İletişim sırasında veri üzerinde gerçekleştirilebilecek olası değişikliklerin sezilmesinde kullanılan teknik olarak tanımlanmaktadır.
Kimlik Doğrulama: Enformasyon alıcısına, enformasyonun kaynağının ve göndericinin kimliğinin doğrulanması imkanını vermek olarak tanımlanmaktadır
İnkar Edememe: Enformasyonun göndericisinin, daha sonraki bir zamanda, gönderdiği enformasyonu inkar etmesini engellemek olarak tanımlanmaktadır.
Şifreleme işlevi enformasyonun, alıcı haricindeki kişiler tarafından anlaşılmayacak bir şekle çevrilmesi olarak tanımlanmaktadır. Şifre çözme ise; özel bir anahtar yardımıyla anlamsız bilgiye, şifrelenmeden önceki anlamlı halinin geri verilmesi olarak tanımlanmaktadır. Şifreleme ve şifre çözme işlevleri, kriptografi algoritması olarak adlandırılan matematiksel işlevlerce gerçekleştirilmektedir. Şifreleme yönteminin kuvveti; algoritmanın bilinmezliği ile değil, kullanılan anahtarın uzunluğu ile ilgili olmaktadır. Şifrelenen veri; anahtar kullanımı ile rahatlıkla açılmakta iken, anahtarın bilinmemesi durumunda verinin elde edilmesi matematiksel işlemlerin yoğunluğu dolayısıyla imkansız olmaktadır.
Simetrik Anahtarlı Şifreleme
Simetrik anahtarlı şifreleme (Symmetric Key Encryption); şifreleme anahtarının deşifreleme anahtarından elde edilebildiği bir şifreleme yöntemidir. Şekil 2’den de görüldüğü gibi, çoğu simetrik algoritmalarda şifreleme ve deşifreleme (şifre çözme) anahtarları aynı olmaktadır. Simetrik anahtarlı şifreleme, verinin şifrelenmesinde ve deşifrelenmesinde herhangi bir gecikmeye neden olmamaktadır. Bu tarz şifrelemede bir anahtar ile şifrelenen veri, diğer bir anahtarla açılamadığından dolayı; anahtarın gizli tutulması durumunda bir derecede kimlik doğrulama işlemi sağlanmaktadır. Simetrik anahtarlı şifrelemede, simetrik anahtarın gizli tutulması vazgeçilmez bir şarttır. Simetrik anahtarın gizli tutulmadığı durumlarda, hem verinin güvenilirliği hem de kimlik doğrulama ölçütleri tehlikeye girmektedir. Başkasına ait bir simetrik anahtar; saldırganın hem kişiye ait gizli bilgilere erişmesine, hem de anahtar sahibinin kimliğiyle başkalarına veri göndermesine neden olmaktadır.
Şekil 2. Simetrik anahtarlı şifrelemeGenel olarak dört tip simetrik anahtarlı şifreleme algoritması kullanılmaktadır. Bu algoritmalar; veri şifreleme standardı (Data Encryption Standard – DES) algoritması, üçlü veri şifreleme standardı (Triple Data Encryption Standard – Triple DES) algoritması, uluslar arası veri şifreleme algoritması (International Data Encryption Algorithm – IDEA) ve RC4 algoritması olarak adlandırılmaktadır.
Ulusal Standartlar Bürosu (National Bureau of Standards) tarafından yayınlanmış veri şifreleme standardı (Data Encryption Standard – DES) algoritmasının aşamaları aşağıda listelenmiştir [9][10]:
Mesaj 64 bitlik parçalara bölünür.
Bu bölmeler bir başlangıç permütasyonundan geçirilir.
56 bitlik anahtar kullanılarak, 16 adet 48 bitlik anahtar elde edilir.
56 bitlik anahtar üzerinde permütasyon gerçekleştirilerek, 2 adet 28 bitlik anahtar elde edilir.
Her iki bölme de; 1, 2, 9 ve 16’ncı aşamalarda sola doğru 1, diğer aşamalarda sola doğru 2 bit döndürme (rotate) işlemine tabi tutulur.
Her bir bölme ayrı ayrı permütasyondan geçirilip; birinci anahtarın 9, 18, 22 ve 25’inci, ikinci anahtarın 35, 38, 43 ve 54’üncü bitleri elenir ve 48 bitlik anahtar elde edilir.
DES aşamalarını gerçekleştirmek üzere, 16 adet 48 bitlik anahtarın her biri kullanılır.
64 bitlik giriş değeri, 32 bitlik iki parçaya bölünür.
DES aşamasına giriş değerinin sağ tarafı, aşama çıkış değerinin sol tarafı olur.
Aşamaya giriş değerinin sağ tarafına parçalayıcı işlevi, aşamaya ait anahtarla uygulanır.
Parçalayıcı işlevin sonucu, aşamaya giren değerin sol tarafı ile aşamadan çıkan değerin sağ tarafının EXOR işleminden geçirilmesi ile elde edilir.
Dördüncü aşama 16 kez tekrar edilir.
Sonucun sol ve sağ parçaları yer değiştirilir.
Son permütasyon gerçekleştirilir.
Üçlü veri şifreleme standardı (Triple Data Encryption Standard – Triple DES) algoritmasında ise, DES algoritmasının üç kez çalıştırılması işlemini içeren üç adet anahtar kullanılmaktadır. Anahtar 1, anahtar 2 ve anahtar 3 olarak adlandırılan ve üç adet 56 bitlik bölmelere ayrılan 168 bitlik anahtar kullanılmaktadır.
Uluslar arası veri şifreleme algoritması (International Data Encryption Algorithm – IDEA) ise; 128 bitlik anahtar kullanarak, 64 bitlik açık metni 64 bitlik şifreli parçalar halinde şifreleyen bir algoritmadır. Bu algoritma, hesapsal olarak birbirinin aynı 8 aşama içermektedir. Uzun zamandır bilinen IDEA algoritması, herhangi bir saldırı teşebbüsüne maruz kalmamıştır. Biham, Shamir ve Biryukov tarafından IDEA’ya gerçekleştirilen saldırı teşebbüsü, algoritmanın ancak dördüncü seviyesine kadar ulaşmış; algoritmanın 8 aşamalık toplam bölümü yine güvenli olarak kalmıştır. Amerika Birleşik Devletleri ve birçok Avrupa ülkesinde patentlenmiş olan IDEA algoritmasının aşamaları kabaca aşağıda verilmiştir [9][10]:
Şifrelenecek mesaj, 64 bitlik parçalara bölünür. Her bir açık metin parçası, şifreli parça haline dönüşecektir.
64 bitlik parçalar, 16 bitlik 4 bloğa ayrılır.
52 adet 16 bitlik anahtar oluşturmak üzere, 128 bitlik bir anahtar kullanılır.
Tek sayılı aşamalarda dörtlü, çift sayılı aşamalarda ise ikili kümelerde anahtar kullanılarak 17 aşama gerçekleştirilir.
16 bitlik bloklar, 64 bitlik şifreli bloklar olarak birleştirilir.
RSA Veri Güvenlik Firması ve Ron Rivest tarafından geliştirilen RC4 algoritması, çalışma hızının çok yüksek olması ve güvenlik seviyesinin bilinmemesine rağmen bazı hız gerektiren uygulamalarda kullanılmaktadır. İstenildiği kadar anahtar uzunluğu kabul edebilen RC4 algoritması; bir sahte rastgele sayı üreteci ve bu sayı üretecinin çıktısının, şifrelenecek veri ile EXOR işlemine tabi tutulmasından ibarettir. Bu nedenle aynı anahtar, iki farklı veri kümesini şifrelemede kullanılmamalıdır.
