Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net

Anasayfa - Makale - Hash Nedir? Nasıl Çalışır?

Hash Nedir? Nasıl Çalışır?

28 Aralık 2020 - 16:00
- Makale
zayıf şifre kullanımı

Bu yazımızda hashlemenin ne olduğunu, nasıl çalıştığını ve günümüzdeki önemini anlatıyoruz.

Birçok yerde mutlaka şu cümleye rastlamışsınızdır. “Şifreniz güvenli bir algoritma yardımıyla veritabanında tutuluyor.” Peki bu ne anlama geliyor? Bu algoritmalar nelerdir? Bu yazımızın ana odak noktası da bu olacak. Çeşitli şifreleme algoritmalarına, tek yönlü algoritmalara ve özetle hash kavramına değineceğiz. 

Dijital dünyada birçok servise parolalarımız aracılığıyla erişiriz. Bu, hesaplarımızı yetkisiz erişimden koruyan, onlarca yıllık basit fakat bir o kadar güvenli bir çözüm. Mail adresleriniz, sosyal medya hesaplarınız veya çeşitli işlemler için kullandığınız istemciler… Bunların hepsinde çeşitli parolalar kullanmaktayız.

Bir sisteme girebilmemiz için biz parolamızı yazıp giriş butonuna bastığımızda arka planda daha önceden belirlemiş olduğumuz parolayla bir karşılaştırma gerçekleşir. Doğruysa başarılı şekilde giriş yaparız, yanlışsa giriş yapmamıza müsaade edilmez. Bu en basit haliyle böyledir fakat bir de saldırgan gözüyle bakalım. Ortada parola ile girilen bir sistem varsa mutlaka daha önceden belirlenen bir parola da vardır ve bu bir yerde saklanıyordur. Bu şekilde parola veya diğer düz metin halinde saklanan diğer veriler ele geçirilebilir.

“Hash”leme İş Başında

İşte tam bu nedenle de günümüzde hashleme algoritmaları kullanılır. Parolalar veya çeşitli veriler asla düz metin halinde tutulmaz. Bir siteye kayıt olurken belirlemiş olduğunuz parola olduğu haliyle veritabanında saklanmaz. Tek yönlü bir algoritma yardımıyla şifrelenir ve gerçek paroladan alakasız olacak şekilde harf ve sayılardan oluşan bir hale getirilir. Dışarıdan sisteme erişen saldırgan şifrelenmiş verileri ele geçirse de bunlar bir işe yaramayacaktır zira bu çoğunlukla tek yönlü bir şifreleme biçimidir ve eski haline döndürülemez.

Peki biz nasıl doğru parolayı girince servislere güvenle erişim sağlayabiliyoruz? Aslında bu soru basit ve kendi içinde cevabını taşıyor. Önceden belirlemiş olduğumuz parola orijinal bir algoritmayla şifrelenerek veritabanında saklanıyor. Biz servislere erişmek için giriş kısmına parolamızı girdiğimizde bu parola tekrardan aynı algoritma ile şifrelenir, tuzlanır ve daha önceden kaydedilen parolanın şifrelenmiş haliyle eşleştirilir. Eğer birbirine uyuyorsa hesaba başarıyla giriş yapılır.

Peki Sadece Hashleme Yeterli mi?

Buna net bir cevap vermek hayli ilginç olacak zira bu sorunun cevabı uygulanış şekline göre değişebilmekte. Kullanılan hash algoritması, şifre ve yöntem büyük önem arz ediyor.

Şifrelemede “Plain Text” (düz metin), şifre ve şifre algoritması yardımıyla karıştırılır. Şifrelenen veri şifrenin tekrar girilmesiyle geri eski haline getirilebilir. Her daim iki yönlü bir dönüşüm vardır. Hashlenmiş veride ise böyle bir şey söz konusu değildir.

Aşağıdaki resimler konu hakkında size fikir verecek.

Hash
Encrypt ve Decrypt işlemlerinin nasıl gerçekleştiğini anlatan bir görsel. – Kaynak: Elcomsoft
Hash
Hash algoritmasının nasıl çalıştığını gösteren bir görsel. – Kaynak: Elcomsoft

Hashlemenin en ilginç ve etkin özelliği ise ele alınan veri kümesindeki en ufak parça ve en ufak bir veri değişse bile farklılık gözlemlenir. Örneğin aşağıda SHA-1 ile şifrelenen bir veri vardır.

Orijinal Metin: Technopat.NET

SHA-1 Değeri: 07a6e54ace6d72fe6aa3439e8a47318ea782b08a

