तंत्रज्ञान

KeyMeld: आयफोन आणि Android साठी सामान्य की आणि Zero Vault आर्किटेक्चर प्रोजेक्टसाठी

KeyMeld स्वतःमध्ये Zero Vault नाही. हे एक स्वतंत्र SaaS सेवा आहे, जी डेव्हलपरला उत्पादनाच्या बॅकएंडच्या बाहेर सर्वसामान्य की ठेवण्यास मदत करते, iOS आणि Android क्लायंट्सना एकत्र करते आणि Zero Vault मॉडेलवर आधारित आर्किटेक्चर तयार करते.

क्रॉस-प्लॅटफॉर्म अनुप्रयोगांनी एक समस्या येते, जी सामान्य वापरकर्ता नेहमी लक्षात घेत नाही. स्क्रीनवर त्याला एकच खाते दिसते आणि कोणत्याही उपकरणावर समान कार्यक्षमता अपेक्षा असते. परंतु iPhone आणि Android मध्ये वापरले जाणारे संरक्षण तंत्र वेगवेगळे असते आणि स्थानिक कींसोबत वेगवेगळ्या पद्धतीने कार्य करतात.

iPhone मध्ये, अनुप्रयोग स्थानिक कीसाठी Apple Keychain चा वापर करू शकतो. Android साठी, Android Keystore वापरले जाते. या तंत्रज्ञानाचा उद्देश संवेदनशील की सुरक्षित वातावरणात ठेवणे आहे, पण ते परस्पर बदलता येत नाहीत.

वापरकर्त्यासाठी याचा काहीही फरक पडत नाही. तो फक्त iPhone वर अनुप्रयोग उघडतो, नंतर Android वर स्थापित करतो आणि सुरक्षित डेटासह कार्य सुरू ठेवतो.

डेव्हलपरसाठी हे एक आर्किटेक्चरल प्रश्न आहे: दोन्ही प्लॅटफॉर्मवर एकसंध प्रवेश कसा करायचा, स्थानिक उपकरणांची की ट्रान्सफर न करता ती वेगळ्या कॉपीसाठी बॅकएंडमध्ये जपल्या नाहीत तर?

KeyMeld मध्ये, मला दिसले की, ही सेवा त्यासाठी एक स्वतंत्र सर्वसामान्य की ऑफर करते, जी iOS आणि Android च्या अंतर्गत संरक्षणात हस्तक्षेप न करता काम करते.

विविध प्लॅटफॉर्मसाठी एकसंध की

स्थानिक कीसाठी विशिष्ट फोनसाठी आहे आणि संबंधित ऑपरेटिंग सिस्टीमद्वारे संरक्षित केली जाते. ती विशिष्ट उपकरणात सुरक्षित वातावरणात राहते आणि उपकरणांमध्ये मोडता येत नाही.

KeyMeld ची सर्वसामान्य की ही वेगळी आहे. ही विशिष्ट प्रोजेक्ट, खाते आणि सुरक्षित जागेसाठी तयार केली जाते आणि विविध प्लॅटफॉर्मवरील अधिकृत ग्राहकांसाठी एकसंध होते.

सेवा iPhone की घेऊन त्यावर हस्तक्षेप करत नाही, Android वर त्याला ट्रान्सफर करत नाही आणि दोन वेगवेगळ्या कीसाठी एकच की वापर करण्याचा प्रयत्न करत नाही. प्लॅटफॉर्म संरक्षण स्वतंत्र राहते, आणि अनुप्रयोगाला आपल्या प्रोजेक्टसाठी सामान्य स्तराचा प्रवेश मिळतो.

याचाच अर्थ, KeyMeld ची आर्किटेक्चरल भूमिका ही आहे की, ती iOS आणि Android ला एकसमान बनवत नाही, आणि त्यांच्या अंतर्गत तंत्रं बदलत नाही. ती एक सामान्य युनिव्हर्सल कीसह काम करण्याचा स्तर वाढवते, ज्यामुळे प्रोजेक्टला त्याच्या आंतरप्लॅटफॉर्म वितरणासाठी स्वतंत्र उपाय शोधण्याची गरज नाही.

विविध उत्पादने आणि खात्यांसाठी स्वतंत्र की कॉन्टूर तयार केले जातात. त्यामुळे प्रत्येक प्रोजेक्टची प्रवेश क्षेत्र स्वतंत्र राहाते, आणि जास्तृत खात्ये एका उपकरणावर विभक्त राहतात.

