Kriptogrofide Hash Fonksiyonları |
2. Bölüm
Dijital güvenlikten sorumlu hash fonksiyonlarına yazımızın 1.bölümünde bir giriş yapmış ve özelliklerini incelemiştik. Bu bölümde ise daha somut bilgiler bulunuyor. Detaylar yazımızın devamında.
03.05.2021 tarihli yazı 3934 kez okunmuştur.
Yazımızın 1.bölümünde hash fonksiyonlarına bir giriş yapmıştık ve hash fonksiyonunun özelliklerine ve örnek uygulamalarına göz attık. Bu bölümde ise hash işleminin nasıl yapıldığını, hash fonksiyonunun avantajlarını ve dezavantajlarını ve dijital güvenlikte hash fonksiyonunun yerini inceleyeceğiz.
Hash İşemi Nasıl Yapılır?
Hash fonksiyonunun özelliklerinden bahsettiğimize göre fonksiyonun nasıl çalıştığına ve nasıl benzersiz çıktılar ürettiğine değinebiliriz. Hash fonksiyonu ilk olarak kendisine verilen girdiyi eşit uzunluktaki bloklara böler, sonrasında ise her bloğu ayrı olarak işleme sokar. Buradaki kilit nokta ise fonksiyonun her bloğun çıktısını bir sonraki bloğa eklemesidir. İlk blok tek başına işleme maruz kaldıktan sonra ikinci blok kendisi ve birinci bloğun çıktısının toplamı değeri ile fonksiyona giriş yapar. Bu şekilde ikinci bloğun çıktısı da üçüncü bloğa eklenir ve blokların sonuna ulaşılana kadar işlem devam eder. Bu işleme yöntemi sayesinde blokların birinde ufacık bir değişiklik dahi bir kar topu etkisi meydana gelir ve öncekinden tamamen farklı bir hash çıktısı oluşur.
Şekil 1: Hash Çıktısı Oluşturmada İzlenilen Matematiksel Yol.
Örnek olarak kullanıcı şifrelerini veritabanınızda hash çıktıları şeklinde saklayan bir internet sitesi sahibi olduğunuzu düşünün. Eğer kullanıcılarınızdan birisi şifresini unutursa hash çıktısından kullanıcının şifresini öğrenemeyeceğiniz için kullanıcının yeni bir şifre belirlemesi gerekecektir. Ayrıca birisine bir dosya veya veri transfer etmek istiyorsanız dosyanın sadece hash çıktısını göndermek hiçbir işe yaramayacaktır çünkü alıcının bu hash çıktısından orijinal veriyi geri elde etme imkanı bulunmayacaktır. Böyle bir durumda dosya veya veriyi bir algoritma ile şifrelenmiş şekilde yanında hash çıktısı ile beraber göndermek gerekecektir. Ancak bu şekilde alıcı şifrelenmiş dosyayı anahtarı ile açabilir ve hash kodunu da karşılaştırarak verinin değişmemiş olduğundan emin olabilir.
Ayşe birçok finansal ilişkisi olan büyük bir firma sahibidir ve bir başka firmadan ofisleri için gerekli olan eşyaları satın almak istemektedir. Bir miktar araştırma yaptıktan sonra ofis ürünleri satan Ali’nin firmasından gerekli ürünleri satın almaya karar verir. Ayşe, Ali ile iletişime geçer, ürünler konusunda anlaşır ve satın alımı kesinleştirir. Ali ürünlerin ücretinin ve ücretin yatırılması gereken banka hesabını dijital imza ile hash ederek bir e-mail ile Ayşe’ye gönderir. Bu sırada bir bilgisayar korsanı (hacker) olan Mehmet firmaların ağına girmeyi başarır ve Ali’nin gönderdiği banka hesabının ve ücretin olduğu e-mail’i görür. Mehmet ödemenin kendi hesabına yapılması için Ali’nin gönderdiği e-mail’deki banka bilgilerini kendi hesabı ile değiştirir. E-mail Ayşe’nin bilgisayarına ulaştığında Ayşe’nin bilgisayarı otomatik olarak bu e-mail’in hash çıktısını hesaplar ve ortaya çıkan çıktının Ali’nin gönderdiği hash çıktısı ile farklı olduğunu görür ve Ayşe’yi bu mailin değiştirildiği konusunda uyarır. Eğer hash işlemi uygulanmamış olsaydı Ayşe farkında olmadan ödemesini bir bilgisayar korsanı (hacker) olan Mehmet’in hesabına yapmış olacaktı. Bilgisayarın verdiği uyarıdan sonra Ali’yi arayan Ayşe banka hesabının gerçekten de farklı olduğunu teyit eder ve ödemesini doğru banka hesabına yapar.
Şekil 2: Hash Fonksiyonu ile Dijital İmza Oluşturuluşu.
Buradaki örnekte hash fonksiyonu kullanımının iki kişiyi dijital dolandırıcılıktan nasıl koruduğunu görebilirsiniz.
Şekil 1: Hash Çıktısı Oluşturmada İzlenilen Matematiksel Yol.
Avantajları ve Dezavantajları
► Dijital verilere müdahele edilip edilmediğini tespit edebilir.
Hash çıktıları benzersiz olduğundan, eğer dijital bir veri değiştirilmişse hash çıktısının değişmesinden dolayı veriye bir müdahale olduğu kolaylıkla anlaşılabiliyor. Bu veri herhangi bir metin, bir program kurulumu, bir e-mail hatta bir medya dosyası bile olabilir. Hash çıktısı değişmiş bir veri alındığında işletim sistemleri veya yazılımlar bu dosyanın değiştirilmiş olduğunu anlayıp kullanıcıyı bu yönde uyarabiliyor. Bu sayede kullanıcı bu tarzdaki saldırılardan korunmuş oluyor.► Tersine mühendislikle veriler çalınamaz.
Hash işlemi bir kez yapıldıktan sonra ortaya anlamsız bir çıktı çıkıyor. Bu nedenle bir saldırı sonucunda verilerinizin hash çıktıları ele geçirilse dahi orijinal verinize ulaşılması imkansız oluyor. Bu nedenle çoğu internet sitesinde veya veri tabanında kullanıcı şifreleri gibi bilgiler hash işlemi yapılarak saklanır. Kullanıcı şifresini girdiğinde sistemde hash çıktıları karşılaştırılır ve kullanıcının sisteme giriş yapmasına buna göre karar verilir. Eğer bir saldırı sonucu şifrelerin depolandığı dosyalar ele geçirilirse sadece hash çıktıları bulunacağından saldırganların şifrenizi bularak sisteme girmesi imkansızdır.► Veriler kaybolursa geri dönüş imkansız.
Hash çıktılarının dönüşü olmadığından dolayı eğer bilgileri bir veritabanında hash çıktıları şeklinde saklıyorsanız herhangi bir saldırı durumunda kimsenin bilgileri ele geçiremeyeceğinden dolayı rahat olabilirsiniz. Fakat herhangi bir nedenden dolayı verileri geri döndürmeniz gerekirse hash çıktıları size yardım edemeyecektir.Örnek olarak kullanıcı şifrelerini veritabanınızda hash çıktıları şeklinde saklayan bir internet sitesi sahibi olduğunuzu düşünün. Eğer kullanıcılarınızdan birisi şifresini unutursa hash çıktısından kullanıcının şifresini öğrenemeyeceğiniz için kullanıcının yeni bir şifre belirlemesi gerekecektir. Ayrıca birisine bir dosya veya veri transfer etmek istiyorsanız dosyanın sadece hash çıktısını göndermek hiçbir işe yaramayacaktır çünkü alıcının bu hash çıktısından orijinal veriyi geri elde etme imkanı bulunmayacaktır. Böyle bir durumda dosya veya veriyi bir algoritma ile şifrelenmiş şekilde yanında hash çıktısı ile beraber göndermek gerekecektir. Ancak bu şekilde alıcı şifrelenmiş dosyayı anahtarı ile açabilir ve hash kodunu da karşılaştırarak verinin değişmemiş olduğundan emin olabilir.
Hash Sisteminin Çalışmasına Örnek
Hash sisteminin nasıl çalıştığının ve tam olarak ne işe yaradığının anlaşılması için son olarak basit bir örnek vermek iyi olabilir.Ayşe birçok finansal ilişkisi olan büyük bir firma sahibidir ve bir başka firmadan ofisleri için gerekli olan eşyaları satın almak istemektedir. Bir miktar araştırma yaptıktan sonra ofis ürünleri satan Ali’nin firmasından gerekli ürünleri satın almaya karar verir. Ayşe, Ali ile iletişime geçer, ürünler konusunda anlaşır ve satın alımı kesinleştirir. Ali ürünlerin ücretinin ve ücretin yatırılması gereken banka hesabını dijital imza ile hash ederek bir e-mail ile Ayşe’ye gönderir. Bu sırada bir bilgisayar korsanı (hacker) olan Mehmet firmaların ağına girmeyi başarır ve Ali’nin gönderdiği banka hesabının ve ücretin olduğu e-mail’i görür. Mehmet ödemenin kendi hesabına yapılması için Ali’nin gönderdiği e-mail’deki banka bilgilerini kendi hesabı ile değiştirir. E-mail Ayşe’nin bilgisayarına ulaştığında Ayşe’nin bilgisayarı otomatik olarak bu e-mail’in hash çıktısını hesaplar ve ortaya çıkan çıktının Ali’nin gönderdiği hash çıktısı ile farklı olduğunu görür ve Ayşe’yi bu mailin değiştirildiği konusunda uyarır. Eğer hash işlemi uygulanmamış olsaydı Ayşe farkında olmadan ödemesini bir bilgisayar korsanı (hacker) olan Mehmet’in hesabına yapmış olacaktı. Bilgisayarın verdiği uyarıdan sonra Ali’yi arayan Ayşe banka hesabının gerçekten de farklı olduğunu teyit eder ve ödemesini doğru banka hesabına yapar.
Şekil 2: Hash Fonksiyonu ile Dijital İmza Oluşturuluşu.
Dijital Güvenlik ve Hash
Sonuç olarak günümüzde hash fonksiyonları ve hash uygulamaları dijital verinin korunması ve onaylanması için önemli bir işlemdir. Biz haberdar olmasak dahi çoğu veri alış-verişimiz veya veri depolamamız sırasında hash kodları bilgisayarlarımız tarafından otomatik olarak oluşturulup kontrol ediliyorlar. Hash işlemlerinin veriyi geri elde edememek gibi dezavantajları olsa da verinin orijinalliğini koruduğunu kesin olarak bilip bilememek bu dezavantajlara göre ağır basmaktadır.
Kaynak:
► sectigostore.com
► passwordsgenerator.net/sha1-hash-generator/ ( Hash fonksiyonu oluşturabileceğiniz site)
► passwordsgenerator.net/sha1-hash-generator/ ( Hash fonksiyonu oluşturabileceğiniz site)
YORUMLAR
Aktif etkinlik bulunmamaktadır.
- Dünyanın En Görkemli 10 Güneş Tarlası
- Dünyanın En Büyük 10 Makinesi
- 2020’nin En İyi 10 Kişisel Robotu
- Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
- Üretimin Geleceğinde Etkili Olacak 10 Beceri
- Olağan Üstü Tasarıma Sahip 5 Köprü
- Dünyanın En İyi Bilim ve Teknoloji Müzeleri
- En İyi 5 Tıbbi Robot
- Dünyanın En Zengin 10 Mühendisi
- Üretim için 6 Fabrikasyon İşlemi
- DrivePro Yaşam Döngüsü Hizmetleri
- Batarya Testinin Temelleri
- Enerji Yönetiminde Ölçümün Rolü: Verimliliğe Giden Yol
- HVAC Sistemlerinde Kullanılan EC Fan, Sürücü ve EC+ Fan Teknolojisi
- Su İşleme, Dağıtım ve Atık Su Yönetim Tesislerinde Sürücü Kullanımı
- Röle ve Trafo Merkezi Testlerinin Temelleri | Webinar
- Chint Elektrik Temel DIN Ray Ürünleri Tanıtımı
- Sigma Termik Manyetik Şalterler ile Elektrik Devrelerinde Koruma
- Elektrik Panoları ve Üretim Teknikleri
- Teknik Servis | Megger Türkiye
ANKET