ऐप्स में Plausible Deniability: यह क्या है और यह क्यों मायने रखती है

ऐप्स में प्रशंसनीय अस्वीकार्यता: यह क्या है और यह क्यों मायने रखती है

Plausible deniability का अर्थ है कि छुपे हुए डेटा के अस्तित्व को साबित नहीं किया जा सकता।


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

यह गाइड बताती है कि ऐप्स में plausible deniability कैसे काम करती है, वास्तविक cryptographic deniability और दिखावटी decoy मोड के बीच का अंतर, वास्तविक परिस्थितियाँ जहाँ यह मायने रखती है, और deniability के दावों का मूल्यांकन कैसे करें।

Encryption में प्रशंसनीय अस्वीकार्यता का अर्थ

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

यह अवधारणा disk encryption में उत्पन्न हुई। TrueCrypt (और इसके उत्तराधिकारी VeraCrypt) ने hidden volume का नेतृत्व किया: एक एन्क्रिप्टेड volume के अंदर एक एन्क्रिप्टेड volume। एक password बाहरी volume को निर्दोष फ़ाइलों के साथ खोलता है। एक अलग password अंदरूनी hidden volume को संवेदनशील फ़ाइलों के साथ खोलता है। एक forensic परीक्षक यह निर्धारित नहीं कर सकता कि कोई hidden volume मौजूद है या नहीं क्योंकि बाहरी volume में खाली जगह random data से भरी होती है जो एन्क्रिप्टेड डेटा से अप्रभेद्य है।

ऐप्स के लिए, plausible deniability का अर्थ है कि अलग-अलग credentials (passwords, PINs, patterns) अलग-अलग data sets खोलते हैं, और कोई metadata, registry, configuration flag, या structural artifact नहीं है जो अतिरिक्त data sets के अस्तित्व को प्रकट करे।

वास्तविक अस्वीकार्यता बनाम दिखावटी Decoy मोड

यह वह महत्वपूर्ण अंतर है जहाँ अधिकांश ऐप्स गलत हो जाते हैं।

दिखावटी Decoy मोड (वास्तविक अस्वीकार्यता नहीं)

कई vault ऐप्स एक "decoy" या "fake PIN" सुविधा प्रदान करते हैं। आप एक secondary PIN सेट करते हैं जो अलग-अलग फ़ोटो के साथ एक अलग स्थान खोलता है। समस्या: ये ऐप्स आमतौर पर एक boolean flag, एक database entry, या एक configuration file संग्रहीत करते हैं जो यह बताता है कि decoy मोड मौजूद है और configured है।

एक forensic परीक्षक जो ऐप को समझता है, यह flag ढूंढ सकता है। एक configured decoy मोड मिलना यह साबित करता है कि छुपा हुआ डेटा मौजूद है। Deniability केवल दिखावटी है -- यह एक casual snooper के खिलाफ काम करती है लेकिन forensic जांच में विफल हो जाती है।

दिखावटी deniability के संकेत:

  • ऐप में settings में एक "decoy mode" toggle है
  • एक configuration file संग्रहीत करती है कि decoy मोड सक्षम है या नहीं
  • एक database table vault IDs को type indicators (primary/decoy) के साथ सूचीबद्ध करती है
  • Decoy मोड चालू होने पर ऐप की storage संरचना बदलती है
  • ऐप को uninstall और reinstall करने पर decoy मोड configured होने पर अलग व्यवहार प्रकट होता है

वास्तविक Cryptographic अस्वीकार्यता

