2013-02-07 67 views
6

हम एक सेवा प्रदाता के साथ साझेदारी कर रहे हैं जो रीस्टफुल एपीआई के माध्यम से अपनी सेवाओं का खुलासा करता है।एक विश्वसनीय API का उपयोग करना - क्या यह सुरक्षित है?

हम यूआरएल पैरामीटर के रूप में उपयोगकर्ता नाम और पासवर्ड पास करके एपीआई के साथ प्रमाणित कर सकते हैं।

उदाहरण: https://example.com/api/service.json?api_user=Username&api_key=Password

मैं जानता हूँ कि यह SSL का उपयोग कर रहा है। हालांकि, चूंकि उपयोगकर्ता नाम और पासवर्ड यूआरएल का हिस्सा हैं, इसलिए इसे किसी तीसरे पक्ष द्वारा अवरुद्ध नहीं किया जा सकता है?

उत्तर

7

नहीं, कोई तृतीय पक्ष केवल गंतव्य (example.com) देख पाएगा। बाकी यूआरएल वास्तव में अनुरोध के अंदर एम्बेडेड है।

यह HTTP (या HTTPS) अनुरोध के तरीके की प्रक्रिया को समझने में सहायता करता है।

  1. प्रोटोकॉल निर्धारित (इस मामले HTTPS में, पोर्ट 443 का उपयोग करते हुए) DNS
  2. का उपयोग कर सर्वर के लिए एक टीसीपी जुड़ाव स्थापित (यदि एसएसएल शामिल है, यह थोड़ा और अधिक जटिल है) सर्वर
  3. प्राप्त आईपी पते
  4. मुद्दा जो

    GET /api/service.json?api_user=Username&api_key=Password

कुछ ऐसी दिखाई देगी नए कनेक्शन पर सर्वर को एक अनुरोध

चूंकि वास्तविक अनुरोध एन्क्रिप्टेड डेटा स्ट्रीम का हिस्सा है, इसलिए किसी को संवेदनशील जानकारी निकालने के लिए कनेक्शन की निगरानी करने का कोई तरीका नहीं है।

+0

शायद यह वेब सर्वर लॉग पर असुरक्षित रूप में दिखाई दे सकता है। – mlt

+1

@mit - हाँ, यह एक मुद्दा हो सकता है। यह सुनिश्चित करने के लिए सेवा प्रदाता की ज़िम्मेदारी है कि उन अनुरोधों को लॉग नहीं किया गया है या लॉग में उचित रूप से सेंसर किए गए हैं। – Ferruccio

5

हालांकि, चूंकि उपयोगकर्ता नाम और पासवर्ड यूआरएल का हिस्सा हैं, तो नहीं हो सकता है, इसे किसी तृतीय पक्ष द्वारा अवरुद्ध किया जा सकता है?

यूआरएल एन्क्रिप्शन के तहत भी भेजा जाता है। दूसरे शब्दों में, चैनल को सुरक्षित करने वाली प्रक्रिया से पहले सर्वर को सर्वर पर भेजी जाती है।

आप सुरक्षित हैं।

6

पिछले उत्तर दोनों तकनीकी रूप से सही हैं; यदि आप HTTPS का उपयोग कर रहे हैं, तो यूआरएल और क्वेरीस्ट्रिंग डेटा ट्रांसमिशन से पहले एन्क्रिप्ट किया जाएगा और इसे सुरक्षित माना जा सकता है।

हालांकि, तथ्य यह है कि एक एपीआई उपयोगकर्ता नाम और पासवर्ड के लिए पूछताछ कर रहा है क्योंकि क्वेरीस्ट्रिंग पैरामीटर सुरक्षा के लिए कुछ हद तक ढीला दृष्टिकोण इंगित कर सकता है।

उदाहरण के लिए, कई वेबसर्वर डिफ़ॉल्ट रूप से अनुरोध क्वेरीस्ट्रिंग पैरामीटर लॉग ऑन करेंगे, जिसका अर्थ है कि आपके सादे-पाठ प्रमाण-पत्र कहीं डिस्क पर चारों ओर झूठ बोल रहे हैं (और कई कंपनियां असुरक्षित तरीके से वेबसर्वर लॉग स्टोर या बैक अप लेती हैं) ।

संक्षेप में: क्वेरीस्ट्रिंग पैरामीटर के रूप में उत्तीर्ण प्रमाण पत्र सुरक्षा जोखिम प्रति से नहीं है, लेकिन आम तौर पर एक खराब अभ्यास है और यह बड़े सुरक्षा मुद्दों का लक्षण हो सकता है।