शुरु-से-अंत तक एन्क्रिप्शन Proton Drive के केंद्र में है। यही आपकी फ़ाइलों को निजी रखता है, ताकि सिर्फ आप और जिन लोगों को आप चुनें, वही उन तक एक्सेस कर सकें, हम भी नहीं। क्योंकि हमारे क्लाउड स्टोरेज ऐप में हर फ़ाइल ऑपरेशन इसी तरह सुरक्षित रहता है, क्रिप्टोग्राफिक परफॉर्मेंस का सीधा असर अपलोड और डाउनलोड की रफ्तार पे पड़ता है।

अपलोड और डाउनलोड में हमारे पिछले SDK परफॉर्मेंस सुधारों के बाद, ये नवीनतम अपडेट उसी काम को आगे बढ़ाते हुए Proton Drive की कोर एन्क्रिप्शन लेयर को और भी ज़्यादा कुशल बनाता है।

Proton Drive फ़ाइल के कंटेंट को एन्क्रिप्ट करने के लिए OpenPGP स्टैंडर्ड का इस्तेमाल करता है, और हमने अब स्टैंडर्ड के एक अपडेट में शामिल क्रिप्टोग्राफिक प्रगति को अपना लिया है। पूरे इस साल SDK बनाने का एक बड़ा हिस्सा Drive की फ़ाइल ऑपरेशन को एक साझा नींव पे ले जाना रहा, जिससे सभी प्लेटफॉर्म पे ऐप तेज़ और स्मूद हुए। नतीजा फ़ाइल अपलोड में 4 गुना तक परफॉर्मेंस बूस्ट है। ये आने वाली Drive की अगली पीढ़ी की ख़ासियतों की नींव भी रखता है।

प्रदर्शन पर असर

एन्क्रिप्शन का रोजमर्रा के इस्तेमाल में ऐप कितना स्मूद लगता है, इस पे बड़ा असर पड़ता है, इसलिए इस लागत को 4 गुना तक कम करने से फ़ाइल अपलोड बहुत तेज़ लगते हैं, ख़ासकर उन डिवाइस पे जहां परफॉर्मेंस सबसे ज़्यादा मायने रखती है:

  • मोबाइल पे, हमारे बेंचमार्क दिखाते हैं कि 4MB फ़ाइल की एन्क्रिप्शन, जिसमें पहले 97ms लगते थे, अब 32ms लेती है।
  • ज़्यादा ताकतवर प्रोसेसर पे, वही ऑपरेशन जिसमें पहले 12ms लगते थे, अब 3ms लेता है।

HD मूवी या 1,000 हाई-रेज़ोल्यूशन फोटो एन्क्रिप्ट करने में पहले आपके फोन को करीब डेढ़ मिनट, या तेज़ डेस्कटॉप को करीब 12 सेकेंड लगते थे। इस अपडेट के साथ, वही काम मोबाइल पे करीब 30 सेकेंड और डेस्कटॉप पे करीब 3 सेकेंड में पूरा होता है।

Proton Drive तेज़ कैसे हुआ

Proton Drive जो स्ट्रक्चर इस्तेमाल करता है, वो एक फ़ाइल node है, जिसकी कई revisions हो सकती हैं, और हर एक फ़ाइल के एक वर्ज़न को दर्शाती है। इसके बाद कंटेंट को blocks में चंक किया जाता है। Node में क्रिप्टोग्राफिक मटेरियल होता है, जिसका इस्तेमाल blocks को एन्क्रिप्ट करने के लिए होता है। फ़ाइल node का ये क्रिप्टोग्राफिक मटेरियल node key (एक लॉक्ड PGP सीक्रेट की) और एक content key packet (node key से एन्क्रिप्ट किया PKESK) से मिलकर बनता है।

A diagram explaining the Proton Drive cryptographic update

Proton Drive जो PGP संदेश फ़ाइल के कंटेंट के लिए इस्तेमाल करता है, वो दो पैकेट से मिलकर बनते हैं:

  • एक सार्वजनिक चाबी से एन्क्रिप्ट किया सेशन की (PKESK): ये node का content key packet है, जो सभी blocks के लिए साझा रहता है।
  • एक सिमेट्रिकली एन्क्रिप्ट किया इंटीग्रिटी प्रोटेक्टेड डाटा पैकेट (SEIPD): ये एन्क्रिप्ट किया block कंटेंट है।

नई एन्क्रिप्शन स्कीम

इस क्रिप्टोग्राफी अपडेट से पहले, अपलोड की गई फ़ाइलें v3 PKESK और v1 SEIPD इस्तेमाल करती थीं। अब, एन्क्रिप्शन एल्गोरिदम को v6 PKESK और v2 SEIPD चाहिए। कंटेंट के लिए इस्तेमाल होने वाला सिमेट्रिक एन्क्रिप्शन AES-GCM है, जो ज़्यादातर आधुनिक डिवाइस पे हार्डवेयर एन्क्रिप्शन का पूरा फायदा उठाता है।

फ़ाइलें अपडेट होने पे सेशन की revisions के बीच साझा रहती है, इसलिए किसी फ़ाइल की सभी revisions को पहली वाली के इस्तेमाल किए गए एन्क्रिप्शन स्कीम से मैच करना चाहिए। इसका मतलब है कि क्लाइंट को फ़ाइल में बदलाव करते और नई revision अपलोड करते वक्त PKESK वर्ज़न को ध्यान में रखने के लिए अपडेट किया जाना चाहिए। Proton Drive SDK पे बने क्लाइंट इसे अपने आप हैंडल कर लेंगे, क्योंकि ये जानकारी सेशन की में होती है। ये की यहां(नई विंडो) जनरेट होती है और blocks को एन्क्रिप्ट करते वक्त(नई विंडो) इस्तेमाल होती है।

बाद में डीक्रिप्शन की समस्याओं से बचने के लिए, गलत वर्ज़न के साथ भेजी गई revisions को अस्वीकार कर दिया जाएगा। इसका मतलब है कि जो क्लाइंट इस ख़ासियत को सपोर्ट नहीं करते, वो इस बदलाव के लागू होने के बाद अपलोड की गई फ़ाइलों को अपडेट नहीं कर पाएंगे। सभी परफॉर्मेंस फायदे पाने के लिए अपने Proton Drive क्लाइंट को अपडेट करना न भूलें।

आगे क्या है

ये Proton Drive के शेयर्ड कोर मॉडल को ज़्यादा परफॉर्मेंट, ज़्यादा सक्षम क्लाउड स्टोरेज की तरफ बढ़ाने में एक बड़ा कदम है, जो शुरु-से-अंत तक एन्क्रिप्शन से सुरक्षित है। SDK हर Drive क्लाइंट को एक साझा क्रिप्टोग्राफिक कोर देता है, जिससे इस स्तर के बदलाव संभव होते हैं, और ये हमें आगे जो भी आने वाला है, उस पे जल्दी आगे बढ़ने में मदद करता है। इस साल और सुधारों के लिए बने रहें।

आपकी लगातार सहायता के लिए धन्यवाद,

Proton Drive इंजीनियरिंग टीम