Zero Vault हा प्रोजेक्टचा भाग आहे

तत्काल लक्षात घ्या की, Zero Vault ही KeyMeld चं नाव नाही. ही एक आर्किटेक्चरल मॉडेल आहे, जी जोडलेल्या प्रोडक्टने तयार केलेली असू शकते.

KeyMeld ही एक स्वतंत्र SaaS सेवा आहे. ती अनुप्रयोगाच्या बॅकएंडमध्ये स्थापित केली जात नाही, किंवा प्रोजेक्टच्या डेटाबेससह भेट देत नाही, किंवा त्याच्या आतमधील एक भाग बनवते नाही. युनिव्हर्सल की ही सेवा एका स्वतंत्र SaaS कॉन्टूरमध्ये हाताळली जाते, प्रोडक्टच्या बॅकएंडच्या बाहेर.

अशा मॉडेलची राखण्यासाठी, प्रोजेक्ट आणि KeyMeld यामधील विश्वासाचा सीमा स्वतंत्र राहावी. अनुप्रयोगाच्या बॅकएंड आणि बाह्य सेवेसाठी वेगळे प्रमाणीकरण, अधिकार, आणि प्रशासन प्रणाली अवलंबली जातात.

याचाच अर्थ, या प्रकारच्या आर्किटेक्चरल मॉडेलला Zero Vault म्हणतात, कारण यामध्ये क्लायंट स्थानिक संग्रहणानंतर त्याचा संकेत सर्व्हरवर नाही ठेवला जातो.

Zero Vault म्हणजे याचा अर्थ असा नाही की, अनुप्रयोग ऑपरेशनसाठी काहीही संग्रहित करत नाही. त्याच्याकडे खाते, सेटिंग्ज, व्यवसाय डेटा आणि आवश्यक सगळं काही राहाते. पण सर्वसामान्य की जवळपास नाही.

सर्व्हर बेस्ड डेटाबेसचा उल्लंघन केल्याने सर्वसामान्य की उघड होत नाही—तो खात्यांसोबत निगडीत नाही, न त त्याच्याकडे ठेवल्या जात नाही. हे मॉडेल कोणत्याही यंत्रणेत एखादा स्फुट दोष उद्भवला तरी त्याचा परिणाम नैसर्गिकरित्या हानिकारक होत नाही, कारण केंद्रीकृत की जपली जात नाही.

वास्तविक जीवनाचा अनुभव: एकाच खाते iPhone आणि Android वर

मानूया की, आपल्याकडे स्थानिक सुरक्षित डेटासह अनुप्रयोग आहे. तो ऑथेंटिकेशन साठी, कॉर्पोरेट क्लायंटसाठी, किंवा कुठल्याही सेवेसाठी असू शकतो, ज्याला उपकरणावर थेट एनक्रिप्टेड माहितीशी कार्य करायची आहे.

iPhone मध्ये, अनुप्रयोग iOS चे संरक्षण करणारे स्थानिक की वापरतो, तर Android मध्ये स्वतःचे संरक्षण प्रणाली वापरते. उपकरणांच्या अंतर्गत किल्या वेगवेगळ्या असतात, आणि हे काहीही सामान्य आहे.

वगळता, स्वतंत्र सामान्य स्तराशिवाय, विकसकाला हे ठरवावे लागते की, दोन्ही प्लॅटफॉर्मवर समान सुरक्षित डेटाची प्रवेश व्यवस्था कशी करायची. प्लॅटफॉर्मवर आधारित संग्रहण नेहमी वेगवेगळे राहते, आणि उत्पादनाला या दोन्ही कार्यपद्धतींना लिंक करायची असते.

iOS आणि Android साठी स्वतंत्र योजना तयार करता येतात, स्थानिक कीस हस्तांतरित करण्याचा प्रयत्न किंवा त्यांच्या कॉपी सर्व्हरवर ठेवण्याचा पर्याय असतो.

KeyMeld स्थानिक की हस्तांतरण आणि सर्व्हरवरील कॉपी ठेवण्याला टोकतो, त्याऐवजी एक सामान्य युनिव्हर्सल की जोडते.

