Güvenli Karma Algoritmasını veya SHA'yı birçok biçimde duyduysanız, en azından 1950'lerden beri karma algoritmaların birçok biçimde var olduğunu bilmelisiniz. Daha önce, karma algoritmalar temel veri bütünlüğü ve kullanıcı kimlik doğrulamalarıyla sınırlıydı, ancak elektronik iletişimlerden yararlanmak isteyen saldırganların hızla artmasıyla, karma algoritmaların rolü değişti. Bugün, karma algoritmalar VPN protokolleri, dijital imzalar, yazılım dağıtımı ve lisans kontrolü, veritabanı dosya sistemi bütünlüğü, Web sayfası dosya değişikliği algılama gibi diğer protokollere dahil edilmiştir. Bununla birlikte, SHA-1 ve SHA-2, şifreleri şifrelemek için birçok işletim sistemi tarafından yaygın olarak kullanılan Güvenli Karma Algoritmalardır (SHA).
SHA-1 ve SHA-2, hassas sınıflandırılmamış bilgilerin korunması için diğer ABD Hükümeti uygulamalarında kullanılmak üzere yasaların gerektirdiği güvenli karma algoritmalar ve diğer şifreleme algoritmaları ve protokolleri içinde kullanımdır. SHA-2, SHA-1'in potansiyel ardılıdır ve selefinden önemli sayıda değişiklik içerir ve farklı özet boyutlarına sahip dört karma işlevden oluşur: SHA-224, SHA-256, SHA-384 ve SHA-512. SHA-2'nin önemli ölçüde daha güçlü ve güvenli olduğuna inanılmaktadır ve SHA-1 ile aynı güvenlik açıklarına maruz kalmamaktadır. SHA-2, SHA-1 algoritmasına biraz benzerlik gösterse de, daha uzun bir karma üretir. Hangisinin daha güvenli ve daha güçlü olduğunu görmek için iki karma algoritmaya bakıyoruz.
SHA-1, mevcut SHA hash işlevlerinde en yaygın kullanılanıdır ve yaygın olarak konuşlandırılan çeşitli güvenlik uygulamalarında ve protokollerinde kullanılır. 1995 yılında Ulusal Güvenlik Ajansı (NSA) tarafından oluşturulan ve NIST tarafından ABD Federal Bilgi İşleme Standardı olarak yayınlanan bir şifreleme bilgisayar güvenliği algoritmasıdır. SHA-1 neredeyse benzersiz bir uzunluk mesajı üretir <264 512 bitlik bloklar halinde. Bu, mesaj özetini hesaplarken sırasıyla 512 bitlik blokları işlediği anlamına gelir. SHA-1, 160 bitlik bir mesaj özeti üretir. Algoritma, 1990'ların başlarında MD4 ve MD5 karma algoritmalarının tasarımında MIT Ronald L. Rivest tarafından kullanılanlara benzer prensiplere dayanmaktadır. SHA-1, Git, Monotone ve Mercurial gibi dağıtılmış revizyon kontrol sistemlerinde de kullanılır.
SHA-2, SHA-1 algoritmasının yerini alan bir dizi şifreleme karma işlevidir. NIST standardı SHA-2, ABD Ulusal Güvenlik Ajansı tarafından tasarlandı ve 2001'de yayınlandı. SHA-2 hash fonksiyonları ailesi SHA-1 ile aynı amaca hizmet eder, ancak öncekinden daha yüksek bir güvenlik seviyesine sahiptir. SHA-1 algoritmasındaki güvenlik açıklarının üstesinden gelmek için tasarlanmıştır. SHA-2, farklı özet boyutlarına sahip dört karma fonksiyon ailesidir: SHA-224, SHA-256, SHA-384 ve SHA-512. SHA-1 gibi, SHA-2 ailesinin tüm fonksiyonları MD yapısını takip eder. SHA-256 ve SHA-512, sırasıyla 32 bit ve 64 bit sözcükler üzerinde çalışan ve bu nedenle farklı algoritmalar kullanan ailenin iki ana örneğidir. Dijital güvenlik sertifikalarını ve belgelerini doğrulamak ve imzalamak için yaygın olarak kullanılır.
- Hem SHA-1 hem de SHA-2, ABD Ulusal Güvenlik Ajansı tarafından tasarlanan ve Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından yayınlanan SHA şifreleme hash fonksiyonları ailesine aittir. Her ikisi de, yasaların belirli ABD Hükümeti uygulamalarında kullanılması için gerekli olan güvenli karma algoritmalar, diğer şifreleme algoritmaları ve protokolleri içinde kullanımdır. Bununla birlikte SHA-2, daha güvenli bir karma algoritması ve şimdi kullanımdan kaldırılmış SHA-1 karma algoritmasının ardılıdır. SHA-1 algoritması artık güvenli değil ve SHA-1 sertifikaları ve ara ürünleri artık tanınmıyor.
- SHA-1 neredeyse benzersiz bir uzunluk mesajı üretir <264 512 bitlik bloklar halinde. İleti özeti hesaplanırken, tipik olarak 40 basamaklı bir onaltılık sayı olarak görüntülenen 512 bitlik blokları sırayla işler. 160 bitlik bir mesaj özeti üretir ve SHA-0'da bulunan güvenlik risklerini düzeltmeye çalışır. Öte yandan SHA-2, farklı özet boyutlarına sahip dört karma fonksiyondan oluşan bir aile: SHA-224, SHA-256, SHA-384 ve SHA-512. 224, 256 ve 384 karma işlevleri için 512 bit bloklarda ve SHA-512 algoritması için 1.024 blokta iletileri işler.
- SHA-1, algoritmadaki güvenlik açıkları yeniden değerlenmeye kadar 2011-2015 arasında yaygın kullanımda birincil sağlama algoritmasıydı. SHA-2, SHA-1 algoritmasındaki güvenlik açıklarının üstesinden gelmek için tasarlanmıştır. SHA-2, SHA-1 algoritmasına biraz benzerlik gösterse de, daha uzun bir karma üretir ve SHA-1'den önemli ölçüde daha güçlü ve güvenlidir. Her iki algoritma da Merkle-Damgård yapısını temel alırken, SHA-2 daha uzun anahtarların daha yüksek güvenlik seviyelerine uygun bir dizi ek SHA algoritmasına sahiptir. Ayrıca, SHA-2, sisteminizi olası ihlallerden korumak için özel olarak tasarlanmış çok geliştirilmiş ve güvenli sertifikalara sahiptir.
Hash algoritmaları 1950'lerden beri birçok biçimde var olmuştur. Veri etkileşimlerinin değeri arttıkça ve siber saldırıların artmasıyla, karma algoritma gereksinimleri değişti. Temel veri bütünlüğü ve kullanıcı kimlik doğrulamaları ile sınırlandırıldığında, karma algoritmalar artık mesaj özetleri ve dijital imzalar oluşturmak, böylece veri bağlarını ve verilerin kaynağını sıkıştırmak için kullanılır. SHA-1'in güvenliği tehlikeye atıldıktan sonra, dijital dünya daha güvenli, daha güçlü bir SHA-2 karma algoritmasına geçti. SHA-2, daha uzun anahtarların daha yüksek güvenlik düzeyine uygun bir dizi ek karma algoritmadır.