डेटाबेस एन्क्रिप्शन: Difference between revisions
No edit summary |
No edit summary |
||
Line 9: | Line 9: | ||
== खंड -स्तरीय कूटलेखन == | == खंड -स्तरीय कूटलेखन == | ||
खंड-स्तरीय कूटलेखन की व्याख्या करने के लिए बुनियादी डेटाबेस संरचना को रेखांकित करना महत्वपूर्ण है। एक विशिष्ट संबंधपरक डेटाबेस को तालिकाओं में विभाजित किया जाता है जो [[स्तंभ (डेटाबेस)|खंड]] में विभाजित होते हैं जिनमें प्रत्येक में डेटा की [[पंक्ति (डेटाबेस)|पंक्ति]] होती है।<ref>{{Cite web|title = डेटाबेस अवधारणाओं पर एक ट्यूटोरियल, MySQL का उपयोग करके SQL।|url = http://www.atlasindia.com/sql.htm|website = www.atlasindia.com|access-date = 2015-11-04}}</ref> जबकि टीडीई सामान्यतः पूरे डेटाबेस को कूटबद्ध करता है, यद्यपिखंड -स्तर की कूटलेखन डेटाबेस के अंदर विभक्तखंड को कूटबद्ध करने की अनुमति देती है।<ref>{{Cite web|title = SQL सर्वर एन्क्रिप्शन विकल्प|url = http://sqlmag.com/database-security/sql-server-encryption-options|website = sqlmag.com|access-date = 2015-11-02|archive-url = https://web.archive.org/web/20171027213415/http://sqlmag.com/database-security/sql-server-encryption-options|archive-date = October 27, 2017|url-status = dead}}</ref> यह स्थापित करना महत्वपूर्ण है कि संपूर्ण डेटाबेस को कूटबद्ध करने के सापेक्ष मे खंड -स्तरीय [[कूटलेखन कुंजी]] कणिकता विशिष्ट शक्तियों और कमजोरियों का कारण बनती है। पहले, व्यक्तिगत खंडों को कूटबद्ध करने की क्षमता के कारण,खंड-स्तर की कूटलेखन के सापेक्ष में टीईडी जैसे पूरे डेटाबेस को कूटबद्ध करने वाले कूटलेखन प्रणालियों के मुक़ाबले बहुत अधिक लचीला होती है। इस प्रक्रिया से रेनबो टेबल उत्पन्न करने की कठिनाई बढ़ जाती है, जिससे प्रत्येकखंड में संग्रहित डेटा को खोने या लीक होने का कम आंकड़ा होता है। खंड-स्तर डेटाबेस कूटलेखन के साथ संबंधित मुख्य अवांछनिय गति,अर्थात गति की हानि होती है। एक ही डेटाबेस में भिन्न-भिन्न अद्वितीय कुंजियों के साथ अलग खंडों | खंड-स्तरीय कूटलेखन की व्याख्या करने के लिए बुनियादी डेटाबेस संरचना को रेखांकित करना महत्वपूर्ण है। एक विशिष्ट संबंधपरक डेटाबेस को तालिकाओं में विभाजित किया जाता है जो [[स्तंभ (डेटाबेस)|खंड]] में विभाजित होते हैं जिनमें प्रत्येक में डेटा की [[पंक्ति (डेटाबेस)|पंक्ति]] होती है।<ref>{{Cite web|title = डेटाबेस अवधारणाओं पर एक ट्यूटोरियल, MySQL का उपयोग करके SQL।|url = http://www.atlasindia.com/sql.htm|website = www.atlasindia.com|access-date = 2015-11-04}}</ref> जबकि टीडीई सामान्यतः पूरे डेटाबेस को कूटबद्ध करता है, यद्यपिखंड -स्तर की कूटलेखन डेटाबेस के अंदर विभक्तखंड को कूटबद्ध करने की अनुमति देती है।<ref>{{Cite web|title = SQL सर्वर एन्क्रिप्शन विकल्प|url = http://sqlmag.com/database-security/sql-server-encryption-options|website = sqlmag.com|access-date = 2015-11-02|archive-url = https://web.archive.org/web/20171027213415/http://sqlmag.com/database-security/sql-server-encryption-options|archive-date = October 27, 2017|url-status = dead}}</ref> यह स्थापित करना महत्वपूर्ण है कि संपूर्ण डेटाबेस को कूटबद्ध करने के सापेक्ष मे खंड -स्तरीय [[कूटलेखन कुंजी]] कणिकता विशिष्ट शक्तियों और कमजोरियों का कारण बनती है। पहले, व्यक्तिगत खंडों को कूटबद्ध करने की क्षमता के कारण,खंड-स्तर की कूटलेखन के सापेक्ष में टीईडी जैसे पूरे डेटाबेस को कूटबद्ध करने वाले कूटलेखन प्रणालियों के मुक़ाबले बहुत अधिक लचीला होती है। इस प्रक्रिया से रेनबो टेबल उत्पन्न करने की कठिनाई बढ़ जाती है, जिससे प्रत्येकखंड में संग्रहित डेटा को खोने या लीक होने का कम आंकड़ा होता है। खंड-स्तर डेटाबेस कूटलेखन के साथ संबंधित मुख्य अवांछनिय गति,अर्थात गति की हानि होती है। एक ही डेटाबेस में भिन्न-भिन्न अद्वितीय कुंजियों के साथ अलग खंडों को कूटबद्ध करने से डेटाबेस के क्रियात्मकता में कमी हो सकती है, और साथ ही डेटाबेस को सूचीबद्ध करने और खोजने की गति को कम किया जा सकता हैं। | ||
== क्षेत्र-स्तरीय कूटलेखन == | == क्षेत्र-स्तरीय कूटलेखन == | ||
कूटबद्ध क्षेत्र पर उन्हें विकूटन करने की आवश्यकता के | कूटबद्ध क्षेत्र पर उन्हें विकूटन करने की आवश्यकता के अतिरिक्त डेटाबेस संचालन प्रदान करने पर प्रायोगिक कार्य किया जा रहा है।<ref name=":37">{{Cite web|url = http://www.fkerschbaum.org/sacmat14.pdf|title = एन्क्रिप्टेड आउटसोर्स डेटा का अनुकूलित और नियंत्रित प्रावधान|website = www.fkerschbaum.org}}</ref> यादृच्छिक करने के लिए शक्तिशाली कूटलेखन की आवश्यकता होती है, हर बार एक अलग परिणाम उत्पन्न किया जाना चाहिए, इसे [[संभाव्य एन्क्रिप्शन|संभाव्य कूटलेखन]] के रूप में जाना जाता है। क्षेत्र-स्तरीय कूटलेखन यादृच्छिक कूटलेखन से कमजोर है,परंतु यह उपयोगकर्ताओं को डेटा को विकूटन किए अतिरिक्त समानता के लिए परीक्षण करने की अनुमति देता है।<ref>{{Cite journal|last=Suciu|first=Dan|date=2012|title=Technical Perspective: SQL on an Encrypted Database|journal=Communications of the ACM|doi=10.1145/2330667.2330690|s2cid=33705485}}</ref> | ||
== | == संचिका प्रणाली-स्तरीय कूटलेखन == | ||
{{main | | {{main |संचिका प्रणाली-स्तरीय कूटलेखन }} | ||
=== | === संचिका प्रणाली को कूटबद्ध करना (ईएफएस ) === | ||
{{main | | {{main |संचिका प्रणाली को कूटबद्ध करना }} | ||
यह ध्यान रखना महत्वपूर्ण है कि पारंपरिक डेटाबेस कूटलेखन | |||
यह ध्यान रखना महत्वपूर्ण है कि पारंपरिक डेटाबेस कूटलेखन तकनीकें सामान्य रूप से डेटाबेस की सामग्री को कूटबद्ध और विकूटन करती हैं। डेटाबेस का प्रबंधन डेटाबेस व्यवस्था प्रणाली द्वारा किया जाता है जो उपस्थित प्रचालन प्रणाली के शीर्ष पर चलता है।<ref>{{Cite journal|title = एक सुरक्षित डेटाबेस ऑपरेटिंग सिस्टम के डिजाइन के लिए एक एकीकृत दृष्टिकोण|journal = IEEE Transactions on Software Engineering|date = 1984-05-01|issn = 0098-5589|pages = 310–319|volume = SE-10|issue = 3|doi = 10.1109/TSE.1984.5010240|first1 = David L.|last1 = Spooner|first2 = E.|last2 = Gudes|s2cid = 15407701}}</ref> यह एक संभावित सुरक्षा चिंता उत्पन्न करता है, क्योंकि एक कूटबद्ध डेटाबेस एक सुलभ और संभावित रूप से कमजोर प्रचालन प्रणाली पर चल सकता है। ईएफएस उस डेटा को कूटबद्ध कर सकता है जो डेटाबेस प्रणाली का भाग नहीं है, जिसका अर्थ है कि टीडीई जैसे प्रणाली के सापेक्ष में ईएफएस के लिए कूटलेखन बहुत अधिक है,जो केवल डेटाबेस फ़ाइलों को कूटबद्ध करने में सक्षम है। जबकि ईएफएस कूटलेखन के दायरे को बढ़ाता है, यह डेटाबेस के प्रदर्शन को भी कम करता है और प्रशासन के मुद्दों का कारण बन सकता है क्योंकि प्रणाली प्रशासकों को ईएफएस का उपयोग करने के लिए ऑपरेटिंग प्रणाली प्रयोग की आवश्यकता होती है। प्रदर्शन से संबंधित समस्याओ के कारण, ईएफएस का उपयोग सामान्यतः उन डेटाबेसिंगआवेदन में उपयोग नहीं किया जाता है जिनके लिए बार-बार डेटाबेस इनपुट और आउटपुट की आवश्यकता होती है। प्रदर्शन समस्याओं को समाधान करने के लिए प्रायः सुझाव दिया जाता है कि कुछ उपयोगकर्ताओं के साथ वातावरण में ईएफएस प्रणाली का उपयोग किया जा सकता है।<ref name="Hsueh" >{{Cite web|title = Database Encryption in SQL Server 2008 Enterprise Edition|url = https://technet.microsoft.com/en-us/library/cc278098(v=sql.100).aspx#_Toc189384683|website = technet.microsoft.com|access-date = 2015-11-03}}</ref> | |||
Line 28: | Line 29: | ||
{{main | full disk encryption }} | {{main | full disk encryption }} | ||
[[BitLocker]] में | [[BitLocker]] में ईएफएस से जुड़ी समान प्रदर्शन संबंधी चिंताएँ नहीं हैं।<ref name="Hsueh" /> | ||
Line 42: | Line 43: | ||
== कुंजी प्रबंधन == | == कुंजी प्रबंधन == | ||
सममित और असममित डाटाबेस कूटलेखन अनुभाग ने बुनियादी उदाहरणों के साथ सार्वजनिक और निजी कुंजियों की अवधारणा पेश की जिसमें उपयोगकर्ता कुंजियों का आदान-प्रदान करते हैं। चाबियों का आदान-प्रदान करने का कार्य तार्किक दृष्टिकोण से अव्यावहारिक हो जाता है, जब कई अलग-अलग व्यक्तियों को एक-दूसरे के साथ संवाद करने की आवश्यकता होती है। डेटाबेस कूटलेखन में | सममित और असममित डाटाबेस कूटलेखन अनुभाग ने बुनियादी उदाहरणों के साथ सार्वजनिक और निजी कुंजियों की अवधारणा पेश की जिसमें उपयोगकर्ता कुंजियों का आदान-प्रदान करते हैं। चाबियों का आदान-प्रदान करने का कार्य तार्किक दृष्टिकोण से अव्यावहारिक हो जाता है, जब कई अलग-अलग व्यक्तियों को एक-दूसरे के साथ संवाद करने की आवश्यकता होती है। डेटाबेस कूटलेखन में प्रणाली स्टोरेज और चाबियों के आदान-प्रदान को संभालता है। इस प्रक्रिया को कुंजी प्रबंधन कहा जाता है। यदि कूटलेखन कुंजियों को ठीक से प्रबंधित और संग्रहीत नहीं किया जाता है, तो अत्यधिक संवेदनशील डेटा लीक हो सकता है। इसके अतिरिक्त, यदि कोई कुंजी प्रबंधन प्रणाली कुंजी को हटा देती है या खो देती है, तो उक्त कुंजी के माध्यम से कूटबद्ध की गई जानकारी अनिवार्य रूप से खो जाती है। प्रमुख प्रबंधन लॉजिस्टिक्स की जटिलता भी एक ऐसा विषय है जिस पर विचार करने की आवश्यकता है। जैसे-जैसे एक फर्म द्वारा उपयोग किए जाने वाले एप्लिकेशन की संख्या बढ़ती जाती है, वैसे-वैसे कुंजियों की संख्या भी बढ़ती जाती है जिन्हें संग्रहीत और प्रबंधित करने की आवश्यकता होती है। इस प्रकार एक ऐसा तरीका स्थापित करना आवश्यक है जिसमें सभी अनुप्रयोगों की कुंजियों को एक चैनल के माध्यम से प्रबंधित किया जा सके, जिसे एंटरप्राइज़ कुंजी प्रबंधन के रूप में भी जाना जाता है।<ref name=":12">{{Cite web|title = एंटरप्राइज़ डेटा संग्रहण को सुरक्षित करने के लिए एन्क्रिप्शन कुंजी प्रबंधन महत्वपूर्ण है|url = http://www.computerweekly.com/feature/Encryption-key-management-is-vital-to-securing-enterprise-data-storage|website = ComputerWeekly|access-date = 2015-11-02}}</ref> उद्यम कुंजी प्रबंधन समाधान प्रौद्योगिकी उद्योग में बड़ी संख्या में आपूर्तिकर्ताओं द्वारा बेचे जाते हैं। ये प्रणाली अनिवार्य रूप से एक केंद्रीकृत कुंजी प्रबंधन समाधान प्रदान करते हैं जो प्रशासकों को एक हब के माध्यम से प्रणाली में सभी कुंजियों को प्रबंधित करने की अनुमति देता है।<ref>{{Cite web|title = What is Enterprise Key Management?|url = http://web.townsendsecurity.com/bid/62380/What-is-Enterprise-Key-Management|website = web.townsendsecurity.com|access-date = 2015-11-02}}</ref> इस प्रकार यह कहा जा सकता है कि उद्यम कुंजी प्रबंधन समाधानों की शुरूआत में डेटाबेस कूटलेखन के संदर्भ में कुंजी प्रबंधन से जुड़े जोखिमों को कम करने की क्षमता है, साथ ही साथ कई व्यक्तियों द्वारा कुंजियों को मैन्युअल रूप से साझा करने का प्रयास करने पर उत्पन्न होने वाली तार्किक परेशानियों को कम करने की क्षमता है।<ref name=":12" /> | ||
== हैशिंग == | == हैशिंग == | ||
हैशिंग का उपयोग डेटाबेस | हैशिंग का उपयोग डेटाबेस प्रणाली में पासवर्ड जैसे संवेदनशील डेटा की सुरक्षा के लिए एक विधि के रूप में किया जाता है; हालाँकि इसका उपयोग डेटाबेस रेफरेंसिंग की दक्षता में सुधार के लिए भी किया जाता है।<ref>{{Cite web|title = What is hashing? - Definition from WhatIs.com|url = http://searchsqlserver.techtarget.com/definition/hashing|website = SearchSQLServer|access-date = 2015-11-01}}</ref> इनपुट किए गए डेटा को हैशिंग एल्गोरिथम द्वारा हेरफेर किया जाता है। हैशिंग कलन विधि इनपुट किए गए डेटा को निश्चित लंबाई की स्ट्रिंग में परिवर्तित करता है जिसे डेटाबेस में संग्रहीत किया जा सकता है। हैशिंग प्रणाली की दो महत्वपूर्ण विशेषताएं हैं जिन्हें अब रेखांकित किया जाएगा। सबसे पहले, हैश अद्वितीय और दोहराने योग्य हैं। एक उदाहरण के रूप में, एक ही हैशिंग एल्गोरिथ्म के माध्यम से बिल्ली शब्द को कई बार चलाने से हमेशा एक ही हैश निकलेगा, हालाँकि ऐसा शब्द खोजना बेहद मुश्किल है जो उसी हैश को लौटाएगा जो बिल्ली करता है।<ref name=":5">{{Cite web|title = कैसे डेटा एन्क्रिप्शन सॉफ़्टवेयर sha1 हैशिंग एल्गोरिथ्म का उपयोग करके एक तरफ़ा हैश फ़ाइलें बनाता है।|url = http://www.metamorphosite.com/one-way-hash-encryption-sha1-data-software|website = www.metamorphosite.com|access-date = 2015-11-01}}</ref> दूसरे, हैशिंग कलन विधि प्रतिवर्ती नहीं हैं। ऊपर दिए गए उदाहरण से इसे वापस जोड़ने के लिए, हैशिंग एल्गोरिथम के आउटपुट को मूल इनपुट में वापस बदलना लगभग असंभव होगा, जो कि कैट था।<ref name=":6">{{Cite web|title = Understanding Encryption – Symmetric, Asymmetric, & Hashing|url = http://spin.atomicobject.com/2014/11/20/encryption-symmetric-asymmetric-hashing/|website = Atomic Spin|access-date = 2015-11-01|date = November 20, 2014}}</ref> डेटाबेस कूटलेखन के संदर्भ में, हैशिंग का उपयोग अक्सर पासवर्ड प्रणाली में किया जाता है। जब कोई उपयोगकर्ता पहली बार अपना पासवर्ड बनाता है तो इसे हैशिंग एल्गोरिथम के माध्यम से चलाया जाता है और हैश के रूप में सहेजा जाता है। जब उपयोगकर्ता वेबसाइट में वापस लॉग इन करता है, तो वे जो पासवर्ड दर्ज करते हैं वह हैशिंग एल्गोरिथम के माध्यम से चलाया जाता है और फिर संग्रहीत हैश की तुलना की जाती है।<ref name=":7">{{Cite web|title = PHP: Password Hashing - Manual|url = http://php.net/manual/en/faq.passwords.php#faq.passwords.hashing|website = php.net|access-date = 2015-11-01}}</ref> इस तथ्य को देखते हुए कि हैश अद्वितीय हैं, यदि दोनों हैश मेल खाते हैं तो यह कहा जाता है कि उपयोगकर्ता ने सही पासवर्ड डाला है। एक लोकप्रिय हैश फ़ंक्शन का एक उदाहरण SHA (सिक्योर हैश एल्गोरिथम) 256 है।<ref>{{Cite web|title = JavaScript Implementation of SHA-256 Cryptographic Hash Algorithm {{!}} Movable Type Scripts|url = http://www.movable-type.co.uk/scripts/sha256.html|website = www.movable-type.co.uk|access-date = 2015-11-03}}</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=":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" /> | ||
Line 60: | Line 61: | ||
एप्लिकेशन-स्तरीय कूटलेखन में, डेटा को कूटबद्ध करने की प्रक्रिया उस एप्लिकेशन द्वारा पूरी की जाती है जिसका उपयोग कूटबद्ध किए जाने वाले डेटा को उत्पन्न या संशोधित करने के लिए किया गया है। अनिवार्य रूप से इसका मतलब है कि डेटाबेस में लिखे जाने से पहले डेटा कूटबद्ध किया गया है। कूटलेखन के लिए यह अद्वितीय दृष्टिकोण कूटलेखन प्रक्रिया को प्रत्येक उपयोगकर्ता के लिए उस जानकारी (जैसे एंटाइटेलमेंट या भूमिका) के आधार पर तैयार करने की अनुमति देता है जिसे एप्लिकेशन अपने उपयोगकर्ताओं के बारे में जानता है।<ref name=":1" /> | एप्लिकेशन-स्तरीय कूटलेखन में, डेटा को कूटबद्ध करने की प्रक्रिया उस एप्लिकेशन द्वारा पूरी की जाती है जिसका उपयोग कूटबद्ध किए जाने वाले डेटा को उत्पन्न या संशोधित करने के लिए किया गया है। अनिवार्य रूप से इसका मतलब है कि डेटाबेस में लिखे जाने से पहले डेटा कूटबद्ध किया गया है। कूटलेखन के लिए यह अद्वितीय दृष्टिकोण कूटलेखन प्रक्रिया को प्रत्येक उपयोगकर्ता के लिए उस जानकारी (जैसे एंटाइटेलमेंट या भूमिका) के आधार पर तैयार करने की अनुमति देता है जिसे एप्लिकेशन अपने उपयोगकर्ताओं के बारे में जानता है।<ref name=":1" /> | ||
यूजीन पिलियानकेविच के अनुसार, परिधि-कम और अधिक उजागर क्लाउड | यूजीन पिलियानकेविच के अनुसार, परिधि-कम और अधिक उजागर क्लाउड प्रणाली की ओर एक सामान्य बहाव के साथ, अनुप्रयोग-स्तर कूटलेखन बढ़ी हुई सुरक्षा आवश्यकताओं वाली प्रणालियों के लिए एक अच्छा अभ्यास बन रहा है।<ref name=":16">{{Cite web|last=Pilyankevich|first=Eugene|date=December 18, 2020|title=सॉफ्टवेयर आर्किटेक्ट्स के लिए एप्लीकेशन लेवल एन्क्रिप्शन|url=https://www.infoq.com/articles/ale-software-architects/|url-status=live|website=InfoQ}}</ref> | ||
=== एप्लिकेशन-स्तर कूटलेखन के लाभ === | === एप्लिकेशन-स्तर कूटलेखन के लाभ === | ||
एप्लिकेशन-स्तरीय कूटलेखन के सबसे महत्वपूर्ण लाभों में से एक यह तथ्य है कि एप्लिकेशन-स्तरीय कूटलेखन में कंपनी द्वारा उपयोग की जाने वाली कूटलेखन प्रक्रिया को सरल बनाने की क्षमता है। यदि कोई एप्लिकेशन उस डेटा को कूटबद्ध करता है जिसे वह डेटाबेस से लिखता/संशोधित करता है तो एक द्वितीयक कूटलेखन उपकरण को | एप्लिकेशन-स्तरीय कूटलेखन के सबसे महत्वपूर्ण लाभों में से एक यह तथ्य है कि एप्लिकेशन-स्तरीय कूटलेखन में कंपनी द्वारा उपयोग की जाने वाली कूटलेखन प्रक्रिया को सरल बनाने की क्षमता है। यदि कोई एप्लिकेशन उस डेटा को कूटबद्ध करता है जिसे वह डेटाबेस से लिखता/संशोधित करता है तो एक द्वितीयक कूटलेखन उपकरण को प्रणाली में एकीकृत करने की आवश्यकता नहीं होगी। दूसरा मुख्य लाभ चोरी के व्यापक विषय से संबंधित है। यह देखते हुए कि डेटा को सर्वर पर लिखे जाने से पहले कूटबद्ध किया गया है, एक हैकर को संवेदनशील डेटा को विकूटन करने के लिए डेटाबेस की सामग्री के साथ-साथ डेटाबेस की सामग्री को कूटबद्ध और विकूटन करने के लिए उपयोग किए जाने वाले एप्लिकेशन तक पहुंच की आवश्यकता होगी।<ref name=":2">{{Cite web|url = https://www.sans.org/reading-room/whitepapers/analyst/transparent-data-encryption-technologies-practices-database-encryption-34915|title = Transparent Data Encryption: New Technologies and Best Practices for Database Encryption|date = April 2010|access-date = 25 October 2015|website = Sans.org|publisher = SANS Institute|last = Baccam|first = Tanya}}</ref> | ||
Line 72: | Line 73: | ||
== डेटाबेस कूटलेखन के जोखिम == | == डेटाबेस कूटलेखन के जोखिम == | ||
डेटाबेस कूटलेखन के विषय पर चर्चा करते समय प्रक्रिया में शामिल जोखिमों से अवगत होना अनिवार्य है। जोखिमों का पहला समूह प्रमुख प्रबंधन से संबंधित है। यदि निजी कुंजियों को एक पृथक प्रणाली में प्रबंधित नहीं किया जाता है, तो दुर्भावनापूर्ण इरादे वाले | डेटाबेस कूटलेखन के विषय पर चर्चा करते समय प्रक्रिया में शामिल जोखिमों से अवगत होना अनिवार्य है। जोखिमों का पहला समूह प्रमुख प्रबंधन से संबंधित है। यदि निजी कुंजियों को एक पृथक प्रणाली में प्रबंधित नहीं किया जाता है, तो दुर्भावनापूर्ण इरादे वाले प्रणाली प्रशासकों के पास उन कुंजियों का उपयोग करके संवेदनशील डेटा को विकूटन करने की क्षमता हो सकती है, जिन तक उनकी पहुंच है। चाबियों का मूलभूत सिद्धांत संभावित विनाशकारी जोखिम को भी जन्म देता है: यदि कुंजियां खो जाती हैं तो कूटबद्ध ेड डेटा भी अनिवार्य रूप से खो जाता है, क्योंकि चाबियों के बिना डिक्रिप्शन लगभग असंभव है।<ref name=":0">{{Cite web|title = Database Encryption: Challenges, Risks, and Solutions|url = https://www.thales-esecurity.com/solutions/by-technology-focus/database-encryption|website = www.thales-esecurity.com|access-date = 2015-10-25}}</ref> | ||
Revision as of 06:55, 23 May 2023
डेटाबेस कूटलेखन को सामान्य रूप से एक प्रक्रिया के रूप में परिभाषित किया जा सकता है जिसमें एक कलन विधि का उपयोग करके डेटाबेस में संग्रहीत डेटा को "सिफर टेक्स्ट"" में परिवर्तित किया जाता है, जो पहले विकूटन किए बिना समझ में नहीं आता है।[1] इसलिए यह कहा जा सकता है कि डेटाबेस कूटलेखन का उद्देश्य डेटाबेस में संग्रहीत डेटा को संभावित द्वेषपूर्ण विचार वाले व्यक्तियों द्वारा प्रयोग किए जाने से बचाना है।[2]डेटाबेस को कूटबद्ध करने का कार्य व्यक्तियों के लिए उपरोक्त डेटाबेस को हैक करने के लिए प्रोत्साहन को भी कम करता है क्योंकि निरर्थक कूटबद्ध डेटा हैकर्स के लिए बहुत कम या किसी काम का नहीं है।[3] डेटाबेस कूटलेखन के लिए कई तकनीकें उपलब्ध हैं, जिनमें सबसे महत्वपूर्ण विवरण इस लेख में दिए जाएंगे।
पारदर्शी/बाहरी डेटाबेस कूटलेखन
पारदर्शी डेटा कूटलेखन का उपयोग संपूर्ण डेटाबेस को कूटबद्ध करने के लिए किया जाता है,[2] जिसमें "शांति कालीन डेटा" को कूटबद्ध करने की प्रक्रिया सम्मिलित होता है।।[4] शांति कालीन डेटा सामान्यतः "निष्क्रिय" डेटा को परिभाषित कर सकता है जो वर्तमान में संपादित नहीं हो रहा हैं, या नेटवर्क के माध्यम से नहीं भेजा जा रहा हैं।[5] उदाहरण के रूप में, कंप्यूटर पर संग्रहित एक पाठ फ़ाइल जब तक उसे खोलकर संपादित नहीं किया जाता है, अन्य डेटा को भौतिक भंडारण मीडिया समाधानों जैसे टेप या हार्ड डिस्क ड्राइव पर संग्रहीत किया जाता है।[6]भौतिक संग्रहण मीडिया पर संवेदनशील डेटा की बड़ी मात्रा संग्रहित करने की क्रिया स्वतः ही सुरक्षा और चोरी के संबंध में चिंताएं उत्पन्न करती है। टीडीई यह सुनिश्चित करता है कि भौतिक संग्रहण मीडिया पर संग्रहित डेटा को बुरे विचारों वाले व्यक्तियों द्वारा पढ़ा नहीं जा सकता है, जो उन्हें चुराने की इच्छा रखते हैं।[7] पढ़ा नहीं जा सकने वाला डेटा निष्पक्ष होता है, इसलिए चोरी के लिए प्रेरणा को कम कर देता है। प्रायः टीडीई की सबसे महत्वपूर्ण शक्ति उसकी पारदर्शिता मानी जाती है। यह देखते हुए कि टीडीई सभी डेटा को कूटबद्ध करता है, यह कहा जा सकता है कि टीडीई को सही ढंग से चलाने के लिए किसी एप्लिकेशन को बदलने की आवश्यकता नहीं है।[8] यह ध्यान रखना महत्वपूर्ण है कि टीडीई डेटाबेस की संपूर्णता के साथ-साथ डेटाबेस के बैकअप को कूटबद्ध करता है। टीडीई के पारदर्शी तत्व का इस तथ्य से लेना-देना है कि टीडीई पृष्ठ स्तर पर कूटबद्ध करता है, जिसका अनिवार्य रूप से अर्थ है कि, डेटा को कूटबद्ध किया जाता है जब संग्रहीत और विकूटन किया जाता है, जब इसे प्रणाली की मेमोरी में किया जाता है।[9] डेटाबेस की सामग्री को एक सममित कुंजी का उपयोग करके कूटबद्ध किया जाता है जिसे प्रायः डेटाबेस कूटलेखन कुंजी के रूप में संदर्भित किया जाता है।[2]
खंड -स्तरीय कूटलेखन
खंड-स्तरीय कूटलेखन की व्याख्या करने के लिए बुनियादी डेटाबेस संरचना को रेखांकित करना महत्वपूर्ण है। एक विशिष्ट संबंधपरक डेटाबेस को तालिकाओं में विभाजित किया जाता है जो खंड में विभाजित होते हैं जिनमें प्रत्येक में डेटा की पंक्ति होती है।[10] जबकि टीडीई सामान्यतः पूरे डेटाबेस को कूटबद्ध करता है, यद्यपिखंड -स्तर की कूटलेखन डेटाबेस के अंदर विभक्तखंड को कूटबद्ध करने की अनुमति देती है।[11] यह स्थापित करना महत्वपूर्ण है कि संपूर्ण डेटाबेस को कूटबद्ध करने के सापेक्ष मे खंड -स्तरीय कूटलेखन कुंजी कणिकता विशिष्ट शक्तियों और कमजोरियों का कारण बनती है। पहले, व्यक्तिगत खंडों को कूटबद्ध करने की क्षमता के कारण,खंड-स्तर की कूटलेखन के सापेक्ष में टीईडी जैसे पूरे डेटाबेस को कूटबद्ध करने वाले कूटलेखन प्रणालियों के मुक़ाबले बहुत अधिक लचीला होती है। इस प्रक्रिया से रेनबो टेबल उत्पन्न करने की कठिनाई बढ़ जाती है, जिससे प्रत्येकखंड में संग्रहित डेटा को खोने या लीक होने का कम आंकड़ा होता है। खंड-स्तर डेटाबेस कूटलेखन के साथ संबंधित मुख्य अवांछनिय गति,अर्थात गति की हानि होती है। एक ही डेटाबेस में भिन्न-भिन्न अद्वितीय कुंजियों के साथ अलग खंडों को कूटबद्ध करने से डेटाबेस के क्रियात्मकता में कमी हो सकती है, और साथ ही डेटाबेस को सूचीबद्ध करने और खोजने की गति को कम किया जा सकता हैं।
क्षेत्र-स्तरीय कूटलेखन
कूटबद्ध क्षेत्र पर उन्हें विकूटन करने की आवश्यकता के अतिरिक्त डेटाबेस संचालन प्रदान करने पर प्रायोगिक कार्य किया जा रहा है।[12] यादृच्छिक करने के लिए शक्तिशाली कूटलेखन की आवश्यकता होती है, हर बार एक अलग परिणाम उत्पन्न किया जाना चाहिए, इसे संभाव्य कूटलेखन के रूप में जाना जाता है। क्षेत्र-स्तरीय कूटलेखन यादृच्छिक कूटलेखन से कमजोर है,परंतु यह उपयोगकर्ताओं को डेटा को विकूटन किए अतिरिक्त समानता के लिए परीक्षण करने की अनुमति देता है।[13]
संचिका प्रणाली-स्तरीय कूटलेखन
संचिका प्रणाली को कूटबद्ध करना (ईएफएस )
यह ध्यान रखना महत्वपूर्ण है कि पारंपरिक डेटाबेस कूटलेखन तकनीकें सामान्य रूप से डेटाबेस की सामग्री को कूटबद्ध और विकूटन करती हैं। डेटाबेस का प्रबंधन डेटाबेस व्यवस्था प्रणाली द्वारा किया जाता है जो उपस्थित प्रचालन प्रणाली के शीर्ष पर चलता है।[14] यह एक संभावित सुरक्षा चिंता उत्पन्न करता है, क्योंकि एक कूटबद्ध डेटाबेस एक सुलभ और संभावित रूप से कमजोर प्रचालन प्रणाली पर चल सकता है। ईएफएस उस डेटा को कूटबद्ध कर सकता है जो डेटाबेस प्रणाली का भाग नहीं है, जिसका अर्थ है कि टीडीई जैसे प्रणाली के सापेक्ष में ईएफएस के लिए कूटलेखन बहुत अधिक है,जो केवल डेटाबेस फ़ाइलों को कूटबद्ध करने में सक्षम है। जबकि ईएफएस कूटलेखन के दायरे को बढ़ाता है, यह डेटाबेस के प्रदर्शन को भी कम करता है और प्रशासन के मुद्दों का कारण बन सकता है क्योंकि प्रणाली प्रशासकों को ईएफएस का उपयोग करने के लिए ऑपरेटिंग प्रणाली प्रयोग की आवश्यकता होती है। प्रदर्शन से संबंधित समस्याओ के कारण, ईएफएस का उपयोग सामान्यतः उन डेटाबेसिंगआवेदन में उपयोग नहीं किया जाता है जिनके लिए बार-बार डेटाबेस इनपुट और आउटपुट की आवश्यकता होती है। प्रदर्शन समस्याओं को समाधान करने के लिए प्रायः सुझाव दिया जाता है कि कुछ उपयोगकर्ताओं के साथ वातावरण में ईएफएस प्रणाली का उपयोग किया जा सकता है।[15]
पूर्ण डिस्क कूटलेखन
BitLocker में ईएफएस से जुड़ी समान प्रदर्शन संबंधी चिंताएँ नहीं हैं।[15]
सममित और असममित डेटाबेस कूटलेखन
सममित डेटाबेस कूटलेखन
डेटाबेस कूटलेखन के संदर्भ में सममित कूटलेखन में डेटा पर लागू होने वाली एक निजी कुंजी शामिल होती है जिसे डेटाबेस से संग्रहीत और किया जाता है। यह निजी कुंजी डेटा को इस तरह से बदल देती है जिससे इसे पहले विकूटन किए बिना अपठनीय बना दिया जाता है।[16] सहेजे जाने पर डेटा कूटबद्ध किया जाता है, और खोले जाने पर विकूटन किया जाता है, यह देखते हुए कि उपयोगकर्ता निजी कुंजी जानता है। इस प्रकार यदि डेटा को डेटाबेस के माध्यम से साझा किया जाना है तो प्राप्त करने वाले व्यक्ति के पास डेटा को विकूटन करने और देखने के लिए प्रेषक द्वारा उपयोग की जाने वाली गुप्त कुंजी की एक प्रति होनी चाहिए।[17] सममित कूटलेखन से संबंधित एक स्पष्ट नुकसान यह है कि संवेदनशील डेटा को लीक किया जा सकता है यदि निजी कुंजी को उन व्यक्तियों तक फैलाया जाता है जिनकी डेटा तक पहुंच नहीं होनी चाहिए।[16]हालाँकि, यह देखते हुए कि कूटलेखन प्रक्रिया में केवल एक कुंजी शामिल है, आमतौर पर यह कहा जा सकता है कि गति सममित कूटलेखन का एक फायदा है।[18]
असममित डेटाबेस कूटलेखन
असममित कूटलेखन कूटलेखन विधि में दो अलग-अलग प्रकार की कुंजियों को शामिल करके सममित कूटलेखन पर फैलता है: निजी और सार्वजनिक कुंजियाँ।[19] एक सार्वजनिक कुंजी को कोई भी प्रयोग कर सकता है और एक उपयोगकर्ता के लिए अद्वितीय है जबकि एक निजी कुंजी एक गुप्त कुंजी है जो अद्वितीय है और केवल एक उपयोगकर्ता द्वारा जानी जाती है।[20] अधिकांश परिदृश्यों में सार्वजनिक कुंजी कूटलेखन कुंजी होती है जबकि निजी कुंजी डिक्रिप्शन कुंजी होती है। एक उदाहरण के रूप में, यदि व्यक्ति A असममित कूटलेखन का उपयोग करके व्यक्तिगत B को एक संदेश भेजना चाहता है, तो वह व्यक्तिगत B की सार्वजनिक कुंजी का उपयोग करके संदेश को कूटबद्ध करेगा और फिर कूटबद्ध ेड संस्करण भेजेगा। व्यक्तिगत बी तब अपनी निजी कुंजी का उपयोग करके संदेश को विकूटन करने में सक्षम होगा। व्यक्तिगत सी व्यक्तिगत ए के संदेश को विकूटन करने में सक्षम नहीं होगा, क्योंकि व्यक्तिगत सी की निजी कुंजी व्यक्तिगत बी की निजी कुंजी के समान नहीं है।[21] असममित कूटलेखन को अक्सर सममित डेटाबेस कूटलेखन की तुलना में अधिक सुरक्षित होने के रूप में वर्णित किया जाता है, यह देखते हुए कि निजी कुंजियों को साझा करने की आवश्यकता नहीं है क्योंकि दो अलग-अलग कुंजी कूटलेखन और डिक्रिप्शन प्रक्रियाओं को संभालती हैं।[22] प्रदर्शन कारणों से, डेटा को कूटबद्ध करने के बजाय कुंजी प्रबंधन में असममित कूटलेखन का उपयोग किया जाता है जो आमतौर पर सममित कूटलेखन के साथ किया जाता है।
कुंजी प्रबंधन
सममित और असममित डाटाबेस कूटलेखन अनुभाग ने बुनियादी उदाहरणों के साथ सार्वजनिक और निजी कुंजियों की अवधारणा पेश की जिसमें उपयोगकर्ता कुंजियों का आदान-प्रदान करते हैं। चाबियों का आदान-प्रदान करने का कार्य तार्किक दृष्टिकोण से अव्यावहारिक हो जाता है, जब कई अलग-अलग व्यक्तियों को एक-दूसरे के साथ संवाद करने की आवश्यकता होती है। डेटाबेस कूटलेखन में प्रणाली स्टोरेज और चाबियों के आदान-प्रदान को संभालता है। इस प्रक्रिया को कुंजी प्रबंधन कहा जाता है। यदि कूटलेखन कुंजियों को ठीक से प्रबंधित और संग्रहीत नहीं किया जाता है, तो अत्यधिक संवेदनशील डेटा लीक हो सकता है। इसके अतिरिक्त, यदि कोई कुंजी प्रबंधन प्रणाली कुंजी को हटा देती है या खो देती है, तो उक्त कुंजी के माध्यम से कूटबद्ध की गई जानकारी अनिवार्य रूप से खो जाती है। प्रमुख प्रबंधन लॉजिस्टिक्स की जटिलता भी एक ऐसा विषय है जिस पर विचार करने की आवश्यकता है। जैसे-जैसे एक फर्म द्वारा उपयोग किए जाने वाले एप्लिकेशन की संख्या बढ़ती जाती है, वैसे-वैसे कुंजियों की संख्या भी बढ़ती जाती है जिन्हें संग्रहीत और प्रबंधित करने की आवश्यकता होती है। इस प्रकार एक ऐसा तरीका स्थापित करना आवश्यक है जिसमें सभी अनुप्रयोगों की कुंजियों को एक चैनल के माध्यम से प्रबंधित किया जा सके, जिसे एंटरप्राइज़ कुंजी प्रबंधन के रूप में भी जाना जाता है।[23] उद्यम कुंजी प्रबंधन समाधान प्रौद्योगिकी उद्योग में बड़ी संख्या में आपूर्तिकर्ताओं द्वारा बेचे जाते हैं। ये प्रणाली अनिवार्य रूप से एक केंद्रीकृत कुंजी प्रबंधन समाधान प्रदान करते हैं जो प्रशासकों को एक हब के माध्यम से प्रणाली में सभी कुंजियों को प्रबंधित करने की अनुमति देता है।[24] इस प्रकार यह कहा जा सकता है कि उद्यम कुंजी प्रबंधन समाधानों की शुरूआत में डेटाबेस कूटलेखन के संदर्भ में कुंजी प्रबंधन से जुड़े जोखिमों को कम करने की क्षमता है, साथ ही साथ कई व्यक्तियों द्वारा कुंजियों को मैन्युअल रूप से साझा करने का प्रयास करने पर उत्पन्न होने वाली तार्किक परेशानियों को कम करने की क्षमता है।[23]
हैशिंग
हैशिंग का उपयोग डेटाबेस प्रणाली में पासवर्ड जैसे संवेदनशील डेटा की सुरक्षा के लिए एक विधि के रूप में किया जाता है; हालाँकि इसका उपयोग डेटाबेस रेफरेंसिंग की दक्षता में सुधार के लिए भी किया जाता है।[25] इनपुट किए गए डेटा को हैशिंग एल्गोरिथम द्वारा हेरफेर किया जाता है। हैशिंग कलन विधि इनपुट किए गए डेटा को निश्चित लंबाई की स्ट्रिंग में परिवर्तित करता है जिसे डेटाबेस में संग्रहीत किया जा सकता है। हैशिंग प्रणाली की दो महत्वपूर्ण विशेषताएं हैं जिन्हें अब रेखांकित किया जाएगा। सबसे पहले, हैश अद्वितीय और दोहराने योग्य हैं। एक उदाहरण के रूप में, एक ही हैशिंग एल्गोरिथ्म के माध्यम से बिल्ली शब्द को कई बार चलाने से हमेशा एक ही हैश निकलेगा, हालाँकि ऐसा शब्द खोजना बेहद मुश्किल है जो उसी हैश को लौटाएगा जो बिल्ली करता है।[26] दूसरे, हैशिंग कलन विधि प्रतिवर्ती नहीं हैं। ऊपर दिए गए उदाहरण से इसे वापस जोड़ने के लिए, हैशिंग एल्गोरिथम के आउटपुट को मूल इनपुट में वापस बदलना लगभग असंभव होगा, जो कि कैट था।[27] डेटाबेस कूटलेखन के संदर्भ में, हैशिंग का उपयोग अक्सर पासवर्ड प्रणाली में किया जाता है। जब कोई उपयोगकर्ता पहली बार अपना पासवर्ड बनाता है तो इसे हैशिंग एल्गोरिथम के माध्यम से चलाया जाता है और हैश के रूप में सहेजा जाता है। जब उपयोगकर्ता वेबसाइट में वापस लॉग इन करता है, तो वे जो पासवर्ड दर्ज करते हैं वह हैशिंग एल्गोरिथम के माध्यम से चलाया जाता है और फिर संग्रहीत हैश की तुलना की जाती है।[28] इस तथ्य को देखते हुए कि हैश अद्वितीय हैं, यदि दोनों हैश मेल खाते हैं तो यह कहा जाता है कि उपयोगकर्ता ने सही पासवर्ड डाला है। एक लोकप्रिय हैश फ़ंक्शन का एक उदाहरण SHA (सिक्योर हैश एल्गोरिथम) 256 है।[29]
नमकीन बनाना
डेटाबेस कूटलेखन के संदर्भ में पासवर्ड प्रबंधन के लिए हैशिंग का उपयोग करते समय उत्पन्न होने वाली एक समस्या यह है कि एक दुर्भावनापूर्ण उपयोगकर्ता संभावित रूप से हैश तालिका इंद्रधनुष तालिका में इनपुट का उपयोग कर सकता है[30] प्रणाली द्वारा उपयोग किए जाने वाले विशिष्ट हैशिंग एल्गोरिथम के लिए। यह प्रभावी रूप से व्यक्ति को हैश को विकूटन करने की अनुमति देगा और इस प्रकार संग्रहीत पासवर्ड तक पहुंच प्राप्त करेगा।[31] इस समस्या का समाधान हैश को 'नमक' करना है। साल्टिंग एक डेटाबेस में केवल पासवर्ड से अधिक कूटबद्ध करने की प्रक्रिया है। हैश किए जाने वाले स्ट्रिंग में जितनी अधिक जानकारी जोड़ी जाती है, इंद्रधनुष तालिकाओं को समेटना उतना ही कठिन हो जाता है। उदाहरण के तौर पर, एक प्रणाली उपयोगकर्ता के ईमेल और पासवर्ड को एक ही हैश में जोड़ सकता है। हैश की जटिलता में इस वृद्धि का अर्थ है कि यह कहीं अधिक कठिन है और इस प्रकार इंद्रधनुष तालिकाओं के उत्पन्न होने की संभावना कम है। यह स्वाभाविक रूप से तात्पर्य है कि संवेदनशील डेटा हानि का खतरा नमकीन हैश के माध्यम से कम किया जाता है।[32]
काली मिर्च
कुछ प्रणालियाँ अपने हैशिंग प्रणाली में नमक के अलावा काली मिर्च भी शामिल करती हैं। काली मिर्च प्रणालियाँ विवादास्पद हैं, हालाँकि अभी भी उनके उपयोग की व्याख्या करना आवश्यक है।[30]एक काली मिर्च एक मान है जिसे हैश किए गए पासवर्ड में जोड़ा जाता है जिसे नमकीन किया गया है।[33] यह काली मिर्च अक्सर एक वेबसाइट या सेवा के लिए अद्वितीय होती है, और यह ध्यान रखना महत्वपूर्ण है कि एक ही काली मिर्च आमतौर पर डेटाबेस में सहेजे गए सभी पासवर्डों में जोड़ी जाती है।[34] सिद्धांत रूप में पासवर्ड हैशिंग प्रणाली में मिर्च को शामिल करने से इंद्रधनुष (इनपुट: हैश) तालिकाओं के जोखिम को कम करने की क्षमता है, काली मिर्च की प्रणाली-स्तरीय विशिष्टता को देखते हुए, हालांकि काली मिर्च कार्यान्वयन के वास्तविक विश्व लाभ अत्यधिक विवादित हैं।[33]
एप्लिकेशन-स्तर कूटलेखन
एप्लिकेशन-स्तरीय कूटलेखन में, डेटा को कूटबद्ध करने की प्रक्रिया उस एप्लिकेशन द्वारा पूरी की जाती है जिसका उपयोग कूटबद्ध किए जाने वाले डेटा को उत्पन्न या संशोधित करने के लिए किया गया है। अनिवार्य रूप से इसका मतलब है कि डेटाबेस में लिखे जाने से पहले डेटा कूटबद्ध किया गया है। कूटलेखन के लिए यह अद्वितीय दृष्टिकोण कूटलेखन प्रक्रिया को प्रत्येक उपयोगकर्ता के लिए उस जानकारी (जैसे एंटाइटेलमेंट या भूमिका) के आधार पर तैयार करने की अनुमति देता है जिसे एप्लिकेशन अपने उपयोगकर्ताओं के बारे में जानता है।[34]
यूजीन पिलियानकेविच के अनुसार, परिधि-कम और अधिक उजागर क्लाउड प्रणाली की ओर एक सामान्य बहाव के साथ, अनुप्रयोग-स्तर कूटलेखन बढ़ी हुई सुरक्षा आवश्यकताओं वाली प्रणालियों के लिए एक अच्छा अभ्यास बन रहा है।[35]
एप्लिकेशन-स्तर कूटलेखन के लाभ
एप्लिकेशन-स्तरीय कूटलेखन के सबसे महत्वपूर्ण लाभों में से एक यह तथ्य है कि एप्लिकेशन-स्तरीय कूटलेखन में कंपनी द्वारा उपयोग की जाने वाली कूटलेखन प्रक्रिया को सरल बनाने की क्षमता है। यदि कोई एप्लिकेशन उस डेटा को कूटबद्ध करता है जिसे वह डेटाबेस से लिखता/संशोधित करता है तो एक द्वितीयक कूटलेखन उपकरण को प्रणाली में एकीकृत करने की आवश्यकता नहीं होगी। दूसरा मुख्य लाभ चोरी के व्यापक विषय से संबंधित है। यह देखते हुए कि डेटा को सर्वर पर लिखे जाने से पहले कूटबद्ध किया गया है, एक हैकर को संवेदनशील डेटा को विकूटन करने के लिए डेटाबेस की सामग्री के साथ-साथ डेटाबेस की सामग्री को कूटबद्ध और विकूटन करने के लिए उपयोग किए जाने वाले एप्लिकेशन तक पहुंच की आवश्यकता होगी।[36]
एप्लिकेशन-स्तर कूटलेखन के नुकसान
एप्लिकेशन-स्तरीय कूटलेखन का पहला महत्वपूर्ण नुकसान यह है कि किसी फर्म द्वारा उपयोग किए जाने वाले एप्लिकेशन को स्वयं डेटा कूटबद्ध करने के लिए संशोधित करने की आवश्यकता होगी। इसमें महत्वपूर्ण मात्रा में समय और अन्य संसाधनों का उपभोग करने की क्षमता है। अवसर लागत फर्मों की प्रकृति को देखते हुए यह विश्वास नहीं हो सकता है कि एप्लिकेशन-स्तरीय कूटलेखन निवेश के लायक है। इसके अलावा, एप्लिकेशन-स्तरीय कूटलेखन का डेटाबेस प्रदर्शन पर सीमित प्रभाव पड़ सकता है। यदि किसी डेटाबेस के सभी डेटा को कई अलग-अलग अनुप्रयोगों द्वारा कूटबद्ध किया गया है, तो डेटाबेस पर डेटा को इंडेक्स करना या खोजना असंभव हो जाता है। एक मूल उदाहरण के रूप में इसे वास्तविकता में धरातल पर उतारने के लिए: 30 भाषाओं में लिखी गई पुस्तक के लिए किसी एक भाषा में शब्दावली का निर्माण करना असंभव होगा। अंत में कुंजी प्रबंधन की जटिलता बढ़ जाती है, क्योंकि कई अलग-अलग अनुप्रयोगों को डेटा को कूटबद्ध करने और इसे डेटाबेस में लिखने के लिए अधिकार और पहुंच की आवश्यकता होती है।[36]
डेटाबेस कूटलेखन के जोखिम
डेटाबेस कूटलेखन के विषय पर चर्चा करते समय प्रक्रिया में शामिल जोखिमों से अवगत होना अनिवार्य है। जोखिमों का पहला समूह प्रमुख प्रबंधन से संबंधित है। यदि निजी कुंजियों को एक पृथक प्रणाली में प्रबंधित नहीं किया जाता है, तो दुर्भावनापूर्ण इरादे वाले प्रणाली प्रशासकों के पास उन कुंजियों का उपयोग करके संवेदनशील डेटा को विकूटन करने की क्षमता हो सकती है, जिन तक उनकी पहुंच है। चाबियों का मूलभूत सिद्धांत संभावित विनाशकारी जोखिम को भी जन्म देता है: यदि कुंजियां खो जाती हैं तो कूटबद्ध ेड डेटा भी अनिवार्य रूप से खो जाता है, क्योंकि चाबियों के बिना डिक्रिप्शन लगभग असंभव है।[37]
संदर्भ
- ↑ "What is Database Encryption and Decryption? - Definition from Techopedia". Techopedia.com. Retrieved 2015-11-04.
- ↑ 2.0 2.1 2.2 "Azure SQL डेटाबेस के साथ पारदर्शी डेटा एन्क्रिप्शन". msdn.microsoft.com. Retrieved 2015-11-04.
- ↑ "SQL सर्वर - स्क्रिप्ट के साथ SQL सर्वर एन्क्रिप्शन और सममित कुंजी एन्क्रिप्शन ट्यूटोरियल का परिचय". Journey to SQL Authority with Pinal Dave. April 28, 2009. Retrieved 2015-10-25.
- ↑ "पारदर्शी डेटा एन्क्रिप्शन (TDE)". msdn.microsoft.com. Retrieved 2015-10-25.
- ↑ "What is data at rest? - Definition from WhatIs.com". SearchStorage. Retrieved 2015-10-25.
- ↑ "हार्डवेयर आधारित डेटा भंडारण सुरक्षा के लिए एन्क्रिप्शन तकनीक और उत्पाद". ComputerWeekly. Retrieved 2015-10-31.
- ↑ "भंडारण एन्क्रिप्शन समाधान". www.thales-esecurity.com. Retrieved 2015-10-25.
- ↑ "Transparent Data Encryption (TDE) in SQL Server — DatabaseJournal.com". www.databasejournal.com. Retrieved 2015-11-02.
- ↑ "पारदर्शी डेटा एन्क्रिप्शन का उपयोग करना". sqlmag.com. Archived from the original on October 14, 2017. Retrieved 2015-11-02.
- ↑ "डेटाबेस अवधारणाओं पर एक ट्यूटोरियल, MySQL का उपयोग करके SQL।". www.atlasindia.com. Retrieved 2015-11-04.
- ↑ "SQL सर्वर एन्क्रिप्शन विकल्प". sqlmag.com. Archived from the original on October 27, 2017. Retrieved 2015-11-02.
- ↑ "एन्क्रिप्टेड आउटसोर्स डेटा का अनुकूलित और नियंत्रित प्रावधान" (PDF). www.fkerschbaum.org.
- ↑ Suciu, Dan (2012). "Technical Perspective: SQL on an Encrypted Database". Communications of the ACM. doi:10.1145/2330667.2330690. S2CID 33705485.
- ↑ 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.0 15.1 "Database Encryption in SQL Server 2008 Enterprise Edition". technet.microsoft.com. Retrieved 2015-11-03.
- ↑ 16.0 16.1 "सममित और असममित एन्क्रिप्शन का विवरण". support.microsoft.com. Retrieved 2015-10-25.
- ↑ "एन्क्रिप्शन कैसे काम करता है". HowStuffWorks. April 6, 2001. Retrieved 2015-10-25.
- ↑ "Asymmetric vs. Symmetric – Hacking with PHP - Practical PHP". www.hackingwithphp.com. Retrieved 2015-11-03.
- ↑ "एन्क्रिप्शन कैसे काम करता है". HowStuffWorks. April 6, 2001. Retrieved 2015-11-01.
- ↑ 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.
- ↑ "What is asymmetric cryptography and how do I use it?". Two Factor Authenticity. Retrieved 2015-11-01.
- ↑ "असममित और सममित क्रिप्टोसिस्टम के लाभ और नुकसान" (PDF). University of Babylon. Retrieved 2015-11-03.
- ↑ 23.0 23.1 "एंटरप्राइज़ डेटा संग्रहण को सुरक्षित करने के लिए एन्क्रिप्शन कुंजी प्रबंधन महत्वपूर्ण है". ComputerWeekly. Retrieved 2015-11-02.
- ↑ "What is Enterprise Key Management?". web.townsendsecurity.com. Retrieved 2015-11-02.
- ↑ "What is hashing? - Definition from WhatIs.com". SearchSQLServer. Retrieved 2015-11-01.
- ↑ "कैसे डेटा एन्क्रिप्शन सॉफ़्टवेयर sha1 हैशिंग एल्गोरिथ्म का उपयोग करके एक तरफ़ा हैश फ़ाइलें बनाता है।". www.metamorphosite.com. Retrieved 2015-11-01.
- ↑ "Understanding Encryption – Symmetric, Asymmetric, & Hashing". Atomic Spin. November 20, 2014. Retrieved 2015-11-01.
- ↑ "PHP: Password Hashing - Manual". php.net. Retrieved 2015-11-01.
- ↑ "JavaScript Implementation of SHA-256 Cryptographic Hash Algorithm | Movable Type Scripts". www.movable-type.co.uk. Retrieved 2015-11-03.
- ↑ 30.0 30.1 "नमक और काली मिर्च - डेटाबेस पासवर्ड कैसे एन्क्रिप्ट करें". blog.kablamo.org. Retrieved 2015-11-01.
- ↑ "PHP: Password Hashing - Manual". php.net. Retrieved 2015-11-01.
- ↑ "आपको हमेशा अपने हैश में नमक क्यों डालना चाहिए - ब्राइटन में वेब विकास - अतिरिक्त बाइट्स". Added Bytes. Retrieved 2015-11-01.
- ↑ 33.0 33.1 "ircmaxell's blog: Properly Salting Passwords, The Case Against Pepper". blog.ircmaxell.com. Retrieved 2015-11-02.
- ↑ 34.0 34.1 "थेल्स ई-सिक्योरिटी से एप्लिकेशन एन्क्रिप्शन". www.thales-esecurity.com. Retrieved 2015-10-25.
- ↑ Pilyankevich, Eugene (December 18, 2020). "सॉफ्टवेयर आर्किटेक्ट्स के लिए एप्लीकेशन लेवल एन्क्रिप्शन". InfoQ.
{{cite web}}
: CS1 maint: url-status (link) - ↑ 36.0 36.1 Baccam, Tanya (April 2010). "Transparent Data Encryption: New Technologies and Best Practices for Database Encryption". Sans.org. SANS Institute. Retrieved 25 October 2015.
- ↑ "Database Encryption: Challenges, Risks, and Solutions". www.thales-esecurity.com. Retrieved 2015-10-25.