0Pricing
Cloud & IT Cert Prep · Ders

Özetleme ve Veri Bütünlüğü

SHA-256, MD5 ve HMAC'in, verilerin aktarım veya depolama sırasında değiştirilmediğini doğrulayan sabit uzunluklu özetler nasıl ürettiğini öğrenin.

Özetleme ve Veri Bütünlüğü, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.

Özet İşlevi Nedir?

Kriptografik özet işlevi, her boyuttaki bir girdiyi alıp hash, özet veya parmak izi adı verilen sabit uzunlukta bir çıktı üreten matematiksel bir algoritmadır. Özet işlevleri tek yönlüdür: bir hash verildiğinde, özgün girdiyi belirlemek hesaplama açısından uygulanabilir olmamalıdır. Bu işlevler belir deterministiktir: aynı girdi her zaman aynı hash'i üretir. Özet işlevleri, veri bütünlüğü doğrulamasının, dijital imzaların, parola depolamanın ve diğer birçok güvenlik mekanizmasının temelidir.

Güvenli Özet İşlevlerinin Özellikleri

Güvenli bir kriptografik özet işlevi dört temel özelliğe sahip olmalıdır. Ögörüntü direnci: bir hash çıktısı verildiğinde, bunu üreten herhangi bir girdiyi bulmak hesaplama açısından uygulanabilir olmamalıdır. İkinci ögörüntü direnci: bir girdi verildiğinde, aynı hash'e sahip farklı bir girdi bulmak uygulanabilir olmamalıdır. Çakışma direnci: aynı hash çıktısını üreten iki farklı girdi bulmak uygulanabilir olmamalıdır. Avalanche etkisi: girdinin tek bir bitini değiştirmek bile tamamen farklı bir hash çıktısına neden olur ve kurcalamanın algılanmasını sağlar.

# Avalanche effect demonstration
echo -n 'Hello' | sha256sum
# 185f8db32...  (completely different when one char changes)
echo -n 'Hello!' | sha256sum
# 334d016f7...  (entirely different hash)

# Same input ALWAYS produces same hash (deterministic)
echo -n 'Security+' | sha256sum
echo -n 'Security+' | sha256sum
# Both outputs are identical

MD5: Kırılmış ve Kullanımdan Kaldırılmış

MD5 (Message Digest 5) 128 bitlik bir hash üretir ve bir zamanlar yaygın olarak kullanılırdı. Ancak araştırmacılar 2004 yılında MD5'e karşı çakışma saldırılarını gösterdi; yani aynı hash'i üreten iki farklı girdi bulunabiliyordu. Bu, bütünlük doğrulaması açısından felaket niteliğindedir: bir saldırgan, özgün dosyayla aynı MD5 hash'ine sahip kötü amaçlı bir dosyayla dosyayı değiştirebilir. MD5, kriptografik güvenlik açısından tamamen kırılmıştır ve bütünlük doğrulaması, dijital imzalar veya parola özetleme için kullanılmamalıdır. Yine de güvenlikle ilgili olmayan sağlama toplamlarında (eski dosya doğrulamasında) bazen görülür; bu kullanım yalnızca kazara oluşan bozulmaları algılamak için kabul edilebilir.

SHA Ailesi: SHA-1, SHA-256, SHA-3

Secure Hash Algorithm (SHA) ailesi, Security+ için en önemli hash işlevleri grubudur. SHA-1 (160 bit) yıllarca standart olarak kullanıldı, ancak 2017'de uygulamalı bir çakışma saldırısıyla kırıldı (Google'ın SHAttered projesi); artık kullanımdan kaldırılmıştır. SHA-256 (SHA-2 ailesinin bir parçası, 256 bit çıktı) dijital imzalar, TLS sertifikaları ve dosya bütünlüğü doğrulaması için günümüzdeki sektör standardıdır. SHA-3 (Keccak), SHA-2'nin yapısını hedefleyen saldırılara karşı direnç sunan NIST'in alternatif algoritmasıdır; ancak çoğu uygulamada baskın seçenek SHA-256 olmaya devam eder.

# Common hash computations
echo -n 'password123' | sha256sum
# a665a4592...64 hex chars = 256 bits

echo -n 'password123' | sha512sum  
# b109f3bb...128 hex chars = 512 bits (SHA-512)

# File integrity check
sha256sum /path/to/downloaded_file.iso > file.sha256
sha256sum -c file.sha256
# file.iso: OK

Parola Depolama için Özet İşlevleri

Parolaları düz metin olarak depolamak hiçbir zaman kabul edilemez. Bir kullanıcı parola oluşturduğunda, veritabanına parolanın kendisi yerine bir hash kaydedilir. Kullanıcı giriş yaptığında, girdiği parolanın hash'i alınır ve kayıtlı hash ile karşılaştırılır. Ancak standart SHA-256 parola depolamak için fazla hızlıdır; saldırganlar, ele geçirilmiş parola veritabanlarında saniyede milyarlarca hash'i denemek için GPU'ları kullanır. bcrypt, PBKDF2 ve Argon2 gibi amaca özel parola özetleme işlevleri, toplu kırmayı uygulanamaz hâle getiren hesaplama maliyeti (iş faktörleri) ve bellek gereksinimleri ekler.

# bcrypt hash example (Python-style pseudocode)
import bcrypt
password = b'mySecretPassword'
# Hash with work factor of 12 (2^12 = 4096 iterations)
hashed = bcrypt.hashpw(password, bcrypt.gensalt(rounds=12))
# Stored in DB: $2b$12$H0qS/LkPkAiH8KlxJb3lFuK...

# Verify (never compare raw hashes for bcrypt)
bcrypt.checkpw(password, hashed)  # Returns True

Salt Kullanımı: Gökkuşağı Tablolarını Etkisiz Kılma

Gökkuşağı tablosu, yaygın parolaları bunların hash'leriyle eşleyen, önceden hesaplanmış bir arama tablosudur; saldırganın bir hash'i anında arayıp özgün parolayı bulmasına olanak tanır. Gökkuşağı tablolarını etkisiz kılmak için parola hash'lerine salt eklenmelidir. Salt, hashing işleminden önce parolaya eklenen rastgele bir değerdir; iki kullanıcının parolası aynı olsa bile her kullanıcının hash'ini benzersiz hâle getirir. Salt, hash'in yanında saklanır (gizli olması gerekmez). Saldırganın parola veritabanınızın tamamına erişimi olsa bile önceden hesaplanmış gökkuşağı tabloları işe yaramaz; çünkü her hash için farklı bir salt kullanılmıştır.

# Salt demonstration
# Without salt: same password = same hash (rainbow table attack works)
# SHA256('password123') = always the same hash

# With salt: same password + random salt = unique hash
# SHA256('password123' + 'aBc8xZ') = unique hash for this user
# SHA256('password123' + 'mK2pYq') = completely different hash

# The salt is stored in the database alongside the hashed value
# Format: $salt$hash or combined as in bcrypt output

HMAC: Özetlemeye Kimlik Doğrulama Ekleme

HMAC (Hash-based Message Authentication Code), bir hash işlevini gizli anahtarla kullanarak kimlik doğrulama kodu üreten bir yapıdır. Düz bir hash'in aksine HMAC yalnızca gizli anahtarı bilen taraflarca hesaplanabilir ve doğrulanabilir. Bu, hem bütünlük (değişiklikleri algılama) hem de kimlik doğrulama (mesajın anahtara sahip birinden geldiğini kanıtlama) sağlar. HMAC-SHA256; API kimlik doğrulamasında (API isteklerini imzalamada), JWT belirteçlerinde ve TLS MAC işlemlerinde yaygın olarak kullanılır. Bir mesajı ele geçiren saldırganın, mesajı hazırlanmış başka bir içerikle değiştirmesini engeller.

# Compute HMAC-SHA256 with OpenSSL
openssl dgst -sha256 -hmac 'my-secret-api-key' -hex api_request.json
# Output: HMAC-SHA256(api_request.json)= 3d4e2f...

# Only someone with 'my-secret-api-key' can generate or verify this HMAC
# Used in AWS Signature V4 for API authentication
# Used in JWT HS256 algorithm for token integrity

Dijital İmzalarda Özet İşlevleri

Özet işlevleri dijital imzalarda merkezi bir rol oynar. Büyük bir belgeyi imzalarken belgenin tamamını özel anahtarla şifrelemezsiniz; bu son derece yavaş olur. Bunun yerine: (1) belgenin hash'ini hesaplarsınız (hızlıdır ve küçük, sabit uzunlukta bir özet üretir), ardından (2) küçük hash'i özel anahtarla imzalarsınız. İmza yalnızca şifrelenmiş bir hash'tir. Doğrulama da aynı düzeni izler: hash'i elde etmek için imzanın şifresini çözün, belgeyi bağımsız olarak hash'leyin ve karşılaştırın. SHA-256 tüm modern PKI sertifikalarında zorunludur; SHA-1 yeni sertifikalarda yasaktır.

Dosya Bütünlüğü İzleme (FIM)

Dosya Bütünlüğü İzleme (FIM), kritik sistem dosyalarındaki yetkisiz değişiklikleri algılamak için hash işlevlerini kullanır. Başlangıçta FIM aracı, izlenen tüm dosyaların hash'ini alır ve hash'leri güvenli biçimde saklar. Belirli aralıklarla (veya sürekli olarak) dosyaların hash'lerini yeniden alır ve başlangıç temel değerleriyle karşılaştırır. Herhangi bir uyuşmazlık, bir dosyanın değiştirilmiş olduğunu gösterir; bu değişiklik kötü amaçlı yazılımdan veya yetkisiz bir yönetici işleminden kaynaklanmış olabilir. Tripwire, AIDE (Linux) ve Windows'un kendi bütünlük denetimi gibi FIM araçları SHA-256 hash'lerini kullanır. FIM, kart sahibi verilerinin bulunduğu ortamları korumak için PCI-DSS gibi uyumluluk çerçeveleri tarafından zorunlu tutulur.

# AIDE (Advanced Intrusion Detection Environment) - Linux FIM
# Initialize baseline database
aide --init
# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

# Check for changes (run via cron daily)
aide --check
# Output shows any files that were added, changed, or deleted
# File: /etc/passwd changed
# MD5 : old_hash != new_hash

Sağlama Toplamları ve Kriptografik Hash'ler

Sağlama toplamlarını kriptografik hash'lerden ayırt etmek önemlidir. CRC32 gibi sağlama toplamları, aktarım sırasında kazara oluşan veri bozulmalarını algılamak için tasarlanmıştır; hızlı ve basittir, ancak saldırgan tarafından kolayca sahteleri üretilebilir. Kriptografik hash'ler (SHA-256), kötü niyetli manipülasyonlara karşı bile çakışmaya dayanıklı ve kurcalamayı belli edecek şekilde tasarlanmıştır. Yalnızca bir indirmenin aktarım sırasında bozulmadığını doğrulamanız gerekiyorsa sağlama toplamlarını; bir dosyanın saldırgan tarafından kasıtlı olarak değiştirilmediğini doğrulamanız gerekiyorsa kriptografik hash'leri kullanın.

Uygulamada Hash Çakışması Saldırıları

Hash çakışması saldırılarının gerçek dünyada etkileri vardır. 2017'de araştırmacılar aynı SHA-1 hash'ine sahip iki farklı PDF dosyası oluşturarak SHA-1 sertifikalarının sahtesinin üretilebileceğini gösterdi. 2008'de araştırmacılar, meşru görünen sahte bir CA sertifikası oluşturmak için MD5 çakışmalarını kullandı. Tarayıcıların MD5 ve SHA-1 sertifikalarını reddetmesinin ve sertifika yetkililerinin en az SHA-256 kullanmak zorunda olmasının nedeni bu saldırılardır. Çakışma saldırılarını anlamak, algoritmaların kullanımdan kaldırılmasına ilişkin kararların neden alındığını ve 'ama hâlâ bir hash üretiyor' ifadesinin kırılmış algoritmaları kullanmak için neden yeterli bir gerekçe olmadığını açıklamanıza yardımcı olur.

Hızlı Kontrol

Bu derste işlenen CompTIA Security+ (SY0-701) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: hash işlevleri, bütünlük doğrulaması için sabit uzunlukta özetler üretir; MD5 ve SHA-1 kırılmış ve kullanımdan kaldırılmıştır; SHA-256 günümüzdeki standarttır; salt kullanımı gökkuşağı tablosu saldırılarını etkisiz kılar; HMAC ise paylaşılan gizli anahtarı kullanarak hashing işlemine kimlik doğrulama ekler. Sırada Anahtar Değişimi ve Hibrit Şifreleme konusunu inceleyeceğiz.

Sıkça Sorulan Sorular

“Özetleme ve Veri Bütünlüğü” dersi ücretsiz mi?

Evet — “Özetleme ve Veri Bütünlüğü” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.

“Özetleme ve Veri Bütünlüğü” dersinde ne öğreneceğim?

SHA-256, MD5 ve HMAC'in, verilerin aktarım veya depolama sırasında değiştirilmediğini doğrulayan sabit uzunluklu özetler nasıl ürettiğini öğrenin. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Özetleme ve Veri Bütünlüğü” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Simetrik Şifreleme Algoritmaları
  2. Asimetrik Şifreleme ve Anahtar Çiftleri
  3. Özetleme ve Veri Bütünlüğü
  4. Anahtar Değişimi ve Hibrit Şifreleme
← Cloud & IT Cert Prep Sayfasına Dön