मोबाइल एन्क्रिप्शन फ़ाइल ट्रांसफर: चलते-फिरते सुरक्षित शेयरिंग
सुनिश्चित करें कि मोबाइल फ़ाइल ट्रांसफर एंड-टू-एंड एन्क्रिप्टेड हैं। iOS और Android पर ब्राउज़र एन्क्रिप्शन कैसे काम करता है।
मोबाइल फ़ाइल एन्क्रिप्शन iOS पर Safari में और Android पर Chrome/Firefox में Web Crypto API के ज़रिए चलता है — वही crypto.subtle.encrypt कॉल जो डेस्कटॉप पर काम करती है। Photos लाइब्रेरी या Files ऐप से ली गई फ़ाइलें फोन छोड़ने से पहले ही AES-256-GCM से एन्क्रिप्ट हो जाती हैं। सबसे भारी काम PBKDF2 की डिराइवेशन है, जो iPhone 14 Pro पर 6,00,000 इटरेशन में लगभग 350 ms में पूरा होता है। हाल की छुट्टी की 500 MB की .mov फ़ाइल के लिए असली बाधा अपलोड बैंडविड्थ है, एन्क्रिप्शन नहीं। मोबाइल-फर्स्ट ट्रांसफर सर्विसों को नेटिव ऐप की ज़रूरत नहीं — ब्राउज़र में सब कुछ है।
ब्राउज़र-बेस्ड नेटिव ऐप से बेहतर क्यों है
iOS और Android के नेटिव फ़ाइल ट्रांसफर ऐप (Dropbox, WeTransfer का 2023 से पुराना ऐप) व्यापक परमिशन मांगते हैं, इस्तेमाल के बाद मेमोरी में रहते हैं, और विज्ञापन दिखाते हैं। ब्राउज़र-बेस्ड वर्कफ्लो को कोई इंस्टॉल नहीं चाहिए, एक बार चलता है, और टैब बंद होते ही खत्म। इससे भी ज़रूरी बात: Apple के App Store द्वारा असली ज़ीरो-नॉलेज ऐप को रिजेक्ट करना (Cryptee का 2021 का मामला दस्तावेज़ीकृत है) ब्राउज़र डिलीवरी को एकमात्र तरीका बनाता है जो गारंटी देता है कि एन्क्रिप्शन लॉजिक किसी अपडेट में चुपके से नहीं बदला जाएगा। वही JavaScript बंडल हर जगह चलता है, SHA-384 हैश से वेरिफाइबल।
iOS और Android पर Web Crypto API
iOS 17+ पर Safari 17 crypto.subtle को पूरी तरह सपोर्ट करता है: deriveKey, encrypt, decrypt, sign, verify। Android पर Chrome ने वर्शन 37 (2014) से इसे सपोर्ट किया है। दोनों इम्प्लीमेंटेशन नेटिव OS प्रिमिटिव पर डेलीगेट करते हैं — iOS पर CommonCrypto, Android पर BoringSSL — इसलिए क्रिप्टो ARM के AES इंस्ट्रक्शन पर हार्डवेयर-एक्सेलरेटेड है। Pixel 8 पर 5 MB चंक लगभग 15 ms में एन्क्रिप्ट होता है। API JavaScript को रॉ की मटेरियल एक्सपोज़ नहीं करता (CryptoKey ऑब्जेक्ट अपारदर्शी हैंडल हैं), जो मोबाइल पर दुर्लभ होने वाले मालिशियस एक्सटेंशन के खिलाफ मदद करता है।
मेमोरी उड़ाए बिना बड़ी फ़ाइलें संभालना
Mobile Safari 6 GB RAM वाले iPhones पर JavaScript हीप को लगभग 2 GB तक सीमित रखता है, पुराने डिवाइस पर और कम। "फ़ाइल को ArrayBuffer में पढ़ो, एन्क्रिप्ट करो, अपलोड करो" का साधारण तरीका 1 GB से बड़ी किसी भी चीज़ पर क्रैश करता है। स्ट्रीमिंग अनिवार्य है। 5 MB चंक पढ़ने के लिए File.slice() इस्तेमाल करें, प्रत्येक को HKDF के ज़रिए डिराइव की गई सबकी से एन्क्रिप्ट करें, और ReadableStream बॉडी के साथ fetch() के ज़रिए अपलोड करें। प्रोग्रेसिव अपलोड 10 GB वीडियो के लिए भी पीक मेमोरी 50 MB से कम रखता है। Chrome on Android ने वर्शन 105 से स्ट्रीमिंग fetch रिक्वेस्ट सपोर्ट की; Safari ने 17.4 में पूर्ण सपोर्ट जोड़ी।
बैटरी और थर्मल विचार
AES-256-GCM हार्डवेयर पर सस्ता है — ARMv8 के Cryptography Extensions इसे लगभग DRAM स्पीड पर चलाते हैं। iPhone 14 Pro पर 1 GB एन्क्रिप्शन लगभग 2% बैटरी खर्च करता है, ज़्यादातर अपलोड के लिए रेडियो में, CPU में नहीं। यूज़र गर्मी तब महसूस करते हैं जब PBKDF2 हाई इटरेशन काउंट पर चलता है; 12 लाख इटरेशन (OWASP 2024 सिफारिश) में 700 ms लगते हैं और A17 को संक्षिप्त रूप से 90°C तक पहुंचाते हैं। 6,00,000 इटरेशन सिक्योरिटी और थर्मल के बीच संतुलन बनाते हैं। Argon2id मेमोरी-हार्डनेस के कारण sustained वर्कलोड पर कम पावर-डेंस होता है।
सेलुलर, Wi-Fi, और अपलोड रिलायबिलिटी
मोबाइल अपलोड फेल होते हैं। सबवे टनल, लिफ्ट, Wi-Fi से LTE पर स्विच — इनमें से कोई भी साधारण fetch() को मार देता है। मज़बूत मोबाइल ट्रांसफर चंक-लेवल एकनॉलेजमेंट के साथ रिज़्यूमेबल अपलोड इस्तेमाल करता है, tus.io (tus 1.0 स्पेक, व्यापक रूप से सपोर्टेड) या S3 मल्टीपार्ट अपलोड जैसे प्रोटोकॉल के साथ। प्रत्येक 5 MB चंक स्वतंत्र रूप से अपलोड होता है; फेलियर पर केवल वही चंक दोबारा भेजा जाता है। क्लाइंट IndexedDB में चंक स्टेट स्टोर करता है ताकि ब्राउज़र टैब रिलोड या iOS टैब इविक्शन पूरी जॉब रिस्टार्ट न करे। HexaTransfer रिज़्यूमेबल अपलोड इम्प्लीमेंट करता है; WeTransfer का मोबाइल वेब फ्लो नहीं करता, इसलिए LTE पर 2 GB अपलोड अक्सर फेल होते हैं।
पासवर्ड UX की समस्या
फोन कीबोर्ड पर 16 कैरेक्टर का मजबूत पासवर्ड टाइप करना दर्दनाक है। विकल्प दें: सेंडर की स्क्रीन से पासवर्ड वाला QR कोड स्कैन करें, नेटिव पासवर्ड मैनेजर से पेस्ट करें (iOS Keychain से भरता है), या किसी पिछले ट्रांसफर के दौरान रजिस्टर्ड पासकी इस्तेमाल करें। एक बार के मामलों के लिए, Web Share Target API का इस्तेमाल करें ताकि कोई companion ऐप (Signal, उदाहरण के लिए) बिना यूज़र को दोबारा टाइप कराए पासवर्ड इंजेक्ट कर सके।
एक्सेसिबिलिटी और छोटी स्क्रीन
4.7 इंच के iPhone SE पर डेस्कटॉप-स्टाइल ड्रैग-एंड-ड्रॉप अपलोडर फिट नहीं होता। मोबाइल एन्क्रिप्शन UI को व्यूपोर्ट का सम्मान करना चाहिए: फुल-स्क्रीन फ़ाइल पिकर, सॉफ्ट कीबोर्ड के ऊपर दिखाई देने वाले प्रोग्रेस बार, हर बटन पर VoiceOver लेबल (एक्सेसिबिलिटी के लिए role="progressbar" और aria-valuenow), और Apple HIG के अनुसार न्यूनतम 44x44px टैप टारगेट। होवर स्टेट के पीछे कंट्रोल न छिपाएं — टच पर कोई होवर नहीं होता। iOS Low Power Mode के साथ टेस्ट करें, जो बैकग्राउंड टाइमर थ्रॉटल करता है और पोलिंग-बेस्ड प्रोग्रेस अपडेट तोड़ता है।
iOS Safari की उन खामियों से बचें जो अपलोड तोड़ती हैं
Safari on iOS में कुछ जाल हैं। Fetch API के अपलोड प्रोग्रेस इवेंट iOS 16.4 से पहले भरोसेमंद तरीके से फायर नहीं होते। File System Access API सपोर्ट नहीं है, इसलिए Chrome की तरह लोकल स्टोरेज से बड़ी फ़ाइलें स्ट्रीम नहीं कर सकते। Safari मेमोरी प्रेशर पर इनएक्टिव टैब को आक्रामक तरीके से इविक्ट करता है, जो उड़ान में अपलोड को मार देता है। उपाय: XMLHttpRequest को फॉलबैक के रूप में प्रोग्रेस इवेंट के साथ इस्तेमाल करें, अपलोड के दौरान टैब फोरग्राउंड में रखें, और बड़ी फ़ाइलों के लिए स्क्रीन न लॉक करने की चेतावनी दें। स्क्रीन-ऑन बैटरी खर्च करता है लेकिन टैब इविक्शन रोकता है।
Android का व्यापक डिवाइस विविधता
Android Pixel 8 Pro से लेकर Android Go चलाने वाले ₹6,000 के Moto e14 डिवाइस तक फैला है। Web Crypto सभी पर काम करता है, लेकिन परफॉर्मेंस व्यापक रूप से भिन्न है — 2 GHz का MT6762 6,00,000 PBKDF2 इटरेशन में 1.8 सेकंड लेता है जहाँ Apple M3-क्लास फोन 200 ms लेता है। Device Memory API और Hardware Concurrency से डिवाइस डिटेक्ट करें, उसके अनुसार इटरेशन काउंट स्केल करें (Go डिवाइस पर 3,00,000 तक), और केवल-सेलुलर कनेक्शन पर यूज़र को चेतावनी दें कि 1 GB से बड़े अपलोड अविश्वसनीय हो सकते हैं। DPDP अधिनियम 2023 के तहत भारतीय यूज़र के डेटा की सुरक्षा का दायित्व सर्विस प्रोवाइडर पर है — मोबाइल पर एन्क्रिप्शन लागू करना इस दायित्व को पूरा करने का व्यावहारिक तरीका है।
hexatransfer.com पर आज़माएं — मुफ्त, बिना अकाउंट, 10 GB तक।
एंड-टू-एंड एन्क्रिप्शन के साथ बड़ी फ़ाइलें सुरक्षित रूप से भेजें
एंड-टू-एंड एन्क्रिप्शन के साथ 10 GB तक की फ़ाइलें मुफ़्त में ट्रांसफ़र करें। अकाउंट की आवश्यकता नहीं। अपलोड से पहले आपकी फ़ाइलें ब्राउज़र में एन्क्रिप्ट की जाती हैं — कोई और उन्हें पढ़ नहीं सकता।
फ़ाइल भेजें