भविष्य को आकार देने वाली तकनीक पर गहन लेख।

एन्क्रिप्टेड USB ड्राइव: जब ताला कुछ भी नहीं बचाता

Lenovo की 'एन्क्रिप्टेड' फिंगरप्रिंट USB ड्राइव असल में बिना एन्क्रिप्शन वाला SD कार्ड निकली। हार्डवेयर में सिक्योरिटी थिएटर कैसे पहचानें, जानिए।

एक USB ड्राइव खुली हुई, जिसके अंदर एक साधारण microSD कार्ड दिख रहा है
पूरा सिक्योरिटी मॉडल एक तस्वीर में: ड्राइव के राज़ कभी राज़ थे ही नहीं।

आज कहीं किसी गोदाम में 'मिलिट्री-ग्रेड फिंगरप्रिंट एन्क्रिप्शन' का वादा करने वाली USB स्टिक्स के डिब्बे पड़े होंगे, जिन्हें एक बारह साल का बच्चा spudger लेकर नब्बे सेकंड में तोड़ दे। Lenovo की FU100 फिंगरप्रिंट ड्राइव इसका ताज़ा उदाहरण है जिसे सार्वजनिक रूप से खोलकर परखा गया: प्लास्टिक केस खोलो तो अंदर एक बिल्कुल आम, पूरी तरह बिना एन्क्रिप्शन वाला microSD कार्ड मिलता है। फिंगरप्रिंट सेंसर डेटा को अनलॉक नहीं करता। वह कुछ अनलॉक नहीं करता। वह बस एक स्विच को नियंत्रित करता है जिससे कार्ड रीडर कंप्यूटर को दिखता है, और डेटा पूरे समय प्लेनटेक्स्ट में फ्लैश पर पड़ा रहता है।

यह कोई vulnerability नहीं है। Vulnerabilities बग होती हैं — ईमानदार डिज़ाइन में हुई गलतियाँ। यह एक ऐसा प्रोडक्ट है जिसके सिक्योरिटी दावे सजावट भर हैं। और यह मायने रखता है, क्योंकि ये ड्राइव खरीदने वाले लोग ही दावों की जाँच करने में सबसे कम सक्षम होते हैं: छोटे व्यापारी, वकील, अकाउंटेंट, पासपोर्ट की स्कैन कॉपी रखने वाले माता-पिता। उन्होंने एक ऐसे वादे के लिए ज़्यादा पैसे दिए जिसे कभी इंजीनियर किया ही नहीं गया था।

फिंगरप्रिंट सेंसर असल में क्या नियंत्रित करता है

यह डिज़ाइन इतना खराब क्यों है, यह समझने के लिए पहले यह देखना उपयोगी है कि असली एन्क्रिप्टेड ड्राइव कैसे काम करती है। एक ईमानदार हार्डवेयर-एन्क्रिप्टेड डिवाइस में होस्ट कंप्यूटर और फ्लैश मेमोरी के बीच एक समर्पित कंट्रोलर चिप होती है। यह कंट्रोलर एन्क्रिप्शन कुंजी (key) रखता है — आदर्श रूप से आपके PIN से निकाली गई या फिंगरप्रिंट से अनलॉक होने वाली — और उससे गुजरने वाला हर डेटा ब्लॉक NAND तक पहुँचने से पहले AES से एन्क्रिप्ट होता है। बोर्ड से फ्लैश चिप्स निकालकर chip-off प्रोग्रामर से पढ़ो, तो सिर्फ ciphertext मिलेगा। पूरी बात यही है। फिजिकल मेमोरी और इंटेलिजेंस क्रिप्टो के ज़रिए जुड़े होते हैं, इसलिए मेमोरी निकालने से कुछ कीमती हाथ नहीं लगता।

Lenovo FU100 यह सब छोड़ देती है। इसका आर्किटेक्चर लगभग ऐसा है: एक फिंगरप्रिंट मॉड्यूल, एक microcontroller, एक USB hub या card reader IC, और एक microSD स्लॉट। फिंगरप्रिंट enroll करने पर सेंसर मॉड्यूल टेम्पलेट अपने अंदर स्टोर करता है — यह सामान्य बात है, और फिंगरप्रिंट मैचिंग शायद ठीक ही है। Authentication सफल होने पर microcontroller एक लाइन फ्लिप करता है जो card reader को USB bus से जोड़ देती है। Authentication विफल हो, तो reader कभी enumerate नहीं होता। यह एक बायोमेट्रिक दरवान वाला रिले है।

