Cookie İmzalama Nedir?

Cookie imzalama, cookie değerlerine kripto grafik bir imza ekleyerek bütünlüklerini ve özgünlüklerini sağlayan bir güvenlik tekniğidir. Bir sunucu bir cookie'yi tarayıcıya gönderdiğinde, cookie değerine bir HMAC (Hash Tabanlı Mesaj Doğrulama Kodu) ekler. Bu imza, yalnızca sunucunun bildiği gizli bir anahtar kullanılarak oluşturulur. Tarayıcı cookie'yi geri gönderdiğinde, sunucu imzayı doğrulayarak cookie'nin değiştirilmediğini teyit edebilir.

HMAC-SHA1 İmzalama Nasıl Çalışır?

HMAC, bir kripto grafik hash fonksiyonunu gizli bir anahtar ile birleştirerek benzersiz bir imza üretir. Cookie imzalama için süreç şöyle işler:

  1. İmzalama: Orijinal cookie değeri, gizli bir anahtar ile HMAC-SHA1 algoritması kullanılarak bir imza üretilir. İmzalanmış son cookie biçimi değer.imza şeklindedir, imza base64url kodlanmıştır.

  2. Doğrulama: İmzalanmış bir cookie alındığında, sunucu orijinal değeri ve imzayı ayıklar, aynı gizli anahtarı kullanarak beklenen imzayı yeniden hesaplar ve bunları zamana duyarlı bir karşılaştırma ile karşılaştırır, böylece zamanlama saldırılarını önler.

Neden İmzalı Cookieler Kullanılır?

İmzasız cookieler, kullanıcılar veya kötü amaçlı betikler tarafından kolayca değiştirilebilir. Bir kullanıcı oturum kimliğini, kullanıcı rolünü veya cookielerde saklanan diğer hassas verileri değiştirebilir. İmzalı cookieler bunu önler - değer değişirse, imza geçersiz hale gelir.

Araç Açıklaması

Bu araç, popüler cookie-signature npm paketi biçimiyle uyumlu HMAC-SHA1 imzaları kullanarak cookie değerlerini imzalamak ve imzasını çözmek için izin verir. Cookie değerinizi ve gizli anahtarınızı girerek imzalanmış bir cookie oluşturun veya imzalanmış bir cookie yapıştırarak orijinal değerini ayıklayın ve doğrulayın.

Örnekler

Cookie İmzalama:

Girdi (İmzasız) Gizli Anahtar Çıktı (İmzalı)
user123 my-secret-key user123.SNk0sCiCAuZ5cwj0lNdJfUgwqU4
session_abc app-secret session_abc.sBzU4FZRe3BfgNWZQB4viGTH37A

Cookie İmzasını Çözme:

Girdi (İmzalı) Gizli Anahtar Çıktı (İmzasız)
test.sOx9vuKRxxXdUOK0uLcAQ4CIORo password test

Geçersiz İmza Algılama:

Eğer yanlış gizli anahtar veya değiştirilmiş bir değer ile cookie imzasını çözmeye çalışırsanız, araç "Geçersiz imza" hatası verecektir.

Özellikler

  • Herhangi bir gizli anahtar kullanarak HMAC-SHA1 ile cookie imzalama
  • İmzalanmış cookielerin orijinal değerlerini çözme ve doğrulama
  • Doğrulama sırasında zamanlama saldırılarını önleyen zamana duyarlı karşılaştırma
  • Node.js cookie-signature paketi ile uyumlu biçim
  • Verileri sunuculara göndermeden tarayıcı tabanlı işleme Web Crypto API kullanarak

Kullanım Alanları

  • Express.js oturumlarını test etme: Express oturum cookielerinin doğru şekilde imzalandığını ve gizli anahtarınızla çözülebileceğini doğrulayın
  • Kimlik doğrulama sorunlarını ayıklama: Oturum veya giriş sorunlarını gidermek için imzalanmış cookielerin orijinal değerlerini ayıklayın
  • Güvenlik denetimi: Web uygulamanızda cookie imzalarının doğru çalıştığını doğrulayın
  • Kripto grafiye giriş: HMAC tabanlı cookie imzalamanın pratikte nasıl çalıştığını anlayın
  • Geçiş testleri: Gizli anahtarları değiştirirken veya çerçeveler arasında geçiş yaparken cookie uyumluluğunu sağlayın