Cryptology Academy · Ders

JWT Anatomisi: Üst Bilgi, Yük ve İmza

base64url bölümlerini çözümleyin ve her JWT alanını anlayın.

1. ders / 413 adım

JWT Anatomisi: Üst Bilgi, Yük ve İmza, 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.

JWT Nedir?

JSON web belirteci (JWT), RFC 7519'da tanımlanan kompakt ve URL güvenli bir belirteç biçimidir. Beyanları (bir konu hakkındaki iddiaları) ve kriptografik imzayı tek bir dizede kodlayarak durum bilgisi tutulmayan kimlik doğrulamayı mümkün kılar.

Üç Parçalı Yapı

JWT şu biçimdedir: base64url(header).base64url(payload).base64url(signature). Nokta, parçaları birbirinden ayırır. Başlık ve yük okunabilir durumdadır (base64url ile kodlanmıştır, şifrelenmemiştir). Kriptografik olan yalnızca imzadır.

Başlık

Başlık bir JSON nesnesidir: {"alg":"HS256","typ":"JWT"}. alg, imzalama algoritmasını (HS256, RS256, ES256, none) belirtir. typ her zaman "JWT" değerindedir. Ek başlıklarda anahtar seçimi için kid (anahtar kimliği) bulunabilir.

Yük / Beyanlar

Standart kayıtlı beyanlar: iss (veren), sub (konu), aud (hedef kitle), exp (sona erme Unix zaman damgası), nbf (başlangıç zamanı), iat (veriliş zamanı), jti (iptal için JWT kimliği). Özel beyanlar, eklenen diğer tüm anahtar-değer çiftleridir.

JWT Kodunu Çözme

import base64, json token = "eyJ..." parts = token.split(".") header = json.loads(base64.urlsafe_b64decode(parts[0]+"==")) payload = json.loads(base64.urlsafe_b64decode(parts[1]+"==")) print(header, payload)

İmza Doğrulama

HS256 için: HMAC-SHA256(base64url(header)+"."+base64url(payload), secret). Alıcı bu değeri yeniden hesaplar ve imza parçasıyla karşılaştırır. Değerler eşleşiyor ve belirtecin süresi dolmamışsa belirteç geçerlidir.

Asimetrik İmzalar

RS256 için özel anahtar, header.payload dizesini RSA-SHA256 kullanarak imzalar. Açık anahtara sahip olan herkes, özel anahtara ihtiyaç duymadan doğrulama yapabilir. Açık anahtarlar JWKS (JSON Web Anahtar Kümesi) uç noktaları (ör. /.well-known/jwks.json) üzerinden dağıtılır.

Base64url Kodlaması

Base64url, + işaretini - ile ve / işaretini _ ile değiştirir; = dolgusu kullanılmaz. Bu, JWT'leri yüzde kodlamasına gerek kalmadan URL'lerde, HTTP başlıklarında ve çerezlerde güvenle kullanmayı sağlar. Ham baytlar hâlâ şifrelenmiş değildir; yalnızca kodlanmıştır.

JWT'ler Varsayılan Olarak Şifrelenmez

JWT yükü, base64url kodlamasını çözen herkes tarafından görülebilir. Gerçek şifreleme için "enc" algoritmasına sahip JWE (JSON Web Encryption) kullanmadığınız sürece gizli bilgileri (parolalar, sosyal güvenlik numaraları) JWT yüküne asla koymayın.

Belirteç Ömrü

exp değerini kısa bir süreye ayarlayın (erişim belirteçleri için 15-60 dakika). Uzun ömürlü JWT'ler riski biriktirir; çalınmaları durumunda süreleri dolana kadar geçerli kalırlar. Yeni ve kısa ömürlü erişim belirteçleri vermek için güvenli biçimde saklanan yenileme belirteçlerini kullanın.

JWKS Keşfi

Kimlik sağlayıcıları (Auth0, Keycloak, Google) bir JWKS URL'si yayımlar. Doğrulayıcı, kid değerine göre açık anahtarları alır, önbelleğe koyar ve her istekte verenle iletişim kurmadan imzaları doğrular. Anahtar döndürme, JWKS uç noktasını günceller.

Hızlı Kontrol

JWT'nin hangi parçası kriptografik imzayı içerir?

Özet

JWT, base64url ile kodlanmış üç JSON parçasından oluşur: başlık (algoritma), yük (beyanlar) ve imza. Yük okunabilir durumdadır; şifrelenmemiştir. Sırada HS256 ile RS256 arasında seçim yapmak var.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Cryptology Academy öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
67
Dersler
261

Sıkça Sorulan Sorular

“JWT Anatomisi: Üst Bilgi, Yük ve İmza” dersi ücretsiz mi?

Evet — “JWT Anatomisi: Üst Bilgi, Yük ve İmza” 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.

“JWT Anatomisi: Üst Bilgi, Yük ve İmza” dersinde ne öğreneceğim?

base64url bölümlerini çözümleyin ve her JWT alanını anlayı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.

“JWT Anatomisi: Üst Bilgi, Yük ve İmza” 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