Sobes.tech
Middle+

HMAC nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

HMAC (Hash tabanlı Mesaj Kimlik Doğrulama Kodu), bir mesajın özgünlüğünü ve bütünlüğünü doğrulamak için hash fonksiyonu ve gizli anahtar kullanılarak yapılan bir mekanizmadır.

İşte çalışma şekli:

  1. Mesaj ve gizli anahtar belirli bir şekilde hash fonksiyonu aracılığıyla işlenir.
  2. Sonuç olarak, benzersiz bir hash kodu (HMAC) elde edilir.
  3. Bu HMAC, mesajla birlikte gönderilir.
  4. Alıcı, aynı mesaj ve gizli anahtara sahip olarak, HMAC'ı yeniden hesaplar.
  5. Hesaplanan HMAC, alınan HMAC ile eşleşiyorsa, mesajın değiştirilmediği ve gizli anahtara sahip bir kaynaktan geldiği kabul edilir.

HMAC_K(m) = Hash((K ⊕ opad) || Hash((K ⊕ ipad) || m))

Burada:

  • K — gizli anahtar.
  • m — mesaj.
  • Hash — kullanılan hash fonksiyonu (örneğin, SHA-256).
  • || — birleştirme.
  • — XOR işlemi.
  • ipad (iç yastık) ve opad (dış yastık) — algoritmada kullanılan sabitler.

Normal hash fonksiyonundan farkı, HMAC'in gizli anahtar kullanmasıdır, bu da onu belirli saldırı türlerine karşı dayanıklı kılar, özellikle hash taklidi saldırılarına karşı.

Web geliştirmede uygulamaları:

  • Bearer tokenlar: Kimlik doğrulama tokenlarının oluşturulması ve doğrulanması.
  • İstek imzalama: API'ye yapılan isteklerin özgünlüğünü doğrulama.
  • Veri doğrulama: Verilerin iletim sırasında değiştirilmediğinin garantisi.

Avantajlar:

  • Yüksek kriptografik dayanıklılık.
  • Farklı hash fonksiyonlarıyla uyumlu.
  • Uygulaması kolay.