HASH VE DİJİTAL İMZA NEDİR?

Hash , kriptografide değişik boyuttaki verileri sabit boyutta benzersiz bir değere döndürme işlemidir. Hash ‘in bazı özellikleri vardır:

  1. Çıktı Değeri: hashing fonksiyonu veya algoritması tarafından belirlenen, her zaman aynı boyutta olan ve karşı tarafa algoritmanın boyutu hakkında bilgi sağlamayan sabit bir uzunluktur. Yani bu, 8 karakterli bir şifre veya 100 sayfalık bir belge olabilir.
  2. Çakışmanın önlenmesi için her çıktı değeri, her girdi değeri için benzersizdir. Çakışma ihtimali çok çok düşüktür. Örneğin; birisi küçücük bir değişiklik bile yapıp elektronik bir belgeyi kurcalasa; orijinal belge ile değiştirilmiş belgenin hash değeri tamamen farklılaşır.
  3. Hash işlemi sadece tek yönlüdür. Yani çıktı değerini giren biri, asıl girdiyi elde edemez. Bu da bir saldırganın tersine mühendislik kullanarak bilgilere ulaşmasını engeller.

Hash’in bu 3 özelliği kriptografide özellikle dijital imza oluştururken önemli bir rol oynar.

Dijital imza, birçok amaca hizmet edebilir: Verinin bütünlüğünün sağlanması yani değiştirilememesi, imzalayan kişi veya nesnenin doğrulanması ve inkar edilememezliği desteklemesi gibi.

Dijital imzalama sürecinin ilk adımında girilen imzalanacak bilgiler hash edilir.

İkinci adımda, imzalayan kişiyle ilişkili asimetrik özel imzalama anahtarı asimetrik bir algoritma kullanarak çıktı değerini şifreler. Bu şifrelenmiş çıktı değerine dijital imza denir.

Son adımda dijital imza, belgeye eklenir.

İmzalanan bilgiyi doğrulamak için açık(public) doğrulama anahtarına ihtiyacımız vardır. Asimetrik şifrelemede, açık anahtarlar sertifikalara yazılır. Sertifikalar bir sertifika yetkilisi (CA) tarafından düzenlenir ve imzalanır. Sertifika, açık anahtara ek olarak sahibinin adını da taşır. Doğrulama sertifikası, imzalı belgeye eklenebilir.

Yaygın hash fonksiyonları şunlardır:
– MD5’in beşinci sürümü 128 bitlik bir hash çıktısı üretir. Bu işlev, başta çakışmalara yatkınlık olmak üzere zayıflıkları bulunana kadar yaygın olarak kullanılmıştır. MD6, MD5’in yerini almıştır.
– Daha sonra SHA-1 daha popüler hale gelmiş, bunu SHA-2 ve SHA-3 izlemiştir. SHA-1 işlevi 160 bitlik bir karma çıktı üretirken, SHA-2 aslında bir karma algoritma paketidir. Bu paket SHA-224, SHA-256, SHA-384 ve SHA-512’yi içerir.
– LANMAN eski Windows işletim sistemleri tarafından parolaları saklamak için kullanılıyordu. LANMAN, güvenli olmadığı kanıtlanan ve kaba kuvvet saldırılarıyla alt edilebilen veri şifreleme standardını (DES) kullanıyordu.
– NTLM, LANMAN’ın ardından NTLM sürüm ikiyi takip etti.
– Kuzey Amerika dışında HAVAL ve RIPEMD popüler hash fonksiyonlarıdır.

Hash’i kırmak için kullanılan çok yaygın bir yöntem kaba kuvvet (brute force) saldırısıdır.
Bu, saldırganın orijinal hash çıktısıyla aynı değeri üretene kadar farklı girdi değerlerini deneyeceği anlamına gelir.
Saldırganın girdi verilerinin boyutu hakkında hiçbir fikri yoksa, kaba kuvvet saldırısı sınırlı bir başarıya sahip olacaktır. Ancak, saldırgan girdi değeri hakkında bir şeyler biliyorsa, geçerli olmayan girdi değerlerini eleyebilir.

Örneğin, girdi değeri bir parolaysa ve saldırgan parola gereksinimlerini biliyorsa – örneğin, minimum uzunluğun sekiz karakter ve maksimum uzunluğun on iki karakter olduğu ve büyük harfler, küçük harfler ve sayılar içermesi gerektiği gibi – o zaman saldırı kapsamını büyük ölçüde daraltma fırsatı elde etmiş olur .

Kaba kuvvet saldırısının bir türü de doğum günü paradoksuna dayanan ve çakışma ürettiği bilinen hash fonksiyonlarından yararlanan doğum günü saldırısıdır. Bir odada rastgele seçilen 23 kişi varsa, ikisinin aynı doğum gününe sahip olma olasılığı %50’den fazladır. Bu, beklenenden daha düşük sayıda denemeyle çakışmaların meydana gelebileceğini gösterir. Birthday Paradox Brute Force saldırısında, özellikle kriptografik hash fonksiyonlarında aynı hash değerini üreten iki farklı girdiyi bulmak amaçlanır. Hash çakışmalarını bulmak için rastgele girdiler üretilir ve hash değerleri karşılaştırılır.

Hashlenmiş bir parolayı kırmaya çalışırken, saldırgan girdi verilerinin parola ile eşleşip eşleşmediğini önemsemez, yalnızca girdi verilerinin aynı hash çıktısını üretmesini önemser.
Bunun nedeni sunucuların kullanıcı şifrelerini saklamamasıdır. Sunucular bu parolaların hashlerini saklarlar.
Dolayısıyla, saldırgan Reyyan’ın parolasını koruyan hash çıktısını yeniden üretebilirse, Reyyan olarak oturum açabilir. Kaba kuvvet saldırısına karşı en iyi savunma, hash fonksiyonunun kırılması mümkün olmayan uzun bir çıktıyı desteklediğinden emin olmaktır.

 

About The Author

Reply