Orijinal Metin: TechnopatNET

SHA-1 Değeri: 7fda47f968da0a527f3dbc202f9ad0c278bd3aa9

Orijinal Metin: Technopat.NET1

SHA-1 Değeri: ddb964d359e197935cf78dd540e004dc0029a5d9

Bu üç örnekte üç farklı durum ele alındı. İlk örnekteki metin SHA-1 ile hashlendiğinde 07a6e54ace6d72fe6aa3439e8a47318ea782b08a çıktısını elde ettik. Diğer iki örneğin birisinde TLD öncesi nokta işareti silindi, diğerindeyse ek bir sayı daha eklendi. Gördüğünüz gibi en ufak değişikliklerde bile hashleme sonucu ortaya çıkan değerler bambaşkadır. Bu nedenle hashleme sadece parolaların güvenli bir şekilde saklanılmasında değil, birtakım verilerin de doğruluğunu kontrol etmek amacıyla da kullanılır. ISO dosyaları, programlar veya gönderilen kritik dosyaların size ulaşırken bozulmaya uğrayıp uğramadığını veya başkaları tarafından müdahale edilip edilmediğini hash değerlerini kontrol ederek anlayabilirsiniz.

Tabii ki bu yine de her algoritmanın tam anlamıyla güvenli bir değer sunduğu söylenilemez. Zira görebileceğiniz gibi en ufak değişikliklerde bile hash değeri büyük oranda, çoğu zaman da birbiriyle alakasız şekilde değişir. Güvensiz algoritmalarda ise büyük ölçüde değişmek yerine, girilen düz metindeki değişiklik kadar hash değerinde değişim gözlemlenir.

Bu ne demek peki? Oldukça basit. Hash değeri baştan değişmediği için elde edilen değerden yola çıkılarak bir süre sonra düz metin kolayca ele geçirilebilir. İlk metin, ufak değişiklik yapılmış metin ve alınan hash değerlerine bakılarak ihtimaller değerlendirilir. Benzer bir yöntem maalesef ki Tally Vault adı verilen ve Hindistan’da oldukça popüler olan iş yönetimi yazılımlarından birinde kullanıldı. Merak ediyorsanız Elcomsoft’un konuyla ilgili yazısını (İngilizce) okuyabilirsiniz.

MD5 ve SHA-1 Terk Edilmeye Başlanıyor

Sadece özel olarak yazılan birtakım algoritmalar değil, genel olarak doğru kabul edilen bazı hashing yöntemlerinin de güvensiz olduğu ortaya çıktı.

MD5 (Message-Digest algoritması 5) temelde kriptografik hash algoritmalarından birisi olmasına rağmen maalesef oldukça önemli güvenlik açıkları çıkmış, kaba kuvvet saldırılarıyla kolayca kırılabilir hale gelmiştir. Ek olarak 2012 yılında ortaya çıkan Flame isimli zararlı yazılımın da yayılmasında zayıf MD5 algoritmasını kullanan Microsoft kod imza sertifikası da kullanıldı. Bunun sonucunda MD5’in güvenilirliği dünya çapında sorgulandı ve bu nedenlerden ötürü algoritma yavaş yavaş  terk edildi.

2017’de ise Google Security ekibi tarafından hazırlanan bir blog girdisinde ilk SHA-1 taklidi duyuruldu. Yapılan açıklamada kriptografi alanında adeta “İsviçre çakısı” hükmünde olan SHA-1 algoritmasının artık başarısız olabileceği, iki farklı dosyanın aynı SHA-1 değerine sahip olmasının mümkün olduğuna değinildi. Google tarafından yapılan duyuruda sektörün SHA-1 kullanımını tamamen terk etmesi gerektiği, SHA-256 gibi daha güvenli algoritmaların tercih edilmesini önerildi.

Peki neden SHA-1 güvensiz hale geldi?

SHA-1; parolalarda, veri bütünlüğünü doğrulamada, çeşitli protokollerde kullanılan bir hashleme algoritması. Google tarafından yapılan algoritmaya yönelik saldırı deneyinde aşağıdaki görselden de anlayabileceğiniz üzere aynı SHA-1 değerine sahip iki farklı dosyanın var olabileceği gösterilmiş. Temelde ne olursa olsun hash algoritmalarının birbirine denk gelmemesi gerekir. Verilerde bir bit bile değişse hash değeri çok daha farklı olmalı.

güvensiz hash algoritması
Güvensiz hash algoritmaları kullanılarak yapılabilecek bir saldırıya örnek. – Kaynak: Google Security Blog

