← नवीनतम पेपर
💻 computer science

Sound Enforcement of Dynamic Release Information Flow Policy-Full Version

यह शोध पत्र पहला ऐसा टाइप सिस्टम प्रस्तुत करता है जो गतिशील रिलीज़ सूचना प्रवाह नीतियों (dynamic release information flow policies) को सुदृढ़ता से लागू करता है, इसकी शुद्धता को औपचारिक रूप से सिद्ध करता है और कॉन्फ्रेंस रिव्यूइंग और सिविटास (Civitas) सिस्टम पर लागू एक रस्ट (Rust) प्रोटोटाइप के माध्यम से इसकी व्यावहारिक व्यवहार्यता को प्रदर्शित करता है।

मूल लेखक: Jeffrey C. Ching, Danfeng Zhang

प्रकाशित 2026-08-11
📖 10 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Jeffrey C. Ching, Danfeng Zhang

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप एक विशाल, उच्च-तकनीकी पुस्तकालय के संरक्षक हैं। दशकों तक, रहस्यों को बनाए रखने का नियम बहुत सरल था: एक बार यदि किसी पुस्तक को "गुप्त" (Secret) के रूप रूप से चिह्नित किया गया, तो वह हमेशा के लिए "गुप्त" ही रहेगी। आप उसे कभी भी शेल्फ से उतार नहीं सकते, और न ही आप किसी सामान्य आगंतुक को उसे देखने दे सकते हैं। यह नियम, जिसे कंप्यूटर की दुनिया में "नॉन-इंटरफेरेंस" (noninterference) कहा जाता है, चीजों को सुरक्षित रखने के लिए बहुत अच्छा है, लेकिन यह अविश्वसनीय रूप से कठोर भी है। वास्तविक दुनिया में, रहस्य हमेशा के लिए गुप्त नहीं रहते। कभी-कभी, एक रहस्य को सार्वजनिक होने की आवश्यकता होती है (जैसे खेल के विजेता की घोषणा करना), और कभी-कभी, एक सार्वजनिक जानकारी को गुप्त होने की आवश्यकता होती है (जैसे कुछ खरीदने के बाद अपने क्रेडिट कार्ड नंबर को हटा देना)। यदि आपके पुस्तकालय के नियम बहुत सख्त हैं, तो आप नियमों को तोड़े बिना ये आवश्यक कार्य नहीं कर पाएंगे। लेकिन यदि आप नियमों को बहुत अधिक ढीला करते हैं, तो आप अनजाने में कोई रहस्य लीक कर सकते हैं। यह एक पेचीदा पहेली है जिसे कंप्यूटर वैज्ञानिक हल करने की कोशिश कर रहे हैं: आप एक ऐसा सुरक्षा तंत्र कैसे बना सकते हैं जो यह जानने के लिए पर्याप्त स्मार्ट हो कि कब एक रहस्य अपनी स्थिति बदल सकता है, बिना किसी बुरे व्यक्ति को अंदर घुसने दिए?

यह शोध पत्र, जिसका शीर्षक "साउंड एनफोर्समेंट ऑफ डायनेमिक रिलीज़ इंफॉर्मेशन फ्लो पॉलिसी" (Sound Enforcement of Dynamic Release Information Flow Policy) है, ठीक उसी पहेली को सुलझाता है। लेखक, जेफरी चिंग और डैनफेंग झांग ने नए नियमों का एक सेट और एक "जादुई चेकर" (एक टाइप सिस्टम) बनाया है जो कंप्यूटर प्रोग्रामों को चलते समय (on the fly) अपने सुरक्षा लेबल बदलने की अनुमति देता है, लेकिन केवल तभी जब यह सुरक्षित हो। उन्होंने केवल विचार ही नहीं दिया; उन्होंने इसे 'रस्ट' (Rust) प्रोग्रामिंग भाषा में एक प्रोटोटाइप के रूप में बनाया और गणितीय रूप से सिद्ध किया कि यह काम करता है। उन्होंने दिखाया कि उनका सिस्टम जटिल परिदृश्यों को संभाल सकता है—जैसे कि एक बोली लगाने वाला खेल जहाँ बोलियाँ खेल समाप्त होने तक गुप्त रहती हैं, या एक मतदान प्रणाली जहाँ उपयोग के बाद क्रेडेंशियल मिटा दिए जाते हैं—बिना किसी अनधिकृत जानकारी के लीक हुए। यह आपके पुस्तकालय के गार्ड को एक स्मार्ट वॉच देने जैसा है जो उसे ठीक से बताती है कि कब एक "गुप्त" पुस्तक को आगंतुक को सौंपा जा सकता है, और कब एक "सार्वजनिक" पुस्तक को लॉक कर दिया जाना चाहिए, जिससे यह सुनिश्चित होता है कि नियम बदलने के बावजूद पुस्तकालय सुरक्षित रहे।

समस्या: "स्थिर" सुरक्षा गार्ड

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

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