पर दरवान एक ऐसी इमारत की रखवाली कर रहा है जिसकी दीवारें ही नहीं हैं। क्योंकि microSD कार्ड एक हटाने योग्य, मानक कंपोनेंट है, इसे हमला कहना भी ठीक नहीं — न सोल्डरिंग, न glitching, न side channels। आप केस खोलते हैं (प्लास्टिक क्लिप, शायद थोड़ा सा ग्लू), कार्ड को किसी भी रीडर में डालते हैं और सब पढ़ लेते हैं। इस 'एन्क्रिप्शन' का blast radius शून्य था।

यह देखना दिलचस्प है कि यहाँ threat model कैसे ढह जाता है, क्योंकि इन डिवाइसेज़ के निर्माता मार्केटिंग में threat models की बात करना बहुत पसंद करते हैं। निहित कहानी यह है: आपकी ड्राइव खो जाती है, कोई अजनबी उठाता है, लगाता है, और आपकी उंगली के बिना उसे कुछ नहीं मिलता। यह कहानी तब तक ही सच है जब तक उस अजनबी को 'FU100 teardown' गूगल करने में लगता है — या बस केस की सीम दिखने में। खोई हुई थंब ड्राइव के लिए असली खतरा कोई nation-state के X-ray फैब वाला नहीं, बल्कि किचन चाकू लिए एक जिज्ञासु इंसान है। उसके सामने यह डिज़ाइन ज़रा भी सुरक्षा नहीं देता। फिंगरप्रिंट सेंसर बिल्कुल ठीक काम कर रहा है और कुछ भी नहीं बचा रहा — यह इस बात का सबसे शुद्ध उदाहरण है कि एक तंत्र उस चीज़ से कट गया है जिसकी वह सुरक्षा का दावा करता है।

अगर हमलावर स्टोरेज मीडियम निकालकर आम टूल्स से पढ़ सकता है, तो आपका डिवाइस एन्क्रिप्टेड था ही नहीं। वह खुले मैदान में पड़े ताले जैसा था।

मुख्य सवाल सीधा है: Key कहाँ रहती है?

एक सवाल हर मार्केटिंग दावे को चीर देता है, और जब कोई आपसे सलाह माँगे तो यह सवाल उसे ज़रूर सिखाएँ: key कहाँ रहती है, और सेंसर असल में क्या नियंत्रित करता है? हर जवाब तीन में से किसी एक खाने में आता है।

  • Key crypto controller पर, डेटा at rest एन्क्रिप्टेड। फिंगरप्रिंट या PIN एक समर्पित चिप को key छोड़ता है; NAND में ciphertext रहता है। Kingston IronKey लाइन जैसे प्रोडक्ट यही करते हैं, और teardown में टिकने वाला यही एकमात्र डिज़ाइन है।
  • Key controller पर, पर गलत तरीके से स्टोर या derive की गई। डेटा नाममात्र एन्क्रिप्टेड है, पर key फर्मवेयर में जली हुई है, serial number से निकाली गई है, या MCU के फ्लैश से वापस पाई जा सकती है। आम नुकसान से बचाव में कुछ न होने से बेहतर है, पर logic analyzer और एक वीकेंड वाले किसी भी इंसान के सामने बेकार।
  • कोई key ही नहीं। सेंसर enumeration, पावर या hub port को नियंत्रित करता है। स्टोरेज प्लेनटेक्स्ट है। यही Lenovo डिज़ाइन है, और यह खरीदारों की सोच से कहीं ज़्यादा आम है।

बीच वाला खाना इसलिए ध्यान देने लायक है, क्योंकि यहीं मशहूर ब्रांड भी लड़खड़ा चुके हैं। सिक्योरिटी researchers सालों से 'secure' ड्राइव्स को खोलकर देखते रहे हैं: कहीं AES इम्प्लीमेंटेशन में key कंट्रोलर के फ्लैश से निकल आती है, कहीं authentication को debug pad शॉर्ट करके बायपास किया जा सकता है, कहीं firmware update तंत्र MCU को दोबारा फ्लैश करने देता है और सब कुछ निकाल लेता है। Early IronKey डिवाइसेज़ का University of Cambridge teardown इसका क्लासिक संदर्भ है — और खास बात यह है कि वह कहानी इस बारे में है कि इसे सही करना कितना मुश्किल है, सिर्फ यह नहीं कि धोखे से करना कितना आसान है। IronKey ने कम से कम मेहनत तो की। FU100 ने कोशिश ही नहीं की।

तीन खानों में एक काम का heuristic छिपा है: पहले खाने को विक्रेता से कठोर, महँगे और जाँचे जा सकने वाले दावे करने पड़ते हैं। AES-256 XTS मोड में। Keys डिवाइस पर hardware RNG से बनी। PIN retry counters जो दस नाकाम कोशिशों के बाद key मिटा दें। ये ऐसे बयान हैं जिन्हें कोई इंजीनियर सच या झूठ साबित कर सकता है। बाकी दो खाने 'protected', 'secured', 'biometric access' जैसे नरम शब्दों के पीछे छिपते हैं, जो अनुभव बताते हैं, तंत्र नहीं। जब स्पेक शीट किसी लाइफस्टाइल विज्ञापन जैसी लगे, तो स्पेक शीट खुद बता रही होती है कि आप कौन-सा खाना खरीद रहे हैं।

यह बार-बार रिव्यू से क्यों निकल जाता है

इसके बाद की असहज बात संगठन से जुड़ी है। यह कोई संदिग्ध, बेनाम विक्रेता नहीं है जो शेन्ज़ेन के किसी स्टॉल से माल भेज रहा हो — हालाँकि कुछ लोगों ने बताया है कि FU100 की चीन के मार्केटप्लेस के बाहर लगभग कोई रिटेल मौजूदगी नहीं थी। यह Lenovo है, वह कंपनी जिसका लोगो उन ThinkPads पर है जो सरकारों और बैंकों को दिए जाते हैं, वह कंपनी जो Superfish के साथ पहले ही एक बार भरोसा खो चुकी है। उस org chart में कहीं यह प्रोडक्ट इंडस्ट्रियल डिज़ाइन, फर्मवेयर रिव्यू, मार्केटिंग की मंज़ूरी और लीगल से गुज़रा होगा। या तो सिक्योरिटी की समझ रखने वाला कोई भी इंसान इसे देखे ही नहीं, या किसी ने देखा और फिर भी इसे भेजने का फैसला हुआ।

दोनों व्याख्याएँ संभव हैं, और दोनों अलग-अलग तरह से बुरी हैं। पहली कहती है कि सिक्योरिटी रिव्यू औपचारिकता भर है। दूसरी कहती है कि यह एक समझौता है जिसमें मार्केटिंग जीत जाती है। इन कहानियों को कवर करते हुए मैंने इतना देखा है कि अक्सर बात इनसे अलग होती है: प्रोडक्ट ODM डिज़ाइन करता है, ब्रांड उस पर अपना नाम लगाता है, और चेन में किसी को बॉक्स के दावों की ज़िम्मेदारी महसूस नहीं होती। मार्केटिंग कॉपी 'encrypted' इसलिए लिखती है क्योंकि कैटेगरी लीडर की कॉपी 'encrypted' लिखती है। यह शब्द लिस्टिंग्स में वैसे ही फैलता है जैसे 'military-grade' — एक माहौल, कोई स्पेसिफिकेशन नहीं।

ODM rebadging की पाइपलाइन समझ आ जाए तो बहुत कुछ साफ हो जाता है। एक white-label निर्माता फिंगरप्रिंट से गेटेड card reader डिज़ाइन करता है — अपने आप में ठीक-ठाक प्रोडक्ट, शायद 'मेरे बच्चे मेरी फाइलों से दूर रहें' वाले बाज़ार के लिए — और उसे एनक्लोज़र और लोगो के मेन्यू के साथ ब्रांड्स को बेचता है। ब्रांड का प्रोडक्ट मैनेजर प्रतिस्पर्धियों की कॉपी से लिस्टिंग लिखता है। इस चेन में कोई भी cryptographer नहीं है, और किसी के जॉब डिस्क्रिप्शन में 'क्रिप्टोग्राफिक दावों की जाँच' शामिल नहीं है। लीगल ट्रेडमार्क जोखिम देखता है, इस पर नहीं कि AES मौजूद भी है या नहीं। नतीजा टेलीफोन जैसा खेल है, जिसमें 'biometric access control' डेटाशीट और प्रोडक्ट पेज के बीच 'fingerprint encryption' बन जाता है, और किसी एक इंसान ने कभी कोई ऐसा झूठ नहीं लिखा जिसे वह झूठ जानता हो। एक मायने में यह नीयत से भी बुरा है, क्योंकि यहाँ कोई खलनायक नहीं जिसे निकाला जा सके — बस एक प्रक्रिया जो बड़े पैमाने पर नकली सुरक्षा भरोसे से बनाती है।

एक तिजोरी का दरवाज़ा खुले मैदान में अकेला खड़ा है, पीछे कुछ नहीं
हार्डवेयर में सिक्योरिटी थिएटर: एक प्रभावशाली ताला, जो किसी चीज़ की रखवाली नहीं करता।

एन्क्रिप्टेड ड्राइव को असल में कैसे जाँचें

इनमें से ज़्यादातर प्रोडक्ट्स को जाँचने के लिए लैब की ज़रूरत नहीं। खरीदने से पहले कुछ सवाल सबसे खराब उदाहरणों को छाँट देते हैं।

पहला, FIPS 140-2 या 140-3 validation देखें जिसका असली certificate number हो, जिसे आप NIST के CMVP database में खोज सकें। सिर्फ 'FIPS compliant' नहीं — वह वाक्यांश कुछ नहीं बताता, और विक्रेता इसे इसीलिए इस्तेमाल करते हैं क्योंकि यह असली जैसा लगता है और उन्हें कुछ भी बाध्य नहीं करता। सही certificate वह है जिसमें ठीक प्रोडक्ट और फर्मवेयर वर्शन लिखा हो। असली crypto modules को validate कराने में विक्रेताओं का असली पैसा लगता है, अक्सर दसियों हज़ार डॉलर और महीनों का लैब समय, और यही कारण है कि यह असली crypto से जुड़ा होता है। धोखाधड़ी सस्ती है; certification सस्ता नहीं।

दूसरा, देखें कि विक्रेता आर्किटेक्चर के बारे में कुछ प्रकाशित करता है या नहीं। गंभीर निर्माता बताएँगे कि encryption engine controller पर है, keys डिवाइस पर बनती हैं, और होस्ट कभी key नहीं देखता। 'biometric protection' और 'secure access' जैसी अस्पष्ट भाषा, जिसमें AES, key derivation या on-device crypto का ज़िक्र न हो, एक चेतावनी है — वह एक access gate का वर्णन कर रही है, encryption का नहीं।

तीसरा, आखिरी विकल्प: teardowns खोजें। सिक्योरिटी समुदाय महंगे गैजेट्स को हमारे सामूहिक फायदे के लिए तोड़ने को खुशी-खुशी तैयार रहता है। अगर कोई $90 की 'encrypted' ड्राइव दो साल से बाज़ार में है और किसी ने उसके die shots या board trace नहीं डाले, तो वह खामोशी खुद एक जानकारी है — आम तौर पर इसका मतलब होता है कि सिक्योरिटी रिसर्च में किसी ने उसे खरीदने लायक नहीं समझा।

एक चौथा तरीका है जो ज़्यादा रूखा है, पर हैरानी की बात है कि काफी कारगर: कीमत और दावे का अनुपात। असली हार्डवेयर-एन्क्रिप्टेड ड्राइव की असली BOM लागत होती है — एक सुरक्षित MCU, validated फर्मवेयर, और कभी-कभी chip-off हमलों से बचने के लिए epoxy-potted एनक्लोज़र। जब कोई '128GB military-grade encrypted' फिंगरप्रिंट ड्राइव किसी भरोसेमंद ब्रांड की साधारण 128GB ड्राइव से भी सस्ती बिके, तो हिसाब खुद बता देता है कि encryption मुफ्त था, और जो encryption मुफ्त हो वह उतना ही मूल्य रखती है। संदिग्ध रूप से सस्ते सिक्योरिटी दावों पर वही सतर्कता रखें जो संदिग्ध रूप से सस्ते 'असली' Apple चार्जर पर रखते हैं: जो हिस्सा मायने रखता है, वही उन्होंने छोड़ा होता है।

हार्डवेयर पर बिल्कुल भरोसा न करने का तर्क

यह मेरी असली राय है, और इसके ट्रेड-ऑफ की ज़िम्मेदारी भी मेरी है: ज़्यादातर लोगों के लिए हार्डवेयर-एन्क्रिप्टेड ड्राइव पूरी तरह गलत कैटेगरी का प्रोडक्ट है। सही जवाब है सस्ते, आम स्टोरेज पर सॉफ्टवेयर एन्क्रिप्शन। $15 की फ्लैश ड्राइव, उस पर VeraCrypt, Linux पर LUKS कंटेनर, या एक साधारण age-एन्क्रिप्टेड आर्काइव — यह आपको ऐसी crypto गारंटी देता है जो सार्वजनिक रूप से ऑडिट हो सकती है, ऐसे कोड में लागू है जिसे हज़ारों लोगों ने पढ़ा है, और इस पर पूरी तरह निर्भर नहीं कि किसी ODM का microcontroller वही करता है जो बॉक्स पर लिखा है।

आपत्ति हमेशा उपयोगिता (usability) की होती है — और यह जायज़ है। VeraCrypt कंटेनर लोगों को उलझा देते हैं। वकील और अकाउंटेंट इन्हें भरोसे से इस्तेमाल नहीं करते, और इसी वजह से संवेदनशील क्लाइंट फाइलें शुरुआत में ही बिना एन्क्रिप्शन वाली स्टिक्स पर पहुँच जाती हैं। यह हमारे टूलिंग की असली नाकामी है, और मैं पहले भी लिख चुका हूँ कि UX anti-patterns चुपचाप सिक्योरिटी को कैसे कमज़ोर करते हैं। पर 'अच्छा crypto इस्तेमाल करना मुश्किल है' का जवाब 'आसान नकली crypto खरीद लो' नहीं है। जवाब है बेहतर डिफ़ॉल्ट की माँग: पासवर्ड से माउंट होने वाले OS-स्तर के एन्क्रिप्टेड कंटेनर, राइट-क्लिक पर एन्क्रिप्शन देने वाले फाइल मैनेजर, और IT विभाग जो ड्राइव्स को ठीक से पहले से तैयार करें।

एक रखरखाव वाला तर्क भी है जिसे लोग अक्सर नज़रअंदाज़ करते हैं। कॉमन हार्डवेयर पर सॉफ्टवेयर-एन्क्रिप्टेड कंटेनर हमेशा बदला जा सकता है: ड्राइव खो जाए, दूसरी खरीद लो, बैकअप से रीस्टोर करो, बस। हार्डवेयर-एन्क्रिप्टेड ड्राइव एक इकलौती चीज़ है — अगर कंट्रोलर खराब हो जाए, अगर विक्रेता unlock utility छोड़ दे (जो आम तौर पर सिर्फ Windows पर चलती है, और सिर्फ उन्हीं वर्शनों पर जिन्हें उन्होंने सपोर्ट करने की ज़हमत उठाई), या कंपनी बंद हो जाए, तो आपके डेटा की उपलब्धता ऐसी सप्लाई चेन पर टिकी है जिस पर आपका कोई नियंत्रण नहीं। हमने सामूहिक रूप से यह सबक कठिन तरीके से सीखा है कि अपारदर्शी प्लेटफ़ॉर्म कंपोनेंट्स पर चलते रहने का भरोसा नहीं करना चाहिए। मालिकाना crypto उपकरण भी इसी तरह फेल होते हैं, बस ज़्यादा चुपचाप।

अगर आपको सच में हार्डवेयर डिवाइस चाहिए — जैसे air-gapped ट्रांसफर वर्कफ़्लो के लिए, या compliance भाषा में FIPS-validated मॉड्यूल की माँग हो — तो उन चुनिंदा विक्रेताओं से खरीदें जिनके प्रोडक्ट्स स्वतंत्र जाँच से गुज़र चुके हैं, और certificate खुद जाँचें। खरीद को वैसे ही देखें जैसे स्टैक में कोई भी दूसरा भरोसे का फैसला। वही संदेह जो हमने (देर से ही सही) फर्मवेयर, सप्लाई चेन और एडिटर्स में marketplace extensions पर लागू करना सीखा, उस black box पर दोगुना लागू होता है जो अदृश्य रूप से crypto करने का दावा करता है।

सिक्योरिटी थिएटर का भरोसे पर बोझ

'सिक्योरिटी थिएटर' शब्द आम तौर पर एयरपोर्ट की लाइनों के लिए इस्तेमाल होता है, पर यह उसका सबसे शुद्ध रूप है: ऐसा नियंत्रण जो यूज़र को सुरक्षित महसूस कराने के लिए है, पर असल में कोई सुरक्षा नहीं देता। और थिएटर शायद कुछ न होने से भी बुरा है, क्योंकि कुछ न होना कम से कम सच बताता है। जो जानता है कि उसकी ड्राइव बिना एन्क्रिप्शन की है, वह फाइलों पर पासवर्ड लगा सकता है, उसे टैक्सी में छोड़ने से बच सकता है, और सोच सकता है कि उसमें क्या है। पर 'encrypted' ड्राइव वाला इंसान ढीला पड़ जाता है। प्रोडक्ट सिर्फ जोखिम घटाने में नाकाम नहीं होता — वह व्यवहार बदलकर जोखिम को सक्रिय रूप से बढ़ा देता है।

ऐसी कहानियों की असली कीमत यह है। एक खराब SKU का होना नई बात नहीं — बाज़ार में हमेशा खराब SKUs रहे हैं। असली नुकसान यह है कि हर उजागर होने वाला नकली प्रोडक्ट खरीदारों को सिखाता है कि 'encrypted' एक मार्केटिंग शब्द है, और इससे उन विक्रेताओं का सिग्नल कमज़ोर होता है जो सच में इंजीनियरिंग करते हैं। जब Kingston IronKey और फिंगरप्रिंट से गेटेड SD card रीडर सर्च नतीजों में लगभग एक जैसी कीमत पर, एक जैसे विशेषणों के साथ बगल-बगल दिखते हैं, तो ईमानदार प्रोडक्ट को एक ऐसे झूठ से मुकाबला करना पड़ता है जिसे वह लिस्टिंग पेज से साबित नहीं कर सकता।

रेगुलेटर इसमें से कुछ ठीक कर सकते हैं, और कभी-कभी करते भी हैं — उपभोक्ता संरक्षण एजेंसियाँ पहले भी सॉफ्टवेयर के भ्रामक सिक्योरिटी दावों पर कार्रवाई कर चुकी हैं, और प्लेनटेक्स्ट स्टोरेज वाले बॉक्स पर 'encrypted' लिखना सबसे साफ़ झूठे दावों में से एक है। पर कार्रवाई धीमी होती है और अधिकार-क्षेत्र में उलझी रहती है, और लिस्टिंग किसी शिकायत के आगे बढ़ने से पहले नई दुकान पर क्लोन हो जाती है। तेज़ इम्यून सिस्टम वह है जो पहले से काम कर रहा है: स्क्रूड्राइवर लिए researchers, और वे खरीदार जिन्होंने विशेषणों पर भरोसा करने से पहले teardown का इंतज़ार करना सीख लिया है।

एक जैसी USB ड्राइव्स की पंक्ति, जिसमें एक को खोलकर अंदर से खोखला दिखाया गया है
शेल्फ पर एक जैसी, असल में उलट — लिस्टिंग पेज यह नहीं बता सकता कि कौन-सी कौन है।

तो निष्कर्ष यह नहीं कि 'Lenovo बुरा है', हालाँकि Lenovo को प्रतिष्ठा की चोट और उसके बाद आने वाली रीकॉल मिलनी चाहिए। निष्कर्ष यह है कि हार्डवेयर सिक्योरिटी में teardown ही स्पेक शीट है। जब तक कोई डिवाइस किसी ऐसे इंसान द्वारा खोला, ट्रेस किया और पढ़ा न जाए जो उसकी बिक्री से कमाई नहीं करता, तब तक 'encrypted' एक दावा है, कोई गुण नहीं। उसी हिसाब से खरीदें — या बेहतर यह कि खुद एन्क्रिप्ट करें और प्लास्टिक पर भरोसा करना बंद करें।