İyi hazırlanmış bir saldırgan maalesef gelen iyi niyetli dosya yerine, temiz dosyayla aynı SHA-1 değerine sahip zararlı bir dosya hazırlayıp bunu kötü amaçlarla kullanabilir. SHA-1 algoritmasının oldukça yüksek işlem gücü kullanılarak güvenliği ihlal edildi. Yine de bu artık güvensiz olduğu gerçeğini değiştirmiyor.

Bir Hash Algoritması Nasıl Olmalı?

Makalemizi bu kısma kadar dikkatlice okuduysanız, bir hash algoritmasının aşağı yukarı nasıl olması gerektiğini tahmin edebiliyorsunuzdur. Çokça bahsettiğimiz gibi, hashleme yöntemi neredeyse bilişim güvenliğinde her yerde kullanılır. Bu nedenle bir hashleme algoritmasının oldukça hızlı hesaplanabilmesi gerekir. Bir Word dosyası doğrulamak için kimse 3 gün beklemek istemez, zaten böyle bir hash algoritması da piyasada kabul görmeyecektir.

Ek olarak hashing algoritması kesinlikle tek yönlü olmalıdır. Orijinal veri kesinlikle hash değerine göre yeniden oluşturulamamalı, farklı veriler aynı hash değerine sahip olmamalı. Elinizde hashlediğiniz parolanız bulunuyorsa ve parolanızı unuttuysanız geri elde etmek için hash algoritmasını kırmakla uğraşmak yerine kaba kuvvet saldırısı yöntemini denemelisiniz. Zira kullanılan hashleme yöntemi her ne ise tek yönlüdür, tersine çevrilemez. Bu deneme yanılma yöntemiyle sonuca ulaşmanız parolanızın ne şekilde oluştuğuna bağlı olarak yıllar da sürebilir.

Hash Algoritmalarının Hızları

Bir veri kümesini, metni veya parolayı hash algoritmaları yardımıyla güven altına alacaksanız, algoritmaların işlem süresini de bilmelisiniz. Makalenin başında da belirttiğimiz gibi kimlik doğrulama gibi kullanımlarda, veritabanındaki hash değeri ile girilen parolanın hash değerinin karşılaştırılması yapılır, doğru ise giriş başarıyla gerçekleşir.

Her hash algoritması birbirinin aynısı değildir, bu nedenle hız bakımından her algoritma farklılık gösterebilir. Unutulmaması gereken şey şudur ki, hash fonksiyonlarında veriler yalnızca bir tur yenilenmez. Binlerce kez karıştırılır ve sonuç öyle elde edilir. Eğer hash yöntemleriyle tek yönlü şekilde bambaşka hale getirilen veriler tek yinelemeyle gizlenseydi, modern donanımlarla kolayca bunları kırabiliyor olurduk.

Yinelemenin düşük olmasından dolayı olsa gerek 5 yıllık bir Intel i5 işlemci yardımıyla iOS 10.0 sürümünde saniyede 6 milyona kadar parola denemesi yapılabiliyordu.

Her ne kadar tur sayısı kullanım yerine göre değişse de, biraz sayısal konuşacak olursak Microsoft Office yazılımının son sürümlerinde belgelerin 100.000 kez -ki merkezi işlemcilerle yapılan bir denemede artık saniyede 10 parola denenebilir- iOS 10.2 sürümü ve sonrasında kullanılan yedeklemelerdeki karıştırma işlemi ise 1.000.000 kez yapılır. Bu değişiklikler sonrasında ise CPU yardımıyla yapılan bir kaba kuvvet saldırısı sonucunda dakika başı bir avuç parola deneyebilirsiniz.

Özetle hashlerin yinelenme sayısı arttıkça parola güçlenir, kaba kuvvet saldırıları yavaşlatılır fakat bunun bir nebze de olsa hıza olumsuz etkisi olabilir.

Aşağıda VeraCrypt Benchmark ile yapılmış bir hız testi bulunuyor. Ortalama 500.000 tur yinelenen algoritmaların parolanızı doğrulamak için ne kadar zaman aldığını örnek olarak görebilirsiniz.

VeraCrypt Benchmark ile elde edilen hash algoritması hız değerleri. – Kaynak: Technopat.net

Salting Nedir?

