0Pricing
Cryptology Academy · Ders

MAC Kavramları ve Uzunluk Genişletme Saldırıları

Gizli bir ön ek eklemenin uzunluk genişletmesine karşı neden güvensiz olduğunu açıklayın.

MAC Kavramları ve Uzunluk Genişletme Saldırıları, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 1. 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, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Mesaj Kimlik Doğrulama Kodları (MAC), paylaşılan bir gizli anahtarla bütünlük ve gerçeklik sağlar. Bu derste MAC'leri, özelliklerini ve saf anahtarlı özetlerdeki kritik bir güvenlik açığını anlayacağız.

MAC Nedir

MAC, bir ileti ve gizli anahtardan hesaplanan kısa bir kimlik doğrulama kodudur. Aynı anahtara sahip alıcı MAC değerini yeniden hesaplar ve doğrular. Anahtar olmadan sahteciliği önler.

MAC, Özet ve İmza Karşılaştırması

Özet: anahtar yoktur, herkese açıktır ve yalnızca bütünlük sağlar. MAC: paylaşılan gizli anahtar kullanır, simetriktir ve bütünlük + gerçeklik sağlar. Dijital imza: özel anahtar kullanır, asimetriktir ve inkâr edememe özelliği ekler. Yalnızca imzalar inkâr edememe sağlar.

Sahteciliğe Karşı Dayanıklılık

Güvenli bir MAC, seçilmiş ileti saldırısı altında varoluşsal olarak sahteciliğe dayanıklı (EUF-CMA) olmalıdır: MAC için istediği iletiyi sorgulayabilen bir saldırgan, daha önce sorgulanmamış yeni bir ileti için geçerli bir MAC üretememelidir.

Saf Anahtarlı Özet: Önekli MAC

Saf yaklaşım: MAC(K, M) = H(K || M). Güvenli görünür; ancak Merkle-Damgård özet işlevlerinde (SHA-256, SHA-512, MD5) uzunluk genişletme saldırılarına açıktır.

Uzunluk Genişletme Saldırısı

M'nin özetlenmesinden sonraki SHA-256 durumu yalnızca H(M)'dir. H(K || M) verildiğinde saldırgan, K'yi bilmeden herhangi bir 'extra' için H(K || M || padding || extra) hesaplayabilir. Yeni veriler eklemek üzere iletiyi genişletir.

Saldırının Pratik Etkisi

Flickr (2009): API, H(K || params) kullanıyordu. Saldırganlar, kimliği doğrulanmış isteklere &api_sig=forgery ekledi. Sonuç olarak yetkisiz API çağrıları geçerli göründü. Bu, tamamen bir uzunluk genişletme açığından yararlanılmasıydı.

Sonekli MAC de Başarısız Olur

MAC(K, M) = H(M || K): çevrimdışı saldırılara açıktır. Saldırgan, K olmadan H(message) hesaplar ve ardından aynı özete sahip bir M' bulmak için doğum günü saldırısından yararlanır. Anahtar, çakışmadan sonra eklenir.

HMAC Bunu Neden Düzeltir

HMAC, özeti farklı anahtar dolgularıyla iki kez sarar: HMAC(K, M) = H((K⊕opad) || H((K⊕ipad) || M)) İç özet, H(ipad_key || M) üretir. Dış özet, bunu opad_key ile sarar. Saldırgan dış özetin başlangıç durumunu ayarlayamadığı için uzunluk genişletmesi başarısız olur.

SHA-3 ve Uzunluk Genişletme

SHA-3, doğası gereği uzunluk genişletme saldırılarına bağışık olan sünger yapısını kullanır. H_SHA3(K || M), geçerli ve basit bir MAC yapısıdır. SHA-2 böyle değildir; SHA-2 ile her zaman HMAC kullanın.

MAC Doğrulamasında Zamanlama Saldırıları

Erken çıkışlı MAC karşılaştırması (==), zamanlama bilgisi sızdırır. 'Doğru' ilk bayt, 'yanlış' ilk bayttan biraz daha uzun sürer. 256 sorgudan sonra 1. bayt bulunur. 256 sorgu daha sonra 2. bayt bulunur. Tam MAC, 16×256 sorguda geri elde edilir.

Kısa Kontrol

MAC(K, M) = SHA256(K || M) neden güvensizdir?

Özet

Uzunluk genişletme saldırıları, saf anahtarlı özetlerin neden başarısız olduğunu gösterir. Sırada HMAC'in yapısını ve güvenlik kanıtını inceleyeceğiz.

Sıkça Sorulan Sorular

“MAC Kavramları ve Uzunluk Genişletme Saldırıları” dersi ücretsiz mi?

Evet — “MAC Kavramları ve Uzunluk Genişletme Saldırıları” 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 Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“MAC Kavramları ve Uzunluk Genişletme Saldırıları” dersinde ne öğreneceğim?

Gizli bir ön ek eklemenin uzunluk genişletmesine karşı neden güvensiz olduğunu açıklayın. Cryptology Academy 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.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, 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 1. dersidir.

“MAC Kavramları ve Uzunluk Genişletme Saldırıları” 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 Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy 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. MAC Kavramları ve Uzunluk Genişletme Saldırıları
  2. HMAC Yapısı ve Güvenlik İspatı
  3. API'lerde HMAC: İstek İmzalama
  4. CMAC ve Poly1305: Blok Şifresi MAC'leri
← Cryptology Academy Sayfasına Dön