एन्क्रिप्ट करें

कॉन्स्क्रिप्ट मॉड्यूल सुरक्षा सुधारों को तेज करता है और ओटीए अपडेट पर भरोसा किए बिना डिवाइस सुरक्षा में सुधार करता है। यह एंड्रॉइड टीएलएस कार्यान्वयन के साथ-साथ कुंजी जनरेटर, सिफर और संदेश डाइजेस्ट जैसे एंड्रॉइड क्रिप्टोग्राफ़िक कार्यक्षमता का एक बड़ा हिस्सा प्रदान करने के लिए जावा कोड और एक मूल लाइब्रेरी का उपयोग करता है। कॉन्स्क्रिप्ट एक ओपन सोर्स लाइब्रेरी के रूप में उपलब्ध है, हालांकि एंड्रॉइड प्लेटफॉर्म में शामिल होने पर इसमें कुछ विशेषज्ञताएं हैं।

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

एंड्रॉइड 14 में बदलाव

एंड्रॉइड 14 कॉन्स्क्रिप्ट के भीतर एक अद्यतन करने योग्य रूट ट्रस्ट स्टोर पेश करता है। CA प्रमाणपत्र (या प्रमाणपत्र) एंड्रॉइड और इंटरनेट पर बड़े पैमाने पर उपयोग की जाने वाली सार्वजनिक कुंजियों के लिए विश्वास की जड़ें प्रदान करते हैं। उचित क्रिप्टोग्राफ़िक हस्ताक्षर सुनिश्चित करने के लिए इन प्रमाणपत्रों की नियमित जांच की जाती है, इसलिए उन्हें उन सभी उपकरणों पर प्रदान और संग्रहीत किया जाना चाहिए जो उन पर निर्भर हैं।

मेनलाइन से पहले, एंड्रॉइड सिस्टम विभाजन ( system/ca-certificates में) में प्रमाणपत्र संग्रहीत करता था और उन्हें प्रत्येक एंड्रॉइड रिलीज के साथ अपडेट करता था। अब मेनलाइन के साथ, मेनलाइन ट्रेन अपडेट का उपयोग करके प्रमाणपत्रों को अधिक बार अपडेट करना संभव है। इस नई क्षमता से अद्यतन प्रक्रियाओं को सुव्यवस्थित किया जाना चाहिए, हमें मुद्दों के त्वरित समाधान समय की अनुमति मिलेगी और डिवाइस के जीवनकाल को बढ़ाने में मदद मिलेगी।

एंड्रॉइड 14 में शुरू होकर, रूट ट्रस्ट प्रमाणपत्र कॉन्स्क्रिप्ट मॉड्यूल APEX और सिस्टम विभाजन में संग्रहीत किए जाते हैं। ऐप्स अभी भी अपने स्वयं के प्रमाणपत्र चुन सकते हैं और NetworkSecurityConfig उपयोग करके प्रमाणपत्र व्यवहार को संशोधित कर सकते हैं।

Android 14 में ये अन्य कॉन्स्क्रिप्ट मॉड्यूल परिवर्तन शामिल हैं:

  • एईएस-सीएमएसी मैक कार्यान्वयन जोड़ा गया।
  • `PBEwithHmacSHA2-*` MAC कार्यान्वयन को अस्वीकृत और हटा दिया गया।
  • X25519 कुंजियों, प्रमुख समझौतों और हस्ताक्षरों के लिए सीमित समर्थन जोड़ा गया।
  • X.509 शुद्धता के लिए बोरिंगएसएसएल अपडेट किया गया।
  • सार्वजनिक CertPath API में MD5-हस्ताक्षरित प्रमाणपत्रों के लिए समर्थन हटा दिया गया। एपीआई स्तर 16 के बाद से टीएलएस कनेक्शन के लिए ऐसे प्रमाणपत्र स्वीकार नहीं किए गए हैं।

एंड्रॉइड 10 में बदलाव