वास्तविक deniability एक architectural गुण है, कोई feature toggle नहीं। एन्क्रिप्टेड स्टोरेज को इस तरह डिज़ाइन किया जाना चाहिए कि:

  1. वैकल्पिक क्रेडेंशियल केवल अपने स्वयं के डेटा सेट का खुलासा करते हैं। सिस्टम एक अलग फर्जी ध्वज नहीं रखता है जो छलावरण के रूप में एक क्रेडेंशियल की पहचान करता है। अमान्य क्रेडेंशियल विफल हो सकते हैं, लेकिन उस विफलता से यह पता नहीं चलना चाहिए कि कोई अज्ञात डेटा सेट मौजूद है या नहीं।

  2. कोई vault registry नहीं है। ऐप यह नहीं बता सकता कि कितने vault मौजूद हैं। कोई count नहीं, कोई index नहीं, vault IDs की कोई सूची नहीं। ऐप की storage की जांच करने वाले एक forensic परीक्षक को एन्क्रिप्टेड डेटा का एक अविभाजित pool मिलता है।

  3. कोई configuration flags hidden vaults प्रकट नहीं करते। कोई boolean नहीं, कोई database entry नहीं, कोई preference file नहीं जो यह बताए कि अतिरिक्त vault मौजूद हैं या नहीं।

  4. Storage padded है। कुल storage खपत vault की संख्या या फ़ाइलों की संख्या के आधार पर नहीं बदलती। Padding के बिना, एक परीक्षक दृश्य content बनाम कुल एन्क्रिप्टेड डेटा के आकार से vault की संख्या का अनुमान लगा सकता है।

  5. एन्क्रिप्टेड डेटा random noise से अप्रभेद्य है। कोई file boundaries नहीं, कोई headers नहीं, कोई structural markers नहीं जो यह प्रकट करें कि एक vault का डेटा कहाँ समाप्त होता है और दूसरे का कहाँ शुरू होता है।

गुण दिखावटी Decoy वास्तविक Deniability
प्रति credential अलग डेटा हाँ हाँ
कोई vault registry नहीं नहीं (database vaults को track करता है) हाँ
कोई configuration flags नहीं नहीं (decoy toggle संग्रहीत) हाँ
Storage padding शायद ही कभी हाँ
स्थिर छवि में वैकल्पिक भंडारण छुपाता है नहीं हां, बताए गए भंडारण जोखिम मॉडल के भीतर
Architectural बनाम feature Feature toggle Architectural गुण

वास्तविक परिस्थितियाँ जहाँ यह मायने रखती है

Plausible deniability एक सैद्धांतिक चिंता नहीं है। यह दस्तावेज़ीकृत, बार-बार होने वाली वास्तविक परिस्थितियों को संबोधित करती है।

सीमा पार करना

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

घरेलू हिंसा और जबरदस्ती के रिश्ते

एक दुर्व्यवहार पीड़ित व्यक्ति को उस डिवाइस पर सबूत (चोट की फ़ोटो, धमकी भरे संदेश, कानूनी दस्तावेज) संग्रहीत करने की आवश्यकता हो सकती है जिसे दुर्व्यवहार करने वाला monitor करता है। अगर दुर्व्यवहार करने वाला vault देखने की मांग करता है, तो उपयोगकर्ता गैर-संवेदनशील content वाला vault खोल सकता है। वास्तविक deniability के बिना, ऐप के configuration में एक "decoy mode" flag छुपे हुए content के अस्तित्व को प्रकट कर देगा।

Device चोरी

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

कानूनी और पत्रकारिता संरक्षण

स्रोतों की रक्षा करने वाले पत्रकार, client फ़ाइलों की रक्षा करने वाले वकील, और तानाशाही शासन में कार्यकर्ता ऐसे परिदृश्यों का सामना करते हैं जहाँ device की content को बाध्य किया जा सकता है। वास्तविक deniability डेटा seizure के खिलाफ एक विश्वसनीय बचाव प्रदान करती है।

वॉल्टेयर आज क्या लागू करता है

वाल्टायर बिना किसी दृश्यमान वॉल्ट सूची के पैटर्न-पृथक पहुंच और एक सामान्य इंटरफ़ेस लागू करता है। वे गुण सामान्य ऐप उपयोग के दौरान मदद करते हैं, लेकिन वे उपरोक्त वास्तविक-अस्वीकरण चेकलिस्ट में प्रत्येक आवश्यकता को पूरा नहीं करते हैं।

कॉन्फ़िगर किए गए पैटर्न अलग-अलग एन्क्रिप्टेड वॉल्ट खोलते हैं। PBKDF2 पैटर्न और डिवाइस-व्यापी नमक से एक वॉल्ट कुंजी प्राप्त होती है। एक कॉन्फ़िगर की गई कुंजी अपने एन्क्रिप्टेड इंडेक्स को प्रमाणित करती है और एक यादृच्छिक मास्टर कुंजी को खोल देती है। एक अपुष्ट पैटर्न "गलत पैटर्न" संदेश के बजाय एक खाली स्थिति दिखाता है।

