Sözlük

JSON Web Token nedir?

JSON Web Token (JWT), RFC 7519 tarafından tanımlanan, iki taraf arasındaki claim'leri dijital imzalı bir JSON nesnesi olarak temsil eden kompakt ve URL güvenli bir token biçimidir; durumsuz kimlik doğrulama ve bilgi değişimi sağlar.

Diğer adlarıyla: JSON Web Token, JWTs

JWT, nokta ile ayrılmış üç base64url kodlu bölümden oluşur: bir başlık (imzalama algoritmasını belirtir), bir yük (kullanıcı kimliği, roller ve süre sonu gibi claim'leri içeren anahtar-değer çiftleri) ve bir imza (başlık ve yük üzerinden gizli veya özel anahtar kullanılarak hesaplanır). İmza, doğrulama anahtarına sahip herhangi bir tarafın token'ın değiştirilmediğini doğrulamasına olanak tanır.

JWT'ler API kimlik doğrulamasında taşıyıcı token olarak yaygın biçimde kullanılır. Bir kullanıcı giriş yaptıktan sonra sunucu, kimliği ve izinleri içeren bir JWT düzenler. İstemci bu JWT'yi sonraki isteklere (tipik olarak Yetkilendirme başlığına) dahil eder; sunucu ise veritabanı veya oturum deposu sorgulamadan imzayı doğrular. Bu durumsuz özellik, JWT'leri oturum durumunu hizmetler arasında paylaşmanın pratik olmadığı dağıtılmış sistemler ve mikro hizmet mimarileri için cazip kılar.

JWT'ler önemli güvenlik hususları taşır. Yük yalnızca base64 kodlaması yapıldığından (şifrelenmediğinden), bir JWT'yi ele geçiren herkes içeriğini okuyabilir; JWE (JSON Web Şifreleme) kullanılmıyorsa JWT yüklerine asla gizli dizi koymayın. Token'ların kısa süre sonu olmalıdır çünkü düzenlendiğinde kolayca iptal edilemezler. Saldırganın başlığı "none" olarak değiştirdiği veya asimetrikten simetrik doğrulamaya geçtiği algoritma karışıklığı saldırıları, JWT kütüphanelerinde tekrarlayan bir güvenlik açığı olmuştur.

Vaulted JSON Web Token nasıl kullanır

Vaulted, kullanıcı hesabı olmadığından kimlik doğrulama veya oturum yönetimi için JWT kullanmaz. Ancak JWT'ler ve diğer taşıyıcı token'lar, güvenli iletim gerektiren sıkça paylaşılan kimlik bilgileridir; örneğin bir olay sırasında uzun ömürlü bir API token'ını veya servisler arası JWT gizli dizisini bir meslektaşla paylaşmak. Vaulted bu token'lar için şifreli ve kendiliğinden yok olan teslimat sağlar; iletişim kanallarında kalıcı hale gelmelerini önler.