WebAuthn सर्वर सेटिंग्स में गलत कॉन्फ़िगरेशन UX समस्याओं का कारण बन सकती हैं और मौजूदा पासकीज़ को बाधित कर सकती हैं। यह गाइड डेवलपर्स को WebAuthn सर्वर सेट अप करने में मदद करता है।
Vincent
Created: August 20, 2025
Updated: August 21, 2025
Passkeys Series: WebAuthn Basics
See the original blog version in English here.
Our mission is to make the Internet a safer place, and the new login standard passkeys provides a superior solution to achieve that. That's why we want to help you understand passkeys and its characteristics better.
Passkeys और इसके अंतर्निहित WebAuthn प्रोटोकॉल ऑथेंटिकेशन के परिदृश्य में क्रांति ला रहे हैं। हालाँकि, एक WebAuthn सर्वर को सही तरीके से सेट अप करना एक मुश्किल काम हो सकता है। गलत कॉन्फ़िगरेशन न केवल कमजोरियों (vulnerabilities) को जन्म दे सकती हैं, बल्कि अगर आपको बाद में उन्हें बदलने की ज़रूरत पड़ी तो मौजूदा पासकीज़ को भी तोड़ सकती हैं। यह ब्लॉग पोस्ट आपको अक्सर जटिल WebAuthn स्पेसिफिकेशन्स को बेहतर ढंग से समझने में मदद करेगा और आपको सलाह देगा कि आपके उपयोग के मामले के लिए कौन सी सेटिंग्स सबसे अच्छी हैं।
Recent Articles
WebAuthn तीन मुख्य संस्थाओं के साथ काम करता है:
नीचे, एक ऑथेंटिकेशन प्रक्रिया (या तो लॉगिन या साइन-अप) के दौरान उच्च-स्तरीय डेटा प्रवाह का वर्णन किया गया है।
Ben Gould
Head of Engineering
I’ve built hundreds of integrations in my time, including quite a few with identity providers and I’ve never been so impressed with a developer experience as I have been with Corbado.
10,000+ devs trust Corbado & make the Internet safer with passkeys. Got questions? We’ve written 150+ blog posts on passkeys.
Join Passkeys Communityऊपर वर्णित उच्च-स्तरीय प्रक्रिया प्रवाह WebAuthn साइन-अप और लॉगिन प्रक्रियाओं का वर्णन करता है। पासकीज़ WebAuthn के ऊपर बनी हैं। मूल रूप से, पासकीज़ शब्द का उपयोग WebAuthn की तुलना में एक अधिक यादगार और गैर-तकनीकी शब्द के रूप में किया गया था जो एक ही चीज़ का वर्णन करता है। इसके अलावा, पासकीज़ मानक WebAuthn की तुलना में अधिक सुविधाएँ प्रदान करती हैं, जैसे क्लाउड खातों या पासवर्ड मैनेजर के माध्यम से पासकीज़ को सिंक करने की संभावना।
निम्नलिखित अनुभागों को बेहतर ढंग से समझने के लिए, हम एक सामान्य समझ रखने के लिए WebAuthn प्रोटोकॉल में कुछ महत्वपूर्ण शब्दों को परिभाषित करते हैं।
रेजिडेंट कीज़ (RKs) और नॉन-रेजिडेंट कीज़ (NRKs) WebAuthn प्रोटोकॉल में उपयोग की जाने वाली दो प्रकार की क्रिप्टोग्राफिक कीज़ हैं, और वे मुख्य रूप से उनके स्टोरेज स्थान और पुनर्प्राप्ति तंत्र में भिन्न होती हैं।
परिभाषा:
रेजिडेंट कीज़ सीधे ऑथेंटिकेटर पर ही संग्रहीत की जाती हैं। यह एक सिक्योरिटी की (जैसे, YubiKey), एक प्लेटफ़ॉर्म का सिक्योर एन्क्लेव (जैसे, iPhone का सिक्योर एन्क्लेव), या एक लैपटॉप पर ट्रस्टेड प्लेटफ़ॉर्म मॉड्यूल (TPM) हो सकता है। कंडीशनल UI (पासकी ऑटोफिल) केवल रेजिडेंट कीज़ के लिए काम करता है और WebAuthn वर्किंग ग्रुप वर्तमान में रेजिडेंट कीज़ को पासकी के रूप में माने जाने की आवश्यकता रखता है।
रेजिडेंट कीज़ को अक्सर डिस्कवरेबल क्रेडेंशियल्स भी कहा जाता है, क्योंकि क्लाइंट ऑथेंटिकेटर से संभावित कीज़ की एक सूची खोज सकता है जो विचाराधीन Relying Party ID (rpID) से मेल खाती हैं और डिवाइस के संभावित / संग्रहीत यूज़र हैंडल (जैसे ईमेल, फ़ोन नंबर, यूज़रनेम) की एक सूची दिखा सकती हैं।
निम्नलिखित स्क्रीनशॉट में, आप सभी रेजिडेंट कीज़ (क्रेडेंशियल ID, rpID, यूज़रनेम, डिस्प्ले नाम) की एक सूची देखते हैं जो एक YubiKey पर संग्रहीत हैं। नॉन-रेजिडेंट कीज़ सूची में नहीं हैं, क्योंकि वे ऑथेंटिकेटर पर संग्रहीत नहीं हैं:
लॉगिन प्रवाह:
Source: William Brown
लॉगिन प्रक्रिया के दौरान, Relying Party क्लाइंट (ब्राउज़र) को क्रेडेंशियल्स निर्दिष्ट किए बिना एक अनुरोध भेजता है जो ऑथेंटिकेटर से पूछताछ करना शुरू कर देता है (यहाँ चार्ट में: सिक्योरिटी की)। ऑथेंटिकेटर संबंधित Relying Party के लिए सभी रेजिडेंट कीज़ की खोज करता है और क्लाइंट (ब्राउज़र) वांछित रेजिडेंट की का चयन करता है। इस रेजिडेंट की का उपयोग चैलेंज पर हस्ताक्षर करने के लिए किया जाता है। हस्ताक्षर ऑथेंटिकेटर से क्लाइंट के माध्यम से Relying Party को भेजा जाता है।
फायदे:
नुकसान:
उपयोग के मामले: उन उपकरणों के लिए आदर्श जहाँ यूज़र अक्सर ऑथेंटिकेट करता है, जैसे व्यक्तिगत स्मार्टफोन या लैपटॉप।
परिभाषा:
नॉन-रेजिडेंट कीज़, इसके विपरीत, ऑथेंटिकेटर पर संग्रहीत नहीं होती हैं। इसके बजाय, ऑथेंटिकेटर एक नई की जोड़ी (इसकी आंतरिक रूप से संरक्षित मास्टर की पर आधारित) जेनरेट करता है और इस नई की जोड़ी की पब्लिक की को सर्वर (Relying Party) को क्रेडेंशियल ID (जिसमें एक सीड होता है) के साथ साइन-अप के दौरान भेजता है। सर्वर फिर इस पब्लिक की को यूज़र के खाते से जोड़ता है। बाद के ऑथेंटिकेशन के लिए, ऑथेंटिकेटर क्रेडेंशियल ID प्राप्त करके, सीड निकालकर और इसे मास्टर की के साथ जोड़कर प्राइवेट की को फिर से प्राप्त करता है। क्योंकि की केवल अस्थायी रूप से ऑथेंटिकेटर की संरक्षित मेमोरी में उपलब्ध होती है, इसे कभी-कभी क्रिप्टोग्राफिक भाषा में इफेमरल की कहा जाता है।
नॉन-रेजिडेंट कीज़ को अक्सर नॉन-डिस्कवरेबल क्रेडेंशियल्स भी कहा जाता है, क्योंकि ऑथेंटिकेटर एक विशिष्ट Relying Party ID (rpID) के लिए कीज़ की खोज नहीं कर सकता है। क्रेडेंशियल ID के बिना ऑथेंटिकेटर को यह भी नहीं पता होता है कि कोई की हो सकती है।
लॉगिन प्रवाह:
Source: William Brown
लॉगिन प्रक्रिया के दौरान, Relying Party को पहले यह पहचानना होगा कि कौन सा यूज़र ऑथेंटिकेशन का अनुरोध कर रहा है (जैसे यूज़र हैंडल, जैसे ईमेल, फ़ोन नंबर या यूज़रनेम मांगकर) और फिर वह क्रेडेंशियल IDs भेजता है जिनके बारे में वह अनुरोध करने वाले यूज़र के लिए जानता है, क्लाइंट (ब्राउज़र) को। क्लाइंट उन्हें ऑथेंटिकेटर (यहाँ: सिक्योरिटी की) को फॉरवर्ड करता है। ऑथेंटिकेटर क्रेडेंशियल ID को ऑथेंटिकेटर की मास्टर की के साथ उपयोग करके अस्थायी प्राइवेट की प्राप्त करता है, जेनरेट की गई की के साथ चैलेंज पर हस्ताक्षर करता है और इसे क्लाइंट (यहाँ: ब्राउज़र) को लौटाता है, जो इसे Relying Party को फॉरवर्ड करता है। नॉन-रेजिडेंट कीज़ मूल रूप से पासकीज़ की शुरुआत से पहले दूसरे फैक्टर के रूप में उपयोग की जाती थीं। इसलिए, पहले यूज़र की पहचान करना नियमित लॉगिन प्रक्रिया का हिस्सा था।
फायदे:
नुकसान:
उपयोग के मामले: सिक्योरिटी कीज़ (जैसे YubiKeys) जैसे रोमिंग ऑथेंटिकेटर्स के लिए आदर्श जो कई सेवाओं या प्लेटफ़ॉर्म पर उपयोग किए जाते हैं।
कल्पना कीजिए कि आपके पास एक सिक्योरिटी की (जैसे YubiKey) है, और आप इसे दो ऑनलाइन सेवाओं: सर्विस A और सर्विस B के साथ रजिस्टर करते हैं। सर्विस A के लिए, आप एक रेजिडेंट की का उपयोग करते हैं। सर्विस B के लिए, एक नॉन-रेजिडेंट की। जब आप सर्विस A पर ऑथेंटिकेट करते हैं, तो आप बस अपनी सिक्योरिटी की (जैसे YubiKey) को टैप करते हैं, और आप अंदर हैं - यूज़रनेम निर्दिष्ट करने की कोई आवश्यकता नहीं है। सर्विस B के लिए, आप पहले ब्राउज़र / नेटिव ऐप में अपना यूज़रनेम प्रदान करेंगे। सेवा तब संबंधित क्रेडेंशियल ID को आपकी सिक्योरिटी की (जैसे YubiKey) को भेजती है, जो फिर ऑथेंटिकेशन के लिए इफेमरल प्राइवेट की को फिर से जेनरेट करती है।
संक्षेप में, जबकि रेजिडेंट और नॉन-रेजिडेंट दोनों कीज़ क्रिप्टोग्राफिक ऑथेंटिकेशन का लाभ उठाकर सुरक्षा को बढ़ाती हैं, उनके यूज़र अनुभव और स्टोरेज तंत्र अलग-अलग होते हैं, जो विभिन्न उपयोग मामलों को पूरा करते हैं।
कंडीशनल UI पासकीज़ / WebAuthn की एक मील का पत्थर सुविधा है। यह यूज़र से और भी अधिक बोझ हटाता है, क्योंकि यूज़र को न केवल एक पासवर्ड याद रखने की आवश्यकता नहीं है, बल्कि उसे उस यूज़र हैंडल (जैसे ईमेल, फ़ोन नंबर, यूज़रनेम) को भी याद रखने की आवश्यकता नहीं है जिसके साथ उसने एक Relying Party पर साइन-अप किया था। विशेष रूप से, उन मामलों में जहाँ Relying Parties की सेवाओं का उपयोग केवल कभी-कभी किया जाता है, यह एक बहुत बड़ा कदम है।
यह इसलिए काम करता है क्योंकि जैसे ही लॉगिन पेज खोला जाता है, Relying Party सर्वर पृष्ठभूमि में क्लाइंट को एक चैलेंज भेजता है (याद रखें कि इस कॉल में भेजे जाने के लिए किसी क्रेडेंशियल ID की आवश्यकता नहीं है)। क्लाइंट इस चैलेंज को लेता है और जाँचता है कि कौन सी पासकीज़ इस ऑथेंटिकेटर पर Relying Party ID से मेल खाती हैं और ऑटोफिल मेनू के माध्यम से चयन की पेशकश करती है, जहाँ यूज़र उपयुक्त पासकी का चयन कर सकता है।
इसके अलावा, यह यूज़र को लॉगिन बटन पर एक अतिरिक्त क्लिक से भी बचाता है, क्योंकि जैसे ही पासकी को ऑटोफिल मेनू से चुना जाता है, लॉगिन प्रक्रिया शुरू हो जाती है।
कंडीशनल UI (पासकीज़ ऑटोफिल) केवल रेजिडेंट कीज़ के लिए काम करता है।
CTAP FIDO2 मानक में एक मूलभूत प्रोटोकॉल है, जो क्लाइंट (जैसे ब्राउज़र) और ऑथेंटिकेटर्स (जैसे सिक्योरिटी कीज़, उदाहरण के लिए YubiKeys, या स्मार्टफोन) के बीच संचार की खाई को पाटता है। CTAP को बेहतर ढंग से समझने के लिए, आइए रेजिडेंट और नॉन-रेजिडेंट कीज़ पर प्रभाव का विश्लेषण करने से पहले विभिन्न प्रोटोकॉल संस्करणों पर एक संक्षिप्त नज़र डालें।
पुराना संस्करण, जिसे अक्सर यूनिवर्सल 2nd फैक्टर (U2F) के रूप में जाना जाता है, मुख्य रूप से दूसरे-कारक ऑथेंटिकेशन के लिए डिज़ाइन किया गया था। U2F में, सर्वर एक चैलेंज प्रदान करता है, और ऑथेंटिकेटर एक प्रतिक्रिया प्रदान करता है, जो प्राइवेट की के अधिकार को साबित करता है। हालाँकि, U2F रेजिडेंट कीज़ का समर्थन नहीं करता है, जिसका अर्थ है कि इसे हमेशा यह पहचानने के लिए सर्वर-साइड लुकअप की आवश्यकता होती है कि किसी यूज़र के लिए कौन सी की का उपयोग करना है, क्योंकि यह दूसरे फैक्टर के लिए पूछने की प्रक्रिया का हिस्सा था।
U2F का उत्तराधिकारी, CTAP2 ने रेजिडेंट कीज़ के लिए समर्थन पेश किया, जिससे पासवर्ड रहित और यूज़रनेम रहित ऑथेंटिकेशन की अनुमति मिली। रेजिडेंट कीज़ के साथ, ऑथेंटिकेटर यूज़र का यूज़रनेम और क्रेडेंशियल ID ( Relying Party ID के साथ) संग्रहीत करता है, जिससे ऑथेंटिकेशन के दौरान Relying Party सर्वर को इसे प्रदान करने की आवश्यकता समाप्त हो जाती है। यह एक अधिक सहज UX की दिशा में एक महत्वपूर्ण छलांग है।
हालाँकि, CTAP2 चुनौतियों के साथ आता है। एक उल्लेखनीय मुद्दा रेजिडेंट कीज़ का प्रबंधन है। उदाहरण के लिए, CTAP2.0 डिवाइस में एक विशिष्ट रेजिडेंट की को हटाने के लिए अक्सर एक पूर्ण डिवाइस रीसेट की आवश्यकता होती है (इसलिए आपकी मास्टर की भी रीसेट हो जाती है, जिसका अर्थ है कि आपकी सभी नॉन-रेजिडेंट कीज़ भी अब काम नहीं करेंगी), जो यूज़र-फ्रेंडली नहीं है और उन परिदृश्यों में समस्याग्रस्त हो सकता है जहाँ एक ही डिवाइस पर कई रेजिडेंट कीज़ संग्रहीत हैं। यह CTAP2.0 डिवाइस पर रेजिडेंट कीज़ को एक गंभीर प्रतिबद्धता बनाता है। आप वास्तव में गलती से उस सीमित स्थान को भरना नहीं चाहते हैं जो आपके पास अक्सर होता है, खासकर सिक्योरिटी कीज़ (जैसे YubiKeys) पर।
CTAP2.1 CTAP2 का एक बाद का संस्करण है, जो प्रोटोकॉल में अतिरिक्त सुविधाएँ और सुधार लाता है। CTAP 2.1 के बारे में कुछ मुख्य बातें शामिल हैं:
रेजिडेंट कीज़, नॉन-रेजिडेंट कीज़ और विभिन्न CTAP संस्करणों पर एक नज़र डालने के बाद, अब हम Relying Party पक्ष और इस प्रकार WebAuthn सर्वर पक्ष का अधिक गहराई से विश्लेषण करते हैं।
WebAuthn का लचीलापन (लेकिन इसकी जटिलता भी) काफी हद तक इसकी सर्वर सेटिंग्स के कारण है, विशेष रूप से authenticatorSelection ऑब्जेक्ट के भीतर। यह ऑब्जेक्ट क्लाइंट को काम के लिए सही ऑथेंटिकेटर चुनने में मार्गदर्शन करता है।
{ "rp": { "name": "corbado.com", "id": "corbado.com" }, "user": { "id": "dGVzdefEyMjE", "name": "test-username", "displayName": "test-username" }, "challenge": "mhanjsapJjCNaN_Ttasdfk1C0DymR-V_w_0UVOPsdfdfJG2ON_FK5-ODtqp33443tgqHzuuDjv-NUUmMAE4hg", "pubKeyCredParams": [ { "type": "public-key", "alg": -7 }, { "type": "public-key", "alg": -257 } ], "timeout": 60000, "excludeCredentials": [], "authenticatorSelection": { "authenticatorAttachment": "platform", "residentKey": "preferred", "requireResidentKey": false, "userVerification": "preferred" }, "attestation": "none", "extensions": { "credProps": true } }
यह सर्वर विकल्प निर्दिष्ट करता है कि ऑथेंटिकेटर क्लाइंट डिवाइस से कैसे जुड़ा है। यह इस बारे में जानकारी प्रदान करता है कि ऑथेंटिकेटर क्लाइंट के साथ कैसे संचार करता है:
संभावित मान
उपयोग के मामले और उदाहरण
WebAuthn लेवल 1 स्पेसिफिकेशन में, इस सर्वर विकल्प को requireResidentKey कहा जाता था और यह बूलियन मान true (ऑथेंटिकेटर को एक रेजिडेंट की बनानी चाहिए) या false (ऑथेंटिकेटर को एक नॉन-रेजिडेंट की बनानी चाहिए) रख सकता था। WebAuthn लेवल 2 ने इस सर्वर विकल्प को नए सर्वर विकल्प residentKey से बदल दिया:
संभावित मान
उपयोग के मामले और उदाहरण
यूज़र वेरिफिकेशन उस प्रक्रिया को संदर्भित करता है जो यह सुनिश्चित करती है कि ऑथेंटिकेटर के साथ बातचीत करने वाला व्यक्ति वैध मालिक है, आमतौर पर एक विशिष्ट ऑथेंटिकेशन जेस्चर की आवश्यकता होती है जैसे पिन दर्ज करना, फिंगरप्रिंट प्रदान करना, या चेहरे की पहचान का उपयोग करना।
कभी-कभी यूज़र प्रेजेंस (UP) का भी उल्लेख या उपयोग यूज़र वेरिफिकेशन के समान किया जाता है, लेकिन वास्तव में इसमें कुछ अंतर हैं। यूज़र प्रेजेंस केवल यह पुष्टि करता है कि कोई व्यक्ति - कोई भी - शारीरिक रूप से मौजूद है और डिवाइस के साथ बातचीत कर रहा है। यह उस व्यक्ति की पहचान को वेरिफाई नहीं करता है। यूज़र प्रेजेंस के लिए बिना किसी और पहचान जाँच के एक सिक्योरिटी की का एक साधारण स्पर्श पर्याप्त हो सकता है। पासकीज़ / WebAuthn के लिए, यूज़र को हमेशा उपस्थित रहना पड़ता है।
संभावित मान
उपयोग के मामले और उदाहरण
पैटर्न
उदाहरण: एक कॉर्पोरेट एप्लिकेशन चाहता है कि कर्मचारी अपनी कंपनी द्वारा जारी लैपटॉप पर बिल्ट-इन फिंगरप्रिंट रीडर का उपयोग करके बिना पासवर्ड के लॉग इन करें। क्रेडेंशियल डिवाइस पर संग्रहीत होता है, और यूज़र को हर बार एक फिंगरप्रिंट के साथ वेरिफाई करना होगा।
पैटर्न
उदाहरण: एक यूज़र अपनी ऑनलाइन बैंकिंग के लिए एक सिक्योरिटी की (जैसे YubiKey) रजिस्टर करता है। वे इस की का उपयोग किसी भी डिवाइस पर ऑथेंटिकेट करने के लिए कर सकते हैं, बिना यूज़रनेम दर्ज करने की आवश्यकता के।
कई हार्डवेयर-आधारित सिक्योरिटी कीज़ (जैसे YubiKeys) में अंतर्निहित स्टोरेज की कमी होती है। यह सीमा डिवाइस पर उपलब्ध भौतिक मेमोरी और निर्माता के डिजाइन विचारों के कारण है।
उदाहरण: एक YubiKey में केवल 20 रेजिडेंट कीज़ संग्रहीत करने की क्षमता हो सकती है। एक बार यह सीमा पूरी हो जाने पर, मौजूदा कीज़ को हटाए बिना कोई अतिरिक्त रेजिडेंट की नहीं जोड़ी जा सकती है।
समाधान:
विभिन्न ऑथेंटिकेटर्स रेजिडेंट की अनुरोधों को अलग-अलग तरीके से संभाल सकते हैं। कुछ डिफ़ॉल्ट रूप से एक रेजिडेंट की बनाने के लिए हो सकते हैं, भले ही इसका स्पष्ट रूप से अनुरोध न किया गया हो, जबकि दूसरों को स्पष्ट निर्देश की आवश्यकता हो सकती है।
विभिन्न प्लेटफ़ॉर्म पर विभिन्न WebAuthn सर्वर विकल्पों के लिए असंगत व्यवहार एक बड़ी समस्या है। उदाहरण के लिए, iOS WebAuthn सर्वर विकल्पों की परवाह किए बिना हमेशा एक रेजिडेंट की बनाएगा, जबकि Android को एक ऑप्ट-इन की आवश्यकता होती है (जैसे residentKey: preferred या residentKey: required के साथ)।
व्यवहार के अलावा, यह और भी बुरा है कि सर्वर-साइड संग्रहीत डेटा के आधार पर, आप 100% निश्चितता के साथ यह नहीं कह सकते कि संग्रहीत क्रेडेंशियल एक रेजिडेंट की है या नॉन-रेजिडेंट की। इसके बजाय, आप कुछ जाँचों का पालन कर सकते हैं और इसे सीमित कर सकते हैं (नीचे देखें), लेकिन फिर भी उम्मीद करनी होगी कि क्रेडेंशियल का व्यवहार आपके विश्वास के अनुसार हो।
इसके पीछे का कारण यह है कि क्रेडेंशियल प्रॉपर्टीज एक्सटेंशन (clientExtensionResults.credProps.rk जो या तो true है या false) में क्रेडेंशियल के प्रकार (रेजिडेंट की या नॉन-रेजिडेंट की) के बारे में जानकारी संग्रहीत करने का एक WebAuthn सुझाव है। हालाँकि, RP को यह जानकारी प्रदान करना गारंटीकृत नहीं है क्योंकि सभी WebAuthn एक्सटेंशन वैकल्पिक हैं, जैसे iOS इसे नहीं भेजता है (इसलिए आप नहीं जानते कि यह एक रेजिडेंट की है या नॉन-रेजिडेंट की)।
हमारे शोध के दौरान, हमने विभिन्न प्लेटफ़ॉर्म और ऑथेंटिकेटर्स (Windows 10, Windows 11, Android 7, Android 13, iOS17, macOS Ventura, YubiKey) पर व्यवहार का परीक्षण करने का प्रयास किया, दो WebAuthn डेमो पेजों के साथ जो बनाए गए क्रेडेंशियल्स पर अधिक विवरण प्रदान करते हैं: https://webauthn.io और https://webauthntest.identitystandards.io/। बाद वाला लीगेसी requireResidentKey प्रॉपर्टी (WebAuthn लेवल 1) के साथ काम करने और इसे residentKey प्रॉपर्टी (WebAuthn लेवल 2) के साथ संयोजित करने की संभावना प्रदान करता है। हालाँकि, परिणाम विश्वसनीय नहीं थे (जैसे इसने iOS के लिए नॉन-रेजिडेंट की बताया लेकिन स्पष्ट रूप से कंडीशनल UI काम कर रहा था)।
सबसे भरोसेमंद जाँच योजना जो हमें मिली वह निम्नलिखित है:
जैसा कि आप देख सकते हैं, यह इसे सीमित करने में मदद करता है, फिर भी अज्ञात विकल्प रहता है और आप 100% निश्चितता के साथ की के प्रकार का निर्धारण नहीं कर सकते हैं।
यह SUSE के विलियम ब्राउन के उनके महान लेख में निष्कर्षों के अनुरूप भी है, जिसमें बताया गया है कि यदि Relying Parties द्वारा रेजिडेंट कीज़ की आवश्यकता होती है तो सिक्योरिटी कीज़ (जैसे YubiKeys) कैसे बेकार हो सकती हैं (हमने उनकी तालिका का विस्तार किया है):
तालिका में, आप विभिन्न WebAuthn सर्वर रेजिडेंट की विकल्पों के लिए देखते हैं कि क्या एक रेजिडेंट की बनाई गई थी (true), क्या एक नॉन-रेजिडेंट की बनाई गई थी (false) या कुछ और हुआ।
समाधान:
यदि कोई यूज़र अपनी सिक्योरिटी की (जैसे YubiKey) पर स्टोरेज सीमा तक पहुँच जाता है, तो उन्हें त्रुटियों का सामना करना पड़ सकता है या वे नए क्रेडेंशियल्स रजिस्टर करने में असमर्थ हो सकते हैं। इससे भ्रम और निराशा हो सकती है।
समाधान:
जैसा कि आपने ऊपर देखा है, आपके द्वारा चुनी गई WebAuthn सर्वर सेटिंग्स आपके ऑथेंटिकेशन प्रक्रिया के यूज़र अनुभव और सुरक्षा को महत्वपूर्ण रूप से प्रभावित कर सकती हैं। सूचित निर्णय लेने के लिए इन सेटिंग्स की बारीकियों को समझना आवश्यक है।
रेजिडेंट बनाम नॉन-रेजिडेंट कीज़: यदि आपके अधिकांश यूज़र्स मुख्य रूप से व्यक्तिगत उपकरणों जैसे स्मार्टफोन या लैपटॉप से आपकी सेवा का उपयोग करते हैं, तो रेजिडेंट कीज़ एक उपयुक्त विकल्प हैं। रेजिडेंट कीज़ डिवाइस पर ही संग्रहीत होती हैं और उन यूज़र्स के लिए एक सहज ऑथेंटिकेशन अनुभव प्रदान करती हैं जो अक्सर एक ही डिवाइस का उपयोग करते हैं। हालाँकि, उन यूज़र्स के लिए जो सिक्योरिटी कीज़ (जैसे YubiKeys) का उपयोग करते हैं, जो नॉन-रेजिडेंट कीज़ हैं, अधिक उपयुक्त हो सकती हैं।
यूज़र वेरिफिकेशन (UV) सेटिंग्स: आप जिस सुरक्षा स्तर को प्राप्त करना चाहते हैं, उसके आधार पर आप यह तय कर सकते हैं कि यूज़र वेरिफिकेशन प्रक्रिया कितनी सख्त होनी चाहिए। यदि आप उच्च सुरक्षा का लक्ष्य रख रहे हैं, तो एक पिन, फिंगरप्रिंट, या चेहरे की पहचान (userVerification: preferred या userVerification: required) की आवश्यकता की सलाह दी जाती है।
अटेस्टेशन और विश्वसनीयता: अटेस्टेशन आपको ऑथेंटिकेटर की उत्पत्ति और अखंडता को वेरिफाई करने की अनुमति देता है। तय करें कि क्या आप सभी ऑथेंटिकेटर्स पर भरोसा करना चाहते हैं या केवल विशिष्ट निर्माताओं के ऑथेंटिकेटर्स पर। यह महत्वपूर्ण हो सकता है यदि आप संवेदनशील डेटा के साथ काम कर रहे हैं और यह सुनिश्चित करना चाहते हैं कि केवल उच्च-गुणवत्ता वाले, विश्वसनीय ऑथेंटिकेटर्स का उपयोग किया जाए।
फ़ॉलबैक तंत्र: हमेशा एक फ़ॉलबैक तंत्र रखें। यदि कोई यूज़र अपना ऑथेंटिकेटर खो देता है या यदि यह खराब हो जाता है, तो उनके पास अपने खाते तक पहुँचने का एक वैकल्पिक तरीका होना चाहिए। यह बैकअप कोड, SMS वेरिफिकेशन, ईमेल मैजिक लिंक या अन्य मल्टी-फैक्टर ऑथेंटिकेशन विधियों के माध्यम से हो सकता है।
निरंतर शिक्षा: पासकीज़ और WebAuthn का परिदृश्य लगातार विकसित हो रहा है। नवीनतम विकास, कमजोरियों, और पैच के साथ अपडेट रहें। अपनी विकास टीम को पासकीज़ और WebAuthn से संबंधित कार्यशालाओं, वेबिनार और सम्मेलनों में भाग लेने के लिए प्रोत्साहित करें।
यूज़र ऑनबोर्डिंग और शिक्षा: पासकी ऑथेंटिकेशन का परिचय देते समय, सुनिश्चित करें कि आपके यूज़र्स इसके लाभों और यह कैसे काम करता है, को समझते हैं। साइन-अप प्रक्रिया के दौरान स्पष्ट निर्देश प्रदान करें और यूज़र्स को पासकीज़ सेट अप करने और उपयोग करने में सहायता के लिए संसाधन (जैसे FAQs या वीडियो ट्यूटोरियल) प्रदान करें।
इन सर्वोत्तम प्रथाओं का पालन करके, डेवलपर्स और उत्पाद प्रबंधक यह सुनिश्चित कर सकते हैं कि वे पासकी ऑथेंटिकेशन को प्रभावी ढंग से लागू करें, सुरक्षा और यूज़र अनुभव दोनों को संतुलित करते हुए।
यदि आप अपनी वेबसाइट या ऐप में मुख्यधारा में अपनाने के लिए पासकीज़ लागू करना चाहते हैं और सिक्योरिटी कीज़ (जैसे YubiKeys) का समर्थन करने की आवश्यकता नहीं है, क्योंकि आपके अधिकांश यूज़र्स बस अपने स्मार्टफोन या लैपटॉप का उपयोग करेंगे, तो हम निम्नलिखित सेटिंग्स की सलाह देते हैं।
लाभ:
WebAuthn का सर्वर सेटिंग्स, जटिल होने के बावजूद, ऑथेंटिकेशन के लिए एक मजबूत और लचीला ढाँचा प्रदान करती हैं। इन सेटिंग्स में महारत हासिल करना महत्वपूर्ण है, क्योंकि यह केवल एक नए मानक को लागू करने के बारे में नहीं है; यह यूज़र ऑथेंटिकेशन की सुरक्षा और दक्षता में मौलिक रूप से सुधार करने के बारे में है।
संक्षेप में, WebAuthn का सर्वर सेटिंग्स को समझना अधिक सुरक्षित, कुशल और भविष्य-उन्मुख एप्लिकेशन बनाने में एक निवेश है। जैसे-जैसे डिजिटल परिदृश्य विकसित होता है, ऐसी तकनीकों में पारंगत होना अनिवार्य होगा। अपडेट रहने के लिए, हमारी पासकीज़ कम्युनिटी में शामिल हों या नीचे हमारे न्यूज़लेटर की सदस्यता लें।
Passkeys Series: WebAuthn Basics
Related Articles
Table of Contents