कारख़ाना · फ़ाइल का फ़िंगरप्रिंट
इसे कैसे इस्तेमाल करें : फ़ाइल का फ़िंगरप्रिंट
कोई भी फ़ाइल डालिए: उसका फ़िंगरप्रिंट सामने आ जाता है। डाउनलोड वाली साइट जो फ़िंगरप्रिंट बताती है उसे चिपकाइए, और औज़ार बता देता है कि दोनों एक हैं या नहीं, अक्षर दर अक्षर।
फ़िंगरप्रिंट चौंसठ अक्षरों की वह लड़ी है जो किसी फ़ाइल के अंदर के माल से निकाली जाती है। फ़ाइल में एक भी बाइट बदल दीजिए, और फ़िंगरप्रिंट सिरे से बदल जाता है। इसी से एक साफ़ सवाल का जवाब मिलता है: जो फ़ाइल मुझे मिली, क्या वह ठीक वही है जो मुझे भेजी गई थी?
गंभीर प्रोजेक्ट अपनी फ़ाइलों का फ़िंगरप्रिंट डाउनलोड लिंक के बगल में ही छापते हैं, ठीक इसीलिए कि आप जाँच सकें। रास्ते में बिगड़ी फ़ाइल, बीच में टूटा डाउनलोड, कोई मिरर जिसने पुराना संस्करण परोस दिया, या किसी के हाथों बदल दी गई फ़ाइल: चारों फ़िंगरप्रिंट में पकड़ में आ जाती हैं।
फ़िंगरप्रिंट जो नहीं कहता: वह यह नहीं कहता कि फ़ाइल भली है। अगर आप फ़िंगरप्रिंट उसी पन्ने से लेते हैं जहाँ से फ़ाइल ली, और वह पन्ना ही किसी ने बदल दिया हो, तो दोनों मिल जाएँगे और आपने कुछ जाँचा ही नहीं। फ़िंगरप्रिंट रास्ते की ईमानदारी साबित करता है, स्रोत की नहीं।
इसे कैसे इस्तेमाल करें
- अपनी फ़ाइल डालने वाली जगह पर छोड़ें, या उसे चुन लें। किसी भी किस्म की फ़ाइल चलेगी: औज़ार बाइट पढ़ता है, अंदर के माल को समझने की कोशिश नहीं करता।
- SHA-256 फ़िंगरप्रिंट फ़ौरन सामने आ जाता है। बटन उसे क्लिपबोर्ड में कॉपी कर देता है।
- जाँचने के लिए: आपके स्रोत ने जो फ़िंगरप्रिंट बताया है उसे ख़ाने में चिपकाएँ, और “मिलाएँ” पर क्लिक करें। औज़ार बता देता है कि दोनों एक हैं या नहीं, और कहाँ से अलग होते हैं यह भी दिखा देता है।
चलने वाले फ़ॉर्मैट
यह औज़ार आपकी फ़ाइल के अंदर झाँकता ही नहीं: वह उसके बाइट पढ़ता है और उनका हैश निकालता है। इसलिए फ़ॉर्मैट की कोई सूची है ही नहीं, और फ़ॉर्मैट की वजह से यहाँ कुछ बिगड़ भी नहीं सकता।
कोई भी फ़ाइल
कोई तस्वीर, कोई आर्काइव, कोई इंस्टॉलर, कोई दस्तावेज़, कोई वीडियो, या ऐसी फ़ाइल जिसे आप पहचानते तक नहीं: सबका हैश एक ही तरह निकलता है। जो चार फ़ंक्शन दिए गए हैं वे ब्राउज़र ख़ुद देता है, बिना किसी लाइब्रेरी के।
इसकी सीमाएँ
प्रति फ़ाइल 500 MB
ब्राउज़र थोड़ा-थोड़ा करके हैश निकालने की कोई सुविधा देता ही नहीं: उसे पूरी फ़ाइल एक ही बार में, मेमोरी में, एक ही लगातार टुकड़े के रूप में सौंपनी पड़ती है। यह वेब के एन्क्रिप्शन इंटरफ़ेस की सीमा है, जाँची हुई, हमारा कोई चुनाव नहीं। उससे ऊपर जगह मिलती नहीं और टैब मर जाता है।
MD5 नहीं दिया गया
ब्राउज़र MD5 निकालना जानता ही नहीं: यह फ़ंक्शन उसके एन्क्रिप्शन इंटरफ़ेस में है ही नहीं, और उसे जोड़ने के लिए कोई लाइब्रेरी साथ रखनी पड़ती। सुरक्षा के हर काम के लिए वह बीस साल से टूटा हुआ फ़ंक्शन भी है। कोई स्रोत सिर्फ़ MD5 छापे, तो उसे उस स्रोत के बारे में एक इशारा समझें।
SHA-1 दिया गया है, पर टूटा हुआ बताकर
पुराने प्रोजेक्ट अब भी उसे छापते हैं, इसलिए उसे मिलाकर देख पाना ज़रूरी है। पर अब एक ही SHA-1 वाली दो अलग फ़ाइलें बनाना लोगों को आता है: बदनीयत आदमी के सामने वह अब कुछ साबित नहीं करता। रास्ते की मामूली ग़लती पकड़ने के लिए वह अब भी काम का है।
फ़िंगरप्रिंट मिल जाना यह साबित नहीं करता कि फ़ाइल भली है
वह इतना साबित करता है कि जो फ़ाइल मिली वह उसी के जैसी है जिसका फ़िंगरप्रिंट आपको दिया गया था। फ़िंगरप्रिंट उसी पन्ने से आया हो जहाँ से फ़ाइल आई, और वह पन्ना ही बदला हुआ हो, तो जाँच खोखली है। अच्छी आदत यही है कि फ़िंगरप्रिंट फ़ाइल से अलग किसी स्रोत से लिया जाए।
इस औज़ार के बारे में सवाल
क्या मेरी फ़ाइल कहीं भेजी जाती है?
नहीं, और आपको हम पर भरोसा करने की ज़रूरत भी नहीं। F12 कुंजी से अपने ब्राउज़र का इंस्पेक्टर खोलें, “Network” वाले टैब पर जाएँ, सूची ख़ाली कर दें, फिर अपनी फ़ाइल डालें। एक भी पंक्ति नहीं आती। आप अपना इंटरनेट भी काट सकते हैं: औज़ार तब भी चलता रहता है। यहाँ यह ख़ास तौर पर मायने रखता है: किसी फ़ाइल का फ़िंगरप्रिंट अक्सर इसीलिए निकाला जाता है कि उस पर भरोसा नहीं होता।
फ़िंगरप्रिंट असल में किस काम आता है?
सिर्फ़ एक सवाल का जवाब देने के: क्या यह फ़ाइल बाइट दर बाइट उसी जैसी है जिसका फ़िंगरप्रिंट मुझे दिया गया था? बीच में टूटा डाउनलोड, बिगड़ती हुई डिस्क, पुराना संस्करण परोसने वाला मिरर, रास्ते में बदल दी गई फ़ाइल: यह सब फ़िंगरप्रिंट बदल देता है। वह न अंदर के माल के बारे में कुछ कहता है, न क्वालिटी के, न फ़ाइल की सुरक्षा के।
आप MD5 क्यों नहीं देते?
क्योंकि ब्राउज़र उसे निकालना जानता ही नहीं: MD5 वेब के एन्क्रिप्शन इंटरफ़ेस में है ही नहीं, और उसे जोड़ने का मतलब कोई लाइब्रेरी साथ रखना होता। सबसे बड़ी बात, वह 2000 के दशक से टूटा हुआ फ़ंक्शन है: एक ही MD5 वाली दो अलग फ़ाइलें बनाना अब आम कंप्यूटर के बस की बात है। जो स्रोत सिर्फ़ MD5 छापता है, वह अपनी गंभीरता के बारे में बहुत कुछ कह देता है।
500 MB की सीमा क्यों?
क्योंकि ब्राउज़र का एन्क्रिप्शन इंटरफ़ेस थोड़ा-थोड़ा करके हैश निकालने की कोई सुविधा नहीं देता: उसे फ़ाइल टुकड़ा-टुकड़ा देने का कोई फ़ंक्शन ही नहीं है। उसे पूरी फ़ाइल एक ही बार में, मेमोरी के एक ही टुकड़े में सौंपनी पड़ती है। एक हद के बाद जगह मिलती नहीं और टैब मर जाता है। कई गीगाबाइट की फ़ाइल का हैश निकालने के लिए मशीन पर लगा हुआ कोई औज़ार ही सही चुनाव है, और तीनों सिस्टमों पर वह कमांड पहले से मौजूद है।
फ़िंगरप्रिंट मिल गया। क्या फ़ाइल महफ़ूज़ है?
नहीं, और सबसे फैली हुई ग़लतफ़हमी यही है। फ़िंगरप्रिंट का मिलना इतना साबित करता है कि फ़िंगरप्रिंट छपने के बाद से अब तक फ़ाइल बदली नहीं है। जो पन्ना फ़िंगरप्रिंट छापता है वह भी फ़ाइल के साथ ही बदल दिया गया हो, तो दोनों पूरी तरह मिल जाएँगे और आपने कुछ जाँचा ही नहीं। इसीलिए, जहाँ मुमकिन हो, फ़िंगरप्रिंट डाउनलोड वाले पन्ने से कहीं और ढूँढ़ा जाता है।
क्या दो अलग फ़ाइलों का SHA-256 फ़िंगरप्रिंट एक हो सकता है?
सिद्धांत में हाँ, क्योंकि मुमकिन फ़ाइलें मुमकिन फ़िंगरप्रिंटों से ज़्यादा हैं। असल में आज तक कोई ऐसी दो फ़ाइलें बना नहीं पाया, और लंबे समय तक किसी को इसकी उम्मीद भी नहीं। SHA-1 के लिए, दूसरी ओर, यह 2017 में हो चुका है, और इसीलिए उसे चुनते ही औज़ार आपको चेता देता है।
मेरा फ़िंगरप्रिंट बड़े अक्षरों में है और आपका छोटे अक्षरों में।
वह एक ही है। फ़िंगरप्रिंट हेक्साडेसिमल में लिखा जाता है, और वहाँ अक्षरों के छोटे-बड़े होने का कोई मतलब नहीं। औज़ार मिलाते वक़्त छोटे-बड़े अक्षर, जगहें, नई पंक्तियाँ और पीछे चिपका कोई फ़ाइल नाम अनदेखा कर देता है, ठीक वैसे ही जैसे डाउनलोड के बगल में मिलने वाली चेकसम फ़ाइलों में होता है।
कोई भी फ़ाइल डालिए: उसका फ़िंगरप्रिंट सामने आ जाता है। डाउनलोड वाली साइट जो फ़िंगरप्रिंट बताती है उसे चिपकाइए, और औज़ार बता देता है कि दोनों एक हैं या नहीं, अक्षर दर अक्षर।
जाँचेंसबूत, कदम दर कदमनेटवर्क इंस्पेक्टर से जाँच, एक-एक हरकत समझाई हुई, तस्वीरों के साथ।
यह कोनासुरक्षा वाला कोनाकिसी फ़ाइल को एन्क्रिप्ट करना, मज़बूत पासफ़्रेज़ बनाना, यह जाँचना कि डाउनलोड की गई चीज़ के साथ छेड़छाड़ नहीं हुई, किसी लिंक से ट्रैकर हटाना।