2012-06-15 11 views
7

फिलहाल मैं एक ऐसी परियोजना पर काम कर रहा हूं जो कुछ संवेदनशील व्यक्तिगत जानकारी को संभालेगा, हालांकि यह बैककाउंट नंबर नहीं है, फिर भी यह संवेदनशील व्यक्तिगत जानकारी है और मैं एन्क्रिप्ट करने और इस जानकारी को एक mysql के अंदर स्टोर करने के लिए कर सकता हूं यथासंभव सुरक्षित रूप से। तो अब मैं कुछ सुरक्षा उपायों की तलाश कर रहा हूं जो इस संवेदनशील जानकारी से निपट सकते हैं।PHP मैक्रिप्ट, वास्तव में यह कितना सुरक्षित है?

तारों और टेक्स्ट ब्लॉक को एन्क्रिप्ट/डिक्रिप्ट करने का एक आसान तरीका, मैक्रिप्ट का उपयोग करेगा। लेकिन जब मैं यहां स्टैक ओवरफ्लो पर मैक्रिप्ट पर खोज करता हूं, मैंने देखा कि बहुत से लोग बताते हैं कि मैक्रिप्ट बाद में सुरक्षित नहीं है।

तो अब मैं सोच रहा हूं, वास्तव में यह कितना सुरक्षित है? क्या कुंजी को बहुत से हैकिंग कौशल लेते हैं, चलिए विशेषज्ञ कौशल कहते हैं, संग्रहीत जानकारी को क्रैक और डिक्रिप्ट करने के लिए यदि कुंजी सुरक्षित रूप से संग्रहीत की जाती है? क्या मुझे डरने की ज़रूरत है कि छोटे कौशल वाले हैकर एन्क्रिप्टेड जानकारी को डिक्रिप्ट कर सकते हैं जिसे मैं mysql सर्वर के अंदर स्टोर करने जा रहा हूं? तो मैक्रिप्ट के साथ एन्क्रिप्ट की गई एन्क्रिप्टेड जानकारी को क्रैक करने में क्या कौशल लगता है?

यदि मैक्रिप्ट पर्याप्त उपयोग करने योग्य नहीं है, तो अच्छे विकल्प क्या हैं जो gnupg एक्सटेंशन का उपयोग करने के रूप में जटिल नहीं हैं?

+4

ध्यान रखें प्रौद्योगिकी समीकरण ... आपके आवेदन भी सुरक्षित होनी चाहिए का केवल एक हिस्सा है। विशेष रूप से तकनीक पर ध्यान केंद्रित करने से आप मान सकते हैं कि आप जितने सुरक्षित हैं उससे अधिक सुरक्षित हैं। –

+1

* "मैंने देखा है कि कई लोग बताते हैं कि मैक्रिप्ट बाद में सुरक्षित नहीं है।" * - वह सुरक्षित नहीं है? क्या यह तर्क के बिना है? – hakre

+1

मैक्रिप्ट स्वयं एक-क्लिक समाधान नहीं है, यह कई अलग-अलग तरीकों से कई अलग-अलग एल्गोरिदम का समर्थन करता है। यह वास्तविक संख्याओं को कुचलने वाला एक छोटा कॉग है, जिसके आस-पास आपको अपनी सुरक्षा प्रणाली बनाना है। ज्यादातर समय असुरक्षा माइक्रिप्ट का उपयोग करके डेवलपर्स से अनुपयुक्त होती है क्योंकि वे बड़ी तस्वीर को समझ नहीं पाते हैं। – deceze

उत्तर

16

कुछ छोटी सी समस्याओं से बचने के लिए आप एक छोटी सी मार्गदर्शिका का पालन कर सकते हैं और कुछ सिफारिशें लागू कर सकते हैं।

  • दो अलग-अलग संदेशों के लिए एक ही एन्क्रिप्शन कुंजी और प्रारंभिक वेक्टर (IV) का पुन: उपयोग न करें।

ऐसा करने से सादे-पाठ के प्रदर्शन का जोखिम होगा एक विरोधी एक ही कुंजी का उपयोग पारगमन के दौरान दो या अधिक संदेशों को बीच में रोकने में सफल हुआ और चतुर्थ यदि।

  • ईसीबी मोड का उपयोग न करें; ओएफबी और सीटीआर मोड कुछ हद तक बेहतर हैं, लेकिन सीबीसी या सीएफबी मोड का उपयोग करने की सिफारिश की जाती है।

मुख्य कारण ईसीबी का उपयोग नहीं करने के लिए क्योंकि इस विधा डुप्लिकेट सादे-पाठ ब्लॉक जो डेटा के अपने एन्कोडेड धारा को कमजोर कर सकते हैं के बारे में जानकारी लीक है।

ओएफबी और सीटीआर बेहतर हैं, लेकिन वे एक ही IV + कुंजी संयोजन का उपयोग करने के पहले से अधिक सुरक्षा समस्या से पीड़ित हैं।

सीएफबी और सीबीसी IV + कुंजी पुन: उपयोग के खिलाफ सबसे लचीला हैं, लेकिन समान सामान्य उपसर्ग के साथ अलग संदेश उपसर्ग की लंबाई को समाप्त कर देंगे। इसके अलावा, सीएफबी पहले गैर-समान सादा-पाठ ब्लॉक के अंतर को दूर करता है।

  • सुनिश्चित करें कि आप एक मजबूत एन्क्रिप्शन कुंजी

    यह प्रिंट योग्य ASCII से चुना नहीं किया जाना चाहिए किया हुआ है (जैसे नहीं "मेरी सुपर मजबूत गुप्त कुंजी"); पीबीकेडीएफ 2 को प्राथमिकता दी जाएगी (जल्द ही इसे तब तक समर्थित किया जाएगा जब तक कि Google इसे नहीं)। यह स्पष्ट होना चाहिए कि इस कुंजी को सुरक्षित रखा जाना चाहिए; यदि आप इसे खो देते हैं, अलविदा डेटा।

  • प्रारंभिक वेक्टर उत्पन्न करने के लिए एक अच्छा एन्ट्रॉपी स्रोत का उपयोग करें।

    मैक्रिप्ट के पास mcrypt_create_iv() पर कॉल करते समय MCRYPT_DEV_RANDOM या MCRYPT_DEV_URANDOM का उपयोग करने का विकल्प होता है।

आशा यह आप में मदद मिलेगी :)

+0

आपको बहुत धन्यवाद जैक! – HermesTrismegistus

संबंधित मुद्दे