समाधान: "डायनेमिक रिलीज़" नीति

लेखक एक नया तरीका प्रस्तावित करते हैं जिसे "डायनेमिक रिलीज़" (Dynamic Release) कहा जाता है। एक स्थिर "गुप्त" या "सार्वजनिक" लेबल के बजाय, कल्पना करें कि प्रत्येक डेटा के पास एक "स्मार्ट लेबल" है जो घटनाओं के आधार पर बदल सकता है।

इसे एक संगीत कार्यक्रम (कॉन्सर्ट) के जादुई टिकट की तरह समझें।

  • टिकट: यह आपका डेटा है (जैसे बोली या पासवर्ड)।
  • घटना (Event): यह समय का एक विशिष्ट क्षण है, जैसे "नीलामी समाप्त हुई" या "लेनदेन पूरा हुआ"।
  • नियम: टिकट कहता है, "मैं एक वीआईपी टिकट (गुप्त) हूँ जब तक घटना घटित नहीं होती। एक बार घटना घट होने के बाद, मैं एक सामान्य टिकट (सार्वजनिक) बन जाता हूँ।"

यह शोध पत्र एक ऐसी भाषा पेश करता है जहाँ आप इन नियमों को स्पष्ट रूप से लिख सकते हैं। आप कह सकते हैं, "यह डेटा गुप्त है, लेकिन यदि auction_over (नीलामी समाप्त) की घटना होती है, तो यह सार्वजनिक हो जाएगा।" या, "यह डेटा सार्वजनिक है, लेकिन यदि transaction_done (लेनदेन पूर्ण) की घटना होती है, तो यह टॉप सीक्रेट (अर्थात इसे नष्ट किया जाना चाहिए) हो जाएगा।"

"जादुई चेकर" (द टाइप सिस्टम)

स्मार्ट लेबल होना अच्छा है, लेकिन आप यह कैसे सुनिश्चित करेंगे कि कंप्यूटर वास्तव में नियमों का पालन करता है? आप केवल प्रोग्रामर से सावधान रहने के लिए नहीं कह सकते; वे गलती कर सकते हैं। लेखकों ने एक टाइप सिस्टम बनाया है, जो सुरक्षा के लिए एक सुपर-स्मार्ट स्पेल-चेकर (वर्तनी जाँचने वाला) की तरह है।

कल्पना कीजिए कि आप एक कहानी लिख रहे हैं, और आपका स्पेल-चेकर न केवल वर्तनी की गलतियों की जाँच करता है, बल्कि कथानक की कमियों (plot holes) की भी जाँच करता है।

  • यदि आप लिखते हैं, "नायक गुप्त दरवाजा खोलता है," तो स्पेल-चेकर जाँचता है: "क्या नायक के पास चाबी थी?"
  • यदि आपने अभी तक नायक को चाबी नहीं दी है, तो स्पेल-चेकर चिल्लाता है, "त्रुटि (ERROR)! आप अभी दरवाजा नहीं खोल सकते!"

इस शोध पत्र में, "स्पेल-चेकर" एक टाइप सिस्टम है जो प्रोग्राम शुरू होने से पहले (कंपाइल टाइम पर) चलता है। यह कोड की हर पंक्ति को देखता है और पूछता है:

  1. "क्या यह डेटा वर्तमान में गुप्त है?"
  2. "वह घटना जो इसे सार्वजनिक होने की अनुमति देती है, क्या अभी वास्तव में हो रही है?"
  3. "यदि आप इस डेटा को जनता को दिखाने का प्रयास करते हैं, तो क्या नियम इसकी अनुमति देंगे?"

यदि इनमें से किसी भी प्रश्न का उत्तर "नहीं" है, तो प्रोग्राम चलने से मना कर देता है। यह एक क्लब के बाउंसर की तरह है जो आपकी आईडी और आपके निमंत्रण पत्र की जाँच करता है। यदि आपके निमंत्रण में लिखा है, "प्रवेश केवल रात 10 बजे के बाद ही मान्य है," और अभी रात के 9:59 बजे हैं, तो बाउंसर आपको अंदर नहीं आने देगा, चाहे आप कितना भी तर्क क्यों न दें।

"रीलेबल" (Relabel) कमांड

उन्होंने जो सबसे शानदार विशेषता बनाई है, वह है relabel नामक एक कमांड। इसे एक "जादुई छड़ी" के रूप में सोचें जिसका उपयोग प्रोग्रामर लेबल बदलने के लिए कर सकता है, लेकिन केवल तभी जब स्थितियाँ सही हों।

