यह उत्तर दो वरिष्ठ देवों (जॉन ब्रेटन और डेविड जेनस) की मदद से एक साथ रखा गया है।
एक ताज़ा टोकन का उपयोग करने का मुख्य कारण हमले की सतह को कम करना है।
मान लीजिए कि कोई ताज़ा कुंजी नहीं है और आइए इस उदाहरण के माध्यम से चलते हैं:
एक इमारत में 80 दरवाजे हैं। सभी दरवाजे एक ही कुंजी से खोले जाते हैं। हर 30 मिनट में चाबी बदल जाती है। 30 मिनट के अंत में मुझे कीमेकर को पुरानी चाबी देनी है और एक नई चाबी प्राप्त करनी है।
यदि मैं हैकर हूं और आपकी कुंजी प्राप्त करता हूं, तो 30 मिनट के अंत में, मैं उस कीमर को कूरियर कर दूंगा और एक नई कुंजी प्राप्त करूंगा। मैं चाबी बदलने की परवाह किए बिना सभी दरवाजे लगातार खोल पाऊंगा ।
प्रश्न: 30 मिनट के दौरान, मेरे पास कुंजी के कितने हैकिंग अवसर थे? मेरे पास 80 हैकिंग के अवसर थे, हर बार जब आप कुंजी का उपयोग करते थे (इस बारे में सोचें कि नेटवर्क अनुरोध करना और अपनी पहचान करने के लिए एक्सेस टोकन पास करना)। तो यह 80X हमले की सतह है।
अब हम उसी उदाहरण से गुजरते हैं लेकिन इस बार मान लेते हैं कि एक ताज़ा कुंजी है।
एक इमारत में 80 दरवाजे हैं। सभी दरवाजे एक ही कुंजी से खोले जाते हैं। हर 30 मिनट में चाबी बदल जाती है। नई कुंजी प्राप्त करने के लिए, मैं पुराने एक्सेस टोकन को पास नहीं कर सकता। मुझे केवल रिफ्रेश की पास करनी होगी।
यदि मैं हैकर हूं और आपकी कुंजी प्राप्त करता हूं, तो मैं इसे 30 मिनट के लिए उपयोग कर सकता हूं, लेकिन 30 मिनट के अंत में इसे कीमेकर को भेजने का कोई मूल्य नहीं है। अगर मैं करता हूं, तो कीमेकर सिर्फ इस खराब ताज़ा टोकन को कहेंगे। अपने हैक को बढ़ाने में सक्षम होने के लिए मुझे कोरमेकर को कूरियर हैक करना होगा। कूरियर में एक अलग कुंजी है (इसे ताज़ा टोकन के रूप में सोचें)।
प्रश्न: 30 मिनट के दौरान, मेरे पास रिफ्रेश कुंजी के कितने हैकिंग अवसर थे? 80? नहीं, मेरे पास केवल 1 हैकिंग का अवसर था। समय के दौरान कूरियर कीमेकर के साथ संचार करता है। तो यह 1X हमला सतह है। मेरे पास कुंजी के खिलाफ 80 हैकिंग के अवसर थे, लेकिन वे 30 मिनट के बाद अच्छे नहीं थे।
एक सर्वर एक JWT (और आमतौर पर) के क्रेडेंशियल और हस्ताक्षर के आधार पर एक एक्सेस टोकन को सत्यापित करेगा।
एक एक्सेस टोकन लीक करना बुरा है, लेकिन एक बार यह समाप्त हो जाता है तो यह किसी हमलावर के लिए उपयोगी नहीं होता है। एक ताज़ा टोकन लीक करना कहीं अधिक बदतर है, लेकिन संभवतः इसकी संभावना कम है। (मुझे लगता है कि यह सवाल करने के लिए जगह है कि क्या एक ताज़ा लीक लीक होने की संभावना एक एक्सेस लीक की तुलना में बहुत कम है, लेकिन यह विचार है।)
बिंदु यह है कि आपके द्वारा किए गए प्रत्येक अनुरोध में एक्सेस टोकन जोड़ा जाता है, जबकि एक ताज़ा टोकन केवल ताज़ा प्रवाह के दौरान उपयोग किया जाता है इसलिए टोकन को देखने वाले एक MITM की कम संभावना
आवृत्ति एक हमलावर की मदद करती है। Heartbleedएसएसएल में जैसी संभावित सुरक्षा खामियां, क्लाइंट में संभावित सुरक्षा खामियां और सर्वर में संभावित सुरक्षा खामियां सभी संभव रिसाव करते हैं।
इसके अलावा, यदि प्राधिकरण सर्वर एप्लिकेशन सर्वर से अन्य क्लाइंट अनुरोधों को संसाधित करने से अलग है, तो वह एप्लिकेशन सर्वर कभी भी ताज़ा टोकन नहीं देखेगा। यह केवल एक्सेस टोकन को देखेगा जो अधिक समय तक नहीं रहेगा।
कंपार्टमेंटलाइजेशन सुरक्षा के लिए अच्छा है।
अंतिम लेकिन कम से कम इस भयानक उत्तर को न देखें
क्या ताज़ा टोकन के बारे में नहीं है?
ताज़ा टोकन के माध्यम से एक्सेस स्तर को अपडेट / निरस्त करने की क्षमता ताज़ा टोकन का उपयोग करने के लिए चुनने का एक प्रतिफल है, अन्यथा एक स्टैंडअलोन एक्सेस टोकन को रद्द किया जा सकता है या इसकी समाप्ति स्तर संशोधित हो सकता है जब यह समाप्त हो जाता है और उपयोगकर्ताओं को एक नया टोकन मिलता है