डेटाबेस एन्क्रिप्शन: Difference between revisions

From Vigyanwiki
Line 48: Line 48:




=== नमकीन बनाना ===
=== साल्टिंग ===
डेटाबेस कूटलेखन के संदर्भ में पासवर्ड प्रबंधन के लिए द्रुतान्वेषण   का उपयोग करते समय उत्पन्न होने वाली एक समस्या यह है कि एक दुर्भावनापूर्ण उपयोगकर्ता संभावित रूप से हैश तालिका इंद्रधनुष तालिका में इनपुट का उपयोग कर सकता है<ref name=":10">{{Cite web|title = नमक और काली मिर्च - डेटाबेस पासवर्ड कैसे एन्क्रिप्ट करें|url = http://blog.kablamo.org/2013/12/18/authen-passphrase/|website = blog.kablamo.org|access-date = 2015-11-01}}</ref> प्रणाली   द्वारा उपयोग किए जाने वाले विशिष्ट द्रुतान्वेषण   कलन विधि,   के लिए। यह प्रभावी रूप से व्यक्ति को हैश को विकूटन करने की अनुमति देगा और इस प्रकार संग्रहीत पासवर्ड तक पहुंच प्राप्त करेगा।<ref name=":8">{{Cite web|title = PHP: Password Hashing - Manual|url = http://php.net/manual/en/faq.passwords.php#faq.passwords.salt|website = php.net|access-date = 2015-11-01}}</ref> इस समस्या का समाधान हैश को 'नमक' करना है। साल्टिंग एक डेटाबेस में केवल पासवर्ड से अधिक कूटबद्ध करने की प्रक्रिया है। हैश किए जाने वाले स्ट्रिंग में जितनी अधिक जानकारी जोड़ी जाती है, इंद्रधनुष तालिकाओं को समेटना उतना ही कठिन हो जाता है। उदाहरण के तौर पर, एक प्रणाली   उपयोगकर्ता के ईमेल और पासवर्ड को एक ही हैश में जोड़ सकता है। हैश की जटिलता में इस वृद्धि का अर्थ है कि यह कहीं अधिक कठिन है और इस प्रकार इंद्रधनुष तालिकाओं के उत्पन्न होने की संभावना कम है। यह स्वाभाविक रूप से तात्पर्य है कि संवेदनशील डेटा हानि का खतरा नमकीन हैश के माध्यम से कम किया जाता है।<ref name=":9">{{Cite web|title = आपको हमेशा अपने हैश में नमक क्यों डालना चाहिए - ब्राइटन में वेब विकास - अतिरिक्त बाइट्स|url = https://www.addedbytes.com/blog/why-you-should-always-salt-your-hashes/|website = Added Bytes|access-date = 2015-11-01}}</ref>
डेटाबेस कूटलेखन के संदर्भ में पासवर्ड प्रबंधन के लिए द्रुतान्वेषण का उपयोग करते समय उत्पन्न होने वाली एक समस्या यह है कि एक दुर्भावनापूर्ण उपयोगकर्ता संभावित रूप से इनपुट-हैश टेबल रेनबो टेबल का उपयोग कर सकता है<ref name=":10">{{Cite web|title = नमक और काली मिर्च - डेटाबेस पासवर्ड कैसे एन्क्रिप्ट करें|url = http://blog.kablamo.org/2013/12/18/authen-passphrase/|website = blog.kablamo.org|access-date = 2015-11-01}}</ref> प्रणाली द्वारा उपयोग किए जाने वाले विशिष्ट द्रुतान्वेषण कलन विधि, के लिए यह प्रभावी रूप से उस व्यक्ति को हैश को विकूटन करने और इस विधि से संग्रहीत पासवर्डों तक पहुंच हो जाती है।<ref name=":8">{{Cite web|title = PHP: Password Hashing - Manual|url = http://php.net/manual/en/faq.passwords.php#faq.passwords.salt|website = php.net|access-date = 2015-11-01}}</ref> इस समस्या का समाधान हैश को 'साल्टिंग करना है। साल्टिंग एक डेटाबेस में केवल पासवर्ड से अधिक कूटबद्ध करने की प्रक्रिया है। हैश किए जाने वाले शृंखला में जितनी अधिक जानकारी जोड़ी जाती है, रेनबो तालिकाओं को समेटना उतना ही कठिन हो जाता है। उदाहरण के लिए, एक प्रणाली उपयोगकर्ता के ईमेल और पासवर्ड को एक ही हैश में जोड़ सकता है। हैश की जटिलता में इस वृद्धि का अर्थ है कि यह कहीं अधिक कठिन है और इस प्रकार रेनबो तालिकाओं के उत्पन्न होने की संभावना कम है। यह स्वाभाविक रूप से प्रमाणीकरण है कि संवेदनशील डेटा हानि संचरण के माध्यम से कम हो जाता है।<ref name=":9">{{Cite web|title = आपको हमेशा अपने हैश में नमक क्यों डालना चाहिए - ब्राइटन में वेब विकास - अतिरिक्त बाइट्स|url = https://www.addedbytes.com/blog/why-you-should-always-salt-your-hashes/|website = Added Bytes|access-date = 2015-11-01}}</ref>
 




=== काली मिर्च ===
=== पेपर ===
कुछ प्रणालियाँ अपने द्रुतान्वेषण   प्रणाली   में नमक के अलावा काली मिर्च भी शामिल करती हैं। काली मिर्च प्रणालियाँ विवादास्पद हैं, यद्यपि   अभी भी उनके उपयोग की व्याख्या करना आवश्यक है।<ref name=":10" />एक काली मिर्च एक मान है जिसे हैश किए गए पासवर्ड में जोड़ा जाता है जिसे नमकीन किया गया है।<ref name=":15">{{Cite web|title = ircmaxell's blog: Properly Salting Passwords, The Case Against Pepper|url = http://blog.ircmaxell.com/2012/04/properly-salting-passwords-case-against.html|website = blog.ircmaxell.com|access-date = 2015-11-02}}</ref> यह काली मिर्च अक्सर एक वेबसाइट या सेवा के लिए अद्वितीय होती है, और यह ध्यान रखना महत्वपूर्ण है कि एक ही काली मिर्च आमतौर पर डेटाबेस में सहेजे गए सभी पासवर्डों में जोड़ी जाती है।<ref name=":1">{{Cite web|title = थेल्स ई-सिक्योरिटी से एप्लिकेशन एन्क्रिप्शन|url = https://www.thales-esecurity.com/solutions/by-technology-focus/application-level-encryption|website = www.thales-esecurity.com|access-date = 2015-10-25}}</ref> सिद्धांत रूप में पासवर्ड द्रुतान्वेषण   प्रणाली   में मिर्च को शामिल करने से इंद्रधनुष (इनपुट: हैश) तालिकाओं के जोखिम को कम करने की क्षमता है, काली मिर्च की प्रणाली-स्तरीय विशिष्टता को देखते हुए, हालांकि काली मिर्च कार्यान्वयन के वास्तविक विश्व लाभ अत्यधिक विवादित हैं।<ref name=":15" />
कुछ प्रणालियाँ अपने द्रुतान्वेषण प्रणाली में साल्टिंग के अतिरिक्त पेपर भी सम्मिलित करती हैं। पेपर प्रणालियाँ विवादास्पद हैं, यद्यपि उनके उपयोग को समझाना आवश्यक होता है।।<ref name=":10" />पेपर एक मान है जो सल्ट के साथ युक्त किए गए हैश पासवर्ड में जोड़ा जाता है। यह पेपर सामान्यतः एक वेबसाइट या सेवा के लिए अद्वितीय होता है, और महत्वपूर्ण है कि एक ही पेपर सामान्यतः डेटाबेस में सहेजे गए सभी पासवर्ड में जोड़ा जाता है।।<ref name=":1">{{Cite web|title = थेल्स ई-सिक्योरिटी से एप्लिकेशन एन्क्रिप्शन|url = https://www.thales-esecurity.com/solutions/by-technology-focus/application-level-encryption|website = www.thales-esecurity.com|access-date = 2015-10-25}}</ref> सिद्धांत रूप में पासवर्ड द्रुतान्वेषण प्रणाली में पेपर कोसम्मिलित करने से इनपुट: हैश तालिकाओं के जोखिम को कम करने की क्षमता है, "पेपर"  की प्रणाली-स्तरीय विशिष्टता को देखते हुए,"पेपर" कार्यान्वयन के वास्तविक विश्व लाभ अत्यधिक विवादित हैं।<ref name=":15">{{Cite web|title = ircmaxell's blog: Properly Salting Passwords, The Case Against Pepper|url = http://blog.ircmaxell.com/2012/04/properly-salting-passwords-case-against.html|website = blog.ircmaxell.com|access-date = 2015-11-02}}</ref>





Revision as of 09:11, 23 May 2023

डेटाबेस कूटलेखन को सामान्य रूप से एक प्रक्रिया के रूप में परिभाषित किया जा सकता है जिसमें एक कलन विधि का उपयोग करके डेटाबेस में संग्रहीत डेटा को "सिफर टेक्स्ट"" में परिवर्तित किया जाता है, जो पहले विकूटन किए बिना समझ में नहीं आता है।[1] इसलिए यह कहा जा सकता है कि डेटाबेस कूटलेखन का उद्देश्य डेटाबेस में संग्रहीत डेटा को संभावित द्वेषपूर्ण विचार वाले व्यक्तियों द्वारा प्रयोग किए जाने से बचाना है।[2]डेटाबेस को कूटबद्ध करने का कार्य व्यक्तियों के लिए उपरोक्त डेटाबेस को हैक करने के लिए प्रोत्साहन को भी कम करता है क्योंकि निरर्थक कूटबद्ध डेटा हैकर्स के लिए बहुत कम या किसी काम का नहीं है।[3] डेटाबेस कूटलेखन के लिए कई तकनीकें उपलब्ध हैं, जिनमें सबसे महत्वपूर्ण विवरण इस लेख में दिए जाएंगे।

पारदर्शी/बाहरी डेटाबेस कूटलेखन

पारदर्शी डेटा कूटलेखन का उपयोग संपूर्ण डेटाबेस को कूटबद्ध करने के लिए किया जाता है,[2] जिसमें "शांति कालीन डेटा" को कूटबद्ध करने की प्रक्रिया सम्मिलित होता है।।[4] शांति कालीन डेटा सामान्यतः "निष्क्रिय" डेटा को परिभाषित कर सकता है जो वर्तमान में संपादित नहीं हो रहा हैं, या नेटवर्क के माध्यम से नहीं भेजा जा रहा हैं।[5] उदाहरण के रूप में, कंप्यूटर पर संग्रहित एक पाठ फ़ाइल जब तक उसे खोलकर संपादित नहीं किया जाता है, अन्य डेटा को भौतिक भंडारण मीडिया समाधानों जैसे टेप या हार्ड डिस्क ड्राइव पर संग्रहीत किया जाता है।[6]भौतिक संग्रहण मीडिया पर संवेदनशील डेटा की बड़ी मात्रा संग्रहित करने की क्रिया स्वतः ही सुरक्षा और चोरी के संबंध में चिंताएं उत्पन्न करती है। टीडीई यह सुनिश्चित करता है कि भौतिक संग्रहण मीडिया पर संग्रहित डेटा को बुरे विचारों वाले व्यक्तियों द्वारा पढ़ा नहीं जा सकता है, जो उन्हें चुराने की इच्छा रखते हैं।[7] पढ़ा नहीं जा सकने वाला डेटा निष्पक्ष होता है, इसलिए चोरी के लिए प्रेरणा को कम कर देता है। प्रायः टीडीई की सबसे महत्वपूर्ण शक्ति उसकी पारदर्शिता मानी जाती है। यह देखते हुए कि टीडीई सभी डेटा को कूटबद्ध करता है, यह कहा जा सकता है कि टीडीई को सही ढंग से चलाने के लिए किसी एप्लिकेशन को बदलने की आवश्यकता नहीं है।[8] यह ध्यान रखना महत्वपूर्ण है कि टीडीई डेटाबेस की संपूर्णता के साथ-साथ डेटाबेस के बैकअप को कूटबद्ध करता है। टीडीई के पारदर्शी तत्व का इस तथ्य से लेना-देना है कि टीडीई पृष्ठ स्तर पर कूटबद्ध करता है, जिसका अनिवार्य रूप से अर्थ है कि, डेटा को कूटबद्ध किया जाता है जब संग्रहीत और विकूटन किया जाता है, जब इसे प्रणाली की मेमोरी में किया जाता है।[9] डेटाबेस की सामग्री को एक सममित कुंजी का उपयोग करके कूटबद्ध किया जाता है जिसे प्रायः डेटाबेस कूटलेखन कुंजी के रूप में संदर्भित किया जाता है।[2]


खंड -स्तरीय कूटलेखन

खंड-स्तरीय कूटलेखन की व्याख्या करने के लिए बुनियादी डेटाबेस संरचना को रेखांकित करना महत्वपूर्ण है। एक विशिष्ट संबंधपरक डेटाबेस को तालिकाओं में विभाजित किया जाता है जो खंड में विभाजित होते हैं जिनमें प्रत्येक में डेटा की पंक्ति होती है।[10] जबकि टीडीई सामान्यतः पूरे डेटाबेस को कूटबद्ध करता है, यद्यपिखंड -स्तर की कूटलेखन डेटाबेस के अंदर विभक्तखंड को कूटबद्ध करने की अनुमति देती है।[11] यह स्थापित करना महत्वपूर्ण है कि संपूर्ण डेटाबेस को कूटबद्ध करने के सापेक्ष मे खंड -स्तरीय कूटलेखन कुंजी कणिकता विशिष्ट शक्तियों और कमजोरियों का कारण बनती है। पहले, व्यक्तिगत खंडों को कूटबद्ध करने की क्षमता के कारण,खंड-स्तर की कूटलेखन के सापेक्ष में टीईडी जैसे पूरे डेटाबेस को कूटबद्ध करने वाले कूटलेखन प्रणालियों के मुक़ाबले बहुत अधिक लचीला होती है। इस प्रक्रिया से रेनबो टेबल उत्पन्न करने की कठिनाई बढ़ जाती है, जिससे प्रत्येकखंड में संग्रहित डेटा को खोने या लीक होने का कम आंकड़ा होता है। खंड-स्तर डेटाबेस कूटलेखन के साथ संबंधित मुख्य अवांछनिय गति,अर्थात गति की हानि होती है। एक ही डेटाबेस में भिन्न-भिन्न अद्वितीय कुंजियों के साथ अलग खंडों को कूटबद्ध करने से डेटाबेस के क्रियात्मकता में कमी हो सकती है, और साथ ही डेटाबेस को सूचीबद्ध करने और खोजने की गति को कम किया जा सकता हैं।


क्षेत्र-स्तरीय कूटलेखन

कूटबद्ध क्षेत्र पर उन्हें विकूटन करने की आवश्यकता के अतिरिक्त डेटाबेस संचालन प्रदान करने पर प्रायोगिक कार्य किया जा रहा है।[12] यादृच्छिक करने के लिए शक्तिशाली कूटलेखन की आवश्यकता होती है, हर बार एक अलग परिणाम उत्पन्न किया जाना चाहिए, इसे संभाव्य कूटलेखन के रूप में जाना जाता है। क्षेत्र-स्तरीय कूटलेखन यादृच्छिक कूटलेखन से कमजोर है,परंतु यह उपयोगकर्ताओं को डेटा को विकूटन किए अतिरिक्त समानता के लिए परीक्षण करने की अनुमति देता है।[13]


संचिका प्रणाली-स्तरीय कूटलेखन

संचिका प्रणाली को कूटबद्ध करना (ईएफएस )

यह ध्यान रखना महत्वपूर्ण है कि पारंपरिक डेटाबेस कूटलेखन तकनीकें सामान्य रूप से डेटाबेस की सामग्री को कूटबद्ध और विकूटन करती हैं। डेटाबेस का प्रबंधन डेटाबेस व्यवस्था प्रणाली द्वारा किया जाता है जो उपस्थित प्रचालन प्रणाली के शीर्ष पर चलता है।[14] यह एक संभावित सुरक्षा चिंता उत्पन्न करता है, क्योंकि एक कूटबद्ध डेटाबेस एक सुलभ और संभावित रूप से कमजोर प्रचालन प्रणाली पर चल सकता है। ईएफएस उस डेटा को कूटबद्ध कर सकता है जो डेटाबेस प्रणाली का भाग नहीं है, जिसका अर्थ है कि टीडीई जैसे प्रणाली के सापेक्ष में ईएफएस के लिए कूटलेखन बहुत अधिक है,जो केवल डेटाबेस फ़ाइलों को कूटबद्ध करने में सक्षम है। जबकि ईएफएस कूटलेखन के दायरे को बढ़ाता है, यह डेटाबेस के प्रदर्शन को भी कम करता है और प्रशासन के मुद्दों का कारण बन सकता है क्योंकि प्रणाली प्रशासकों को ईएफएस का उपयोग करने के लिए ऑपरेटिंग प्रणाली प्रयोग की आवश्यकता होती है। प्रदर्शन से संबंधित समस्याओ के कारण, ईएफएस का उपयोग सामान्यतः उन डेटाबेसिंगआवेदन में उपयोग नहीं किया जाता है जिनके लिए बार-बार डेटाबेस इनपुट और आउटपुट की आवश्यकता होती है। प्रदर्शन समस्याओं को समाधान करने के लिए प्रायः सुझाव दिया जाता है कि कुछ उपयोगकर्ताओं के साथ वातावरण में ईएफएस प्रणाली का उपयोग किया जा सकता है।[15]


पूर्ण डिस्क कूटलेखन

बिटलॉकर में ईएफएस से जुड़ी समान प्रदर्शन संबंधी चिंताएँ नहीं हैं।[15]


सममित और असममित डेटाबेस कूटलेखन

सममित कूटलेखन का एक दृश्य प्रदर्शन

सममित डेटाबेस कूटलेखन

डेटाबेस कूटलेखन के संदर्भ में सममित कूटलेखन में एक निजी कुंजी का उपयोग किया जाता है जो डेटा पर लागू की जाती है, और डेटाबेस से बुलाई जाती है। यह निजी कुंजी डेटा को इस तरह से बदल देती है जिससे इसे पहले विकूटन किए बिना अपठनीय बना दिया जाता है।[16] सुरक्षित किए जाने पर डेटा कूटबद्ध किया जाता है, और खोले जाने पर विकूटन किया जाता है, यह देखते हुए कि उपयोगकर्ता निजी कुंजी जानता है। इस प्रकार यदि डेटा को डेटाबेस के माध्यम से साझा किया जाना है तो प्राप्त करने वाले व्यक्ति के पास डेटा को विकूटन करने और देखने के लिए प्रेषक द्वारा उपयोग की जाने वाली गुप्त कुंजी की एक प्रति होनी चाहिए।[17] सममित कूटलेखन से संबंधित एक स्पष्ट हानि यह है कि, संवेदनशील डेटा को चोरी हो सकता है,यदि निजी कुंजी को उन व्यक्तियों तक फैलाया जाता है जिनकी डेटा तक पहुंच नहीं होनी चाहिए।[16] यद्यपि यह देखते हुए कि कूटलेखन प्रक्रिया में मात्र एक कुंजी सम्मिलित है, इसलिए सामान्यतः यह कहा जा सकता है कि गति सममित कूटलेखन का एक लाभ होता है।

असममित डेटाबेस कूटलेखन

असममित कूटलेखन सममित कूटलेखन पर विस्तार करता है जिसमें कूटलेखन विधि में दो विभिन्न प्रकार की कुंजियों को सम्मिलित किया जाता है: निजी और सार्वजनिक कुंजियाँ।[18] एक सार्वजनिक कुंजी को कोई भी प्रयोग कर सकता है और एक उपयोगकर्ता के लिए अद्वितीय है जबकि एक निजी कुंजी एक गुप्त कुंजी है जो अद्वितीय है और केवल एक उपयोगकर्ता द्वारा जानी जाती है।[19] अधिकांश परिदृश्यों में सार्वजनिक कुंजी कूटलेखन कुंजी होती है जबकि निजी कुंजी कूटलेखन कुंजी होती है। एक उदाहरण के रूप में, यदि व्यक्ति A असममित कूटलेखन का उपयोग करके व्यक्तिगत B को एक संदेश भेजना चाहता है, तो वह व्यक्तिगत B की सार्वजनिक कुंजी का उपयोग करके संदेश को कूटबद्ध करता है और फिर कूटबद्ध संस्करण भेजता है। व्यक्तिगत बी तब अपनी निजी कुंजी का उपयोग करके संदेश को विकूटन करने में सक्षम होता है । व्यक्तिगत सी व्यक्तिगत ए के संदेश को विकूटन करने में सक्षम नहीं होता है, क्योंकि व्यक्तिगत सी की निजी कुंजी व्यक्तिगत बी की निजी कुंजी के समान नहीं है।[20] असममित कूटलेखन को प्रायः सममित डेटाबेस कूटलेखन के सापेक्ष में अधिक सुरक्षित होने के रूप में वर्णित किया जाता है, यह देखते हुए कि निजी कुंजियों को साझा करने की आवश्यकता नहीं है क्योंकि दो अलग-अलग कुंजी कूटलेखन प्रक्रियाओं को संभालती हैं।[21] प्रदर्शन कारणों से, डेटा को कूटबद्ध करने के अतिरिक्त कुंजी प्रबंधन में असममित कूटलेखन का उपयोग किया जाता है जो सामान्यतः सममित कूटलेखन के साथ किया जाता है।

कुंजी प्रबंधन

"सममित और असममित डेटाबेस कूटलेखन अनुभाग में सार्वजनिक और निजी कुंजियों की अवधारणा को प्रस्तुत किया गया था, जिसमें उपयोगकर्ताओं के बीच कुंजियों का आपसी विनिमय होता है। इसका आदान-प्रदान तार्किक दृष्टिकोण से अव्यवहारिक हो जाता है, जब अगले-दूसरे कई व्यक्ति संवाद करने की आवश्यकता होती है। डेटाबेस कूटलेखन में प्रणाली कुंजियों के संग्रहण और आपसी विनिमय का प्रबंधन करती है। इस प्रक्रिया को कुंजी प्रबंधन कहा जाता है। यदि कूटलेखन कुंजी सही ढंग से प्रबंधित और संग्रहीत नहीं की जाती है, तो अत्यंत संवेदनशील डेटा चोरी हो सकता है। इसके अतिरिक्त, यदि कुंजी प्रबंधन प्रणाली किसी कुंजी को हटा देती है या खो देती है, तो उसी कुंजी के माध्यम से कूटबद्ध की गई जानकारी भी मानसिक रूप से "लुप्त " हो जाती है। तार्किकता की जटिलता भी एक ऐसा विषय है जिस पर विचार करने की आवश्यकता है। जैसे-जैसे एक फर्म द्वारा उपयोग किए जाने वाले आवेदन की संख्या बढ़ती जाती है, वैसे-वैसे कुंजियों की संख्या भी बढ़ती जाती है जिन्हें संग्रहीत और प्रबंधित करने की आवश्यकता होती है। इस प्रकार एक ऐसा विधि स्थापित करना आवश्यक है जिसमें सभी अनुप्रयोगों की कुंजियों को एक चैनल के माध्यम से प्रबंधित किया जा सके, जिसे उद्यम कुंजी प्रबंधन के रूप में भी जाना जाता है।[22] उद्यम कुंजी प्रबंधन समाधान प्रौद्योगिकी उद्योग में बड़ी संख्या में आपूर्तिकर्ताओं द्वारा बेचे जाते हैं। ये प्रणाली अनिवार्य रूप से एक केंद्रीकृत कुंजी प्रबंधन समाधान प्रदान करते हैं जो प्रशासकों को एक केंद्र के माध्यम से प्रणाली में सभी कुंजियों को प्रबंधित करने की अनुमति देता है।[23] इस प्रकार यह कहा जा सकता है कि उद्यम कुंजी प्रबंधन समाधानोंके प्रारंभ में डेटाबेस कूटलेखन के संदर्भ में कुंजी प्रबंधन से जुड़े संकट को कम करने की क्षमता है, साथ ही साथ कई व्यक्तियों द्वारा कुंजियों को नियमित रूप से साझा करने का प्रयास करने पर उत्पन्न होने वाली तार्किक परेशानियों को कम करने की क्षमता है।[22]


द्रुतान्वेषण

द्रुतान्वेषण का उपयोग डेटाबेस प्रणाली में पासवर्ड जैसे संवेदनशील डेटा की सुरक्षा के लिए एक विधि के रूप में किया जाता है; यद्यपि इसका उपयोग डेटाबेस रेफरेंसिंग की दक्षता में सुधार के लिए भी किया जाता है।[24] इनपुट किए गए डेटा को द्रुतान्वेषण कलन विधि, द्वारा परिवर्तन किया जाता है। द्रुतान्वेषण कलन विधि इनपुट किए गए डेटा को निश्चित लंबाई की शृंखला में परिवर्तित करता है जिसे डेटाबेस में संग्रहीत किया जा सकता है। द्रुतान्वेषण प्रणाली की दो महत्वपूर्ण विशेषताएं हैं जिन्हें अब रेखांकित किया जाएगा। सबसे पहले, हैश अद्वितीय और पुनरावर्ती योग्य हैं। एक उदाहरण के रूप में, एक ही द्रुतान्वेषण कलन विधि के माध्यम से बिल्ली शब्द को कई बार चलाने से सदैव एक ही हैश निकलेगा, यद्यपि ऐसा शब्द खोजना अत्यंत कठिन है [25] दूसरे, द्रुतान्वेषण कलन विधि प्रतिलोमी नहीं होते हैं। ऊपर दिए गए उदाहरण से इसे वापस जोड़ने के लिए, द्रुतान्वेषण कलन विधि, के आउटपुट को मूल इनपुट में वापस बदलना लगभग असंभव होगा, [26] डेटाबेस कूटलेखन के संदर्भ में, द्रुतान्वेषण का उपयोग प्रायः पासवर्ड प्रणाली में किया जाता है। जब कोई उपयोगकर्ता पहली बार अपना पासवर्ड बनाता है तो इसे द्रुतान्वेषण कलन विधि, के माध्यम से चलाया जाता है और हैश के रूप में सहेजा जाता है। जब उपयोगकर्ता वेबसाइट में वापस लॉग इन करता है, तो वे जो पासवर्ड दर्ज करते हैं वह द्रुतान्वेषण कलन विधि, के माध्यम से चलाया जाता है और फिर संग्रहीत हैश की तुलना की जाती है।[27] इस तथ्य को देखते हुए कि हैश अद्वितीय हैं, यदि दोनों हैश मेल खाते हैं तो यह कहा जाता है कि उपयोगकर्ता ने सही पासवर्ड डाला है। एक लोकप्रिय हैश फ़ंक्शन का एक उदाहरण सिक्योर हैश कलन विधि, 256 है।[28]


साल्टिंग

डेटाबेस कूटलेखन के संदर्भ में पासवर्ड प्रबंधन के लिए द्रुतान्वेषण का उपयोग करते समय उत्पन्न होने वाली एक समस्या यह है कि एक दुर्भावनापूर्ण उपयोगकर्ता संभावित रूप से इनपुट-हैश टेबल रेनबो टेबल का उपयोग कर सकता है[29] प्रणाली द्वारा उपयोग किए जाने वाले विशिष्ट द्रुतान्वेषण कलन विधि, के लिए यह प्रभावी रूप से उस व्यक्ति को हैश को विकूटन करने और इस विधि से संग्रहीत पासवर्डों तक पहुंच हो जाती है।[30] इस समस्या का समाधान हैश को 'साल्टिंग करना है। साल्टिंग एक डेटाबेस में केवल पासवर्ड से अधिक कूटबद्ध करने की प्रक्रिया है। हैश किए जाने वाले शृंखला में जितनी अधिक जानकारी जोड़ी जाती है, रेनबो तालिकाओं को समेटना उतना ही कठिन हो जाता है। उदाहरण के लिए, एक प्रणाली उपयोगकर्ता के ईमेल और पासवर्ड को एक ही हैश में जोड़ सकता है। हैश की जटिलता में इस वृद्धि का अर्थ है कि यह कहीं अधिक कठिन है और इस प्रकार रेनबो तालिकाओं के उत्पन्न होने की संभावना कम है। यह स्वाभाविक रूप से प्रमाणीकरण है कि संवेदनशील डेटा हानि संचरण के माध्यम से कम हो जाता है।[31]


पेपर

कुछ प्रणालियाँ अपने द्रुतान्वेषण प्रणाली में साल्टिंग के अतिरिक्त पेपर भी सम्मिलित करती हैं। पेपर प्रणालियाँ विवादास्पद हैं, यद्यपि उनके उपयोग को समझाना आवश्यक होता है।।[29]पेपर एक मान है जो सल्ट के साथ युक्त किए गए हैश पासवर्ड में जोड़ा जाता है। यह पेपर सामान्यतः एक वेबसाइट या सेवा के लिए अद्वितीय होता है, और महत्वपूर्ण है कि एक ही पेपर सामान्यतः डेटाबेस में सहेजे गए सभी पासवर्ड में जोड़ा जाता है।।[32] सिद्धांत रूप में पासवर्ड द्रुतान्वेषण प्रणाली में पेपर कोसम्मिलित करने से इनपुट: हैश तालिकाओं के जोखिम को कम करने की क्षमता है, "पेपर" की प्रणाली-स्तरीय विशिष्टता को देखते हुए,"पेपर" कार्यान्वयन के वास्तविक विश्व लाभ अत्यधिक विवादित हैं।[33]


एप्लिकेशन-स्तर कूटलेखन

एप्लिकेशन-स्तरीय कूटलेखन में, डेटा को कूटबद्ध करने की प्रक्रिया उस एप्लिकेशन द्वारा पूरी की जाती है जिसका उपयोग कूटबद्ध किए जाने वाले डेटा को उत्पन्न या संशोधित करने के लिए किया गया है। अनिवार्य रूप से इसका मतलब है कि डेटाबेस में लिखे जाने से पहले डेटा कूटबद्ध किया गया है। कूटलेखन के लिए यह अद्वितीय दृष्टिकोण कूटलेखन प्रक्रिया को प्रत्येक उपयोगकर्ता के लिए उस जानकारी (जैसे एंटाइटेलमेंट या भूमिका) के आधार पर तैयार करने की अनुमति देता है जिसे एप्लिकेशन अपने उपयोगकर्ताओं के बारे में जानता है।[32]

यूजीन पिलियानकेविच के अनुसार, परिधि-कम और अधिक उजागर क्लाउड प्रणाली की ओर एक सामान्य बहाव के साथ, अनुप्रयोग-स्तर कूटलेखन बढ़ी हुई सुरक्षा आवश्यकताओं वाली प्रणालियों के लिए एक अच्छा अभ्यास बन रहा है।[34]


एप्लिकेशन-स्तर कूटलेखन के लाभ

एप्लिकेशन-स्तरीय कूटलेखन के सबसे महत्वपूर्ण लाभों में से एक यह तथ्य है कि एप्लिकेशन-स्तरीय कूटलेखन में कंपनी द्वारा उपयोग की जाने वाली कूटलेखन प्रक्रिया को सरल बनाने की क्षमता है। यदि कोई एप्लिकेशन उस डेटा को कूटबद्ध करता है जिसे वह डेटाबेस से लिखता/संशोधित करता है तो एक द्वितीयक कूटलेखन उपकरण को प्रणाली में एकीकृत करने की आवश्यकता नहीं होगी। दूसरा मुख्य लाभ चोरी के व्यापक विषय से संबंधित है। यह देखते हुए कि डेटा को सर्वर पर लिखे जाने से पहले कूटबद्ध किया गया है, एक हैकर को संवेदनशील डेटा को विकूटन करने के लिए डेटाबेस की सामग्री के साथ-साथ डेटाबेस की सामग्री को कूटबद्ध और विकूटन करने के लिए उपयोग किए जाने वाले एप्लिकेशन तक पहुंच की आवश्यकता होगी।[35]


एप्लिकेशन-स्तर कूटलेखन के नुकसान

एप्लिकेशन-स्तरीय कूटलेखन का पहला महत्वपूर्ण नुकसान यह है कि किसी फर्म द्वारा उपयोग किए जाने वाले एप्लिकेशन को स्वयं डेटा कूटबद्ध करने के लिए संशोधित करने की आवश्यकता होगी। इसमें महत्वपूर्ण मात्रा में समय और अन्य संसाधनों का उपभोग करने की क्षमता है। अवसर लागत फर्मों की प्रकृति को देखते हुए यह विश्वास नहीं हो सकता है कि एप्लिकेशन-स्तरीय कूटलेखन निवेश के लायक है। इसके अलावा, एप्लिकेशन-स्तरीय कूटलेखन का डेटाबेस प्रदर्शन पर सीमित प्रभाव पड़ सकता है। यदि किसी डेटाबेस के सभी डेटा को कई अलग-अलग अनुप्रयोगों द्वारा कूटबद्ध किया गया है, तो डेटाबेस पर डेटा को इंडेक्स करना या खोजना असंभव हो जाता है। एक मूल उदाहरण के रूप में इसे वास्तविकता में धरातल पर उतारने के लिए: 30 भाषाओं में लिखी गई पुस्तक के लिए किसी एक भाषा में शब्दावली का निर्माण करना असंभव होगा। अंत में कुंजी प्रबंधन की जटिलता बढ़ जाती है, क्योंकि कई अलग-अलग अनुप्रयोगों को डेटा को कूटबद्ध करने और इसे डेटाबेस में लिखने के लिए अधिकार और पहुंच की आवश्यकता होती है।[35]


डेटाबेस कूटलेखन के जोखिम

डेटाबेस कूटलेखन के विषय पर चर्चा करते समय प्रक्रिया में शामिल जोखिमों से अवगत होना अनिवार्य है। जोखिमों का पहला समूह प्रमुख प्रबंधन से संबंधित है। यदि निजी कुंजियों को एक पृथक प्रणाली में प्रबंधित नहीं किया जाता है, तो दुर्भावनापूर्ण इरादे वाले प्रणाली प्रशासकों के पास उन कुंजियों का उपयोग करके संवेदनशील डेटा को विकूटन करने की क्षमता हो सकती है, जिन तक उनकी पहुंच है। चाबियों का मूलभूत सिद्धांत संभावित विनाशकारी जोखिम को भी जन्म देता है: यदि कुंजियां खो जाती हैं तो कूटबद्ध ेड डेटा भी अनिवार्य रूप से खो जाता है, क्योंकि चाबियों के बिना डिक्रिप्शन लगभग असंभव है।[36]


संदर्भ

  1. "What is Database Encryption and Decryption? - Definition from Techopedia". Techopedia.com. Retrieved 2015-11-04.
  2. 2.0 2.1 2.2 "Azure SQL डेटाबेस के साथ पारदर्शी डेटा एन्क्रिप्शन". msdn.microsoft.com. Retrieved 2015-11-04.
  3. "SQL सर्वर - स्क्रिप्ट के साथ SQL सर्वर एन्क्रिप्शन और सममित कुंजी एन्क्रिप्शन ट्यूटोरियल का परिचय". Journey to SQL Authority with Pinal Dave. April 28, 2009. Retrieved 2015-10-25.
  4. "पारदर्शी डेटा एन्क्रिप्शन (TDE)". msdn.microsoft.com. Retrieved 2015-10-25.
  5. "What is data at rest? - Definition from WhatIs.com". SearchStorage. Retrieved 2015-10-25.
  6. "हार्डवेयर आधारित डेटा भंडारण सुरक्षा के लिए एन्क्रिप्शन तकनीक और उत्पाद". ComputerWeekly. Retrieved 2015-10-31.
  7. "भंडारण एन्क्रिप्शन समाधान". www.thales-esecurity.com. Retrieved 2015-10-25.
  8. "Transparent Data Encryption (TDE) in SQL Server — DatabaseJournal.com". www.databasejournal.com. Retrieved 2015-11-02.
  9. "पारदर्शी डेटा एन्क्रिप्शन का उपयोग करना". sqlmag.com. Archived from the original on October 14, 2017. Retrieved 2015-11-02.
  10. "डेटाबेस अवधारणाओं पर एक ट्यूटोरियल, MySQL का उपयोग करके SQL।". www.atlasindia.com. Retrieved 2015-11-04.
  11. "SQL सर्वर एन्क्रिप्शन विकल्प". sqlmag.com. Archived from the original on October 27, 2017. Retrieved 2015-11-02.
  12. "एन्क्रिप्टेड आउटसोर्स डेटा का अनुकूलित और नियंत्रित प्रावधान" (PDF). www.fkerschbaum.org.
  13. Suciu, Dan (2012). "Technical Perspective: SQL on an Encrypted Database". Communications of the ACM. doi:10.1145/2330667.2330690. S2CID 33705485.
  14. Spooner, David L.; Gudes, E. (1984-05-01). "एक सुरक्षित डेटाबेस ऑपरेटिंग सिस्टम के डिजाइन के लिए एक एकीकृत दृष्टिकोण". IEEE Transactions on Software Engineering. SE-10 (3): 310–319. doi:10.1109/TSE.1984.5010240. ISSN 0098-5589. S2CID 15407701.
  15. 15.0 15.1 "Database Encryption in SQL Server 2008 Enterprise Edition". technet.microsoft.com. Retrieved 2015-11-03.
  16. 16.0 16.1 "सममित और असममित एन्क्रिप्शन का विवरण". support.microsoft.com. Retrieved 2015-10-25.
  17. "एन्क्रिप्शन कैसे काम करता है". HowStuffWorks. April 6, 2001. Retrieved 2015-10-25.
  18. "एन्क्रिप्शन कैसे काम करता है". HowStuffWorks. April 6, 2001. Retrieved 2015-11-01.
  19. Young, Dr. Bill. "Foundations of Computer Security Lecture 44: Symmetric vs. Asymmetric Encryption" (PDF). University of Texas at Austin. Archived from the original (PDF) on March 5, 2016. Retrieved 1 November 2015.
  20. "What is asymmetric cryptography and how do I use it?". Two Factor Authenticity. Retrieved 2015-11-01.
  21. "असममित और सममित क्रिप्टोसिस्टम के लाभ और नुकसान" (PDF). University of Babylon. Retrieved 2015-11-03.
  22. 22.0 22.1 "एंटरप्राइज़ डेटा संग्रहण को सुरक्षित करने के लिए एन्क्रिप्शन कुंजी प्रबंधन महत्वपूर्ण है". ComputerWeekly. Retrieved 2015-11-02.
  23. "What is Enterprise Key Management?". web.townsendsecurity.com. Retrieved 2015-11-02.
  24. "What is hashing? - Definition from WhatIs.com". SearchSQLServer. Retrieved 2015-11-01.
  25. "कैसे डेटा एन्क्रिप्शन सॉफ़्टवेयर sha1 हैशिंग एल्गोरिथ्म का उपयोग करके एक तरफ़ा हैश फ़ाइलें बनाता है।". www.metamorphosite.com. Retrieved 2015-11-01.
  26. "Understanding Encryption – Symmetric, Asymmetric, & Hashing". Atomic Spin. November 20, 2014. Retrieved 2015-11-01.
  27. "PHP: Password Hashing - Manual". php.net. Retrieved 2015-11-01.
  28. "JavaScript Implementation of SHA-256 Cryptographic Hash Algorithm | Movable Type Scripts". www.movable-type.co.uk. Retrieved 2015-11-03.
  29. 29.0 29.1 "नमक और काली मिर्च - डेटाबेस पासवर्ड कैसे एन्क्रिप्ट करें". blog.kablamo.org. Retrieved 2015-11-01.
  30. "PHP: Password Hashing - Manual". php.net. Retrieved 2015-11-01.
  31. "आपको हमेशा अपने हैश में नमक क्यों डालना चाहिए - ब्राइटन में वेब विकास - अतिरिक्त बाइट्स". Added Bytes. Retrieved 2015-11-01.
  32. 32.0 32.1 "थेल्स ई-सिक्योरिटी से एप्लिकेशन एन्क्रिप्शन". www.thales-esecurity.com. Retrieved 2015-10-25.
  33. "ircmaxell's blog: Properly Salting Passwords, The Case Against Pepper". blog.ircmaxell.com. Retrieved 2015-11-02.
  34. Pilyankevich, Eugene (December 18, 2020). "सॉफ्टवेयर आर्किटेक्ट्स के लिए एप्लीकेशन लेवल एन्क्रिप्शन". InfoQ.{{cite web}}: CS1 maint: url-status (link)
  35. 35.0 35.1 Baccam, Tanya (April 2010). "Transparent Data Encryption: New Technologies and Best Practices for Database Encryption". Sans.org. SANS Institute. Retrieved 25 October 2015.
  36. "Database Encryption: Challenges, Risks, and Solutions". www.thales-esecurity.com. Retrieved 2015-10-25.