कल्पना कीजिए कि आप एक जादूगर हैं। आपके पास एक औषधि (potion) है जिसे "विष" (Poison) के रूप में लेबल किया गया है। आप इसे "उपचार जल" (Healing Water) में बदलना चाहते हैं। आप केवल अपनी छड़ी लहराकर लेबल नहीं बदल सकते; वह खतरनाक होगा। आपको एक विशिष्ट शर्त की आवश्यकता है, जैसे "सूरज उग रहा है।"

  • कमांड: relabel(potion, Poison to Healing using sun_rising)
  • चेक: जादुजी चेकर आकाश की ओर देखता है। क्या सूरज उग रहा है?
    • हाँ: औषधि उपचार जल में बदल जाती है। लेबल सुरक्षित रूप से बदल जाता है।
    • नहीं: कमांड कुछ नहीं करता। औषधि विष ही रहती है। सिस्टम आपको नियम बदलने की अनुमति नहीं देता जब तक कि विशिष्ट "घटना" (जैसे सूरज का उगना) वास्तव में घटित न हो जाए।

यह सुनिश्चित करता है कि भले ही प्रोग्रामर विशिष्ट "घटना" (जैसे सूरज का उगना) पूरी होने से पहले नियम बदलने का प्रयास करे, सिस्टम उन्हें नियम बदलने नहीं देगा।

यह सिद्ध करना कि यह काम करता है

लेखकों ने केवल इसे बनाया और उम्मीद नहीं की। उन्होंने दो बहुत महत्वपूर्ण काम किए:

  1. गणितीय प्रमाण (Mathematical Proof): उन्होंने एक औपचारिक प्रमाण (एक कठोर गणितीय तर्क) लिखा जिससे सिद्ध होता है कि उनका सिस्टम "साउंड" (sound) है। सरल शब्दों में, इसका अर्थ है कि उन्होंने सिद्ध किया है कि यदि कोई प्रोग्राम उनके स्पेल-चेकर को पास कर लेता है, तो यह असंभव है कि वह कोई रहस्य लीक करे। यह केवल एक अनुमान नहीं है; यह तर्क पर आधारित एक गारंटी है। उन्हें इसे सिद्ध करने के लिए नए तरीके खोजने पड़े क्योंकि पुराने तरीके यह मानते थे कि रहस्य कभी बदलते नहीं हैं, जो उनके गतिशील सिस्टम के लिए काम नहीं करता था।
  2. वास्तविक दुनिया का परीक्षण: उन्होंने रस्ट (Rust) प्रोग्रामिंग भाषा में एक प्रोटोटाइप बनाया (जो अपनी सुरक्षा और गति के लिए जानी जाती है)। उन्होंने दो वास्तविक दुनिया के उदाहरणों को अपने नए सिस्टम में पोर्ट किया:
    • एक कॉन्फ्रेंस रिव्यूइंग सिस्टम: यह एक ऐसे सिस्टम की तरह है जहाँ प्रोफेसर शोध पत्रों (papers) की समीक्षा करते हैं। समीक्षाएं पूरी होने तक स्कोर गुप्त होते हैं। उनके सिस्टम ने स्कोर को समय से पहले लीक होने से सफलतापूर्वक रोका।
    • एक सुरक्षित मतदान प्रणाली (Civitas): यह प्रणाली वोटों और क्रेडेंशियल्स को संभालती है। इसे मतदाता की गोपनीयता की रक्षा के लिए उपयोग के बाद क्रेडेंशियल्स को मिटाना होता है। उनके सिस्टम ने इस "मिटाने" की नीति को सफलतापूर्वक लागू किया।

परिणाम

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

उन्होंने यह भी मापा कि अतिरिक्त सुरक्षा जाँचों के कारण प्रोग्राम कितना धीमा हुआ। परिणाम आश्चर्यजनक रूप से अच्छे थे: कॉन्फ़्रेंस सिस्टम के लिए, इसने लगभग 0.004 मिलीसेकंड (0.029ms से 0.033ms तक) जोड़ा। वोटिंग सिस्टम के लिए, इसने लगभग 0.042 मिलीसेकंड (5.694ms से 5.736ms तक) जोड़ा। यह इतना कम है कि एक इंसान इसे नोटिस भी नहीं कर सकता। यह सिद्ध करता है कि आप अत्यधिक सुरक्षित, गतिशील सुरक्षा प्राप्त कर सकते हैं बिना अपने कंप्यूटर को धीमा किए।

यह क्यों मायने रखता है

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

यह एक ऐसी दुनिया से, जहाँ आपको एक बंद तिजोरी (बहुत सख्त) या एक खुला दरवाजा (बहुत ढीला) में से किसी एक को चुनना पड़ता है, एक स्मार्ट दरवाजे वाली दुनिया में जाने जैसा है जो जानता है कि कब लॉक करना है और कब खोलना है। लेखकों ने दिखाया है कि ऐसा स्मार्ट दरवाजा न केवल संभव है, बल्कि तेज़ और विश्वसनीय भी है। उन्होंने केवल यह नहीं कहा कि "यह काम कर सकता है"; उन्होंने गणितीय रूप से सिद्ध किया और इसे वास्तविक कोड में काम करते हुए दिखाया।

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

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →