डिवाइस बाउंड सेशन क्रेडेंशियल (डीबीएससी), वेब की एक नई सुविधा है. इसे उपयोगकर्ता के सेशन को कुकी चोरी और सेशन हाइजैकिंग से बचाने के लिए डिज़ाइन किया गया है. यह सुविधा अब Chrome 135 में, ऑरिजिन ट्रायल के तौर पर टेस्ट करने के लिए उपलब्ध है.
बैकग्राउंड
कुकी, आधुनिक वेब की पुष्टि करने में अहम भूमिका निभाती हैं. इनकी मदद से, उपयोगकर्ता सभी ब्राउज़िंग सेशन में लॉग इन रह सकते हैं. हालांकि, हमलावर सेशन को हाइजैक करने के लिए, पुष्टि करने वाली चोरी की गई कुकी का ज़्यादा से ज़्यादा फ़ायदा उठाते हैं. इसके लिए, वे कई तरीकों से पुष्टि करने की सुविधा और लॉगिन की सुरक्षा से जुड़े अन्य तरीकों को बायपास करते हैं.
मैलवेयर ऑपरेटर अक्सर हैक किए गए डिवाइसों से सेशन कुकी निकाल लेते हैं. इससे, वे उपयोगकर्ता खातों को बिना अनुमति के ऐक्सेस कर पाते हैं. कुकी, पासकोड वाले टोकन होते हैं. इसलिए, वे मालिकाना हक के सबूत के बिना ऐक्सेस दे देते हैं. इससे, वे हमलावरों के लिए एक शानदार टारगेट बन जाते हैं.
डिवाइस बाउंड सेशन क्रेडेंशियल (डीबीएससी) की मदद से, पुष्टि किए गए ऐसे सेशन को बनाया जाता है जो किसी डिवाइस से जुड़ा होता है. इससे कुकी की चोरी को रोका जा सकता है. इस तरीके से, चुराई गई कुकी के किसी दूसरे डिवाइस से खाते ऐक्सेस करने की संभावना कम हो जाती है.
यह कैसे काम करता है
डीबीएससी में एक नया एपीआई जोड़ा गया है. इसकी मदद से, सर्वर किसी डिवाइस से कनेक्ट किया गया पुष्टि किया गया सेशन बना सकते हैं. सेशन शुरू होने पर, ब्राउज़र एक सार्वजनिक-निजी पासकोड जोड़ा जनरेट करता है. साथ ही, उपलब्ध होने पर, 'ट्रस्टेड प्लैटफ़ॉर्म मॉड्यूल' (टीपीएम) जैसे हार्डवेयर के साथ काम करने वाले स्टोरेज का इस्तेमाल करके, निजी पासकोड को सुरक्षित तरीके से सेव करता है.
इसके बाद, ब्राउज़र एक सामान्य सेशन कुकी जारी करता है. सेशन के दौरान, ब्राउज़र समय-समय पर यह पुष्टि करता है कि उसके पास निजी पासकोड है. साथ ही, वह सेशन कुकी को रीफ़्रेश करता है. कुकी के लाइफ़टाइम को कम सेट किया जा सकता है, ताकि कुकी को चुराने से हमलावरों को कोई फ़ायदा न मिले.
मुख्य कॉम्पोनेंट
सेशन रजिस्ट्रेशन:
- जब कोई उपयोगकर्ता लॉग इन करता है, तो सर्वर
Sec-Session-Registrationएचटीटीपी हेडर का इस्तेमाल करके, डिवाइस से जुड़े सेशन का अनुरोध करता है. - ब्राउज़र एक नया कुंजी जोड़ा जनरेट करता है और निजी कुंजी को सुरक्षित तरीके से सेव करता है.
- इस कुंजी जोड़े से जुड़ी एक छोटी अवधि की ऑथेंटिकेशन कुकी भी बनाई जाती है.
- सर्वर, सेशन को उससे जुड़ी सार्वजनिक कुंजी से जोड़ता है. इससे यह पक्का होता है कि सेशन का इस्तेमाल सिर्फ़ ओरिजनल डिवाइस पर किया जा सकता है.
- जब कोई उपयोगकर्ता लॉग इन करता है, तो सर्वर
सेशन रीफ़्रेश करना और मालिकाना हक का सबूत:
- जब कम समय के लिए सेट की गई कुकी की समयसीमा खत्म हो जाती है, तो Chrome सेशन रीफ़्रेश को ट्रिगर करता है.
- ब्राउज़र, सर्वर के तय किए गए रीफ़्रेश एंडपॉइंट (सेशन रजिस्ट्रेशन के दौरान दिया गया) पर अनुरोध भेजता है. अगर सर्वर कोई एंडपॉइंट उपलब्ध कराता है, तो
Sec-Session-Challengeहेडर का इस्तेमाल करके हस्ताक्षर किया गया चैलेंज भेजा जाता है. - सर्वर, सेशन की निजी कुंजी से हस्ताक्षर किए गए रिस्पॉन्स की पुष्टि करके, मालिकाना हक के सबूत की पुष्टि करता है.
- अगर कुकी मान्य है, तो सर्वर कुछ समय के लिए इस्तेमाल की जा सकने वाली नई कुकी जारी करता है. इससे सेशन जारी रहता है.
इस तरीके का एक फ़ायदा यह है कि Chrome उन अनुरोधों को बाद में पूरा करता है जिनके लिए, रीफ़्रेश की गई कुकी का इस्तेमाल नहीं किया जा सकता. इस व्यवहार से, सेशन के दौरान सेशन के हिसाब से बनी कुकी लगातार उपलब्ध रहती हैं. साथ ही, डेवलपर उन पर ज़्यादा भरोसा कर पाते हैं. ऐसा उन तरीकों के मुकाबले होता है जिनमें कुकी की समयसीमा खत्म हो सकती है या अपने-आप रिन्यू किए बिना वे मिट सकती हैं.
लागू करने का उदाहरण
कोई सर्वर, डिवाइस से जुड़े सेशन का अनुरोध इस तरह कर सकता है:
HTTP/1.1 200 OK
Sec-Session-Registration: (ES256);path="/refresh";challenge="12345"
जब सेशन चालू होता है, तब सर्वर चैलेंज-रिस्पॉन्स एक्सचेंज की मदद से उसकी पुष्टि कर सकता है:
HTTP/1.1 401 Unauthorized
Sec-Session-Challenge: "verify-session"
ब्राउज़र इस तरह जवाब देता है:
POST /refresh
Sec-Session-Response: "signed-proof"
फ़ायदे
- कुकी चोरी होने से रोकता है: भले ही सेशन कुकी चोरी हो जाएं, लेकिन उनका इस्तेमाल किसी दूसरे डिवाइस से नहीं किया जा सकता.
- यूज़र एक्सपीरियंस में बड़े बदलाव किए बिना सुरक्षा को बेहतर बनाता है: यह बैकग्राउंड में पारदर्शी तरीके से काम करता है. इसके लिए, उपयोगकर्ता को कोई अतिरिक्त इंटरैक्शन करने की ज़रूरत नहीं होती.
- लंबे समय तक सेव रहने वाली सेशन कुकी पर निर्भरता कम हो जाती है: जब तक मूल डिवाइस पर सेशन मान्य रहता है, तब तक कम समय तक सेव रहने वाली कुकी अपने-आप रीफ़्रेश होती रहती हैं.
- एन्क्रिप्ट (सुरक्षित) करने के स्टैंडर्ड तरीकों के साथ काम करता है: यह सुविधा, उपलब्ध होने पर टीपीएम के साथ काम करने वाले सुरक्षित स्टोरेज का फ़ायदा लेती है. इससे, डेटा को बाहर ले जाने से रोकने के लिए मज़बूत सुरक्षा मिलती है.
निजता और सुरक्षा से जुड़ी बातें
डीबीएससी को इस तरह से डिज़ाइन किया गया है कि यह उपयोगकर्ता की निजता को बनाए रखते हुए, सुरक्षा को बेहतर बना सके:
- कोई अतिरिक्त ट्रैकिंग वेक्टर नहीं: हर सेशन, एक यूनीक कुंजी पेयर से जुड़ा होता है. इससे अलग-अलग सेशन को ट्रैक करने से रोका जाता है.
- लंबे समय तक डिवाइस की फ़िंगरप्रिंट नहीं बनाई जाती: जब तक उपयोगकर्ता साफ़ तौर पर अनुमति नहीं देता, तब तक सर्वर एक ही डिवाइस पर अलग-अलग सेशन को आपस में नहीं जोड़ सकते.
- उपयोगकर्ताओं के पास मिटाने का विकल्प होता है: जब उपयोगकर्ता साइट का डेटा मिटाता है, तो सेशन और कुंजियां मिट जाती हैं.
- कुकी नीतियों के मुताबिक: डीबीएससी, कुकी की तरह ही साइट के आधार पर स्कोपिंग का पालन करता है. इससे यह पक्का होता है कि क्रॉस-ऑरिजिन डेटा लीक न हो.
इसे आज़माएं
डिवाइस बाउंड सेशन के क्रेडेंशियल की सुविधा का ऑरिजिन ट्रायल, Chrome 135 से उपलब्ध है.
स्थानीय टेस्टिंग के लिए
डीबीएससी को स्थानीय तौर पर टेस्ट करने के लिए:
chrome://flags#device-bound-session-credentialsपर जाएं और सुविधा चालू करें.
सार्वजनिक टेस्टिंग के लिए
सार्वजनिक एनवायरमेंट में ऑरिजिन ट्रायल के साथ डीबीएससी की जांच करने के लिए:
- Chrome के ऑरिजिन ट्रायल पेज पर जाएं और साइन अप करें.
दिए गए टोकन को अपनी साइट के एचटीटीपी हेडर में जोड़ें:
Origin-Trial: <your-trial-token>
संसाधन
- डिवाइस बाउंड सेशन के क्रेडेंशियल की खास जानकारी
- DBSC के लिए GitHub रिपॉज़िटरी
- डिवाइस बाउंड सेशन क्रेडेंशियल (डीबीएससी) को इंटिग्रेट करने के बारे में गाइड
इस प्रोग्राम में शामिल होकर, आने वाले समय में वेब की सुरक्षा को बेहतर बनाने में मदद करें
वेब पर पुष्टि करने की प्रक्रिया को ज़्यादा सुरक्षित बनाने में हमारी मदद करें! हम वेब डेवलपर को DBSC की जांच करने, उसे अपने ऐप्लिकेशन में इंटिग्रेट करने, और सुझाव/राय देने का सुझाव देते हैं. आपके पास GitHub पर हमसे संपर्क करने या वेब ऐप्लिकेशन की सुरक्षा से जुड़े वर्किंग ग्रुप की चर्चाओं में हिस्सा लेने का विकल्प है.
डीबीएससी लागू करके, हम सेशन हाइजैकिंग के जोखिमों को कम कर सकते हैं. साथ ही, उपयोगकर्ताओं के लिए पुष्टि करने की सुरक्षा को बेहतर बना सकते हैं. आज ही शुरू करें और वेब की सुरक्षा के भविष्य को बेहतर बनाने में मदद करें!