Peki ya zeki birisi en çok kullanılan parolalara karşılık gelen çok sayıda dizenin karmasını hesaplayıp işi kolay yoldan çözmek isterse? Hash değerlerini bu şekilde kırmak kolay olmaz mıydı? İşte bu nedenle hashlenmeden önce parolalara benzersiz ve rastgele bir veri ekleniyor. Bu işleme salting, yani tuzlama deniliyor. Bu işlemlerin sonunda elde edilen parolaya da tuzlanmış, yani salted password denilemkte. Tuzlanıp hashlenerek tutulan parolayı doğrulamak istersek yine salt değerine ve parolanın kendisine ihtiyaç duyarız.

Sonuç ve Özet

Günümüz dünyası dijitalleşmeye devam ettikçe, birtakım güvenlik riskleri de beraberinde geliyor maalesef. İnternetin yeni gelişmeye başladığı dönemlerde parolalar düz metinle tutuluyordu fakat günümüzde bunun yapılması hiç doğru değil. Her gün yüzlerce veri ihlali haberiyle karşılaşıyoruz. Hash algoritmaları işte bu tarz ihlaller sonucunda parolaların doğrudan ele geçirilmesini engelliyor, süreci oldukça yavaşlatan en önemli etkenlerden birisi oluyor.

Özetle bu yazımızda hash algoritmalarına, hashlemenin önemine ve birçok temel kavramdan bahsettik. Merak ettikleriniz için Technopat Sosyal’de konu açabilir, eklemek istedikleriniz varsa yorumlarda belirtebilirsiniz. Esen kalın.

Etiketler: algoritmadetaylıflame malwaregooglegüvenlikhashhash nedirhashlemeMD5nedirparolasaltSHA-1sha-256şifreşifrelemessltechnopattek yönlü algoritmatlsveritabanı
PaylaşPaylaşTweetYollaPaylaş
M. Akil Gündoğan

M. Akil Gündoğan

https://www.technopat.net/

Yorumlar 4

  1. Gürkan says:
    5 yıl önce

    ISO dosyalarının, programların HASH’i neye göre oluşturuluyor?

    Yanıtla
    • Akil Gündoğan says:
      5 yıl önce

      Merhaba, öncelikle yorumunuz için çok teşekkür ederim.

      ISO dosyaları ve programlar da temelde bitlerden oluşan birer veri kümesi diyebiliriz. Yine aynı hash algoritmalarıyla beraber doğrulama amaçlı kullandığımız değerler elde edilir.

      Eğer ilgili dosya içerisindeki bir bit bile değişmişse, veri kümesinde değişiklik meydana geldiğinden hash değeri de değişecektir. Bu nedenle dosyaların orijinalliğini veya sağlamlığını kontrol ederken güvenilir kabul edilen hash algoritmalarından yararlanıyoruz.

      Yanıtla
      • Makak says:
        5 yıl önce

        Bir soruda ben sorsam… Oyunlardaki gem veya gold lar hash degerlerinin icine yerlestirilir mi

        Yanıtla
  2. Oğuzhan says:
    4 yıl önce

    Bu işi profesyonel olarak yapan biri olarak büyük bir zevkle tek solukta okudum.Çok değerli bir yazı/derleme olmuş elinize sağlık.

    Yanıtla

Yorum Yap Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

RSS Technopat Sosyal

  • PlayStation 5 vs PC
  • GTX 1060 sistemde CS2 çöküp duruyor
  • 2. el Kindle alınır mı?
  • RTX 5080 4K performansı nasıl?
  • IPhone fanboylarının hissettiği
  • HP Pavilion 2019 GTX 1650 Ti alınır mı?
  • GIMP 3 PNG dosyası eklerken çöküyor
  • 18 BTU klima önerisi
  • Doğal gaz tesisatının yerden geçmesi daha mı mantıklı?
  • GigaFiber ne zaman gözükmeye başlar?

Technopat Video

Şu an oynayan

Apple’ı 20’ye katlayan saat! Huawei Watch GT 6 Pro incelemesi

Huawei Watch GT 6 Pro

Apple’ı 20’ye katlayan saat! Huawei Watch GT 6 Pro incelemesi

Akıllı Saat
Technopat ofisi Eylül ayında neler aldı? 

Technopat ofisi Eylül ayında neler aldı? 

Giyilebilir Teknoloji
Gigabyte AORUS FO27Q5P: 500 Hz QD-OLED ile rekabetçi oyunculara özel monitör

Gigabyte AORUS FO27Q5P: 500 Hz QD-OLED ile rekabetçi oyunculara özel monitör

Haber

Teknoloji tutkunu Technopatların ortak adresi: Technopat.net!

Güncel teknoloji, internet, donanım, yazılım, oyun ve daha fazlası haber, makale ve videolar ile Technopat’ta sizlerle.


