JWT Çözücü

Bir JSON Web Token'ın (JWT) başlık, yük ve imza kısımlarını görüntülemek için çözümleyin. Kimlik doğrulama ve yetkilendirmede kullanılan JWT token'larını hata ayıklama ve inceleme için kullanışlıdır. JWT'nizin içeriği hiçbir yerde saklanmayacaktır.

Yük (Talepler):

Başlık (İmzalama Algoritması ve Token Türü):

İmza:

İmza, Base64URL kodlamalı veri olarak görüntülenmektedir. Bu araç tarafından imza doğrulaması yapılmamaktadır.

JSON Web Token Hakkında Daha Fazla Bilgi

JWT Biçimi

JSON Web Token (JWT), iki taraf arasında aktarılacak talepleri temsil etmenin kompakt, URL güvenli bir yoludur. Noktalarla ayrılmış üç Base64URL kodlanmış bölümden oluşur: başlık.yük.imza. Başlık genellikle token türünü (JWT) ve imzalama algoritmasını içerir. Yük, bir varlık (genellikle kullanıcı) hakkındaki talepleri ve ek meta verileri içerir. İmza, mesajın yol boyunca değiştirilmediğini doğrulamak için kullanılır.

JOSE (JSON Nesne İmzalama ve Şifreleme)

JWT, JSON tabanlı verileri güvence altına almanın standartlaştırılmış bir yolunu sağlayan daha büyük JOSE (JSON Nesne İmzalama ve Şifreleme) çerçevesinin bir parçasıdır. JOSE, birbiriyle ilişkili birkaç şartname içerir: imzalı token'lar için JWS (JSON Web İmza), şifreli token'lar için JWE (JSON Web Şifreleme), kriptografik anahtarları temsil etmek için JWK (JSON Web Anahtar) ve kriptografik algoritmaları belirtmek için JWA (JSON Web Algoritma).

JSON Web İmza (JWS)

Karşılaştığınız çoğu JWT, JWS token'larıdır - imzalanmışlardır ancak şifrelenmemişlerdir. Bu, herkesin yükü Base64URL çözümleyerek okuyabileceği, ancak imzayı geçersiz kılmadan değiştiremeyeceği anlamına gelir. JWS bütünlük ve doğruluk sağlar: token'ın güvenilir bir tarafça verildiğini ve değiştirilmediğini doğrulayabilirsiniz.

İmzalama Algoritmaları

JWS, token'ları imzalamak için çeşitli kriptografik algoritmaları destekler. Bunlar iki kategoriye ayrılır: simetrik algoritmalar (imzalama ve doğrulama için aynı anahtar) ve asimetrik algoritmalar (imzalama için özel anahtar, doğrulama için açık anahtar).

HMAC Algoritmaları (Simetrik)

HS256, HS384 ve HS512, sırasıyla SHA-256, SHA-384 veya SHA-512 ile HMAC (Hash Tabanlı Mesaj Kimlik Doğrulama Kodu) kullanır. Bunlar simetrik algoritmalardır - token'ı hem imzalamak hem de doğrulamak için aynı gizli anahtar kullanılır. HMAC algoritmaları hızlı ve basittir ancak her iki tarafın da aynı gizli anahtara ihtiyaç duyması nedeniyle güvenli anahtar dağıtımı gerektirir.

RSA Algoritmaları (Asimetrik)

RS256, RS384 ve RS512, SHA-256, SHA-384 veya SHA-512 ile RSASSA-PKCS1-v1_5 kullanır. PS256, PS384 ve PS512, RSASSA-PSS (olasılıksal imza şeması) kullanır. RSA algoritmaları imzalamak için özel anahtar, doğrulamak için açık anahtar kullanır. Bu, doğrulama anahtarının güvenliği tehlikeye atmadan herkese açık olarak paylaşılmasını sağlar - birden fazla hizmetin token'ları doğrulaması gereken dağıtık sistemler için idealdir.

Eliptik Eğri Algoritmaları (Asimetrik)

ES256, ES384 ve ES512, sırasıyla P-256, P-384 veya P-521 eğrileriyle ECDSA (Eliptik Eğri Dijital İmza Algoritması) kullanır. EC algoritmaları RSA ile aynı güvenliği daha küçük anahtar boyutlarıyla sunar, bu da daha küçük imzalar ve daha hızlı işlemler sağlar. ES256, verimliliği nedeniyle modern uygulamalar için giderek daha popüler hale gelmektedir.

JSON Web Şifreleme (JWE)

JWS imzalı token'lar sağlarken, JWE yükün gizli olduğu şifreli token'lar sağlar. JWE token'ları üç yerine beş bölümden oluşur: başlık, şifreli anahtar, başlatma vektörü, şifreli metin ve kimlik doğrulama etiketi. JWE, AES-GCM ve HMAC'lı AES-CBC dahil çeşitli şifreleme algoritmalarını destekler. Bu çözücünün yalnızca JWS token'larını işlediğini unutmayın; JWE token'ları uygun anahtarla şifre çözme gerektirir.

RFC Şartnameleri

JWT ve JOSE standartları birkaç IETF RFC'sinde tanımlanmıştır:

  • RFC 7519, JSON Web Token'ı (JWT) tanımlar
  • RFC 7515, JSON Web İmza'yı (JWS) tanımlar
  • RFC 7516, JSON Web Şifreleme'yi (JWE) tanımlar
  • RFC 7517, JSON Web Anahtar'ı (JWK) tanımlar
  • RFC 7518, JSON Web Algoritmaları'nı (JWA) tanımlar.

İlgili Araçlar