एंड्रॉइड 9 में कॉन्स्क्रिप्ट के लिए एंड्रॉइड-विशिष्ट सार्वजनिक एपीआई शामिल नहीं है, बल्कि एक सुरक्षा प्रदाता का उपयोग किया जाता है जो सिफर और मैसेजडाइजेस्ट सहित जावा क्रिप्टोग्राफी आर्किटेक्चर (जेसीए) के लिए मानक कक्षाएं लागू करता है, और एसएसएलसॉकेट और एसएसएलइंजिन सहित जावा सिक्योर सॉकेट एक्सटेंशन (जेएसएसई) शामिल है। उपयोगकर्ता उन कक्षाओं के साथ इंटरैक्ट करते हैं और कुछ गैर-सार्वजनिक कॉन्स्क्रिप्ट एपीआई का उपयोग libcore या फ्रेमवर्क कोड द्वारा किया जाता है।

एंड्रॉइड 10 कॉन्स्क्रिप्ट कार्यक्षमता तक पहुंचने के लिए android.net.ssl ​​में सार्वजनिक एपीआई विधियों की एक छोटी संख्या जोड़ता है जो javax.net.ssl ​​के अंतर्गत कक्षाओं द्वारा प्रदर्शित नहीं होती है। एंड्रॉइड 10 में एंड्रॉइड रनटाइम (कॉन्क्रिप्ट मॉड्यूल में शामिल नहीं) के हिस्से के रूप में कम लोकप्रियता वाले क्रिप्टोग्राफ़िक टूल प्रदान करने के लिए बाउंसी कैसल की एक पतली प्रतिलिपि भी शामिल है।

प्रारूप और निर्भरताएँ

कॉन्स्क्रिप्ट मॉड्यूल ( com.android.conscrypt ) को एक एपेक्स फ़ाइल के रूप में वितरित किया जाता है जिसमें कॉन्स्क्रिप्ट जावा कोड और एक कॉन्स्क्रिप्ट देशी लाइब्रेरी शामिल होती है जो गतिशील रूप से एंड्रॉइड एनडीके लाइब्रेरीज़ (जैसे liblog ) से लिंक होती है। मूल पुस्तकालय में बोरिंगएसएसएल की एक प्रति भी शामिल है जिसे एनआईएसटी के क्रिप्टोग्राफ़िक मॉड्यूल वैलिडेशन प्रोग्राम (सीएमवीपी) के माध्यम से मान्य किया गया है ( प्रमाणपत्र #3753 )।

कॉन्स्क्रिप्ट मॉड्यूल निम्नलिखित एपीआई को उजागर करता है:

  • सार्वजनिक एपीआई java.* और javax.* के अंतर्गत पैकेजों में कक्षाओं और इंटरफेस के विस्तार हैं, साथ ही android.net.ssl.* के अंतर्गत कक्षाएं भी हैं। बाहरी ऐप कोड सीधे कॉन्स्क्रिप्ट को कॉल नहीं करता है। प्लेटफ़ॉर्म एपीआई मानक यह सुनिश्चित करते हैं कि ये एपीआई पीछे और आगे-संगत रहें।
  • कोर प्लेटफ़ॉर्म एपीआई छुपे हुए एपीआई हैं जिनका उपयोग फ़्रेमवर्क द्वारा गैर-सार्वजनिक कार्यक्षमता तक पहुंचने के लिए किया जाता है। ये अपेक्षाकृत सीमित हैं; सबसे बड़ा उपयोगकर्ता NetworkSecurityConfig है, जो नेटवर्क सुरक्षा कॉन्फ़िगरेशन सुविधा को लागू करने के लिए कॉन्स्क्रिप्ट ट्रस्ट मैनेजर (प्रमाणपत्रों को सत्यापित करने वाला घटक) का विस्तार करता है।
  • इंट्रा-कोर एपीआई जेसीए और जेएसईई मशीनरी द्वारा रिफ्लेक्टिवली कहे जाने वाले शून्य-तर्क कंस्ट्रक्टर तक सीमित हैं।