2015-03-03 12 views
10

हम अपने एपीआई से बात करने के लिए हमारे एंड्रॉइड प्रोजेक्ट में okhttp का उपयोग कर रहे हैं; सभी संचार एसएसएल/टीएलएस के साथ एन्क्रिप्ट किए जाते हैं, और हमारे सर्वर एसपीडीवाई बोल सकते हैं। हम जुड़े स्थान प्रदाता और कुछ अन्य कार्यक्षमता के लिए Google Play Services में भी लिंक कर रहे हैं।क्या हमें ओकेएचटीपी के साथ Google के सुरक्षा प्रदाता का उपयोग करना चाहिए?

प्ले सेवाओं का हिस्सा जो हम वर्तमान में उपयोग नहीं कर रहे हैं उनका security provider है, जो डिवाइस की एसएसएल स्टैक को किसी भी तरह से विभिन्न भेद्यताओं के खिलाफ सुरक्षा के लिए अपग्रेड करने का वादा करता है। हालांकि, दस्तावेज कुछ हद तक अस्पष्ट हैं कि प्रदाता वास्तव में करता है और इसके द्वारा एसएसएल विधियों को किस प्रकार प्रभावित किया जाता है और जो नहीं हैं (प्रत्येक के कुछ उदाहरण प्रदान किए जाते हैं, लेकिन व्यापक सूची नहीं)।

तो, मुझे लगता है कि मेरे सवाल दोहरा है:

  • प्रभावी सुरक्षा प्रदाता भी okhttp के साथ कार्य करेगा, या निचले स्तर (या उच्च स्तर के) ऐसे API से प्रभावित नहीं हैं पर भरोसा करते हैं okhttp है प्रदाता स्थापित करना?

  • मान लीजिए कि यह काम करता है, लाभ क्या हैं? क्या देखभाल के लायक सुरक्षा लाभ हैं? क्या वास्तव में यह nfuller hints it might के रूप में ओकेटीपी 2.2 में एएलपीएन से संबंधित मूल दुर्घटना को ठीक करेगा?

+0

क्या आपको कोई समाधान मिला? – rekire

+0

@rekire, नहीं, हमने कभी नहीं पता लगाया कि क्या हो रहा है, और इसलिए अब इसे छोड़ दिया गया है ... – mlc

उत्तर

3

टीएल; डीआर: हाँ।

प्ले सेवाएं गतिशील सुरक्षा प्रदाता JCACryptographic Service Provider (सीएसपी) है। एक जावा प्रोग्राम में एकाधिक सीएसपी पंजीकृत हो सकते हैं और प्रत्येक सीएसपी हैशिंग एल्गोरिदम जैसे सुरक्षा प्राइमेटिव्स के विभिन्न कार्यान्वयन प्रदान कर सकता है।

  • AndroidOpenSSL संस्करण 1.0
  • DRLCertFactory संस्करण 1.0
  • ईसा पूर्व संस्करण 1.45
  • क्रिप्टो संस्करण 1.0
  • HarmonyJSSE संस्करण 1,0

: यहाँ एक सीएसपी की सूची Android 2.3 में शामिल है जब आप एंड्रॉइड डेवलपर डॉक्यूमेंटेशन में उल्लिखित activate the Play Services Dynamic Security Provider करते हैं, तो सूची के शीर्ष पर केवल एक और प्रदाता जोड़ा जाता है :

  • GmsCore_OpenSSL संस्करण 1.0
  • AndroidOpenSSL संस्करण 1.0
  • DRLCertFactory संस्करण 1.0
  • ईसा पूर्व संस्करण 1.45
  • क्रिप्टो संस्करण 1.0
  • HarmonyJSSE संस्करण 1,0

जब OkHttp (या आपके आवेदन का कोई अन्य हिस्सा) जेसी का उपयोग करके "सुरक्षा करता है" यह एक क्षमता प्रदाता और वरीयता (सॉर्ट ऑर्डर) के अनुसार प्रदाता का चयन करता है जिसका अर्थ है कि GmsCore_OpenSSL का उपयोग किया जाएगा।

बजाय जो भी उपकरण अपने app आप पर चल रहा है के साथ बंडल है GmsCore_OpenSSL पर भरोसा करके भी Android 2.3 के साथ प्राचीन उपकरणों, जिसका अर्थ है कोई अधिक SSLv3, टीएलएस 1 पर the provided security primitives की एक अप-टू-डेट कार्यान्वयन मिलता है।2 (Android 2.3 doesn't even support TLS 1.1) वर्तमान सिफर-सूट और पैच सुरक्षा छेद के साथ। चूंकि Play Services को Android के स्वतंत्र रूप से अपडेट किया जाता है, इसलिए Play Services डायनामिक सिक्योरिटी प्रदाता वर्तमान रहता है और इसलिए इसे मौजूदा उपकरणों पर भी उपयोग करना समझ में आता है।

संबंधित मुद्दे