Proton Authenticator एक ओपन-सोर्स दो-कारक सत्यापन (2-एफए) ऑथेंटिकेटर ऐप है, जो आपके डिवाइस पे समय-आधारित वन-टाइम पासवर्ड (TOTP) कोड जनरेट करता है, जिससे आप ऑनलाइन सेवाओं को एक्सेस कर सकते हैं और सुरक्षा की एक अतिरिक्त परत मिलती है। ये उसी अच्छी तरह टेस्ट किए गए एन्क्रिप्शन का इस्तेमाल करता है जो Proton इकोसिस्टम के बाकी हिस्सों को सुरक्षित रखता है। Proton Authenticator इसलिए खास है क्योंकि इसे शुरु से ही ऐसे डिज़ाइन किया गया था कि ये लगभग हर प्लैटफॉर्म पे उपलब्ध हो, साथ ही आपकी निजता बनाए रखे और आपको आपके डाटा पे पूरा स्वामित्व दे।
दूसरे ऑथेंटिकेटर ऐप्स के उलट, Proton Authenticator आपका डाटा शुरु-से-अंत तक एन्क्रिप्शन से सुरक्षित रखता है, चाहे आपने डिवाइस सिंक सक्षम किया हो।
इसका मतलब है कि Proton Authenticator किसी को भी, Proton खुद समेत, ये जानने से रोकता है कि आपके किन ऑनलाइन सेवाओं के खाते हैं। ये जानकारी, बिल्कुल आपके ईमेल या ब्राउज़िंग हिस्ट्री की तरह, आपके बारे में बहुत कुछ उजागर कर सकती है, और इसे सुरक्षित रखना आपकी निजता बनाए रखने के लिए ज़रूरी है।
Proton Authenticator का शुरु-से-अंत तक एन्क्रिप्शन गारंटी देता है कि सारी क्रिप्टोग्राफिक प्रक्रियाएं, जिनमें चाबी जनरेशन और डाटा एन्क्रिप्शन शामिल हैं, आपके डिवाइस पे लोकली की जाती हैं। इसका मतलब ये है कि आपके एन्क्रिप्शन नहीं किए गए डाटा को Proton एक्सेस नहीं कर सकता और न ही किसी थर्ड पार्टी के साथ शेयर कर सकता है। Proton के सर्वर कभी भी आपके एन्क्रिप्शन नहीं किए गए डाटा को एक्सेस नहीं करते, जिसमें आपका Proton खाता पासवर्ड शामिल है।
एन्क्रिप्शन मॉडल
Proton Authenticator सभी उपयोगकर्ता डाटा के लिए ज़्यादा से ज़्यादा सुरक्षा और निजता सुनिश्चित करने का एक व्यापक तरीका अपनाता है। सारी क्रिप्टोग्राफिक प्रक्रियाएं आपके डिवाइस पे लोकली होती हैं, और सर्वर को भेजा गया कोई भी डाटा हमेशा एन्क्रिप्ट किया हुआ होता है। Proton के पास कभी भी उपयोगकर्ता डाटा डीक्रिप्ट करने के लिए ज़रूरी प्लेनटेक्स्ट चाबियों को एक्सेस नहीं होता, जिससे हमारे लिए स्टोर किए गए डाटा को डीक्रिप्ट करना असंभव हो जाता है, चाहे थर्ड पार्टी अनुरोध करे।
Proton Authenticator वही एडवांस्ड एन्क्रिप्शन इस्तेमाल करता है जो हम Proton Mail में सत्यापन के लिए इस्तेमाल करते हैं। इसमें Secure Remote Password (SRP) प्रोटोकॉल का एक हार्डन किया वर्ज़न इस्तेमाल शामिल है, जो man-in-the-middle (MITM) हमलों के खिलाफ ज़्यादा मज़बूत सुरक्षा गारंटी देता है। हमारा इंप्लीमेंटेशन ऐसा है कि यहां तक कि वो हमलावर भी, जो Proton और उपयोगकर्ता के बीच के संदेशों को पढ़ें, बदलें, देर करें, नष्ट करें, दोहराएं या गढ़ सकता है बिना पकड़े जाए, हर लॉगइन कोशिश में सिर्फ एक पासवर्ड का अनुमान चेक कर सकता है, जो सीधे लॉगइन करने की कोशिश के बराबर है। इस तरह, चाहे Proton छेड़छाड़ का शिकार होकर दुर्भावनापूर्ण तरीके से काम करे, पासवर्ड के बराबर जानकारी कभी उजागर नहीं होती।
Proton के सत्यापन एन्क्रिप्शन के बारे में और पढ़ें
डाटा एन्क्रिप्शन
Proton Authenticator आपको अपने 2-एफए कोड सुरक्षित स्टोर करने देता है, चाहे आपके पास Proton खाता न हो। इसका मतलब है कि शुरुआती एन्क्रिप्शन प्रक्रिया पूरी तरह आपके लोकल डिवाइस पे होनी चाहिए। फिर, अगर आप तय करते हैं कि अपने कोड डिवाइसों के बीच सिंक करने के लिए आप अपना Proton खाता इस्तेमाल करना चाहते हैं, तो हम Proton सर्वर पर स्टोर किए गए क्रिप्टोग्राफिक चाबियों का इस्तेमाल करके सिंक कर सकते हैं।
Proton एन्क्रिप्शन की शुरुआत Proton सर्वर द्वारा रूट की के एन्क्रिप्ट किए गए वर्ज़न को देने से होती है, जिसे ऑथेंटिकेटर ऐप उपयोगकर्ता के डाटा को एन्क्रिप्ट करने के लिए इस्तेमाल करता है। हर Proton उपयोगकर्ता के पास एक एसिमेट्रिक User Key होती है, और Proton आपके डिवाइस पे इस User Key को इस तरह एन्क्रिप्ट करता है:
- खाते जो एक ही अकाउंट पासवर्ड इस्तेमाल करते हैं: Proton User Key को अकाउंट पासवर्ड और अकाउंट नमक के bcrypt हैश से एन्क्रिप्ट करता है।
- खाते जो हमारी मल्टीपल अकाउंट पासवर्ड खासियत इस्तेमाल करते हैं: Proton User Key को key पासवर्ड और अकाउंट नमक के bcrypt हैश से एन्क्रिप्ट करता है।
Proton Authenticator brute-force हमलों के खिलाफ सुरक्षा की एक अतिरिक्त परत के तौर पे आपके पासवर्ड को हैश करने के लिए bcrypt और एक अकाउंट नमक इस्तेमाल करता है। अगर कोई दुर्भावनापूर्ण एक्टर Proton डेटाबेस को एक्सेस कर भी ले, तब भी आपकी अकाउंट चाबियां brute-force हमलों से सुरक्षित रहेंगी।
जैसे ही आप सिंक सक्षम करते हैं, Proton Authenticator एक 32-बाइट रैंडम Authenticator Key जनरेट करता है। इस की को आपकी User Key से एन्क्रिप्ट और साइन किया जाता है, जिससे ये सुनिश्चित होता है कि सिर्फ आप इसे डीक्रिप्ट कर सकते हैं, यानी कोई भी (Proton भी नहीं) इसे पढ़ या नई Authenticator Key बना सकता है। जैसे ही आपको Authenticator Key को एक्सेस मिल जाता है, Proton Authenticator की सारी एंट्रीज़ 256-bit AES-GCM इस्तेमाल करके एन्क्रिप्ट की जाती हैं।

चूंकि Proton Authenticator को Proton खाते की ज़रूरत नहीं है, हमें एक अलग एन्क्रिप्शन स्कीमा भी चाहिए जो आपका डाटा सुरक्षित स्टोर करे जब वो सिर्फ आपके डिवाइस पे मौजूद हो। आखिरकार, इसे लागू करने का सबसे आसान तरीका ये है कि Proton खाते को एक अलग की प्रोवाइडर की तरह ट्रीट किया जाए। अंत में, ये कुछ इस तरह दिखता है:

आपके डिवाइस पे लोकल की स्टोरेज के लिए, हम हर सिस्टम के सिक्योर की स्टोरेज प्रोवाइडर पर भरोसा करते हैं:
- Android: हम की को Android Keystore(नई विंडो) में सुरक्षित स्टोर करते हैं, जिसके बाद इसका इस्तेमाल एक Local Random Key को एन्क्रिप्ट करने के लिए किया जाता है जिसे हम ऐप के प्रोटेक्टेड फाइलसिस्टम में स्टोर करते हैं। इस की का इस्तेमाल आपके डिवाइस पे सारी Proton Authenticator एंट्रीज़ को सिमेट्रिकली एन्क्रिप्ट करने के लिए किया जाता है।
- iOS/iPadOS/macOS: हम एक Local Random Key जनरेट करते हैं और उसे Keychain सेवा(नई विंडो) में स्टोर करते हैं। इस की का इस्तेमाल आपके डिवाइस पे सारी Proton Authenticator एंट्रीज़ को सिमेट्रिकली एन्क्रिप्ट करने के लिए किया जाता है।
- Windows: हम एक Local Random Key जनरेट करते हैं और उसे Windows Credential Manager(नई विंडो) में स्टोर करते हैं। इस की का इस्तेमाल आपके डिवाइस पे सारी Proton Authenticator एंट्रीज़ को सिमेट्रिकली एन्क्रिप्ट करने के लिए किया जाता है। अगर WCM से कनेक्शन उपलब्ध न हो, तो हम उपयोगकर्ता को अपनी Local Random Key को पासवर्ड से एन्क्रिप्ट करने की अनुमति देते हैं।
- Linux: हम एक Local Random Key जनरेट करते हैं और उसे उपलब्ध DBUS Secret Service में स्टोर करते हैं। इस की का इस्तेमाल आपके डिवाइस पे सारी Proton Authenticator एंट्रीज़ को सिमेट्रिकली एन्क्रिप्ट करने के लिए किया जाता है। अगर कोई DBUS सीक्रेट सर्विस कॉन्फ़िगर नहीं है, तो हम उपयोगकर्ता को अपनी Local Random Key को पासवर्ड से एन्क्रिप्ट करने की अनुमति देते हैं।
बैकअप एन्क्रिप्शन
Proton Authenticator की मुख्य खूबियों में से एक ये है कि आपका डाटा हमेशा आपके कंट्रोल में रहता है। इसमें ये भी शामिल है कि आप समय-समय पे अपने कोड का बैकअप अपने लोकल डिवाइस पे ले सकते हैं और एक पासवर्ड सेट कर सकते हैं जो इस संवेदनशील डाटा को एन्क्रिप्ट करता है।
ये सिक्योर लोकल बैकअप लागू करने के लिए, हम आपके दिए गए पासवर्ड का इस्तेमाल करके Argon2 को KDF (Key-Derivation Function) के तौर पे इस्तेमाल करते हुए एक सिक्योर एन्क्रिप्शन चाबी बनाते हैं। KDF का इस्तेमाल गुप्त इनपुट, जैसे उपयोगकर्ता द्वारा दर्ज किए गए पासवर्ड, से क्रिप्टोग्राफिक चाबियां बनाने के लिए किया जाता है, और इसका मुख्य मकसद हमलावरों के लिए पासवर्ड क्रैक करना मुश्किल और समय लेने वाला बनाकर सुरक्षा बेहतर करना है। आपके पासवर्ड से बनी इस एन्क्रिप्शन चाबी का इस्तेमाल करके, हम आपकी सारी एंट्रीज़ को सीरियलाइज़ करते हैं और उन्हें एन्क्रिप्ट करते हैं ताकि ये सुनिश्चित हो कि चाहे बैकअप लीक हो जाए, आपका डाटा सुरक्षित रूप से एन्क्रिप्ट किया रहे। और जानी-मानी और ओपन टेक्नोलॉजी इस्तेमाल करने की वजह से, आप Proton Authenticator का इस्तेमाल किए बिना भी अपना डाटा डीक्रिप्ट कर सकते हैं, जिससे चाहे आप किसी दूसरे ऑथेंटिकेटर ऐप पे जाने का फैसला करें, कंट्रोल आपके पास ही रहता है।
पारदर्शिता के ज़रिए सुरक्षा
सभी Proton सेवाओं की तरह, Proton Authenticator ओपन सोर्स है। कोई भी हमारा सोर्स कोड देख सकता है ताकि हमारे सुरक्षा मॉडल की पुष्टि कर सके। हमारी दूसरी सेवाओं की तरह, Proton Authenticator के नियमित रूप से इंडिपेंडेंट सिक्योरिटी ऑडिट भी होंगे, और जैसे ही ये ऑडिट रिपोर्ट उपलब्ध होंगी, हम इन्हें सार्वजनिक रूप से शेयर करेंगे।
आखिर में, इच्छुक सिक्योरिटी रिसर्चर्स के लिए, Proton Authenticator Proton के बग बाउंटी प्रोग्राम के लिए पात्र है, जो Proton के सॉफ्टवेयर में बग खोजने पर $1,00,000 तक के इनाम देता है।