iPhone आणि Android क्लायंटला, अधिकृत प्रोजेक्ट व खात्याअंतर्गत, एकाच युनिव्हर्सल कीवर प्रवेश मिळतो. प्रत्येक फोन आपले संरक्षण तंत्र जपते, पण एकाच कीचा वापर होत राहतो.

यामुळे, वापरकर्त्यास, अनेक उपकरणांवर एकच खाते दिसते. त्याला कळतही नाही, की अंतर्गत iPhone मध्ये कोणते संरक्षण तंत्र वापरले जाते, किंवा Android मध्ये काय.

फोन बदलल्यावर, स्थानिक की एक्सपोर्ट करण्याची गरज नाही, किंवा नवीन प्लॅटफॉर्मसाठी अलग्गे सुरक्षित संग्रह तयार करण्याची गरज नाही. नवीन क्लायंट त्या प्रोजेक्टला जोडतो आणि त्याला तोही युनिव्हर्सल की प्राप्त होते.

बॅकएंड ऑथोराइझेशन प्रक्रियेत सहभागी असतो, पण, सर्वसामान्य की ही अधिकृत क्लायंटसाठीच आहे आणि ती प्रोजेक्टच्या सर्व्हर डेटाबेसमध्ये जतन केली जात नाही.

KeyMeld स्वतः त्याची अॅप्लिकेशन डेटाबेस ट्रान्स्फर करीत नाही, किंवा वापरकर्त्यांच्या सिंक्रोनायझेशन सिस्टीमला बदलत नाही. त्याचे काम आहे: क्लायंटला सुरक्षित डेटासाठी आवश्यक की देणे. संग्रहणाची सामग्री व त्याचा अपडेट यांची जबाबदारी प्रोडक्टवरच राहते.

तीन वेगवेगळ्या प्रकारच्या कीस व गुपिते

आर्किटेक्चर वेगळ्या भागांना गोंधळ घालू नये यासाठी, तीन कल्पना वेगवेगळ्या समजाव्यात.

  • स्थानिक उपकरण की विशिष्ट फोनसाठी आहे, iOS किंवा Android च्या माध्यमातून समर्थित.

  • सर्वसामान्य की ही एका प्रोजेक्ट व खात्यावरच्या अधिकृत क्लायंटसाठी वापरली जाते. हीचच मग, प्रोडक्टच्या पातळीवर वेगवेगळ्या प्लॅटफॉर्मना जोडते.

  • सेवक गुपित बॅकएंडसाठी आवश्यक आहे, KeyMeld सोबत सुरक्षित संवादासाठी. हे मोबाईल अॅप किंवा ब्राउजरमध्ये पाठवले जात नाही.

सेवक गुपित आणि सर्वसामान्य की वेगवेगळ्या उद्दिष्टांसाठी असतात. Zero Vault मध्ये, सर्वसामान्य की प्रोडक्टच्या डेटाबेसमध्ये सेव्ह केलेली नाही.

KeyMeld साठी, नाव, पासवर्ड, TOTP संग्रह, किंवा व्यवसायिक माहिती आवश्यक नाही. त्याला फक्त प्रोजेक्ट, खाते, आणि क्लायंटला युनिव्हर्सल की मिळवण्याचा अधिकार आवश्यक आहे.

कीवर प्रवेश नियंत्रणाधीन राहतो

सर्वसामान्य की प्राप्त करण्यासाठी हे कोणाच्याही अधिकाराचं नाही.

जर, उपकरण अधिक विश्वासार्ह राहिलं नाही, खातेची स्थिती बदलली, किंवा टीमने प्रोजेक्टचा प्रवेश रद्द केला, तर KeyMeld त्या क्लायंटसाठी पुढील सर्वसामान्य की देणे थांबवू शकते.

इथे फारसे मोठे निष्कर्ष काढू नये. याचा अर्थ, आधीच्या स्थानिक कीची कॉपी आपोआप नष्ट होईल, असे नाही. याचा अर्थ, पुढील मार्गासाठी नियंत्रण, व नवीन क्लायंट बसवण्याची क्षमता आहे.

वापरकर्त्यासाठी, नवीन उपकरणे जोडणे आणि त्यांचा प्रवेश साधन व्यवस्थापन ही एकाच प्रणालीशी निगडित राहते.