01010100 01100101 01100011 01101000 01101110 01101111 01110000 01100001 01110100

Kategoriler

  • Yapay Zeka
  • Ev Teknolojileri
  • Makale
  • Video

Sosyal Medya

Bağlantılar

  • Hakkında
  • Haber
  • Video
  • Sosyal
  • Çerez Politikası
© 2011-2025 Technopat. Tüm Hakları Saklıdır.
Netse
Çerez Onayı
Web sitemizi ziyaret ettiğinizde, kullanıcı deneyiminizi daha iyi hale getirmek, hizmetlerimizi size daha etkin bir şekilde sunabilmek için çerezler (cookies) ve benzeri araçlar kullanıyoruz. Çerezler, internet sitesinin düzgün çalışmasını sağlamak, içeriği kişiselleştirmek, sosyal medya özellikleri sağlamak ve trafik analizi yapmak için kullanılan küçük metin dosyalarıdır. Çerezleri nasıl kullandığımız ve kişisel verilerinizi nasıl işlediğimiz hakkında daha fazla bilgi almak için çerez politikamızı ve kişisel veri politikamızı inceleyebilirsiniz.
Fonksiyonel Her zaman aktif
Teknik depolama veya erişim, sadece kullanıcının açıkça talep ettiği belirli bir hizmetin kullanılmasını sağlama amacıyla veya iletişimin elektronik iletişim ağı üzerinden iletilmesinin tek amacıyla yasal olarak kesinlikle gereklidir.
Tercihler
Teknik depolama veya erişim, abone veya kullanıcı tarafından istenmeyen tercihlerin depolanması yasal amacıyla gereklidir.
İstatistikler
Sadece istatistiksel amaçlarla kullanılan teknik depolama veya erişim. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Pazarlama
Teknik depolama veya erişim, reklam gönderimi için kullanıcı profilleri oluşturmak veya kullanıcıyı bir web sitesinde veya birden fazla web sitesinde benzer pazarlama amaçları için takip etmek amacıyla gereklidir.
Seçenekleri yönet Hizmetleri yönetin {vendor_count} satıcılarını yönetin Bu amaçlar hakkında daha fazla bilgi edinin
Tercihleri yönet
{title} {title} {title}
Onayı Yönet
En iyi deneyimleri sunmak için, cihaz bilgilerini saklamak ve/veya bunlara erişmek amacıyla çerezler gibi teknolojiler kullanıyoruz. Bu teknolojilere izin vermek, bu sitedeki tarama davranışı veya benzersiz kimlikler gibi verileri işlememize izin verecektir. Onay vermemek veya onayı geri çekmek, belirli özellikleri ve işlevleri olumsuz etkileyebilir.
Fonksiyonel Her zaman aktif
Teknik depolama veya erişim, abone veya kullanıcı tarafından açıkça talep edilen belirli bir hizmetin kullanılmasını sağlamak veya bir elektronik iletişim ağı üzerinden bir iletişimin iletimini gerçekleştirmek amacıyla meşru bir amaç için kesinlikle gereklidir.
Tercihler
Teknik depolama veya erişim, abone veya kullanıcı tarafından talep edilmeyen tercihlerin saklanmasının meşru amacı için gereklidir.
İstatistik
Sadece istatistiksel amaçlar için kullanılan teknik depolama veya erişim. Sadece anonim istatistiksel amaçlar için kullanılan teknik depolama veya erişim. Mahkeme celbi, İnternet Hizmet Sağlayıcınızın gönüllü uyumu veya üçüncü bir taraftan ek kayıtlar olmadan, yalnızca bu amaçla depolanan veya alınan bilgiler genellikle kimliğinizi belirlemek için kullanılamaz.
Pazarlama
Teknik depolama veya erişim, reklam göndermek için kullanıcı profilleri oluşturmak veya benzer pazarlama amaçları için kullanıcıyı bir web sitesinde veya birkaç web sitesinde izlemek için gereklidir.
Seçenekleri yönet Hizmetleri yönetin {vendor_count} satıcılarını yönetin Bu amaçlar hakkında daha fazla bilgi edinin
Tercihleri görüntüle
{title} {title} {title}
Sonuç bulunamadı
Bütün Sonuçları Göster
  • Giriş
  • Teknoloji Haberleri
  • Sosyal
  • Video
  • Tavsiyeler
  • İncelemeler
    • Video İncelemeler
  • Güvenlik
  • Oyun
  • Makale
    • Pratik
    • Yazar Köşeleri

© 2025 Technopat
Sorularınız için Technopat Sosyal