डिजिटल क्रेडेंशियल के बारे में खास जानकारी

डिजिटल क्रेडेंशियल, क्रिप्टोग्राफ़ी की मदद से पुष्टि किए जा सकने वाले दस्तावेज़ होते हैं. इनका इस्तेमाल, किसी व्यक्ति की पहचान की पुष्टि करने, उसे अनुमति देने या उसके बारे में जानकारी देने के लिए किया जा सकता है. ये आम तौर पर, मोबाइल ड्राइवर लाइसेंस, डिजिटल पासपोर्ट, बोर्डिंग पास वगैरह होते हैं. ये डिजिटल वॉलेट नाम के वर्चुअल कंटेनर में मौजूद होते हैं. साथ ही, ये W3C स्टैंडर्ड का हिस्सा होते हैं. इस स्टैंडर्ड में यह बताया गया है कि इन्हें कैसे ऐक्सेस और वापस पाया जा सकता है. इस स्टैंडर्ड को वेब पर इस्तेमाल के उदाहरणों के लिए, W3C Credential Management API के साथ लागू किया जाता है. साथ ही, Android पर इसे Credential Manager के DigitalCredential API के साथ लागू किया जाता है.

डिजिटल क्रेडेंशियल के बारे में जानकारी

असल दुनिया में, कोई व्यक्ति अपनी पहचान को अपने वॉलेट में रख सकता है. इसके बाद, जब कोई पार्टी उससे पहचान की पुष्टि करने के लिए कहे, तो वह उसे अपनी पहचान दिखा सकता है:

वॉलेट के साथ सामान्य इंटरैक्शन का फ़्लो दिखाने वाली इमेज
पहली इमेज. फ़िज़िकल क्रेडेंशियल के अनुरोध को पूरा करने की प्रोसेस. अनुरोध करने वाला व्यक्ति, उपयोगकर्ता से कोई क्रेडेंशियल मांगता है. इसके बाद, उपयोगकर्ता अपने फ़िज़िकल वॉलेट से इसे चुनता है और वापस पाता है. आखिर में, उपयोगकर्ता, अनुरोध करने वाले व्यक्ति को क्रेडेंशियल देता है.

इस मामले में, उपयोगकर्ता के पास आम तौर पर एक ही वॉलेट होता है. वह अनुरोध करने वाले व्यक्ति को दिखाने के लिए, वॉलेट से अनुरोध की गई क्रेडेंशियल वापस पाता है. वॉलेट में मौजूद कार्ड और पास वगैरह को एक-दूसरे में ट्रांसफ़र किया जा सकता है. साथ ही, इनमें एक जैसी जानकारी सेव की जा सकती है.

डिजिटल क्रेडेंशियल में कुछ मुख्य अंतर होते हैं:

  1. उपयोगकर्ताओं के पास एक से ज़्यादा वॉलेट होने चाहिए. इन्हें होल्डर भी कहा जाता है. इनमें अलग-अलग क्रेडेंशियल हो सकते हैं. वॉलेट यह तय करते हैं कि उनमें कौनसे क्रेडेंशियल सेव किए जा सकते हैं.
  2. अनुरोध करने वाला व्यक्ति अब कोई ऐप्लिकेशन है, न कि कोई असली व्यक्ति. इसे पुष्टि करने वाला कहा जाता है.
  3. क्रेडेंशियल दिखाने की प्रोसेस सॉफ़्टवेयर में होती है. इसका मतलब है कि एपीआई की मदद से क्रेडेंशियल को वापस पाया जाता है और दिखाया जाता है. Android में, यह काम Credential Manager करता है.

इसलिए, क्रेडेंशियल मैनेजर कई ऐसी भूमिकाएं निभाता है जिन्हें पहले उपयोगकर्ता मैनेज करता था:

  1. Android पर, Wallet को Credential Manager के साथ अपने क्रेडेंशियल मेटाडेटा को रजिस्टर करना होगा. इससे, Wallet को Credential Manager के यूज़र इंटरफ़ेस (यूआई) में शामिल किया जा सकेगा.
  2. क्रेडेंशियल मैनेजर, अनुरोध के आधार पर सभी वॉलेट में क्रेडेंशियल मैच करता है. इसके बाद, उपयोगकर्ता को चुनने के लिए एक सूची दिखाता है.
  3. जब उपयोगकर्ता सूची में कोई क्रेडेंशियल चुनता है, तो क्रेडेंशियल मैनेजर, वॉलेट को चालू करता है. इसके बाद, वॉलेट लेन-देन के बाकी हिस्से को मैनेज करता है. जैसे, यूज़र इंटरफ़ेस (यूआई) दिखाना वगैरह. साथ ही, क्रेडेंशियल को ऐप्लिकेशन पर वापस भेजता है.

इस फ़्लो को यहां दिखाया गया है:

डिजिटल क्रेडेंशियल के इंटरैक्शन का फ़्लो दिखाने वाली इमेज
दूसरी इमेज. डिजिटल क्रेडेंशियल की पुष्टि करने के लिए इंटरैक्शन मॉडल. Credential Manager, पहले से रजिस्टर किए गए क्रेडेंशियल के मेटाडेटा का इस्तेमाल करता है. यह मेटाडेटा, उपयोगकर्ता के सभी वॉलेट में मौजूद होता है. इससे, पुष्टि करने वाले व्यक्ति के अनुरोध का मिलान किया जाता है. साथ ही, उपयोगकर्ता को क्रेडेंशियल चुनने के लिए कहा जाता है. इसके बाद, Credential Manager गतिविधि के फ़्लो को उस वॉलेट पर भेजता है जो लेन-देन के बाकी हिस्से को मैनेज करता है. साथ ही, यह पुष्टि करने वाले व्यक्ति को क्रेडेंशियल वापस भेजता है. ध्यान दें: पुष्टि करने वाले को क्रेडेंशियल का जवाब मिलने के बाद, उसे इसकी पुष्टि करनी होगी.

उपयोगकर्ता अनुभव

Android के फ़्लो में दिखाया गया है कि उपयोगकर्ता को सही क्रेडेंशियल चुनने के लिए, Credential Manager के यूज़र इंटरफ़ेस (यूआई) के साथ सिर्फ़ एक बार इंटरैक्ट करना होता है. यहां एक उदाहरण दिया गया है, जिससे पता चलता है कि सिलेक्टर कैसा दिखता है:

क्रेडेंशियल मैनेजर में डिजिटल क्रेडेंशियल का यूज़र इंटरफ़ेस (यूआई) दिखाने वाली इमेज
तीसरी इमेज. डिजिटल क्रेडेंशियल का यूज़र इंटरफ़ेस (यूआई).

सुलभता के मानक

डिजिटल क्रेडेंशियल के अनुरोध, OpenID4VP स्टैंडर्ड का इस्तेमाल करके बनाए जाते हैं. अनुरोधों के उदाहरण देखने के लिए, डिजिटल क्रेडेंशियल की डेमो साइट पर जाएं.

डिजिटल क्रेडेंशियल के जवाब आम तौर पर, स्टैंडर्ड क्रेडेंशियल फ़ॉर्मैट में दिए जाते हैं. इन्हें अलग-अलग स्टैंडर्ड बॉडी मैनेज करती हैं. इनमें W3C Verifiable Credentials, sd-jwt, और mdoc शामिल हैं.

कस्टम प्रोटोकॉल का भी इस्तेमाल किया जा सकता है. हालांकि, हमारा सुझाव है कि आप अपने ऐप्लिकेशन में किसी एक स्टैंडर्ड प्रोटोकॉल का इस्तेमाल करें.

इसे आज़माएं

Android Wallet और वेब पर आधारित पुष्टि करने वाले सॉफ़्टवेयर की मदद से, अलग-अलग प्लैटफ़ॉर्म पर डिजिटल क्रेडेंशियल के फ़्लो को आज़माया जा सकता है:

  1. अपने Android फ़ोन पर CMWallet का सार्वजनिक सैंपल इंस्टॉल करें. इसके लिए, रिपॉज़िटरी से खींचकर सीधे Android Studio से इंस्टॉल करें. इसके अलावा, https://github.com/digitalcredentialsdev/CMWallet/actions पर जाकर, app-debug.apk फ़ाइल का नया वर्शन ऐक्सेस करने के लिए, नया बिल्ड चुनें.
  2. क्रेडेंशियल मैनेजर के साथ मेटाडेटा रजिस्टर करने के लिए, CMWallet खोलें. पक्का करें कि ब्लूटूथ चालू हो, ताकि आपके डिवाइस एक-दूसरे से कनेक्ट हो सकें.
  3. https://digital-credentials.dev/ पर जाएं और Request Credentials (OpenID4VP) को चुनें.
  4. चेतावनी वाले प्रॉम्प्ट स्वीकार करें और अपने फ़ोन से क्यूआर कोड स्कैन करें. इसके बाद, "पासकी का इस्तेमाल करें" को चुनें. साथ ही, पुष्टि करने के लिए टैप करके, उपलब्ध क्रेडेंशियल दिखाएं.
  5. ब्राउज़र पर वापस जाने के लिए, CMWallet से क्रेडेंशियल चुनें. ब्राउज़र को, वापस भेजी गई क्रेडेंशियल दिखानी चाहिए.

यह भी देखें:

  • अपने ऐप्लिकेशन में डिजिटल क्रेडेंशियल का अनुरोध करने के लिए, Credential Manager का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Credential Manager - Verifier API पेज पढ़ें.
  • Credential Manager का इस्तेमाल करके डिजिटल वॉलेट बनाने के बारे में ज़्यादा जानने के लिए, Credential Manager - Holder API पेज पढ़ें.