2010-03-05 12 views
6

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

उत्तर

13

"क्लासिक" ज़िप फ़ाइलों के लिए एन्क्रिप्शन कमजोर माना जाता है। ज्ञात तरीकों से यह ब्रेक करने योग्य, जल्दी है। देखें: "A Known Plaintext Attack on the PKZIP Stream Cipher" मूल पेपर के लिए, बायहम और कोचर द्वारा, 1 99 4 से। हाँ, 16 साल पहले।

अभी हाल ही में किए गए हैं अन्य कारनामों का वर्णन किया, उदाहरण के लिए, कागज Yet another Plaintext Attack on ZIP's Encryption Scheme (WinZIP) का कहना है कि एक क्लासिक जिप 3 प्रविष्टियों के साथ एन्क्रिप्टेड फ़ाइल, और WinZip द्वारा बनाई गई, एक "पेंटियम" पर 2 घंटे में फटा जा सकता है। यह यादृच्छिक संख्या जनरेटर में वर्तमान में WinZip v9.0 उपकरण में कमजोरी के शोषण पर आधारित था। मुझे यकीन है कि यह वर्तमान प्रोसेसर पर अब बहुत तेज हो जाएगा, लेकिन साथ ही, मुझे यकीन है कि WinZip, अब v12.0 पर, इस समस्या को उनके यादृच्छिक संख्या जनरेटर में ठीक कर दिया है। फिर भी, विशिष्ट-से-WinZip-v9 शोषण के बिना भी, क्लासिक ज़िप एन्क्रिप्शन कमजोर रहता है।

इस कमजोर ज़िप एन्क्रिप्शन को क्रैक किया गया है जिसे "ज़िप 2.0 एन्क्रिप्शन" या "पीकेजेआईपी एन्क्रिप्शन" भी कहा जाता है।

कई आधुनिक ज़िप टूलकिट ज़िप प्रविष्टियों के एईएस एन्क्रिप्शन का भी समर्थन करते हैं। इसे मजबूत एन्क्रिप्शन माना जाता है, और यह काफी सुरक्षित है (** नोट देखें)। WinZip, XCeed, और DotNetZip ऐसे तीन टूल हैं जो इस एन्क्रिप्शन स्तर के साथ ज़िप फ़ाइलों को पढ़ने और लिखने का समर्थन करते हैं। तीनों में से, डॉटनेटजिप एकमात्र मुफ्त विकल्प है।

आपने लाइब्रेरी का उल्लेख नहीं किया है जिसका उपयोग आप ज़िप फ़ाइल को प्रोग्रामेटिक रूप से करने के लिए करते हैं। आप DotNetZip उपयोग करते हैं, सी # में एक एईएस एन्क्रिप्टेड ज़िप फ़ाइल उत्पादन इस के रूप में के रूप में आसान है:

using (var zip = new ZipFile()) 
{ 
    zip.AddFile("MySensitiveFile.doc"); 
    zip.Encryption = EncryptionAlgorithm.WinZipAes128; 
    zip.Password = "Very.Secret!"; 
    zip.Save("MyEncryptedArchive.zip"); 
} 

** ध्यान दें: योशी एक कागज Attacking and Repairing the WinZip Encryption Scheme हकदार, WinZip के एईएस एन्क्रिप्शन के कारनामे का वर्णन प्रकाशित किया है यह तर्क देने के लिए कि WinZip की एईएस एन्क्रिप्शन सुरक्षित नहीं है।हालांकि, वह शोषण का वर्णन सामाजिक इंजीनियरिंग या पिछले समझौते या दोनों पर निर्भर करता है। उदाहरण के लिए, पेपर में वर्णित प्राथमिक शोषण में एक हमलावर एन्क्रिप्टेड ज़िप फ़ाइल को अवरुद्ध करता है, इसे संशोधित करता है, संशोधित प्रति को अपने इच्छित प्राप्तकर्ता को भेजता है, प्राप्तकर्ता को को डिक्रिप्ट करने का प्रयास करने के लिए और उसके बाद उस एन्क्रिप्शन का परिणाम वापस भेजता है हमलावर, जो मूल फ़ाइल को डिक्रिप्ट कर सकता है। इस तथाकथित "शोषण" में विश्वास के कई छलांग शामिल हैं, दोनों दिशाओं में अवरुद्ध संचार के पिछले समझौते पर ढेर। ज़िप क्लासिक एन्क्रिप्शन के शोषण के आधार पर, किसी ने WinZip एईएस के किसी भी संरचनात्मक शोषण का वर्णन नहीं किया है।

+0

मैं एक ही मूल स्थिति ओपी है और हम सुनिश्चित करें कि उपयोगकर्ता जिप उपयोग नहीं कर सकते होना चाहते हैं मशीन पर फाइलें भले ही सॉफ्टवेयर उनकी मशीन पर चलता है। इस मामले में, क्या वे "बहुत सिक्रेट" पाने के लिए निष्कर्ष निकालने योग्य नहीं हो सकते हैं! पारण शब्द? वर्तमान में हम "क्लासिक" एन्क्रिप्शन के साथ केवल पासवर्ड सुरक्षित ज़िपिंग कर रहे हैं और डॉटनेटजिप का उपयोग शुरू करना चाहते हैं। – CincinnatiProgrammer

+1

@PaulBrown - अच्छी तरह से हाँ, यह जोखिम है यदि आप उस प्रोग्राम में पासवर्ड को हार्ड-कोड करते हैं जो ज़िप उत्पन्न करता है। आम तौर पर यह कोई मुद्दा नहीं है। ठेठ डिज़ाइन में, ज़िप-निर्माण ऐप उपयोगकर्ता को पासवर्ड के लिए पूछेगा, केवल ज़िप के निर्माण के दौरान उस पासवर्ड को नियोजित करेगा, और उसके बाद पासवर्ड को बाद में छोड़ दें। उस स्थिति में, exe decompiling पासवर्ड पुनर्प्राप्त नहीं करेगा। यदि आप पासवर्ड के लिए उपयोगकर्ता से नहीं पूछ सकते हैं, तो आप उसे एक और समान चरण के साथ प्रतिस्थापित कर सकते हैं, उदाहरण के लिए एक पासवर्ड के लिए आरईएसटी कॉलआउट के माध्यम से रिमोट पासवर्ड जनरेटर "पूछें" और उसका उपयोग करें। – Cheeso

+0

"हम यह सुनिश्चित करना चाहते हैं कि उपयोगकर्ता मशीन पर ज़िप फ़ाइल तक नहीं पहुंच सकता है, भले ही सॉफ़्टवेयर उनकी मशीन पर चलता है" <- यह असंभव है। जब तक सॉफ़्टवेयर में फ़ाइल को डिक्रिप्ट करने के लिए आवश्यक जानकारी होती है, तब तक उपयोगकर्ता फ़ाइल को डिक्रिप्ट कर सकता है। – Antimony

0

सुरक्षित स्तर क्या है? वहाँ ऐसे प्रोग्राम हैं जो ज़िप फ़ाइल पर पासवर्ड एन्क्रिप्शन को बहुत तेज़ी से क्रैक कर सकते हैं ताकि अगर इसे किसी भी तरह का प्रयास करना पड़े, तो नहीं।

यदि यह सुनिश्चित करना है कि एक पासवर्ड के साथ किसी खोल सकते हैं और दूर आकस्मिक prying आँखों रखने के लिए, तो शायद का मामला है।

आप कुछ आधे रास्ते के लिए यथोचित सुरक्षा मैं डेटा को ज़िप करने और फिर GPG तरह उचित एन्क्रिप्शन सॉफ्टवेयर के माध्यम से यह चल रहा है इस पर गौर करता हूँ चाहते हैं।

0

आप अपने आप से सवाल की एक जोड़ी से पूछना चाहिए।

  • आप कहाँ ज़िप फ़ाइलों भंडारण कर रहे हैं?
  • ज़िप फ़ाइल से कौन सी अनुमतियां जुड़ी हैं?
  • पासवर्ड एक मजबूत पासवर्ड है?

आमतौर पर, यह है कि webroot की बाहर, सीधा नहीं पहुंचा एक फ़ोल्डर में उपयोगकर्ता डेटा स्टोर करने के लिए एक अच्छी आदत है। पासवर्ड जनरेटर भी उपलब्ध हैं और इनका उपयोग किया जाना चाहिए।

2

उपयोग 7zip, कि बेहतर पासवर्ड सुरक्षा है - और यह भी 'एन्क्रिप्ट फ़ाइल नाम' विकल्प टिकटिक

+0

क्या फ़ाइल नाम एन्क्रिप्टेड नहीं होने पर यह संग्रह को कमजोर करता है? (सिवाय इसके कि आप नाम देख सकते हैं) – ItsmeJulian

+0

@ जुलिअनमेलेडे दृश्यमान फ़ाइल नाम सुराग दे सकते हैं जो फाइलों पर एक शब्दकोश शैली हमले की सहायता कर सकता है – SteelBytes

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