स्थानीय प्रारूप गणना योग्य है. वॉल्टेयर एक स्टोर करता है vault_index_<fingerprint>.bin फ़ाइल प्रति वॉल्ट. फ़िंगरप्रिंट पैटर्न या वॉल्ट नाम को प्रकट नहीं करता है, लेकिन ऐप-कंटेनर पहुंच वाला कोई व्यक्ति इंडेक्स फ़ाइलों की गिनती कर सकता है। AES-GCM प्रमाणीकरण और नियतात्मक फ़ाइल नाम उम्मीदवार वॉल्ट कुंजियों के लिए एक ऑफ़लाइन परीक्षण भी प्रदान करते हैं।

स्थानीय भंडारण स्थिर आकार का नहीं है. फ़ाइल सामग्री और मेटाडेटा एन्क्रिप्टेड हैं, और क्लाउड बैकअप भाग आकार पैडिंग और डिकॉय रिकॉर्ड का उपयोग करते हैं। स्थानीय ऐप कंटेनर वास्तविक और डमी वॉल्ट स्लॉट का एक निश्चित पूल आरक्षित नहीं करता है, इसलिए कुल भंडारण और सूचकांक गणना संरचना को उजागर कर सकती है।

पुनर्प्राप्ति और दबाव की स्थिति मौजूद है। वॉल्टेयर पुनर्प्राप्ति जानकारी को एक में रखता है AES-GCM एन्क्रिप्टेड Keychain डेटाबेस. दबाव मोड नॉन-ड्यूरेस वॉल्ट के लिए स्थानीय इंडेक्स और रिकवरी मैपिंग को हटा देता है और उस डिवाइस को सिंक से अलग कर देता है। यह क्लाउड बैकअप, सहकर्मी उपकरणों पर प्रतियां, या प्रत्येक साझा एन्क्रिप्टेड ब्लॉब को नहीं मिटाता है, और पूरा होने का समय प्रदर्शन किए गए स्थानीय कार्य पर निर्भर करता है।

वॉल्टेयर इसलिए इंटरफ़ेस कंपार्टमेंटलाइज़ेशन और एन्क्रिप्टेड स्टोरेज प्रदान करता है, न कि सूचना-सैद्धांतिक प्रमाण कि कोई अतिरिक्त वॉल्ट मौजूद नहीं है। ऑफ़लाइन ऐप-कंटेनर स्नैपशॉट से स्थानीय वॉल्ट गिनती को छिपाने के लिए अप्रभेद्य वास्तविक और डमी स्लॉट के साथ भविष्य की निश्चित क्षमता वाली कैटलॉग की आवश्यकता होगी।

अस्वीकार्यता दावों का मूल्यांकन कैसे करें

जब कोई ऐप plausible deniability का दावा करता है, पूछें:

  1. क्या कोई "decoy mode" toggle है? अगर हाँ, तो यह दिखावटी है। एक forensic परीक्षक toggle ढूंढ सकता है।
  2. क्या ऐप में vault list या database है? अगर हाँ, तो vault का अस्तित्व साबित हो सकता है।
  3. क्या अनुमानों को ऑफ़लाइन सत्यापित किया जा सकता है? प्रमाणित सिफरटेक्स्ट एक अलग पासवर्ड हैश के बिना उम्मीदवार कुंजी को मान्य कर सकता है। पूछें कि अनुमानित लागत की सीमा क्या है और क्या भंडारण लेआउट कोई सस्ता कुंजी फिंगरप्रिंट प्रदान करता है।
  4. क्या vault count के साथ storage खपत बदलती है? अगर हाँ, तो disk analysis vault count का अनुमान लगा सकता है।
  5. क्या ऐप vaults enumerate कर सकता है? अगर ऐप आपके vaults की सूची दिखा सकता है, तो वह सूची device पर मौजूद है और discoverable है।

अक्सर पूछे जाने वाले प्रश्न

क्या प्रशंसनीय अस्वीकार्यता कानूनी है?

