डिजिटल क्रेडेंशियल, क्रिप्टोग्राफ़ी की मदद से पुष्टि किए जा सकने वाले दस्तावेज़ होते हैं. इनका इस्तेमाल, किसी व्यक्ति की पहचान की पुष्टि करने, उसे अनुमति देने या उसके बारे में जानकारी देने के लिए किया जा सकता है. ये आम तौर पर, मोबाइल ड्राइवर लाइसेंस, डिजिटल पासपोर्ट, बोर्डिंग पास वगैरह होते हैं. ये डिजिटल वॉलेट नाम के वर्चुअल कंटेनर में मौजूद होते हैं. साथ ही, ये W3C स्टैंडर्ड का हिस्सा होते हैं. इस स्टैंडर्ड में यह बताया गया है कि इन्हें कैसे ऐक्सेस और वापस पाया जा सकता है. इस स्टैंडर्ड को वेब पर इस्तेमाल के उदाहरणों के लिए, W3C Credential Management API के साथ लागू किया जाता है. साथ ही, Android पर इसे Credential Manager के DigitalCredential API के साथ लागू किया जाता है.
डिजिटल क्रेडेंशियल के बारे में जानकारी
असल दुनिया में, कोई व्यक्ति अपनी पहचान को अपने वॉलेट में रख सकता है. इसके बाद, जब कोई पार्टी उससे पहचान की पुष्टि करने के लिए कहे, तो वह उसे अपनी पहचान दिखा सकता है:
इस मामले में, उपयोगकर्ता के पास आम तौर पर एक ही वॉलेट होता है. वह अनुरोध करने वाले व्यक्ति को दिखाने के लिए, वॉलेट से अनुरोध की गई क्रेडेंशियल वापस पाता है. वॉलेट में मौजूद कार्ड और पास वगैरह को एक-दूसरे में ट्रांसफ़र किया जा सकता है. साथ ही, इनमें एक जैसी जानकारी सेव की जा सकती है.
डिजिटल क्रेडेंशियल में कुछ मुख्य अंतर होते हैं:
- उपयोगकर्ताओं के पास एक से ज़्यादा वॉलेट होने चाहिए. इन्हें होल्डर भी कहा जाता है. इनमें अलग-अलग क्रेडेंशियल हो सकते हैं. वॉलेट यह तय करते हैं कि उनमें कौनसे क्रेडेंशियल सेव किए जा सकते हैं.
- अनुरोध करने वाला व्यक्ति अब कोई ऐप्लिकेशन है, न कि कोई असली व्यक्ति. इसे पुष्टि करने वाला कहा जाता है.
- क्रेडेंशियल दिखाने की प्रोसेस सॉफ़्टवेयर में होती है. इसका मतलब है कि एपीआई की मदद से क्रेडेंशियल को वापस पाया जाता है और दिखाया जाता है. Android में, यह काम Credential Manager करता है.
इसलिए, क्रेडेंशियल मैनेजर कई ऐसी भूमिकाएं निभाता है जिन्हें पहले उपयोगकर्ता मैनेज करता था:
- Android पर, Wallet को Credential Manager के साथ अपने क्रेडेंशियल मेटाडेटा को रजिस्टर करना होगा. इससे, Wallet को Credential Manager के यूज़र इंटरफ़ेस (यूआई) में शामिल किया जा सकेगा.
- क्रेडेंशियल मैनेजर, अनुरोध के आधार पर सभी वॉलेट में क्रेडेंशियल मैच करता है. इसके बाद, उपयोगकर्ता को चुनने के लिए एक सूची दिखाता है.
- जब उपयोगकर्ता सूची में कोई क्रेडेंशियल चुनता है, तो क्रेडेंशियल मैनेजर, वॉलेट को चालू करता है. इसके बाद, वॉलेट लेन-देन के बाकी हिस्से को मैनेज करता है. जैसे, यूज़र इंटरफ़ेस (यूआई) दिखाना वगैरह. साथ ही, क्रेडेंशियल को ऐप्लिकेशन पर वापस भेजता है.
इस फ़्लो को यहां दिखाया गया है:
उपयोगकर्ता अनुभव
Android के फ़्लो में दिखाया गया है कि उपयोगकर्ता को सही क्रेडेंशियल चुनने के लिए, Credential Manager के यूज़र इंटरफ़ेस (यूआई) के साथ सिर्फ़ एक बार इंटरैक्ट करना होता है. यहां एक उदाहरण दिया गया है, जिससे पता चलता है कि सिलेक्टर कैसा दिखता है:
सुलभता के मानक
डिजिटल क्रेडेंशियल के अनुरोध, OpenID4VP स्टैंडर्ड का इस्तेमाल करके बनाए जाते हैं. अनुरोधों के उदाहरण देखने के लिए, डिजिटल क्रेडेंशियल की डेमो साइट पर जाएं.
डिजिटल क्रेडेंशियल के जवाब आम तौर पर, स्टैंडर्ड क्रेडेंशियल फ़ॉर्मैट में दिए जाते हैं. इन्हें अलग-अलग स्टैंडर्ड बॉडी मैनेज करती हैं. इनमें W3C Verifiable Credentials, sd-jwt, और mdoc शामिल हैं.
कस्टम प्रोटोकॉल का भी इस्तेमाल किया जा सकता है. हालांकि, हमारा सुझाव है कि आप अपने ऐप्लिकेशन में किसी एक स्टैंडर्ड प्रोटोकॉल का इस्तेमाल करें.
इसे आज़माएं
Android Wallet और वेब पर आधारित पुष्टि करने वाले सॉफ़्टवेयर की मदद से, अलग-अलग प्लैटफ़ॉर्म पर डिजिटल क्रेडेंशियल के फ़्लो को आज़माया जा सकता है:
- अपने Android फ़ोन पर CMWallet का सार्वजनिक सैंपल इंस्टॉल करें.
इसके लिए, रिपॉज़िटरी से खींचकर सीधे Android Studio से इंस्टॉल करें. इसके अलावा, https://github.com/digitalcredentialsdev/CMWallet/actions पर जाकर,
app-debug.apkफ़ाइल का नया वर्शन ऐक्सेस करने के लिए, नया बिल्ड चुनें. - क्रेडेंशियल मैनेजर के साथ मेटाडेटा रजिस्टर करने के लिए, CMWallet खोलें. पक्का करें कि ब्लूटूथ चालू हो, ताकि आपके डिवाइस एक-दूसरे से कनेक्ट हो सकें.
- https://digital-credentials.dev/ पर जाएं और
Request Credentials (OpenID4VP)को चुनें. - चेतावनी वाले प्रॉम्प्ट स्वीकार करें और अपने फ़ोन से क्यूआर कोड स्कैन करें. इसके बाद, "पासकी का इस्तेमाल करें" को चुनें. साथ ही, पुष्टि करने के लिए टैप करके, उपलब्ध क्रेडेंशियल दिखाएं.
- ब्राउज़र पर वापस जाने के लिए, CMWallet से क्रेडेंशियल चुनें. ब्राउज़र को, वापस भेजी गई क्रेडेंशियल दिखानी चाहिए.
यह भी देखें:
- अपने ऐप्लिकेशन में डिजिटल क्रेडेंशियल का अनुरोध करने के लिए, Credential Manager का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Credential Manager - Verifier API पेज पढ़ें.
- Credential Manager का इस्तेमाल करके डिजिटल वॉलेट बनाने के बारे में ज़्यादा जानने के लिए, Credential Manager - Holder API पेज पढ़ें.