विकसकासाठी, ही लॉजिक स्वतंत्रपणे iOS आणि Android साठी तयार करावी लागत नाही. तरीही, अंतिम Zero Vault मॉडेल प्रोजेक्ट काही बरोबर ठेवते—की स्थानिक ठेवते का आणि त्याच बरोबर, महत्त्वाचं म्हणजे, प्रोजेक्टच्या स्वतःच्या संसाधनांमधून की वेगळ्या ठेवते का.

KeyMeld काय करत नाही

KeyMeld पासवर्ड व्यवस्थापक नाही, आणि ते वापरकर्त्यांच्या TOTP लेखाजोका संग्रहित करत नाही. ते आपले क्लाउड बेस्ड डेटाबेस नाही, किंवा त्याच्या सिंक्रोनायझेशनला प्रतिस्थापित करत नाही.

हे Apple Keychain किंवा Android Keystore चा पर्याय नाही. सेवा स्थानिक तंत्रांना त्यांच्याच जागी ठेवते, व उत्पादनासाठी एक सामान्य स्तर जोडते.

ते वापरकर्ता ओळख पटवणारी सेवा देखील नाही; ओळख पटवण्यासाठी वेगळा सेवा वापरली जाऊ शकते, जसे MeldID, तर KeyMeld चे काम वेगळे आहे—संबंधित क्लायंटला एकसंध युनिव्हर्सल की देणे, कुठेही प्रोडक्टच्या सर्व्हरमध्ये ठेवले न जाता.

शेवटी, KeyMeld आपोआप Zero Vault करत नाही. तो प्रोजेक्टला एक बाह्य कॉन्टूर देतो, ज्यात युनिव्हर्सल की अंतर्गत ठेवली जाते. या आर्किटेक्चरची जपणूक करण्यासाठी, विकसकाला आवश्यक आहे की, तो या कीला स्वतःच्या सर्व्हरवर जतन करणार नाही. स्वतंत्र विश्वासार्ह क्षेत्रे विभक्त राहावीत आणि वेगवेगळ्या राहाव्यात.

कोणासाठी आवश्यक असू शकते

असे मॉडेल अशा अनुप्रयोगांसाठी उपयुक्त आहे, जे अनेक प्लॅटफॉर्मवर कार्य करतात व स्थानिक सुरक्षित डेटाचा वापर करतात.

ते ऑथेंटिकॅटर, कॉर्पोरेट अनुप्रयोग, SaaS प्रोडक्ट, अनेक उपकरणांसह सेवा, किंवा ज्या प्रोजेक्टमध्ये एकच खाते iPhone आणि Android वर समान कार्य करावे लागते त्यांसाठी उपयुक्त आहे.

विकसकासाठी, त्याचा फायदा केवळ प्लॅटफॉर्म साखळी कमी करणे नाही—उत्तरदायित्व विभागण्याची क्षमता अधिक महत्त्वाची आहे. प्रोडक्ट बॅकएंड आपली डेटा जपतो, आणि KeyMeld ही बाह्य SaaS सेवा युनिव्हर्सल की प्रदान करते व त्याचा पुढील वितरण सांभाळते.

प्रोजेक्टसह भेटताना, मला वाटतं की, KeyMeld ही पूर्वनिर्धारित Zero Vault नाही, तर तंत्र आहे, ज्यायोगे विकसक त्याच्या उत्पादनासाठी अशी मॉडेल तयार करू शकतो.

iOS आणि Android त्यांचे स्वत:चे संरक्षण तंत्र वापरूच ठेवतात. ग्राहकांना एककेंद्रित युनिव्हर्सल की मिळते, आणि बॅकएंड जर ती नजरेत ठेवत नसेल आणि स्वतःच्या संसाधनांमधील आणि KeyMeld मध्ये विभागणी करतो, तर तो क्लायंट संग्रहणाचा सुरक्षितपणे की जपणारा सुरक्षितमंजुरीघर होत नाही.

वापरकर्त्यासाठी, हे अनेक प्लॅटफॉर्मवर एकाच खात्याचा प्रवेश आहे. विकसकासाठी, त्याला त्याचा युनिव्हर्सल की स्वतःच्या बॅकएंडच्या बाहेर ठेवता येतो. व प्रोजेक्टासाठी—Zero Vault आर्किटेक्चर जिथे, सर्व्हर सुरक्षित माहितीची की जपत नाही.

प्रकल्पविषयी अधिक माहिती: KeyMeld