डेटाबेस में संवेदनशील डेटा को अलग कैसे करें (MySql)


9

मुझे एक डेटाबेस डिजाइन करने की आवश्यकता है जिसमें उपयोगकर्ताओं की व्यक्तिगत बीमारी के बारे में जानकारी होगी।

डीबी की तालिकाओं के कॉलम को लागू करने के लिए दृष्टिकोण क्या हो सकता है: सूचना को एन्क्रिप्ट करें, दो अलग-अलग डीबी के भीतर अलग-अलग डेटा, एक संवेदनशील डेटा के लिए और दूसरा संवेदनशील डेटा या दोनों या किसी अन्य दृष्टिकोण के लिए?


1
आपको डेटा से बचाने की आवश्यकता किसे है?
ओड

अच्छा सवाल लेकिन, शायद यह dba.stackexchange.com/questions पर माइग्रेट किया जाना चाहिए ?
FrustratedWithFormsDesigner

@Oba डेटाबेस के उपयोगकर्ता की बीमारी के बारे में जानकारी देखने में सक्षम नहीं होना चाहिए।
कार्लो

2
लेकिन किसे नहीं करना चाहिए ?
Oded

1
आप इसे एप्लिकेशन साइड पर एन्क्रिप्ट कर सकते हैं, लेकिन एप्लिकेशन के पास कुंजी होगी। क्या यह एक वेब एप्लिकेशन है जो डेटा को "इनपुट" कर रहा है?
ओमिनस

जवाबों:


5

आप अपने वेब एप्लिकेशन में संग्रहीत कुंजी के साथ डेटा को एन्क्रिप्ट कर सकते हैं ताकि डेटा को एन्क्रिप्टेड रूप में db से लिखा / पढ़ा जाए। हालाँकि, कोड तक पहुंच वाले किसी व्यक्ति के पास कुंजी की पहुंच होगी और कुंजी के साथ अनएन्क्रिप्टेड डेटा। यह आवश्यकता को हल करता है

dba डेटाबेस के उपयोगकर्ता की बीमारी के बारे में जानकारी देखने में सक्षम नहीं होना चाहिए।

जहाँ तक अलग-अलग डेटाबेस का उपयोग करने की बात है, मुझे नहीं लगता कि इसकी आवश्यकता है। आप डेटा को एन्क्रिप्ट कर रहे हैं और उपयोगकर्ता द्वारा डेटाबेस की अनुमति का उपयोग कर रहे हैं, तालिका (यदि यह आवश्यक है) पर्याप्त से अधिक होगी। मुझे लगता है कि अतिरिक्त डीबी जटिलता की एक परत को और अधिक बिना जोड़ देता है। जब तक एक अलग स्थान पर नहीं है, तब तक यह एक एकल डेटाबेस प्रणाली से एक छोटा सुधार हो सकता है।


1
अलग-अलग डेटा बेस के लिए एक और कारण एक कानूनी या संविदात्मक आवश्यकता है कि संवेदनशील डेटा को एक अधिकार क्षेत्र के भीतर संग्रहीत किया जाना चाहिए (क्लाउड पर नहीं)।
गिल्बर्ट ले ब्लैंक

2

ओमिनस का उत्तर आपके पहले प्रश्न को संबोधित करता है। दूसरे प्रश्न के उत्तर में आपके आवेदन के बारे में अधिक जानकारी की आवश्यकता हो सकती है।

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

कानूनी या संविदात्मक आवश्यकताओं के अलावा, कुछ अन्य कारण जिनके बारे में मैं सोच सकता हूं कि अलग-अलग डेटाबेस हैं: ग्राहक की सुरक्षा में वृद्धि की बिक्री को आसान बनाना, एन्क्रिप्शन के टूटने की चिंता, और चिंता करना (की) कुंजी (ओं) से समझौता किया जा रहा है।

ब्रिड्मस के उत्तर के हिस्से के बारे में जहां वह कहता है कि "आपको केवल चिकित्सा जानकारी से अधिक एन्क्रिप्ट करने की आवश्यकता है": यह केवल तभी रखता है जब डेटाबेस में सभी की चिकित्सा स्थिति होती है। (मुझे लगता है कि यह मामला है)।

नोट: इस उत्तर के भाग टिप्पणी के रूप में बेहतर होंगे, लेकिन मुझे अभी तक यहाँ टिप्पणियाँ पोस्ट करने के लिए पर्याप्त प्रतिनिधि नहीं हैं।


1

इस तरह के एप्लिकेशन के लिए आपको यह सोचने की जरूरत है कि डेटा को एक्सेस करने की अनुमति किसे दी जानी चाहिए। चिकित्सा जानकारी के साथ मुझे लगता है कि यह उस उपयोगकर्ता के लिए प्रतिबंधित है जो इसे दर्ज करते हैं और किसी ने भी इसे देखने की अनुमति दी है।

डीबीए को डेटा को देखने से रोकने के लिए आपको एक कोड का उपयोग करके इसे एन्क्रिप्ट करना होगा जिसे डीबीए तक पहुंच नहीं है।

आपको इस तरह से जानकारी को एन्क्रिप्ट करने की भी आवश्यकता है कि एप्लिकेशन प्रोग्रामर इसे एक्सेस नहीं कर सकता है। यदि कोई प्रोग्रामर किसी उपयोगकर्ता के रूप में लॉग इन कर सकता है, तो DBA से जानकारी को एन्क्रिप्ट करने का कोई मतलब नहीं है।

आप सभी डेटा को एक ही कोड के साथ एन्क्रिप्ट नहीं करना चाहते हैं। सॉफ्टवेयर में एक बग हो सकता है जो एक उपयोगकर्ता को दूसरे की जानकारी दिखाता है। इसलिए उस उपयोगकर्ता के लिए विशिष्ट कोड का उपयोग करके प्रत्येक उपयोगकर्ता डेटा को एन्क्रिप्ट करना सबसे अच्छा होगा।

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

  • नाम
  • जन्म की तारीख
  • ईमेल पता
  • लिंग
  • पता
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.