JWT क्लेम एनालाइज़र

ब्राउज़र में चलता है सुरक्षा

सिर्फ़ डिकोडिंग से आगे जाएँ: RFC 7519 और OWASP मार्गदर्शन के अनुसार गायब exp/iat/aud, बहुत लंबी लाइफ़टाइम, पेलोड में संवेदनशील डेटा, कमज़ोर एल्गोरिदम और दूसरी आम गलतियाँ जाँचें।

गोपनीयता: यह टूल पूरी तरह आपके ब्राउज़र में चलता है। आपका इनपुट कभी आपके डिवाइस से बाहर नहीं जाता।
टूल लोड हो रहा है…

JWT क्या है?

JSON Web Token तीन Base64url सेगमेंट — header.payload.signature — की कॉम्पैक्ट स्ट्रिंग है जो किसी यूज़र या क्लाइंट के बारे में क्लेम (सब्जेक्ट, रोल, एक्सपायरी) और एक ऐसा सिग्नेचर ले जाती है जिसे रिसीवर सत्यापित कर सकता है। RFC 7519 में परिभाषित और साइनिंग नियम RFC 7515 व 7518 में, यह OAuth 2.0 एक्सेस टोकन और OpenID Connect ID टोकन का सामान्य फ़ॉर्मेट है। पेलोड केवल एन्कोडेड है, एन्क्रिप्टेड नहीं: टोकन रखने वाला कोई भी इसे पढ़ सकता है।

सुरक्षा नोट: डिकोड करना सत्यापित करना नहीं है। सर्वर को पिन की गई एल्गोरिद्म से सिग्नेचर जाँचना, alg=none अस्वीकार करना और exp, iss व aud सत्यापित करने चाहिए — और कहीं भी पेस्ट किया गया असली टोकन एक्सपायर होने तक एक सीक्रेट है।

गाइड पढ़ें: JWT क्या है? JSON Web Token समझें

JWT क्लेम एनालाइज़र कैसे इस्तेमाल करें

  1. जिस टोकन का ऑडिट करना है उसे पेस्ट करें।
  2. स्कोर और गंभीरता के क्रम में लगी फ़ाइंडिंग पढ़ें।
  3. हर फ़ाइंडिंग के साथ दिया गया सुझाव लागू करें (उदाहरण के लिए लाइफ़टाइम घटाएँ या aud जोड़ें)।
  4. टोकन फिर से जारी करें और तब तक विश्लेषण दोहराएँ जब तक सिर्फ़ सूचनात्मक आइटम न बचें।

JWT क्लेम एनालाइज़र की खूबियाँ

  • ज़रूरी और अनुशंसित क्लेम जाँचता है: exp, iat, nbf, iss, aud, sub, jti
  • लंबी लाइफ़टाइम, भविष्य का iat, उलटी वैधता अवधि और मिलीसेकंड टाइमस्टैम्प चिह्नित करता है
  • पेलोड में रखे गए सीक्रेट और व्यक्तिगत डेटा पहचानता है
  • बहुत व्यापक स्कोप, बड़ी रोल सूचियों और ज़रूरत से बड़े पेलोड पर चेतावनी देता है
  • हेडर के जोखिम (alg=none, jku/x5u, संदिग्ध kid) भी उसी रिपोर्ट में शामिल हैं
  • गंभीरता के अनुसार गिनती और प्राथमिकता क्रम में लगी फ़ाइंडिंग तालिका के साथ सुरक्षा स्कोर

JWT क्लेम एनालाइज़र का उदाहरण

76 साल की लाइफ़टाइम वाले टोकन का ऑडिट

