Yazan : Şadi Evren ŞEKER

Veri güvenliği konusunda, bir şifreleme algoritmasının kullandığı bir anahtardan dolayı, zafiyet doğması durumudur. Örneğin DES algoritmasında, kullanılan özel bir anahtar, saldırgana ilave bir avantaj sağlıyorsa, bu durumda bu anahtara zayıf anahtar (weak key) ismi verilir.

Şifreleme algoritmalarında, zayıf anahtarlar, çeşitli şekillerde ortaya çıkabilir. Örneğin iki farklı anahtar aynı sonucu üretiyorsa bu durumda anahtar uzayı azalacaktır. Benzer bir problem şifrelemeye etkisi olmayan anahtarlardır. Bu durumu doğrusal şifreleme (affine cipher) üzerinde görebiliriz. Örneğin ax +b şifreleme formülünde her a ve b çifti için farklı sonuçlar doğması beklenirken öyle a ve b çiftleri, öyle mesajlar için seçilebilir ki, bu iki farklı anahtar da aynı sonucu üretir.

Örnek:

a = 2, b = 3 , x = 5 için 2 5 + 3 = 13 sonucuna ulaşılırken

a = 1, b = 8 , x = 5 için 1 5 + 8 = 13 sonucuna yine ulaşılır.

Görüldüğü üzere iki farklı anahtar aynı mesaj için aynı sonucu üretmektedir. Bu durumda anahtar uzayında bu mesaj için alınabilecek farklı anahtar sayısı n2 (a ve b, n harfli bir alfabenin içerisinden rast gele seçildiği için ) olmaz.

Bazı algoritmalarda alınan bazı anahtarlar şifreleme işleminin gerçekleşmesini engeller veya zayıf şifreleme üretir. Örneğin yerine koyma şifrelemesini (ikame şifrelemesi, substitution cipher) ele alalım. Bu şifreleme algoritmasında normalde n harften oluşan bir dil için n! ihtimalli bir anahtar uzayından bahsedilebilir.

Bu durumda ilk harf için n ihtimal sonraki harf için n-1 ihtimal sonraki için n-2 … şeklinde ihtimaller sıralanmaktadır. Burada atlanan bir nokta yerine koyma şifrelemesinde her harfin yine kendisi ile yer değiştirmesidir. Örneğin a ile a, b ile b … z ile z gibi. Bu durumda mesaj şifrelenmeyecek ve gelen mesaj şifreleme algoritmasından olduğu gibi açık halde çıkacaktır.

Bu örnekte her harfin kendisi ile değiştirildiği anahtar zayıf anahtar olmuştur.

Bazı şifreleme algoritmalarında ise zayıf anahtar kullanılması imkansızdır. Bu tip algoritmalarda, hangi anahtar kullanılırsa kullanılsın anahtar uzayı (key space) sabit kaldığı için bu algoritmalara düz veya doğrusal (flat, linear) anahtar uzaylı algoritma ismi verilir.

DES için zayıf anahtarlar

DES algoritmasında kullanılan anahtarların bir kısmı zayıf bir kısmı ise yarı zayıf olarak sınıflandırılabilir. Bu algoritmada şayet bir anahtar, 16 geçiş (pass) için de aynı alt anahtarı üretiyorsa zayıf anahtardır.

Bilindiği üzere DES algoritmasında 64 bitlik anahtar kullanılır. Bu anahtarın 8 biti çiftlik kontrolü (partiy bit) olarak ayrılmıştır. Geri kalan 56 bitlik anahtardan, her geçişte 48 bitlik anahtarlar üretilir. Toplamda 16 adet 48 bitlik anahtar üretilir.

Yukarıdaki şekilde görüldüğü üzere anahtar her geçiş için iki parçaya bölünüp bu parçaların kaydırılması ile oluşturulur. Bu durumda anahtarın tamamının aynı bitlerden oluşması durumunda üretilen anahtarda hata olacaktır.

Örneğin anahtarın tamamı 0’lardan oluşsun.

Bu durumda ilk başta 56 bitlik 0’lardan oluşan bir anahtar ile başlayacağız. İlk geçişte bu anahtarın ortadaki 48 biti, yani sadece 0’lardan oluşan 48 bit alınacak. İlk geçişin anahtarı olarak alınacak. Ardından 28 bitlik iki ayrı parça kendi içinde kaydırılarak yine ortadaki 48 bit alınacak ve yine sadece 0’lardan oluşan anahtar oluşacak. Bu işlem 16 adım boyunca tekrarlanacak ve her geçişin sonunda sadece 0’lardan oluşan bir anahtar ile şifreleme işlemi yapılacaktır.

