डिवाइस रजिस्ट्रेशन के दौरान, डिवाइस को डीसी सेव करने के लिए तैयार किया जाता है. इसके लिए, जारी करने वाले के सिस्टम में आइडेंटिटी कुंजी रजिस्टर की जाती है.
अनुरोध का फ़्लो
फ़्लो का ब्यौरा
| चरण | स्रोत | ब्यौरा |
|---|---|---|
| 1 | Android पर काम करने वाला डिवाइस |
उपयोगकर्ता के डिवाइस पर, डेटा मिटाने का नया अनुरोध बनाया गया है. क्रेडिट कार्ड जारी करने वाली कंपनी/बैंक को एक नई पहचान कुंजी बनानी होगी. उपयोगकर्ता का डिवाइस, इस प्रोसेस को शुरू करने के लिए getDeviceRegistrationNonce कॉल करता है.
|
| 2 | Google के सर्वर पर |
Google, getDeviceRegistrationNonce अनुरोध को जारी करने वाले बैंक को भेजता है.
|
| 3 | जारी करने वाले सर्वर |
जारी करने वाला व्यक्ति या कंपनी, एक नॉनस जनरेट करती है. इसे deviceReferenceId के साथ सेव करती है. इसके बाद, Google को नॉनस दिखाती है.
|
| 4 | Google के सर्वर पर | Google, उपयोगकर्ता के डिवाइस पर नॉनस भेजता है. |
| 5 | Android पर काम करने वाला डिवाइस |
उपयोगकर्ता का डिवाइस, नॉनस पर हस्ताक्षर करता है और उसे x509 सर्टिफ़िकेट में एम्बेड करता है.
यह डिवाइस की पुष्टि करने के लिए, registerDevice कॉल में शामिल होता है.
|
| 6 | Google के सर्वर पर | Google, registerDevice कॉल को जारी करने वाली कंपनी को भेजता है. |
| 7 | जारी करने वाले सर्वर | सर्टिफ़िकेट जारी करने वाला व्यक्ति या कंपनी, डिवाइस की जांच करती है. साथ ही, डिवाइस से जुड़ी पहचान की कुंजी सेव करती है. |
किसी डिवाइस की इंटिग्रिटी की पुष्टि कैसे करें
डिवाइस की पुष्टि करने की सुविधा, सुरक्षा से जुड़ी एक सुविधा है. इसकी मदद से, कार्ड जारी करने वाली कंपनियां किसी डिवाइस को रजिस्टर करने से पहले, उसकी पुष्टि कर सकती हैं. इससे ऐसे डिवाइसों को रजिस्टर होने से रोकने में मदद मिलती है जिनमें छेड़छाड़ की गई हो या जिनमें बिना अनुमति वाला सॉफ़्टवेयर चल रहा हो.
डिवाइस की इंटिग्रिटी की पुष्टि करने के लिए, जारी करने वाली कंपनी को यह करना चाहिए:
/registerDeviceअनुरोध में भेजे गए सर्टिफ़िकेट चेन की पुष्टि करें. चेन में मौजूद रूट सर्टिफ़िकेट, Google से मिले सर्टिफ़िकेट से मेल खाना चाहिए.- पक्का करें कि रूट सर्टिफ़िकेट, सर्टिफ़िकेट रद्द करने की सूची में शामिल न हो.
- लीफ़ सर्टिफ़िकेट को पार्स करें, एक्सटेंशन पढ़ें, और इनकी पुष्टि करें:
attestationChallengeवैल्यू,/getDeviceRegistrationNonceऑपरेशन के दौरान भेजी गईnonceवैल्यू से मेल खाती है.teeEnforced.rootOfTrustमें ये प्रॉपर्टी शामिल हैं:deviceLocked=TRUEverifiedBootState=VERIFIED
softwareEnforced.attestationApplicationIdपैकेज के नामcom.google.android.gmsयाcom.google.android.gsfसे मेल खाते हों.
डिवाइस की पुष्टि करने की प्रोसेस के अलग-अलग हिस्सों के बारे में जानकारी
- सर्टिफ़िकेट चेन: सर्टिफ़िकेट चेन, सर्टिफ़िकेट की एक सीरीज़ होती है. यह डिवाइस की पहचान की पुष्टि करती है. चेन में मौजूद रूट सर्टिफ़िकेट, सबसे भरोसेमंद सर्टिफ़िकेट होता है. साथ ही, चेन में मौजूद हर अगले सर्टिफ़िकेट पर, उससे पहले वाले सर्टिफ़िकेट के हस्ताक्षर होते हैं.
- निरस्त किए गए सर्टिफ़िकेट की सूची: निरस्त किए गए सर्टिफ़िकेट की सूची (सीआरएल) उन सर्टिफ़िकेट की सूची होती है जिन्हें किसी वजह से रद्द कर दिया गया है. अगर डिवाइस की पुष्टि करने वाले सर्टिफ़िकेट चेन में मौजूद रूट सर्टिफ़िकेट, CRL में है, तो इसका मतलब है कि सर्टिफ़िकेट अमान्य है. साथ ही, डिवाइस की पुष्टि करने की प्रोसेस पर भरोसा नहीं किया जाना चाहिए.
- लीफ़ सर्टिफ़िकेट: लीफ़ सर्टिफ़िकेट, डिवाइस के लिए खास तौर पर बनाया गया सर्टिफ़िकेट होता है. इसमें डिवाइस के बारे में जानकारी होती है. जैसे, हार्डवेयर आइडेंटिफ़ायर और सॉफ़्टवेयर वर्शन.
- एक्सटेंशन: एक्सटेंशन, अतिरिक्त जानकारी होती है. इन्हें सर्टिफ़िकेट में शामिल किया जाता है. डिवाइस एटेस्टेशन सर्टिफ़िकेट में कई एक्सटेंशन होते हैं. इनका इस्तेमाल, डिवाइस की इंटिग्रिटी की पुष्टि करने के लिए किया जाता है. ज़्यादा जानकारी के लिए, सर्टिफ़िकेट एक्सटेंशन डेटा के स्कीमा पर जाएं.