इनपुट:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2F1dGguZXhhbXBsZS5jb20iLCJzdWIiOiJ1c2VyXzhmM2EyYyIsImF1ZCI6ImFwaTovL29yZGVycyIsImlhdCI6MTcwMDAwMDAwMCwiZXhwIjo0MTAyNDQ0ODAwLCJlbWFpbCI6ImxheWxhQGV4YW1wbGUuY29tIiwic2NvcGUiOiJvcmRlcnM6cmVhZCBhZG1pbiJ9.CraV2QXmv79l2iX65YYWm0DtPZw7-Gh1S55W2vuwSO8

आउटपुट:

Score 66/100 (Risky)
High — Very long lifetime (76y 2mo): access tokens should live minutes to hours.
Medium — Broad scopes: "orders:read admin" grants wide access.
Low — Personal data present: email.
Info — No jti: a unique id enables revocation.

JWT क्लेम एनालाइज़र के बारे में अक्सर पूछे जाने वाले सवाल

सुरक्षा स्कोर का क्या मतलब है?

यह 100 से शुरू होता है और हर फ़ाइंडिंग पर अंक घटाता है (critical के लिए 40, high के लिए 20, medium के लिए 10 और low के लिए 4)। यह प्राथमिकता तय करने में तेज़ मदद भर है, कोई प्रमाणपत्र नहीं — अलग-अलग फ़ाइंडिंग ज़रूर पढ़ें।

कौन-सी जाँचें की जाती हैं?

exp, iat, nbf, iss, aud, sub और jti की मौजूदगी तथा वैधता; टोकन की लाइफ़टाइम; एक्सपायर हो चुके या भविष्य की तारीख़ वाले टोकन; पेलोड में सीक्रेट या व्यक्तिगत डेटा; पेलोड का साइज़; ज़रूरत से ज़्यादा व्यापक स्कोप; और हेडर के जोखिम जैसे alg=none, jku/x5u URL या संदिग्ध kid वैल्यू।

लंबी लाइफ़टाइम को समस्या क्यों माना जाता है?

लीक हुआ एक्सेस टोकन एक्सपायर होने तक दोबारा इस्तेमाल किया जा सकता है। OWASP दिनों या महीनों तक चलने वाले टोकन के बजाय कम अवधि वाले एक्सेस टोकन (मिनटों से एक घंटे तक) और उनके साथ रिफ़्रेश टोकन की सलाह देता है।

मेरे email क्लेम पर चेतावनी क्यों आती है?

JWT पेलोड उन सबके लिए पढ़ने योग्य होते हैं जिनके हाथ टोकन आता है। टोकन में व्यक्तिगत डेटा जोखिम बढ़ाता है और गोपनीयता नियमों के दायरे में आ सकता है; पेलोड को पहचानकर्ता और ऑथराइज़ेशन डेटा तक सीमित रखें।

तकनीकी नोट्स

ये जाँचें RFC 7519 (क्लेम का अर्थ), RFC 8725 (JWT best current practices) और OWASP JSON Web Token चीट शीट पर आधारित हैं। फ़ाइंडिंग heuristics हैं — मसलन रिफ़्रेश टोकन के लिए लंबी लाइफ़टाइम स्वीकार्य भी हो सकती है — इसलिए उन्हें इस संदर्भ में पढ़ें कि टोकन का इस्तेमाल कैसे होता है।

संदर्भ

  • RFC 7519: JSON Web Token (JWT)IETF · 2015JWT फ़ॉर्मेट — हेडर, पेलोड, सिग्नेचर — और रजिस्टर्ड क्लेम iss, sub, aud, exp, nbf, iat और jti को परिभाषित करता है।
  • RFC 7515: JSON Web Signature (JWS)IETF · 2015JWT कैसे साइन और सीरियलाइज़ होता है: प्रोटेक्टेड हेडर, साइनिंग इनपुट और कॉम्पैक्ट सीरियलाइज़ेशन।
  • RFC 7518: JSON Web Algorithms (JWA)IETF · 2015alg हेडर के पीछे की एल्गोरिद्म: HS256/384/512, RS256, ES256 और हर एक के लिए की-साइज़ की आवश्यकताएँ।