Bu durum DES için bir açık oluşturur sebebi ise bilindiği üzere DES algoritması simetrik bir şekilde K anahtarı ile şifrelediği mesajı yine K anahtarı ile açmaktadır. Dolayısıyla yukarıda bahsedildiği üzere sadece 0’lardan oluşan bir anahtar verildiğinde mesaj şifrelenmeyecektir.

Benzer durum, anahtarın 1’lerden oluşması için de söz konusudur.

Ayrıca anahtarın 1010101010… şeklinde atlamalı olması durumunda da benzer bir problem yaşanır. DES için bazı zayıf anahtar örnekleri onaltılık tabanda (hexadecimal) olarak aşağıda verilmiştir:

0xFEFEFEFEFEFEFEFE

0xE0E0E0E0F1F1F1F1

0x1F1F1F1F0E0E0E0E

Yukarıdaki örneklerde anahtarın içerisinde teklik kontrolü (parity check) bulunduğu kabul edilmiştir ve zaten anahtarlar 64 bittir.

DES algoritması için bir de yarı zayıf anahtar (semi weak key) söz konusudur. Bu anahtar türünde, anahtar üreten ve yukarıdaki şemada çalışması açıklanan algoritma, sürekli aynı anahtarı üretmek yerine atlamalı olarak iki anahtar üretir. Diğer bir deyişle 2 farklı anahtar üretilmekte ancak bu anahtarlar sürekli tekrarlanmaktadır. Dolayısıyla 16 geçişli bir DES çalışmasında toplam 8 geçiş için a ve diğer 8 geçiş için b anahtarı üretilmiş olur. Bu durum, bir önceki zayıf anahtarda olduğu gibi mesajın şifrelenmesini engellemez. Mesaj şifreli olarak çıkar ancak 16 geçişin etkisini kaldırır. Diğer bir deyişle DES algoritması, sanki sadece 2 geçiş çalışmış gibi davranır.

DHP için zayıf anahtar

Diffie Hellman Protocol (Diffie Hellman Teşrifatı) olarak bilinen ve anahtar değiştirmeye (key exchange) yarayan protokolde amaç iki tarafın, güvenli olmayan bir ortam üzerinden aynı anahtarı elde etmesidir.

Bu protokolü hızlıca aşağıdaki şekil üzerinden hatırlayalım. İlk olarak protokolün çalışması için iki sayıdan oluşan umumi anahtar oluşturuluyor. Bu sayılar örneğimizde 23 ve 5 olarak seçilsin:

g = 5

p = 23

Yukarıdaki şekilde görüldüğü üzere, Ali ve Bekir ayrı ayrı iki gizli sayı tutarlar. Bu sayıları umumi sayılardan g’nin üzeri olarak hesaplayıp p modulosunu bulunurlar. Bulunan bu sayılar karşılıklı olarak değiştirildikten sonra alan taraflar kendi hususi sayıları ile karşı taraftan aldıkları sayının üzerini hesaplayıp yine p modulosunu bulurlar.

Bu protokolde ne yazık ki bazı durumlarda zayıf anahtar oluşur. Örneğin iki taraf da aynı hususi anahtarı seçerse bu durumda ağda giden şifreli mesajlar aynı olacak ve saldırgana avantaj sağlanacaktır.

Görüldüğü üzere algoritma başarılı çalışmıştır ancak ağı dinleyerek saldırı niyetinde olan kişiye bir avantaj sağlanmıştır. Saldırgan taraf, iki tarafında aynı anahtarı tuttuğunu bilecek ve dolayısıyla saldırısı sırasında sadece iki karelere yoğunlaşabilecektir.

Normal bir diffie hellman anahtar değişiminde saldırganın bulması gereken anahtar:

Şeklindeki sayılardan herhangi birisi iken (ki bu iki sayı birbirine eşittir), artık saldırganın, sadece aşağıda belirtilen sayılara yoğunlaşması yeterlidir:

Elbette yukarıdaki bu yeni sayının, hesaplanması ve bulunması ihtimali daha azdır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir