ट्रस्टी टीईई

Trusty एक सुरक्षित ऑपरेटिंग सिस्टम (ओएस) है. यह Android के लिए ट्रस्टेड एक्ज़ीक्यूशन एनवायरमेंट (टीईई) उपलब्ध कराता है. Trusty OS, Android OS की तरह ही प्रोसेसर पर काम करता है. हालांकि, Trusty को हार्डवेयर और सॉफ़्टवेयर, दोनों की मदद से सिस्टम के बाकी हिस्सों से अलग रखा जाता है. Trusty और Android, एक-दूसरे के साथ-साथ काम करते हैं. Trusty के पास डिवाइस के मुख्य प्रोसेसर और मेमोरी का पूरा ऐक्सेस होता है. हालांकि, यह पूरी तरह से अलग होता है. Trusty को अलग रखने से, इसे उपयोगकर्ता के इंस्टॉल किए गए नुकसान पहुंचाने वाले ऐप्लिकेशन और Android में मौजूद संभावित जोखिमों से सुरक्षित रखा जा सकता है.

Trusty, ARM और Intel प्रोसेसर के साथ काम करता है. ARM सिस्टम पर, Trusty, ARM के TrustZone का इस्तेमाल करके मुख्य प्रोसेसर को वर्चुअलाइज़ करता है. साथ ही, एक सुरक्षित टीईई बनाता है. Intel x86 प्लैटफ़ॉर्म पर भी इसी तरह की सुविधा उपलब्ध है. इसके लिए, Intel की वर्चुअलाइज़ेशन टेक्नोलॉजी का इस्तेमाल किया जाता है.

Trusty की खास जानकारी देने वाला डायग्राम

पहली इमेज. Trusty की खास जानकारी देने वाला डायग्राम.

Trusty में ये शामिल हैं:

  • यह Little Kernel से लिया गया एक छोटा ओएस कर्नेल है
  • सुरक्षित एनवायरमेंट और Android के बीच डेटा ट्रांसफ़र करने के लिए, Linux कर्नल ड्राइवर
  • यह Android userspace library है. इसकी मदद से, कर्नल ड्राइवर के ज़रिए भरोसेमंद ऐप्लिकेशन (यानी कि सुरक्षित टास्क और सेवाएं) के साथ कम्यूनिकेट किया जा सकता है

ध्यान दें: Trusty और Trusty API में बदलाव हो सकता है. Trusty API के बारे में जानकारी के लिए, Trusty API के बारे में जानकारी देखें.

Trusty के फ़ायदे

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

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

ऐप्लिकेशन और सेवाएं

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

Trusty ऐप्लिकेशन के बारे में खास जानकारी

दूसरी इमेज. Trusty ऐप्लिकेशन के बारे में खास जानकारी.

तीसरे पक्ष के भरोसेमंद ऐप्लिकेशन

सभी Trusty ऐप्लिकेशन को एक ही पार्टी ने डेवलप किया है. साथ ही, इन्हें Trusty कर्नल इमेज के साथ पैकेज किया गया है. बूट के दौरान, पूरी इमेज पर हस्ताक्षर किया जाता है और बूटलोडर इसकी पुष्टि करता है. Trusty में, तीसरे पक्ष के ऐप्लिकेशन डेवलप करने की सुविधा काम नहीं करती. Trusty की मदद से नए ऐप्लिकेशन बनाए जा सकते हैं. हालांकि, ऐसा बहुत सावधानी से करें. हर नए ऐप्लिकेशन से, सिस्टम के भरोसेमंद कंप्यूटिंग बेस (टीसीबी) का दायरा बढ़ जाता है. भरोसेमंद ऐप्लिकेशन, डिवाइस के सीक्रेट ऐक्सेस कर सकते हैं. साथ ही, इनका इस्तेमाल करके कंप्यूटेशन या डेटा ट्रांसफ़ॉर्मेशन कर सकते हैं. TEE में चलने वाले नए ऐप्लिकेशन डेवलप करने की सुविधा से, इनोवेशन के कई अवसर मिलते हैं. हालांकि, टीईई की परिभाषा के मुताबिक, इन ऐप्लिकेशन को किसी भी तरह के भरोसे के बिना डिस्ट्रिब्यूट नहीं किया जा सकता. यह एक डिजिटल सिग्नेचर के तौर पर होता है. यह सिग्नेचर, उस इकाई का होता है जिस पर प्रॉडक्ट के उपयोगकर्ता भरोसा करते हैं.

इस्तेमाल और उदाहरण

मोबाइल डिवाइसों में टीईई एक स्टैंडर्ड बन रहा है. लोग रोज़मर्रा के कामों के लिए, अपने मोबाइल डिवाइसों पर ज़्यादा भरोसा कर रहे हैं. इसलिए, सुरक्षा की ज़रूरत बढ़ती जा रही है. TEE वाले फ़ोन या टैबलेट, TEE की सुविधा के बिना काम करने वाले डिवाइसों की तुलना में ज़्यादा सुरक्षित होते हैं.

TEE की सुविधा वाले डिवाइसों में, मुख्य प्रोसेसर को अक्सर *untrusted* कहा जाता है. इसका मतलब है कि यह रैम, हार्डवेयर रजिस्टर, और राइट-वंस फ़्यूज़ के कुछ हिस्सों को ऐक्सेस नहीं कर सकता. इन हिस्सों में, मैन्युफ़ैक्चरर, डिवाइस के हिसाब से क्रिप्टोग्राफ़िक कुंजियों जैसे सीक्रेट डेटा को सेव करता है. मुख्य प्रोसेसर पर चलने वाला सॉफ़्टवेयर, ऐसी सभी कार्रवाइयों को टीईई प्रोसेसर को सौंप देता है जिनके लिए सीक्रेट डेटा का इस्तेमाल करना ज़रूरी होता है.

Android इकोसिस्टम में, सुरक्षित कॉन्टेंट के लिए DRM फ़्रेमवर्क इसका सबसे ज़्यादा जाना-माना उदाहरण है. TEE प्रोसेसर पर चलने वाला सॉफ़्टवेयर, डिवाइस के लिए खास तौर पर तैयार की गई उन कुंजियों को ऐक्सेस कर सकता है जिनकी ज़रूरत सुरक्षित कॉन्टेंट को डिक्रिप्ट करने के लिए होती है. मुख्य प्रोसेसर को सिर्फ़ एन्क्रिप्ट (सुरक्षित) किया गया कॉन्टेंट दिखता है. इससे सुरक्षा का बेहतर स्तर मिलता है और सॉफ़्टवेयर पर आधारित हमलों से सुरक्षा मिलती है.

टीईई का इस्तेमाल कई अन्य कामों के लिए भी किया जाता है. जैसे, मोबाइल से पेमेंट करना, सुरक्षित बैंकिंग, मल्टीफ़ैक्टर ऑथेंटिकेशन, डिवाइस रीसेट प्रोटेक्शन, रीप्ले से सुरक्षित परसिस्टेंट स्टोरेज, सुरक्षित पिन और फ़िंगरप्रिंट प्रोसेसिंग, और मैलवेयर का पता लगाना.