Plausible deniability के साथ encryption का उपयोग अधिकांश लोकतंत्रों में कानूनी है। आपके device पर एन्क्रिप्टेड डेटा रखने के खिलाफ कोई कानून नहीं है जिसके अस्तित्व को साबित नहीं किया जा सकता। कुछ न्यायक्षेत्रों में (UK में RIPA के तहत, ऑस्ट्रेलिया में Assistance and Access Act के तहत), अधिकारी encryption keys के disclosure के लिए बाध्य कर सकते हैं। कानूनी प्रश्न यह है कि क्या उस डेटा की key के disclosure को बाध्य करना जिसके अस्तित्व को साबित नहीं किया जा सकता, लागू करने योग्य है। यह कानून का एक विकासशील क्षेत्र है।

क्या forensic टूल प्रशंसनीय अस्वीकार्यता का पता लगा सकते हैं?

एक परीक्षक जो वॉल्टेयर का ऐप कंटेनर प्राप्त करता है वह एन्क्रिप्टेड स्टोरेज और गिनती का पता लगा सकता है vault_index_*.bin फ़ाइलें. फ़ाइलें वॉल्ट नाम या प्लेनटेक्स्ट सामग्री का खुलासा नहीं करती हैं, लेकिन उनकी गिनती से स्थानीय एन्क्रिप्टेड इंडेक्स की संख्या का पता चलता है। इसलिए वर्तमान डिज़ाइन सामान्य नेविगेशन से वॉल्ट को छुपाता है, न कि प्रत्येक फोरेंसिक भंडारण निरीक्षण से।

क्या प्रशंसनीय अस्वीकार्यता एक determined राष्ट्र-राज्य के खिलाफ काम करती है?

AES-256-GCM जब कुंजियाँ, नॉन्स और कार्यान्वयन सही हों तो एक मजबूत सामग्री-एन्क्रिप्शन सीमा प्रदान करता है। यह वॉल्टेयर के वर्तमान भंडारण लेआउट को राष्ट्र-राज्य परीक्षक के लिए नकारने योग्य नहीं बनाता है: स्थानीय सूचकांक गणना दृश्यमान रहती है, और एक लाइव समझौता वॉल्ट खुला होने पर पैटर्न, कुंजी, पूर्वावलोकन या निर्यात को लक्षित कर सकता है। वर्तमान सुविधा इंटरफ़ेस में खुलने वाले विभिन्न पैटर्न को अलग करती है; यह यह वादा नहीं करता कि एक निर्धारित परीक्षक यह साबित नहीं कर सकता कि अतिरिक्त स्थानीय सूचकांक मौजूद हैं।

प्रशंसनीय अस्वीकार्यता और hidden vaults में क्या अंतर है?

छिपे हुए वॉल्ट वे वॉल्ट हैं जो ऐप के सामान्य इंटरफ़ेस में दिखाई नहीं देते हैं। मजबूत क्रिप्टोग्राफ़िक इनकारीकरण एक अलग गुण है कि छिपे हुए डेटा को अप्रयुक्त पैडेड स्टोरेज से अलग नहीं किया जा सकता है। वॉल्टेयर वर्तमान में पहली संपत्ति प्रदान करता है। इसका एक-सूचकांक-फ़ाइल-प्रति-वॉल्ट प्रारूप ऐप-कंटेनर एक्सेस वाले परीक्षक के विरुद्ध दूसरा प्रदान नहीं करता है।

क्या मैं cloud backups के साथ प्रशंसनीय अस्वीकार्यता का उपयोग कर सकता हूँ?

वॉल्टेयर उपयोगकर्ता के निजी क्षेत्र में एन्क्रिप्टेड बैकअप मैनिफ़ेस्ट और गद्देदार एन्क्रिप्टेड फ़ाइल भाग लिखता है CloudKit डेटाबेस. यादृच्छिक रिकॉर्ड नाम, समान रिकॉर्ड प्रकार, 10 एमबी चंक पैडिंग और डिकॉय रिकॉर्ड प्रत्यक्ष सामग्री प्रकटीकरण को कम करते हैं। रिकॉर्ड संख्या, कुल मात्रा, समय और अद्यतन पैटर्न दृश्यमान सेवा मेटाडेटा बने रहते हैं, इसलिए क्लाउड बैकअप एक स्थिर-आकार, सूचना-सैद्धांतिक रूप से अस्वीकार्य स्टोर नहीं बनाता है।

सारांश

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

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