0Pricing
Cryptology Academy · Ders

HS256 ve RS256: Simetrik ve Asimetrik JWT'ler

Kimlik doğrulama sisteminiz için doğru imzalama algoritmasını seçin.

HS256 ve RS256: Simetrik ve Asimetrik JWT'ler, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 2. 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.

Algoritma Aileleri

JWT imzalama işleminde simetrik (HMAC) veya asimetrik (RSA, ECDSA) algoritmalar kullanılır. HS256 = HMAC-SHA256. RS256 = RSA-PKCS1v1.5-SHA256. ES256 = ECDSA-P256-SHA256. Seçim, anahtar dağıtımını ve güven modelini etkiler.

HS256: Simetrik HMAC

HS256, hem imzalama hem de doğrulama için tek bir ortak gizli anahtar kullanır. Hem veren hem de her doğrulayıcı aynı gizli anahtara sahip olmalıdır. Uygulaması basittir ancak anahtarın tüm doğrulayıcılara güvenli biçimde dağıtılmasını gerektirir.

HS256 Kullanım Alanları

HS256, veren ile doğrulayıcının aynı hizmet olduğu durumlar için uygundur (ör. kendi belirteçlerini imzalayan ve doğrulayan tek gövdeli bir API). Birden fazla bağımsız hizmetin belirteçleri doğrulaması gerekiyorsa HS256'yı asla kullanmayın; tümünün gizli anahtara sahip olması gerekir.

RS256: Asimetrik RSA

RS256, imzalama için özel anahtar, doğrulama için açık anahtar kullanır. Özel anahtarı yalnızca kimlik doğrulama sunucusu tutar. Tüm kaynak sunucuları açık anahtarı JWKS uç noktasından alır ve yerel olarak doğrular; gizli anahtar paylaşımı gerekmez.

RS256 Kullanım Alanları

RS256, mikro hizmet mimarileri için idealdir: kimlik sağlayıcısı belirteçleri imzalar; her alt hizmet, istek başına IDP ile iletişim kurmadan açık anahtarla doğrulama yapar. Anahtar dağıtımı riskini artırmadan yatay olarak ölçeklenir.

ES256: ECDSA Seçeneği

ES256, P-256 üzerinde ECDSA kullanır. İmza boyutu, 2048 bitlik anahtar kullanan RS256'nın 256 baytına kıyasla 64 bayttır. Doğrulama RS256'dan yaklaşık 10 kat daha hızlıdır. Bant genişliğinin veya doğrulama hızının kritik olduğu durumlarda (mobil API'ler, IoT) tercih edilir.

Anahtar Döndürme

RS256/ES256 için: yeni anahtarı (yeni kid) JWKS'ye yayımlayarak, yeni belirteçleri yeni anahtarla imzalayarak, eski belirteçlerin süresinin dolması için bir bekleme süresi tanıyarak ve ardından eski anahtarı kaldırarak anahtarları yenileyin. HMAC anahtar yenileme işlemi, yeni gizli anahtarın yeniden dağıtılmasını gerektirir.

Performans Karşılaştırması

HS256 doğrulaması: ~1 µs. RS256 doğrulaması: ~100 µs (2048 bit). ES256 doğrulaması: ~50 µs (P-256). HS256 en hızlı seçenektir ancak gizli anahtarın paylaşılmasını gerektirir. ES256, dağıtık sistemlerde güvenlik ve performans arasında en iyi dengeyi sağlar.

alg Üstbilgisi Saldırısına Ön Bakış

Kritik bir güvenlik açığı: doğrulayıcı alg üstbilgisine körü körüne güvenirse saldırgan, alg değerini RS256'dan HS256'ya değiştirebilir ve belirteci, herkese açık olan sunucunun açık anahtarını HMAC gizli anahtarı olarak kullanarak imzalayabilir. Çözüm: alg üstbilgisine asla güvenmeyin.

Algoritma Seçimi

Karar: tek hizmetli → HS256. Çok hizmetli/mikro hizmetli → RS256 veya ES256. Yüksek hacimli mobil uygulamalar → ES256. Emin değilseniz ES256 (P-256) veya 2048+ bit anahtarlı RS256 kullanın. Performansa duyarlı yollarda asla RS512 kullanmayın.

Kütüphaneler ve Standartlar

PyJWT (Python), jose (Node.js) veya auth0/java-jwt kullanın. Doğrulama çağrısında beklenen algoritmayı her zaman sabitleyin: jwt.decode(token, secret, algorithms=["HS256"]). algorithms=None değerini asla geçirmeyin ve parametreyi atlamayın.

Hızlı Kontrol

Mikro hizmet mimarilerinde RS256 neden HS256'ya tercih edilir?

Özet

HS256 simetriktir (paylaşılan gizli anahtar); RS256/ES256 asimetriktir (özel anahtarla imzalama, açık anahtarla doğrulama). Çok taraflı sistemlerde asimetrik algoritmalar kullanın. Sıradaki konu: JWT güvenlik açıklarından yararlanma.

Sıkça Sorulan Sorular

“HS256 ve RS256: Simetrik ve Asimetrik JWT'ler” dersi ücretsiz mi?

Evet — “HS256 ve RS256: Simetrik ve Asimetrik JWT'ler” 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.

“HS256 ve RS256: Simetrik ve Asimetrik JWT'ler” dersinde ne öğreneceğim?

Kimlik doğrulama sisteminiz için doğru imzalama algoritmasını seçin. 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 2. dersidir.

“HS256 ve RS256: Simetrik ve Asimetrik JWT'ler” 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. JWT Anatomisi: Üst Bilgi, Yük ve İmza
  2. HS256 ve RS256: Simetrik ve Asimetrik JWT'ler
  3. JWT Güvenlik Açıkları: alg=none ve Anahtar Karışıklığı
  4. Güvenli JWT Uygulaması için En İyi Uygulamalar
← Cryptology Academy Sayfasına Dön